Dre*_*ger 7 latex r xelatex r-markdown
我一直在通过RMarkdown创建PDF报告了几个月了,但今天一台新机器上安装MIKTEX,R和rmarkdown和tidyverse包后,我收到attemping编织一个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
Run Code Online (Sandbox Code Playgroud)
我可以使用下面的简单示例重新创建错误:
Test.R
library(rmarkdown)
library(knitr)
setwd(C:/something)
render("Test.rmd", output_format=pdf_document(latex_engine="xelatex"), output_file="test.pdf")
Run Code Online (Sandbox Code Playgroud)
Test.Rmd
---
title: "Habits"
output:
pdf_document:
latex_engine: xelatex
---
Hello World!
Run Code Online (Sandbox Code Playgroud)
当我直接在RStudio中编织Test.Rmd而不是使用单独的.R文件时,我也看到了错误render().我也尝试使用lualatex pdf引擎并收到与上面相同的错误.我可以使用RStudio中内置的RMarkdown PDF示例生成PDF.
Sourceforge上的这篇文章似乎相关,但没有用,因为解决方案是更新fontspec包,我已经使用了更新的fontspec包.
会话信息
> 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
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助或建议!
MikTex 的卸载/重新安装将多个软件包恢复为过时版本(如果 MikTex 安装程序在安装后提示用户更新软件包,将会很有帮助)。在这种情况下,我的 fontspec 包已恢复为 2.6a(请参阅上面 Sourceforge 链接中概述的潜在问题)。运行 MikTex Update 更新我所有已安装的软件包后。我能够成功地生成所需的 PDF 输出。