第 14 章 便携式文档

14.1 文档汉化

从 R Markdown 到 beamer 幻灯片,如何迁移 LaTeX 模版

默认的 PDF 文档 PDF 文档案例

详见PDF 文档案例

14.2 添加水印

draftwatermark

14.3 双栏排版

普通单栏排版改为双栏排版,只需添加文档类选项 "twocolumn",将 YAML 元数据中的

classoption: "UTF8,a4paper,fontset=adobe,zihao=false"

变为

classoption: "UTF8,a4paper,fontset=adobe,zihao=false,twocolumn"

其中,参数 UTF8 设定文档编码类型, a4paper 设置版面为 A4 纸大小,fontset=adobe 指定中文字体为 Adobe 字体,zihao=false 不指定字体大小,使用文档类 ctexart 默认的字号,

14.4 参数化报告

参数化文档案例

进一步将文档类型做成参数化,实现在运行时自由选择,只需将如下两行替换掉上述一行

params:
  classoption: twocolumn
classoption: "`r params$classoption`"

如果想要双栏的排版风格,编译时传递 documentclass 参数值,覆盖掉默认的参数值即可

rmarkdown::render(
  input = "examples/pdf-document.Rmd",
  params = list(classoption = c("twocolumn"))
)

14.5 学术幻灯片

beamer 幻灯片也是一种 PDF 文档 PDF 文档案例

Dirk Eddelbuettel 将几个大学的 beamer 幻灯片转化成 R Markdown 模板,收录在 binb 包里,方便调用。伊利诺伊大学的 James J Balamuta 在 R Markdown 基础上专门为自己学校开发了一套的幻灯片模版,全部打包在 uiucthemes 包里。

komaletter 用 Markdown 写信件

memor memor::pdf_memo()

hrbrthemes 提供两个文档模版 hrbrthemes::ipsum_pdf()hrbrthemes::ipsum()

此汉风主题由 林莲枝 开发,LaTeX 宏包已发布在 CTAN 上,使用此幻灯片主题需要将相关的 LaTeX 宏包一块安装。

tlmgr install pgfornament pgfornament-han needspace xpatch

14.6 文档模版

字体设置

---
output: 
  pdf_document: 
    extra_dependencies:
      DejaVuSansMono:
       - scaled=0.9
      DejaVuSerif:
       - scaled=0.9
      DejaVuSans:
       - scaled=0.9
---

 

---
output: 
  pdf_document: 
    extra_dependencies:
      sourcecodepro:
       - scale=0.85
      sourceserifpro:
       - rmdefault
      sourcesanspro:
       - sfdefault
---

14.7 引用文献

Getting started with Zotero, Better BibTeX, and RMarkdown

knitcitations 包可以根据文献数字对象标识符(英文 Digital Object Identifier,简称 DOI)生成引用,以文章《A Probabilistic Grammar of Graphics》[31] 为例,其 DOI 为 10.1145/3313831.3376466,总之, DOI 就像是文章的身份证,是一一对应的关系55

library(knitcitations)
citep(x ='10.1145/3313831.3376466')
[1] "(Pu and Kay, 2020)"

在表格的格子中引用参考文献

data.frame(
  author = c("Yihui Xie", "Yihui Xie", "Yihui Xie"),
  citation = c("[@xie2019]", "[@xie2015]", "[@xie2016]")
) |> 
  knitr::kable(format = "pandoc")
author citation
Yihui Xie [11]
Yihui Xie [10]
Yihui Xie [8]

citr 包提供了快速查找参考文献的 RStudio 插件,不用去原始文献库 *.bib 搜索查找,也会自动生成引用,非常方便,极大地提高了工作效率。 citr 还支持集成 Zotero 文献管理软件,可以直接从 Zotero 中导入参考文献数据库。rbbt 包也提供了类似的功能,只要系统安装 Zotero 软件及其插件 Better Bibtex for Zotero connector

14.8 自定义块

tinytex::tlmgr_install(c('awesomebox', 'fontawesome5'))

安装 awesomebox 包,开发仓库在 https://github.com/milouse/latex-awesomebox,这个 LaTeX 宏包的作用是提供几类常用的块,比如提示、注意、警告等

这是注意

这是提示信息

这是警告信息

这是重要信息

参考文献

[8]
Y. Xie, Bookdown: Authoring books and technical documents with R markdown. Boca Raton, Florida: Chapman; Hall/CRC, 2016.Available: https://github.com/rstudio/bookdown
[10]
Y. Xie, Dynamic documents with R and knitr, 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC, 2015.Available: https://yihui.org/knitr/
[11]
Y. Xie, TinyTeX: A lightweight, cross-platform, and easy-to-maintain LaTeX distribution based on TeX Live,” TUGboat, no. 1, pp. 30–32, 2019,Available: https://tug.org/TUGboat/Contents/contents40-1.html
[31]
X. Pu and M. Kay, “A probabilistic grammar of graphics,” in Proceedings of the 2020 CHI conference on human factors in computing systems, 2020, pp. 1–13. doi: 10.1145/3313831.3376466.