RMarkdown PDF"LaTeX3错误:错误的变量" [英] RMarkdown PDF "LaTeX3 error: Erroneous variable"

查看:658
本文介绍了RMarkdown PDF"LaTeX3错误:错误的变量"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经通过RMarkdown创建PDF报告已有几个月了,但是今天在新机器上安装了MikTex,R以及rmarkdown和tidyverse软件包之后,我在尝试编织PDF时收到以下错误消息: /p>

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:

"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

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!

当我直接在RStudio中编织Test.Rmd而不是在render()中使用单独的.R文件时,我也看到错误.我也尝试使用lualatex pdf引擎,并收到与上述相同的错误.我可以使用RStudio内置的RMarkdown PDF示例生成PDF.

I also see the error when I knit Test.Rmd directly in RStudio instead of using a separate .R file with render(). I also tried using the lualatex pdf engine and received the same error as above. I am able to generate PDFs using the RMarkdown PDF example built into RStudio.

这篇帖子似乎很相关,但没有用,因为解决方案是更新fontspec程序包,而我已经在使用更新的fontspec程序包.

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.

会话信息

> 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!

推荐答案

MikTex的卸载/重新安装将一些软件包恢复为过时的版本(如果MikTex安装程序在安装后提示用户更新软件包,这将很有帮助).在这种情况下,我的fontspec软件包已还原为2.6a(请参阅上面Sourceforge链接中概述的潜在问题).运行MikTex Update后,更新所有已安装的软件包.我能够成功产生所需的PDF输出.

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). In this case, my fontspec package was reverted to 2.6a (see potential issue outlined in Sourceforge link above). After running MikTex Update to update all my installed packages. I was able to successfully produce the PDF output desired.

这篇关于RMarkdown PDF"LaTeX3错误:错误的变量"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆