我目前正在使用书本来制作一本书。它使用一些代码段,这些代码段需要花费一些时间来编译,执行和获取输出。我使用以下命令为该书生成HTML,PDF和EPUB文件:
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::pdf_book')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::epub_book')"
因此,每次生成书籍文件时,都会进行实际计算,从而增加了总生成时间×3。
有什么方法可以在初次运行时生成一些中间文件,而不用它来构建HTML,PDF和EPUB输出?
答案 0 :(得分:1)
通过在我的index.Rmd
中添加以下代码段,我设法大大减少了再生时间:
```{r include=FALSE}
knitr::opts_chunk$set(cache = TRUE)
```
更新:
按照Yuriy Barvinchenko和Yihui Xie的建议,最好使用cache only time-consuming代码块:
```{go time-sleep-demo cache = TRUE}
package main
import (
"fmt"
"time"
)
func main() {
fmt.Print("Hello ")
time.Sleep(10 * time.Second)
fmt.Println("world!")
}
```