发现一些不错的技巧,作为小小的分享。
合并再编织(M-K):将不同的Rmd文件(不同章节)合并到一个Rmd 文件中(Merge),再将他们输出成一本书(knit)。
或是,编织再合并(K-M):将不同的Rmd文件先各自输出(knit),接着由bookdown 将他们合并成一本书(merge)。
这二者看似差别不大,实际上不同的设定却对最终结果有很大的影响。
M-K:
K-M:
默认下的bookdown 采用的是M-K 模式。
比如我们在编译时,就是先生成一个大的_main.Rmd
文件,其集合了所有的Rmd 文件代码:
如果你希望切换到K-M 模式:
new_session = TRUE
when calling render_book()
new_session: yes
or new_session: true
in the configuration file _bookdown.yml
.有时候可能有的代码块需要非常耗时的计算。
而有时候为了确保最终输出的书本没有排版问题,需要一遍遍knit 代码。这时候可以在代码块设置:
```{r important-computing, cache=TRUE}
preview_chapter() 可以让你仅仅输出某一章节的内容。
serve_book() 可以让你获得一个动态变化的html bookdown 界面,可以让你实时预览因为代码改变,发生的页面变化。
比如:
bookdown::preview_chapter("chap-name.Rmd",
output_format="bookdown::gitbook", encoding="UTF-8")
[1]
1.4 Two rendering approaches | bookdown: Authoring Books and Technical Documents with R Markdown: https://bookdown.org/yihui/bookdown/new-session.html