呈现rmarkdown文档时保留辅助TeX文件

时间:2019-03-28 16:58:45

标签: r rstudio r-markdown knitr tinytex

我正在渲染两个相互参照的文档。为此,我使用的是LaTeX软件包zref

要使zref工作,需要调用*.aux时创建的文档的pdflatex文件。

不幸的是,使用RStudio及其基本方法来呈现文档(编织按钮,Cmd + Shift + K或rmarkdown::render()),这些文件将在编译成功后被删除。

取消选中全局选项工具->全局选项->调整->编译后清除辅助输出没有帮助。

我知道有两种解决方法:

  1. 在渲染pdf后手动编译tex文件。

  2. 编写一个执行该操作的makefile。

但是还有我不知道的另一种选择吗?

1 个答案:

答案 0 :(得分:1)

rmarkdown::render()最终调用tinytex::latexmk()来将中间.tex编译为.pdf。要保留辅助文件,您需要tinytex::latexmk(..., clean = FALSE)。设置clean = FALSE的一种方法是通过全局选项options(tinytex.clean = FALSE)。您可以在.Rprofile或Rmd文档的代码块中进行设置。

您提到的RStudio选项仅适用于Sweave文档(.Rnw)。