knitr, LuaTex 및 tikz와 함께 축 레이블에서 Umlauts(äüö)를 사용하는 방법은 무엇입니까?

knitr, LuaTex 및 tikz와 함께 축 레이블에서 Umlauts(äüö)를 사용하는 방법은 무엇입니까?

knitr를 사용하여 복잡한 tikz 수치가 포함된 PDF 문서를 컴파일할 때 pdftex 엔진에 메모리가 부족해지는 경우가 있었습니다. 따라서 나는 이러한 Rnw 파일을 컴파일하기 위해 luatex 엔진을 사용했습니다. 그러나 이 방법으로는 내 플롯에 움라우트(äüö)를 포함할 수 없습니다. 다음 예를 참조하세요.

\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}

관련 정보