Mar*_*zer 5 r rstudio knitr r-markdown tinytex
我正在渲染两个文档,这些文档相互交叉引用。为此,我正在使用 LaTeX 包zref。
为了zref工作,它需要*.aux调用时创建的文档的文件pdflatex。
不幸的是,使用 RStudio 及其基本方法来渲染文档(编织按钮,Cmd+Shift+K 或rmarkdown::render()),这些文件将在编译成功后被删除。
取消选中全局选项工具 -> 全局选项 -> Sweave -> 编译后清理辅助输出无济于事。
我知道有两种选择可以解决这个问题:
在 pdf 渲染后手动编译 tex 文件。
编写一个执行此操作的 makefile。
但是还有我不知道的另一种选择吗?
rmarkdown::render()最终调用tinytex::latexmk()将中间体编译.tex为.pdf. 要保留辅助文件,您需要tinytex::latexmk(..., clean = FALSE). 一种设置方法clean = FALSE是通过全局选项options(tinytex.clean = FALSE)。您可以在.Rprofile您的 Rmd 文档或您的 Rmd 文档的代码块中设置它。
您提到的 RStudio 选项仅适用于 Sweave 文档 ( .Rnw)。