如何在 knitr、LuaTex 和 tikz 的轴标签中使用变音符号 (äüö)?

如何在 knitr、LuaTex 和 tikz 的轴标签中使用变音符号 (äüö)?

当使用 knitr 编译包含复杂 tikz 图形的 pdf 文档时,pdftex 引擎有时会耗尽内存。因此,我使用 luatex 引擎来编译这些 Rnw 文件。但是,我无法通过这种方式在我的绘图中包含变音符号 (äüö)。请参见示例:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
<<pdftexGood, dev="tikz", message=FALSE, echo=FALSE, cache=FALSE>>=
options(tikzDefaultEngine = "pdftex")
plot(rnorm(100), xlab="Der satanarchäolügenialkohöllische Wunschpunsch")
@
<<luatexBad, dev="tikz", message=FALSE, echo=FALSE, cache=FALSE, eval=FALSE>>=
options(tikzDefaultEngine = "luatex")
plot(rnorm(100), xlab="Der satanarchäolügenialkohöllische Wunschpunsch")
@
\end{document}

当在 luatex 块中更改 eval=TRUE 时,我收到“getMetricsFromLatex(TeXMetrics) 中的错误”。

我该怎么做才能解决这个问题?谢谢!

答案1

感谢 Ulrike Fischer 的评论,我能够自己解决这个问题。使用 RStudio 作为编辑器,结果发现 Rnw 文件仍使用 pdftex 编译。因此,luatex-chunk 需要使用与 pdftex-document 不同的包(inputenc vs fontspec)。

由于我无法在 RStudio 中将 luatex 设置为编译器,因此我使用了 XeLaTex 并调整了软件包。现在,我可以很好地编译 luatex-chunk。pdftex-chunk 不再编译(由于上述软件包问题)对我来说没有问题。

% !TeX program = XeLaTeX
\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage{fontspec}
\begin{document}
<<pdftexBad, dev="tikz", message=FALSE, echo=FALSE, cache=FALSE>>=
#options(tikzDefaultEngine = "pdftex")
#plot(rnorm(100), xlab="Der satanarchäolügenialkohöllische Wunschpunsch")
@
<<luatexGood, dev="tikz", message=FALSE, echo=FALSE, cache=FALSE, eval=TRUE>>=
options(tikzDefaultEngine = "luatex")
plot(rnorm(100), xlab="Der satanarchäolügenialkohöllische Wunschpunsch")
@
\end{document}

相关内容