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