Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;编制pdf";在Rstudio中工作,但knit2pdf在R或Rstudio中不工作_R_Rstudio_Knitr_Pdflatex_Miktex - Fatal编程技术网

&引用;编制pdf";在Rstudio中工作,但knit2pdf在R或Rstudio中不工作

&引用;编制pdf";在Rstudio中工作,但knit2pdf在R或Rstudio中不工作,r,rstudio,knitr,pdflatex,miktex,R,Rstudio,Knitr,Pdflatex,Miktex,我希望有人能给我指一下内部设置,它可以解决我从R编译tex文档的问题 我的问题是texi2pdf和knit2pdf抛出警告而不生成pdf 我可以使用RStudio中的“编译pdf”按钮获取要编译的Rnw文件,我可以将Rnw文件编织成文本文件,我可以使用TexNicenter将我的tex文件编译成pdf,但我无法使texi2pdf或knit2pdf函数在R中工作 在Windows 7中,在一台安装了TexLive的计算机和另一台安装了MikTex 2.9的计算机上运行以下操作: library(k

我希望有人能给我指一下内部设置,它可以解决我从R编译tex文档的问题

我的问题是
texi2pdf
knit2pdf
抛出警告而不生成pdf

我可以使用RStudio中的“编译pdf”按钮获取要编译的Rnw文件,我可以将Rnw文件编织成文本文件,我可以使用TexNicenter将我的tex文件编译成pdf,但我无法使
texi2pdf
knit2pdf
函数在R中工作

在Windows 7中,在一台安装了TexLive的计算机和另一台安装了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,它没有安装在我的机器上,也不在路径中。

这与其说是修复,不如说是解决方法

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

这件事今天发生在我身上,似乎是因为MikTex 2.9安装在我的用户帐户下。R也安装在我的用户帐户下。以下是对我有效的方法:

  • 卸载MikTex并在程序文件下重新安装。从其控制台更新MikTex
  • 将“C:\Program Files\MiKTeX 2.9\MiKTeX\bin\x64”添加到Windows路径(删除旧的MiKTeX路径)
  • 重新启动计算机
  • 卸载并重新安装knitr软件包(可能不需要)
    这是一个错误。我还得到了Sys.which(“texify”)的输出是完全相同的路径,并且在那里找不到分布。您认为这就是导致编译问题的原因吗?我不明白这些部件的相互作用,这是r的错误吗?克尼特?工具?它不是一个bug,也不是在寻找MikTex 1.9。我错得很厉害。同样的错误也发生在我身上。你是怎么修好的?