13.1 Bookdown包的特点及其与Rmarkdown包的不同之处
Bookdown包是由著名R包作者谢益辉开发,继Knitr和Rmarkdown包之后,Markdown格式在R语言环境下的另一重要扩展。与Rmarkdown包相比,Bookdown包在功能上有所丰富,它不仅能使Rmarkdown文件支持公式、定理以及图表的自动编号、交叉引用与链接,还支持文献引用与链接等适用于长篇幅文档编排的功能。在输出格式上,Bookdown包支持编译生成html、doc、pdf和Epub等多种格式。
在Bookdown包的管理下,长文档的内容可以被分解成多个Rmd文件,每个Rmd文件中有可执行的R代码,R代码生成的文字结果、图表可以自动插入生成的内容中,也可以实现图表的浮动排版等功能。Bookdown包输出的html文件支持gitbook风格的网页图书,该图书在页面左侧显示目录,页面右侧显示内容,而且可以自动链接到上一章和下一章,如图13-1所示。
从功能定位看,Bookdown与Rmarkdown包有所差异,Bookdown包主要用于长文档编排和长文档的自动化输出,如图书的编著、科研论文或研究报告的撰写等。Bookdown包的主体由一系列相互关联的Rmarkdown文件组成,支持tex格式和css格式文件的编辑。借助于Bookdown包,用户编写完的Rmarkdown文件通过设置不同参数,既可以输出gitbook风格的html文件,也可以输出pdf格式的文件,从而便于用户多种情境的使用。Rmarkdown包则便适合短篇幅文档的编排与自动化输出,如数据日报(周报)制作、数据分析报告编写等。Rmarkdown包的主体多为单个短小精简的Rmarkdown文件,输出通常为单个html文件,方便日常高频数据日报(周报)和数据分析报告的编写。
如果用户能够深入掌握Rmarkdown和Bookdown包的常用功能,那么,日常基于微软Office的数据分析与文档编排工作,大部分都可以由这两个包完成。
图13-1 Bookdown包输出的gitbook风格图书页面示例