Hi,

It looks like xtable is "sanitizing" special characters in the LaTeX output by 
default, by adding a double backslash, so that LaTeX will process the 
characters as literals, rather than specials. It is not parsing the boundary 
'$' characters to define insertion of math symbols inside text mode.

You have 'sanitize.colnames.function = identity', which is why the column name 
is output 'as is'.

You would seem to need to do the same thing for the text content within the 
table content:

> print(xtable(mytable), include.rownames = F, 
        sanitize.colnames.function = identity, 
        sanitize.text.function = identity)
% latex table generated in R 4.0.3 by xtable 1.8-4 package
% Fri Nov  6 07:54:51 2020
\begin{table}[ht]
\centering
\begin{tabular}{l}
  \hline
$\beta_0$ \\ 
  \hline
aa \\ 
  bb \\ 
  cc$\alpha_1$ \\ 
   \hline
\end{tabular}
\end{table}


Regards,

Marc Schwartz


> On Nov 6, 2020, at 7:39 AM, John <miao...@gmail.com> wrote:
> 
> I'd like to have $\alpha_1$ in my table, and the column name is $\beta_0$
> ####
> library(xtable)
> mytable <- data.frame(beta_0 = c("aa","bb","cc$\\alpha_1$"))
> colnames(mytable) <- "$\\beta_0$"
> print(xtable(mytable), include.rownames = F, sanitize.colnames.function =
> identity)
> ####
> 
> No problem with \beta_0, but a problem with \alpha_1:
> 
> \begin{table}[ht]
> \centering
> \begin{tabular}{l}
>  \hline
> $\beta_0$ \\
>  \hline
> aa \\
>  bb \\
>  cc\$$\backslash$alpha\_1\$ \\
>   \hline
> \end{tabular}
> \end{table}
> 
> How may I fix the $\alpha_1$? Thanks!

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to