Rstudio中的“编译pdf”有效,但knit2pdf在R或RStudio中不起作用

时间:2017-06-27 17:00:17

标签: r rstudio knitr pdflatex miktex

我希望有人可以指出我可以通过编译来自R的tex文档解决我的问题的内部设置。

我的问题是texi2pdfknit2pdf会发出警告并且不会生成pdf。

我可以使用RStudio中的“编译pdf”按钮来编译Rnw文件,我可以将rnw文件编织成文本文件,我可以使用TeXnicCenter将我的tex文件编译成pdf,但我无法获得texi2pdfknit2pdf函数可在R.中工作。

在安装了TexLive的一台机器上的Windows 7中以及安装了MikTex 2.9的另一台机器上,当我运行以下内容时:

library(knitr)
f = system.file("examples", "knitr-minimal.Rnw", package = "knitr")
knit(f)  # compile to tex
texi2pdf(gsub('Rnw', 'tex', f))

第一部分有效(rnw-> tex),但texi2pdf(tex-> pdf)导致:

Warning message:
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texify.exe" --quiet --pdf 
"C:/Program Files/R/R-3.3.3/library/knitr/examples/knitr-minimal.tex" --max-
iterations=20 -I "C:/PROGRA~1/R/R-33~1.3/share/texmf/tex/latex" -I 
"C:/PROGRA~1/R/R-33~1.3/share/texmf/bibtex/bst"' had status 1 

如果我运行knit2pdf(f)同样如此,我收到相同的警告信息+弹出“pdflatex.EXE已停止工作”。

我不明白的另一件事是我的路径中有MikTex 2.9,但是警告信息引用了MikTex 1.9,它没有安装在我的机器上而且不在路径中。

2 个答案:

答案 0 :(得分:0)

这不是一个解决办法......

library(knitr)
setwd(system.file("examples", package = "knitr"))
knit("knitr-minimal.Rnw")  # compile to tex
system('pdflatex knitr-minimal.tex')

答案 1 :(得分:0)

今天这发生在我身上,似乎是因为MikTex 2.9已安装在我的用户帐户下。 R也安装在我的用户帐户下。这是对我有用的东西:

  1. 卸载MikTex,然后将其重新安装在程序文件下。从其控制台更新MikTex。
  2. 在Windows路径中添加“ C:\ Program Files \ MiKTeX 2.9 \ miktex \ bin \ x64”(删除旧的MikTex路径)。
  3. 重新启动计算机
  4. 卸载并重新安装knitr软件包(可能没有必要)。