我有一个包含以下列的表:

 mytable <- data.frame(beta_0 = c(1,2,3)

我想做的是在 latex 标记中输出带有列标题的表,例如$\beta_0$
但是,我似乎无法弄清楚如何使用print.xtable输出“$ \ beta_0 $”:
colnames(mytable) <- "$\beta_0$"
library(xtable)
print(xtable(mytable), include.rownames = F)

返回的列标题
\eta\_0\$

代替
$\beta_0$

我认为答案是print.xtable的“sanitize.colnames.function”参数,但是对我来说如何使用它并不明显,并且?print.xtable没有提供示例。

具体来说,我想输出一个 latex 表,例如:
\begin{table}[ht]
 \begin{center}
  \begin{tabular}{r}
    \hline
    $\beta_0$ \\
    \hline
    1.00 \\
    2.00 \\
    3.00 \\
    \hline
  \end{tabular}
 \end{center}
\end{table}

最佳答案

这里有两个问题;首先,您需要一个双反斜杠,否则会将其视为控制序列。其次,默认情况下,xtable清除文本,以免破坏LaTeX。使用sanitize.参数之一来控制它;不进行消毒,将其传递给身份功能。

colnames(mytable) <- "$\\beta_0$"
print(xtable(mytable), include.rownames = F, sanitize.colnames.function = identity)

关于r - 在xtable中处理Latex反斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8732712/

10-13 08:16