如何调试 Rsweave

How to debug a Rsweave

我有一个 rsweave 文件,我几乎每周 运行 两次。上次我用它做了一些改变,当我 运行 它编译成 pdf 时,我得到了以下错误: pdf complitly 编译,我唯一注意到的错误是 pdf 输出有一个额外的页面(第一个)全是空白。我不知道如何制作一个可重现的错误示例,因为我不知道是什么原因造成的。但是无论如何,我只想知道在出现如图中的乳胶错误时如何调试 rsweave 文件

你没说你怎么样 运行ning Sweave,但这看起来像 RStudio。要调试这样的东西,只需 运行 Sweave 在 R 控制台中显式显示,例如如果您的输入文件是 source.Rnw、运行

Sweave('source.Rnw')

这将产生 source.tex。在文本编辑器中打开该文件并查看它的开头。您会看到第 27 行使用了 \Schunk,但 \begin{document} 直到稍后才出现。

我的猜测是您向 header 添加了一些文本或代码块。所有文本都在 \begin{document}.

之后

编辑添加:从下面的评论可以看出,您在 \begin{document} 之前的代码块中使用了 print(...)。在 Sweave 中,print 输出进入文档。如果您希望消息显示在控制台日志中而不是文档中,请使用 message("some text")。如果您想在文档 header 中执行此操作,您还需要抑制命令的回显。例如,

<<echo=FALSE,results=hide>>=
message("Started at ", Sys.time())
@

将在您的控制台日志中产生类似这样的结果:

 1 : keep.source term hide (Untitled.Rnw:6)
Started at 2017-09-27 08:28:33

文档中没有任何内容。