r - 渲染 rmarkdown 文档时保留辅助 TeX 文件
问题描述
我正在渲染两个文档,它们相互交叉引用项目。为此,我正在使用 LaTeX 包zref
。
为了zref
工作,它需要*.aux
调用时创建的文件的文件pdflatex
。
不幸的是,使用 RStudio 及其渲染文档的基本方法(编织按钮、Cmd+Shift+K 或rmarkdown::render()
)这些文件将在编译成功后被删除。
取消选中全局选项工具 -> 全局选项 -> Sweave -> 编译后清理辅助输出没有帮助。
我知道解决这个问题的两种选择:
在呈现 pdf 后手动编译 tex 文件。
编写一个执行此操作的生成文件。
但是还有其他我不知道的选择吗?
解决方案
rmarkdown::render()
最终调用tinytex::latexmk()
将中间体编译.tex
为.pdf
. 要保留辅助文件,您需要tinytex::latexmk(..., clean = FALSE)
. 一种设置方法clean = FALSE
是通过全局选项options(tinytex.clean = FALSE)
。您可以在.Rprofile
您的 Rmd 文档或您的 Rmd 文档的代码块中设置它。
您提到的 RStudio 选项仅适用于 Sweave 文档 ( .Rnw
)。
推荐阅读
- python - python字典.get()与字典中的元素在基于DP的递归程序中给出不同的结果
- apache-flink - 在 Flink Table API 中应用翻转窗口聚合时,kafka 主题接收器没有结果
- postgresql - POSTGRES - 将 LIKE 与异常(E')文字结合起来
- c - recv() - 包含“\0”和“\n”的字符串
- sparql - SPARQL 中的逆向查询处理
- flutter - Flutter 应用程序与 appbundle 崩溃但适用于 apk
- node.js - 在 sequilizejs 中使用 classMethods 与 instanceMethods?
- python - 使用 for 循环将字符串风格化为 ASCII 艺术
- node.js - 在多个子域之间共享会话
- android - PendingInent 创建的 Android 任务无法再次使用 pendingIntent 启动另一个活动