13.6 Bookdown包编排长文档的流程
上一章介绍了使用Rmarkdown和Knitr包自动化生成报告的基本流程。对于普通用户,在使用Rmarkdown和Knitr包生成数据分析报告时,不必深入了解该流程的实施细节,只需确保Rmarkdown文件中的三大构成要素正确无误即可。
虽然使用Rmarkdown和Knitr包能完成大部分数据分析类报告和格式编排不甚严格的自动化报告,但是在教学、科研和商业实践中,还会遇到内容冗长、格式编排要求严格的文档编制。为此,本章建议用户在中英文模板基础上使用Bookdown包编排长文档并实现其自动化输出,这样不仅可以减少烦琐的格式编辑与调整,实现数据分析过程的可复现、可校验,还能够输出多种样式新颖的文档格式(如HTML文件与PDF文件等)。应用Bookdown包编排长文档的流程如图13-5所示。
图13-5 使用Bookdown包编排长文档的流程
上述流程表明,使用Bookdown包编排长文档可分解为5个步骤,简要说明如下。
步骤1:安装Bookdown包以及相配套的Rmarkdown、Knitr、Pandoc和tinytex包,确保Bookdown包的支撑软件安装成功、运行环境配置成功。
步骤2:从Bookdown包官网(https://github.com/rstudio/bookdown)下载中英文模板压缩包,并在本地将其解压为独立的工作目录。
步骤3:如果用户撰写的文档类型为article,则需要修改工作目录下index.Rmd文件的YAML文件头参数,将documentclass设为article,同时关闭图表目录和文章目录,示例如下:
之后将同一工作目录下的_output.yml文件内容全部清空,使该文件只保留如下示例的3行内容:
若用户撰写的文档类型为book,则不需要更改上述文件内容,此时可以逐一打开同一工作目录下标有序号且扩展名为Rmd的文件,按本章前几节的介绍,修改这些文件中的YAML文件头和Markdown文本。
步骤4:若撰写的文档中包含要执行的代码,则需要修改Rmarkdown文件中的代码块,使之完成数据加载、处理、分析与可视化等步骤,这些代码块与Markdown文本混合在一起,将用于后续的编译与格式转换。
步骤5:完成步骤1~4后,单击RStudio右上角的Build按钮,工作目录下按序号排列的Rmarkdown文件将由Bookdown包自动完成代码编译、文本格式转换等工作,输出期望格式的文档。