2012-01-04 56 views
25

我具有包括下面的列的表:处理胶乳反斜杠xtable

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

我想要做的是输出与胶乳标记,例如一列标题的表$\beta_0$

不过,我似乎无法弄清楚如何输出 “$ \ beta_0 $” 使用print.xtable

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

返回

\eta\_0\$ 

,而不是

列标题
$\beta_0$ 

我认为答案是“sanitize.colnames.function”argum 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} 
+0

参见:http://stackoverflow.com/questions/32865384/function-to-sanitize-strings-for-latex-compilation – landroni 2015-09-30 12:14:13

回答

27

两个问题;首先,你需要一个双反斜杠,否则它把它当作一个控制序列。其次,默认情况下,xtable会对文本进行清理,以免它破坏LaTeX。使用sanitize.参数之一来控制这个;不做消毒,通过身份认证功能。

​​
+0

我曾经尝试过双反斜线,但它是'sanitize.colnames 。功能'困扰我。是否有'sanitize *'参数的可能值列表? – 2012-01-04 19:32:07

+1

@David'sanitize'参数没有可能的值列表。正如它在文档中清楚地表明的那样:'它应该是一个获取字符向量并返回一个字符的函数,并且将用于消毒而不是默认的内部函数。亚伦简单地传递了“身份”,这是一个什么都不做的功能。 – joran 2012-01-04 19:40:24

+0

它可以使用任何合适的功能。 'identity'是一个什么都不做的基础函数。 – Aaron 2012-01-04 19:41:16