Al compilar documentos pdf con figuras tikz complejas usando knitr, el motor pdftex a veces se quedaba sin memoria. Por lo tanto, utilicé el motor luatex para compilar estos archivos Rnw. Sin embargo, no puedo incluir diéresis (äüö) en mis argumentos de esta manera. Por favor vea el ejemplo:
\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}
Al cambiar eval=TRUE en el fragmento luatex, aparece un "Error en getMetricsFromLatex(TeXMetrics)".
¿Qué puedo hacer para resolver el problema? ¡Gracias!
Respuesta1
Gracias al comentario de Ulrike Fischer pude solucionar el problema yo mismo. Al usar RStudio como editor, resulta que el archivo Rnw todavía se compiló usando pdftex. Por lo tanto, luatex-chunk necesitaba utilizar un paquete diferente en comparación con el documento pdftex (inputenc vs fontspec).
Como no pude configurar luatex como compilador en RStudio, utilicé XeLaTex y adapté los paquetes. Ahora puedo compilar el fragmento luatex sin problemas. El hecho de que pdftex-chunk ya no se compile (por los problemas de paquete mencionados anteriormente) no es un problema para mí.
% !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}