我在R 2.14的变化中注意到了这一点:
R CMD Sweave现在有一个--pdf选项来生成已处理的Sweave文档的PDF版本。
尝试一下,我注意到它不仅在生成的tex上运行了pdfLaTeX,而且还正确地包含了bibTeX引用并在之后进行了清理。现在似乎是一种非常好的使用Sweave的方式(更不用说现在在编辑器中实现整个例程是多么容易)。
但现在究竟是什么运作?我找不到更多细节。看来Sweave - > pdflatex - > bibtex - > pdflatex - > pdflatex至少?
答案 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的开发版本允许您在knitr
和Sweave
以及pdflatex
和{{之间进行选择1}},并提供xelatex
作为选项。