You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xtable包生成LaTeX表格时如何避免行名被转义修改?

你遇到的行名格式被修改的问题,是xtable默认开启了LaTeX特殊字符转义导致的。$、^、{}这类字符本身是LaTeX语法标记,xtable默认会把这些字符转义为普通文本,所以原本的上标格式被破坏。不需要修改原数据的行名,也不需要换包,调整输出参数即可解决。

方法1:直接使用xtable包,调整输出参数

调用print.xtable时关闭行名转义即可:

library(xtable)
# 生成xtable对象,digits参数可自定义每列的保留小数位数
my_table <- xtable(My_inf, digits = c(0, 2, 2, 2, 2, 2, 2, 2))
# 输出LaTeX代码,关闭行名转义
print(my_table,
      sanitize.rownames.function = \(x) x,
      # 如果列名也包含LaTeX特殊字符,可同时加以下参数
      # sanitize.colnames.function = \(x) x,
      include.rownames = TRUE,
      floating = TRUE)

设置后输出的行名就会保留你原定义的NSW$^{+}$格式。

方法2:使用kableExtra包生成表格(可选,灵活度更高)

如果你需要更丰富的表格样式调整,也可以改用kableExtra包,该包对行名中的LaTeX语法兼容性更好:

library(kableExtra)
My_inf |>
  kable(
    format = "latex",
    digits = 2,
    booktabs = TRUE, # 启用三线表格式
    caption = "你的表格标题"
  ) |>
  kable_styling(position = "center")

内容的提问来源于stack exchange,提问作者Eve Chanatasig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:06:07