在 LaTeX 表中使用希腊字母

在 LaTeX 表中使用希腊字母

我有以下 Rnw 文档,我打算生成一个包含“ab c”和“α β γ”的小表格。目前,编码似乎造成了问题。有趣的是,pdf 中的输出与 R 控制台中的输出不同。以下示例没有引发任何错误,但没有我想要的希腊字母:

\documentclass{article}

\begin{document}
<<makegreek>>=
greek <- c("\U03B1", "\U03B2", "\U03B3")
greek
@

<<r grecoroman>>=
gr <- data.frame(roman=letters[1:3], greek=greek)
gr
@

<<gr-table, results='asis'>>=
library(xtable)
print(xtable(gr))
@

\end{document}

对我来说都是希腊语

我也尝试在我的序言中添加以下行:\usepackage[utf8]{inputenc},但这只会引发错误:Package inputenc Error: Unicode char \u8:? not set up for use with LaTeX.

答案1

以下是我的第一个想法,但我确信存在更好的方法:

\documentclass{article}

\begin{document}
<<makegreek>>=
greek <- c("$\\alpha$", "$\\beta$", "$\\gamma$")
greek
@

<<r grecoroman>>=
gr <- data.frame(roman=letters[1:3], greek=greek)
gr
@

<<gr-table, results='asis'>>=
library(xtable)
print(xtable(gr),sanitize.text.function = function(x) x)
@

\end{document}

按照上述@mnel 的建议,这似乎也有效(我的其余解决方案保持不变):

\documentclass{article}
\usepackage[greek,english]{babel}

\begin{document}
<<makegreek>>=
greek <- c("\\greektext a", "\\greektext b", "\\greektext c")
greek
@

由于这是从 StackOverflow 迁移过来的,所以我想我会解释一些可能会让熟悉 LaTeX 但不熟悉 R 的人感到困惑的事情。

此处的 R 代码生成 LaTeX 并将其插入文档中。反斜杠在 R 中是特殊字符,因此我们需要对其进行转义(例如\\alpha)。接下来,我们必须告诉xtable函数不是尝试处理表条目,因为它通常会假设您希望它将某些特殊字符转换为文字(如\backslash)。所以我只是传递了一个不执行任何操作的身份函数

sanitize.text.function = function(x) x

相关内容