Вы можете просто использовать бесконечный цикл с Makefile для постоянного обновления PDF, когда это необходимо. См. https://github.com/yihui/servr/blob/master/R/make.R#L31-L35 для простой функции make_maybe()
и https://github.com/yihui/servr/blob/master/inst/examples/make1/Makefile для простого Makefile (вам необходимо изменить цель all
и правило make
для %.pdf: %.Rnw
). Тогда цикл выглядит в R (можно, конечно, использовать скрипты):
while (servr:::make_maybe()) {
Sys.sleep(1)
}
Если вы не знакомы с make
, также легко реализовать в чистом Р. Вам просто нужно проверить mtime
из file.info('your_file.Rnw')
, и всякий раз, когда он обновляется, перекомпилируйте файл Rnw. Ну, так как это просто, я просто wrote a function and added it до версии разработки knitr. С knitr (> = 1.11.20) вы можете просто вызвать функцию knit_watch('your_file.Rnw', knit2pdf)
для постоянного обновления PDF. Обратите внимание, что вам нужен просмотрщик PDF, который может обновляться, когда файл PDF обновляется (по моим старым знаниям, Acrobat Reader в Windows не работает, если вы не используете Windows, вероятно, вы по-хорошему по умолчанию).