使用 knit 編譯具有複雜 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編譯的。因此,與 pdftex-document 相比,luatex-chunk 需要使用不同的套件(inputenc 與 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}