9.2 便携式文档

9.2.1 文档汉化

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

默认的 PDF 文档 PDF 文档案例

详见PDF 文档案例

9.2.2 添加水印

draftwatermark

9.2.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 默认的字号,

9.2.4 参数化报告

参数化文档案例

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

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

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

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

9.2.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

9.2.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
---

9.2.7 引用文献

Getting started with Zotero, Better BibTeX, and RMarkdown

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

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

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

data.frame(
  author = c("Yihui Xie", "Yihui Xie", "Hadley Wickham"),
  citation = c("[@xie2019]", "[@xie2015]", "[@Hadley_2019_tidyverse]")
) %>%
  knitr::kable(., format = "pandoc")
author citation
Yihui Xie (Xie 2019)
Yihui Xie (Xie 2015)
Hadley Wickham (Wickham et al. 2019)

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

9.2.8 自定义块

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

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

这是注意

这是提示信息

这是警告信息

这是重要信息

参考文献

Pu, Xiaoying, and Matthew Kay. 2020. “A Probabilistic Grammar of Graphics.” In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, 1–13. New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/3313831.3376466.
Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.
———. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. https://yihui.org/knitr/.
———. 2019. TinyTeX: A Lightweight, Cross-Platform, and Easy-to-Maintain LaTeX Distribution Based on TeX Live.” TUGboat, no. 1: 30–32. https://tug.org/TUGboat/Contents/contents40-1.html.