背景介绍
英语演讲课曾说,幻灯片只是辅助工具,而内容才是演讲的核心和本质。报告和幻灯片,其本质都是服务于“展示知识”这个过程,两者有着相通之处。利用 R Markdown 可以特别方便地将一份课程报告转化为课程答辩幻灯片,也可以将幻灯片填充些内容后形成总结报告。这四年来,利用两者的转换关系,我节约了不少时间。
作为排版困难者,我尝试着探索了一些只关注内容的幻灯片和报告的写法。随着四年统计学习,R 虽然已经快脱离我的常用语言名单,但不希望我积累的那些利用 R Markdown 制作幻灯片和课程报告的经验随着我的不用而消亡,故记录下一些改装模板的经验。本文适合会 R Markdown、想自定义模板的人阅读。
从YAML说起
R Markdown 的用户里,或许有的甚至不知道什么是 YAML,其实就是在生成模板时,上下三条横杠框住的参数设置。要学会自定义模板,首先要知道有什么可以改,才能下手,类似于编译链接生成机器代码的那一段——虽然学编程初期时有人总对它不屑一顾。而写 YAML 文件类似于在命令行写的参数,决定了使用什么参数制作报告。
--- title: "Untitled" author: "author" date: "2019年6月14日" output: html_document ---
从最简单地生成一个普通 HTML 报告来说,看似这四行代码没什么好解释的,但实际上,可使用的参数可以根据这四行代码推出。其中最重要的一行是第四行——output: html_document,在我只会套用模板而没深入研究时,无法注意到这行代码的重要性。实际上,只需在 R 中引入 rmarkdown 包后,然后输入?html_document,之后新世界便打开了,那html_document后加的参数根本就是这个函数的参数:
library("rmarkdown") ?html_document
rmarkdown 生成报告的命令可以在 R Markdown console 界面中看到,如下:
C:/PROGRA~2/Pandoc/pandoc" +RTS -K512m -RTS example.utf8.md --to html4 --from markdown+autolink_bare_uris+ascii_iden