R 包 bookdownplus 正式发布

来自 赵鹏 | June 22, 2017

很高兴地宣布,我的 R 语言扩展包 ‘bookdownplus v1.0.2’ (Zhao 2017a) 在 CRAN 正式发布了。本文是对’bookdownplus v1.0.2’的简要描述. 由于最近更新频繁, 最新版的’bookdownplus’更加强大和易用, 例如 ‘bookdownplus v1.2.0’ 可以一条指令生成19个模板文档的 pdf, word, html 和 epub 四种格式. 建议移步位于 GitHub 的 bookdownplus 项目主页.

简介

bookdownplus 是对 bookdown 包 (Xie 2016) 的增强和简化, 是快速使用 bookdown 的最简洁方法。bookdown 就好比 Microsoft Word 或 \(\LaTeX\),可以用来写文档,而 bookdownplus 提供了很多有用的模板,可以很方便地在 bookdown 平台写期刊论文、学位论文、学术海报、化学分子式、信件、日记、日历、诗集、吉他谱等各种常用文档和书籍。这是功能上的增强(+)。

bookdownplus 使用时只需指定一个模板,给定作者和书名,就可以一键生成模板文件,用户在模板文件里照猫画虎写自己的文字就可以了,不必再花力气上网找模板、设置 YAML 和 LaTeX。这是操作上的简化(-)。

bookdownplus 各个模板的使用方法详见 R bookdownplus Textbook。这本电子书本身就是用 bookdownplus 生成的,尤其是它的 pdf 版本很美观。此书的源码开放,可以作为使用 bookdownplus写书的示例。

下面是 bookdownplus 的简介和快速使用方法。

快速入门

准备

在开始前,需要安装 R, RStudio, bookdown,和其他依赖的软件和包(例如 Pandoc, \(\LaTeX\), rmarkdown, rticle, knitr等),作为准备。详见 bookdown 官方手册

安装

准备完毕后,就可以安装 bookdownplus 了。可以安装稳定版:

install.packages("bookdownplus")

或开发版:

devtools::install_github("pzhaonet/bookdownplus")

生成模板文件

接着,在 R 中运行下面的代码:

bookdownplus::bookdownplus()

这时,在你的工作目录(getwd()),会得到一些模板文件(如 index.Rmdbody.Rmdbookdownplus.Rproj) 和文件夹。

编译成书

用 RStudio 打开 bookdownplus.Rproj文件,然后按 ctrl+shift+b,Duang!你就得到模板书 *.pdf了!保存在 _book/ 文件夹里。

你的文字

index.Rmdbody.Rmd 里写你自己的文字,享受写书的快乐吧!自古皆死,不朽者文。

更多输出格式

模板默认生成的书是pdf格式。‘bookdownplus’ 从 1.0.3 开始,可以很方便地输出更多格式,包括国内最常见的 ’word’格式,网页’html’格式和电子书’epub’格式,只需运行:

bookdownplus::bookdownplus(template = 'article', more_output = c('html', 'word', 'epub'))

就可以在 _book/ 文件夹里看到这些文件了。

网页格式可以极其方便地免费发布到 bookdown.org,只需运行:

bookdown::publish_book()

这里是 bookdown 书籍的大本营。截至 2017 年 6 月,我有三本书被放置在这个网站的首页。

更多建议

我开发的另外两个 R 包可以配合 ‘bookdown’ 使用:

  • mindr (Zhao 2017b),可以从 markdown 或 R markdown 格式的书稿中提取纲要,并且生成思维导图。

  • pinyin (Zhao 2017c),可以为书稿的章节标题自动生成‘{#ID}’。如果标题里含有汉字,就会自动转换成拼音。

具体用法见他们的帮助信息。这两个包已经在 CRAN正式发布,安装命令是:

install.packages('mindr')
install.packages('pinyin')

更改模板

上述快速入门得到的模板文档是默认的论文文档。只需在上述步骤里为 bookdownplus() 函数指定模板名称,就可以用类似的操作得到其他模板的示范文档,如:

bookdownplus::bookdownplus(template = 'poem')

下面展示一些模板。

  • article

  • article_mdpi1

  • article_zh

  • calendar

  • chemistry

  • guitar

  • journal

  • mail

  • poem

  • thesis_classic

  • thesis_ubt

  • thesis_zju

  • yihui_demo

  • yihui_mini

  • yihui_zh

更新记录

  • 2017-06-21. Released on CRAN!
  • 2017-06-21. Version 1.0.2. Resubmitted to CRAN!
  • 2017-06-21. Version 1.0.2. Resubmitted to CRAN!
  • 2017-06-21. Version 1.0.1. Submitted to CRAN!
  • 2017-06-14. Version 0.0.1. A bug fixed.
  • 2017-05-15. Version 0.0.0. A very preliminary version.

Xie, Yihui. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.

Zhao, Peng. 2017a. Bookdownplus: Generate Varied Books and Documents with R ’Bookdown’ Package. https://CRAN.R-project.org/package=bookdownplus.

———. 2017b. Mindr: Convert Files Between Markdown or Rmarkdown Files and Mindmaps. https://github.com/pzhaonet/mindr.

———. 2017c. Pinyin: Convert Chinese Characters into Pinyin. https://github.com/pzhaonet/pinyin.

comments powered by Disqus