简体   繁体   English

RMarkdown PDF“LaTeX3错误:错误的变量”

[英]RMarkdown PDF “LaTeX3 error: Erroneous variable”

I've been creating PDF reports via RMarkdown for a couple months now, but after installing MikTex, R and the rmarkdown and tidyverse packages on a new machine today, I received the following error message when attemping to knit a PDF: 我已经通过RMarkdown创建了几个月的PDF报告,但是今天在新机器上安装了MikTex,R和r​​markdown和tidyverse软件包后,我在尝试编写PDF时收到以下错误消息:

"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

I was able to recreate the error with the simple example below: 我可以使用下面的简单示例重新创建错误:

Test.R 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 Test.Rmd

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

Hello World!

I also see the error when I knit Test.Rmd directly in RStudio instead of using a separate .R file with render() . 当我直接在RStudio中编织Test.Rmd而不是使用带有render()的单独.R文件时,我也看到了错误。 I also tried using the lualatex pdf engine and received the same error as above. 我也尝试使用lualatex pdf引擎并收到与上面相同的错误。 I am able to generate PDFs using the RMarkdown PDF example built into RStudio. 我可以使用RStudio中内置的RMarkdown PDF示例生成PDF。

This post on Sourceforge seems relevant, but not useful since the solution was to update the fontspec package and I'm already using an updated fontspec package. Sourceforge上的这篇文章似乎相关,但没有用,因为解决方案是更新fontspec包,我已经使用了更新的fontspec包。

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

Any help or advice is greatly appreciated! 非常感谢任何帮助或建议!

The uninstall/reinstall of MikTex reverted several of the packages to outdated versions (it would be helpful if the MikTex installer prompted the user to update packages after installation). 卸载/重新安装MikTex将几个软件包恢复为过时的版本(如果MikTex安装程序提示用户在安装后更新软件包,将会很有帮助)。 In this case, my fontspec package was reverted to 2.6a (see potential issue outlined in Sourceforge link above). 在这种情况下,我的fontspec包恢复为2.6a(请参阅上面的Sourceforge链接中列出的潜在问题)。 After running MikTex Update to update all my installed packages. 运行MikTex Update以更新我所有已安装的软件包。 I was able to successfully produce the PDF output desired. 我能够成功生成所需的PDF输出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM