Как использовать умлауты (äüö) в метках осей с помощью knitr, LuaTex и tikz?

Как использовать умлауты (äüö) в метках осей с помощью knitr, LuaTex и tikz?

При компиляции документов pdf со сложными фигурами tikz с помощью knitr, движку 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}

При изменении eval=TRUE в чанке luatex я получаю «Ошибку в getMetricsFromLatex(TeXMetrics)».

Что я могу сделать, чтобы решить эту проблему? Спасибо!

решение1

Благодаря комментарию Ульрике Фишер я смог решить проблему самостоятельно. Используя RStudio в качестве редактора, я обнаружил, что файл Rnw все еще был скомпилирован с использованием pdftex. Таким образом, для luatex-chunk требовался другой пакет, нежели для pdftex-document (inputenc против fontspec).

Поскольку я не смог установить luatex в качестве компилятора в RStudio, я использовал 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}

Связанный контент