我正在尝试破解某种使用通过knitr
生成的图形自动生成 pptx 的方法,并想知道是否有一种方法可以仅对产生绘图的块禁用cache
。当有这样的标题时,我试图将缓存设置为 false:
knitr::knit_hooks$set(fig.cap = function(options) {
options$cache <- FALSE
options
})
但它不起作用(可能在此之前评估了cache
选项(。
我也尝试将其设置在plot
钩中,但没有结果。
knit_plot <- knitr::knit_hooks$get("plot")
knitr::knit_hooks$set(plot = function(x, options) {
options$cache <- FALSE
read_pptx(pptfile) %>%
add_slide(layout = "figure", master = "Office Theme") %>%
ph_with_gg(last_plot(), type = "pic") %>%
print("pptprueba.pptx")
knit_plot(x, options)
})
当然,我可以手动设置cache = FALSE
,但我希望有一种更编程的方式。
好的,事实证明我不得不使用opts_hooks
而不是knit_hooks
.这有效:
knitr::opts_hooks$set(fig.cap = function(options) {
options$cache <- FALSE
options
})