2017-09-07 2 views
4

Ich habe seit ein paar Monaten PDF-Berichte über RMarkdown erstellt, aber nach der Installation von MikTex, R und den Rmarkdown- und Tidyverse-Paketen auf einer neuen Maschine habe ich den folgenden Fehler erhalten Meldung beim Versuch, ein PDF zu stricken:RMarkdown PDF "LaTeX3 Fehler: Fehlerhafte Variable"

"C:/PROGRA~2/Pandoc/pandoc" +RTS -K512m -RTS Test.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.pdf --template "C:\Users\drewm\Documents\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" --highlight-style tango --latex-engine xelatex --variable graphics=yes --variable "geometry:margin=1in" 
! Undefined control sequence. 
<argument> \LaTeX3 error: 
          Erroneous variable \c__fontspec_shape_n_n_tl used! 
l.3806 \emfontdeclare{ \emshape, \eminnershape } 

pandoc.exe: Error producing PDF 
Error: pandoc document conversion failed with error 43 
In addition: Warning message: 
running command '"C:/PROGRA~2/Pandoc/pandoc" +RTS -K512m -RTS Test.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output test.pdf --template "C:\Users\drewm\Documents\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" --highlight-style tango --latex-engine xelatex --variable graphics=yes --variable "geometry:margin=1in"' had status 43 

konnte ich den Fehler mit dem einfachen Beispiel unten neu erstellen:

test.r

library(rmarkdown) 
library(knitr) 

setwd(C:/something) 

render("Test.rmd", output_format=pdf_document(latex_engine="xelatex"), output_file="test.pdf") 

Test.Rmd

--- 
title: "Habits" 
output: 
    pdf_document: 
    latex_engine: xelatex 
--- 

Hello World! 

ich auch den Fehler sehen, wenn ich Test.Rmd direkt in RStudio anstelle der Verwendung einer separaten Datei .R mit render() stricken. Ich habe auch versucht, die lualatex-PDF-Engine zu verwenden und erhielt den gleichen Fehler wie oben. Ich kann PDFs mit dem in RStudio integrierten RMarkdown PDF-Beispiel generieren.

This post auf Sourceforge scheint relevant, aber nicht sinnvoll, da die Lösung das Fontspec-Paket zu aktualisieren war und ich bereits ein aktualisiertes Schriftartenpaket verwenden.

Session Info

> sessionInfo() 
R version 3.4.1 (2017-06-30) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 10 x64 (build 15063) 

Matrix products: default 

locale: 
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 
[4] LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] knitr_1.17 rmarkdown_1.6 

loaded via a namespace (and not attached): 
[1] compiler_3.4.1 backports_1.1.0 magrittr_1.5 rprojroot_1.2 
[5] tools_3.4.1  htmltools_0.3.6 yaml_2.1.14  Rcpp_0.12.12 
[9] stringi_1.1.5 stringr_1.2.0 digest_0.6.12 evaluate_0.10.1 

Jede Hilfe oder Beratung ist sehr zu schätzen!

+0

Ich kann das nicht reproduzieren. Sie können jedoch 'render (" Test.rmd ", output_file =" Text.tex ")' 'verwenden und' xelatex' manuell auf dem produzierten 'Test.tex' ausführen. Reproduziert dies den Fehler? Wenn ja, versuchen Sie, ein minimales Beispiel basierend auf "Test.tex" zu machen und entweder hier oder später bei der TeX/LaTeX Stackexchange zu veröffentlichen. –

+0

Versuchte 'latex_engine =" pdflatex "' resp. 'latex_engine: pdflatex'? – jaySf

+0

@jaySf, das hat für mich funktioniert. Ich hätte das selbst ausprobieren sollen, aber ich habe diese Lösung vermieden, weil ich eine bestimmte Schriftart auswählen muss. –

Antwort

3

Die Deinstallation/Neuinstallation von MikTex hat einige der Pakete auf veraltete Versionen zurückgesetzt (es wäre hilfreich, wenn das MikTex-Installationsprogramm den Benutzer dazu auffordert, Pakete nach der Installation zu aktualisieren). In diesem Fall wurde mein fontspec-Paket auf 2.6a zurückgesetzt (siehe das potenzielle Problem, das oben in Sourceforge-Link beschrieben wird). Nach dem Ausführen von MikTex Update, um alle meine installierten Pakete zu aktualisieren. Ich konnte die gewünschte PDF-Ausgabe erfolgreich erstellen.

Verwandte Themen