据我了解,servr包允许对 Rmd 文件的编辑以 HTML 格式实时查看。
但是 servr 是否允许对 Rnw 文件的编辑以 PDF 格式实时查看?
您可以在必要时简单地使用带有 Makefile 的无限循环来持续更新 PDF。简单功能见https://github.com/yihui/servr/blob/master/R/make.R#L31-L35,https://github.com/yihui/servr/blob/master/inst/make_maybe()
_ examples/make1/Makefile用于一个简单的 Makefile(您需要更改目标all
和make
规则%.pdf: %.Rnw
)。然后循环在 R 中看起来像这样(你当然也可以使用 shell 脚本):
while (servr:::make_maybe()) {
Sys.sleep(1)
}
如果你不熟悉make
,在纯R中也很容易实现。你只需要检查一下mtime
,file.info('your_file.Rnw')
每当更新时,重新编译Rnw文件。好吧,既然简单,我就写了一个函数,添加到开发版的knitr中。使用knitr (>= 1.11.20),您只需调用该函数knit_watch('your_file.Rnw', knit2pdf)
即可连续更新 PDF。请注意,您需要一个可以在 PDF 文件更新时自行更新的 PDF 查看器(据我所知,Windows 上的 Acrobat 阅读器不起作用;如果您不使用 Windows,默认情况下可能会很好)。