R CMD Sweave究竟做了什么-pdf呢?

时间:2011-11-18 14:57:05

标签: r sweave

我在R 2.14的变化中注意到了这一点:

  

R CMD Sweave现在有一个--pdf选项来生成已处理的Sweave文档的PDF版本。

尝试一下,我注意到它不仅在生成的tex上运行了pdfLaTeX,而且还正确地包含了bibTeX引用并在之后进行了清理。现在似乎是一种非常好的使用Sweave的方式(更不用说现在在编辑器中实现整个例程是多么容易)。

但现在究竟是什么运作?我找不到更多细节。看来Sweave - > pdflatex - > bibtex - > pdflatex - > pdflatex至少?

3 个答案:

答案 0 :(得分:10)

感谢您的提问。我想知道自己在“自动化”过程背后的代码。

R CMD Sweave --pdf最终调用tools::texi2dvi,其中:

  

运行[s] latex和bibtex,直到所有交叉引用都得到解决   创建[s] dvi或PDF文件。

(See here for more texi2dvi details)

以下是R CMD Sweave --pdf电话启动的事件链:

  • 源文件rcmdfn.c的代码指示R CMD Sweave通过utils:::.Sweave() --args"运行Rterm.exe

  • 如果设置了--pdf,则utils:::.Sweave()会调用tools::texi2pdf()来处理Sweave文件。

  • texi2pdf()依次调用tools::texi2dvi()

  • 最后,texi2dvi()查看环境以了解可以使用哪些工具,以及上面链接的帮助文件中描述的工作。

答案 1 :(得分:0)

您可以尝试手动执行从Rnw到pdf的转换,查看获得与R CMD Sweave相同结果所需的相应步骤的次数。

答案 2 :(得分:0)

我对内部工作情况了解不多,但我知道RStudio的开发版本允许您在knitrSweave以及pdflatex和{{之间进行选择1}},并提供xelatex作为选项。