我对 sweave 文档的概念还不太熟悉。我的文档是一个包含 LaTeX 代码和 R 代码的 .Rnw 文件。我的部分 R 代码计算量很大,会延迟 .Rnw 文件的编译。一旦我编译它,它看起来就很漂亮,但如果我想添加更多信息或进行一些更改,则需要一段时间才能产生这些结果。
是否有选项、命令或某种方式来告诉编译器保存输出并在下次编译 .Rnw 文件时使用它?如果有帮助,我正在 ubuntu 机器上通过 emacs 使用 ESS。
答案1
简短回答:
应用这些选项:prefix=T
然后eval=F
长答案:
将图形作为单独的文件,然后禁用块评估并包含图形的 PDF。
prefix=T
:图形的文件名使用通用前缀生成(默认为源文件的名称)。eval=F
:代码块未经评估,因此没有创建文本或图形输出。
使用此 MWE 中的选项:
\documentclass{article}
\begin{document}
The A chunk
<<a,echo=T,eval=T,results=hide>>=
a <-2+3
a
@
The B chunk
<<b,echo=T,eval=T,fig=T,prefix=T,results=verbatim>>=
b <- a+3
b
cars <- c(1, 3, 6, 4, 9)
plot(cars)
@
\end{document}
其他一些有趣的选项可能是results=hide
(输出被抑制,但代码被执行)。
但是,即使您可以禁用某些块的评估或输出,这可能无法对某些大型文档提供显着帮助,因为块的结果通常依赖于早期的块,因此打开和关闭以避免渲染某些图形非常麻烦。
要测试文档开头或中间的某个块并跳过所有后续块,更快的方法是在\end{document}
其后添加一个。
`
答案2
我想你想要针织品或者可能是其所基于的 Sweave 变体之一。