【问题标题】:What exactly does R CMD Sweave --pdf do?R CMD Sweave --pdf 到底是做什么的?
【发布时间】:2011-11-18 14:57:04
【问题描述】:

我在 R 2.14 的更改中注意到了这一点:

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

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

但是现在运行的到底是什么?我找不到更多关于它的细节。似乎 Sweave -> pdflatex -> bibtex -> pdflatex -> pdflatex 至少?

【问题讨论】:

    标签: r sweave


    【解决方案1】:

    感谢您的提问。我一直想知道这个“自动”过程背后的代码。

    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() 查看环境以了解可用的工具,并执行上面链接的帮助文件中描述的工作。

    【讨论】:

      【解决方案2】:

      您可以尝试手动执行从 Rnw 到 pdf 的转换,然后查看各个步骤需要多少次才能获得与 R CMD Sweave 相同的结果。

      【讨论】:

        【解决方案3】:

        我不太了解内部工作原理,但我知道 RStudio 的开发版本会让您在knitrSweave 之间以及pdflatexxelatex 之间进行选择,并给出@987654325 @ 作为一个选项。

        【讨论】:

          猜你喜欢
          • 2012-06-12
          • 2015-08-06
          • 2013-09-02
          • 2014-01-02
          • 2013-10-10
          • 2017-05-08
          • 2022-01-20
          • 2012-10-17
          • 2017-06-15
          相关资源
          最近更新 更多