在xtable中处理Latex反斜杠

Dav*_*uer 27 latex r sweave

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

 mytable <- data.frame(beta_0 = c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

我想要做的是在乳胶标记中输出一个带有列标题的表,例如 $\beta_0$

但是,我似乎无法弄清楚如何输出"$\beta_0 $"使用print.xtable:

colnames(mytable) <- "$\beta_0$"
library(xtable)
print(xtable(mytable), include.rownames = F)
Run Code Online (Sandbox Code Playgroud)

返回列标题

\eta\_0\$
Run Code Online (Sandbox Code Playgroud)

代替

$\beta_0$
Run Code Online (Sandbox Code Playgroud)

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

具体来说,我想输出一个乳胶表,如:

\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}
Run Code Online (Sandbox Code Playgroud)

Aar*_*ica 31

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

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

  • @David你总是可以在源代码中找到一个`sanitize`参数列表:它们是:`sanitize.rownames.function`,`sanitize.colnames.function`,`sanitize.text.function`,可以设置为` options`而不是print的参数,例如`options(xtable.sanitize.rownames.function = identity)` (7认同)