来自 赵鹏 | May 9, 2017
注意:本文所述的bookdown+
这个项目已经停止开发,继承者是我新开的R包项目bookdownplus ,这是因为我学会了写R包。当然,说不定有些朋友不喜欢安装R包,喜欢下载个文件夹直接免安装用,那么本文所述的方法仍然可以继续使用,只是我不再更新了而已。
R bookdown 能做的事情很多,可是那些功能迟迟不来,我只好自己动手,写了个 bookdown+,目前大体实现了用 bookdown 写期刊论文、化学分子式、信件、日记、日历等功能。当然,有些还没完全实现,革命不够彻底,带着浓重的\(\LaTeX\)旧社会的气息。革命尚未成功,同志仍需努力。
下面是 bookdown+ 的简介和快速使用方法。
背景
R bookdown+,听起来像是跟R[@R-base]的扩展包bookdown
[@R-bookdown]有关吧?
一点没错!我们知道,bookdown
天生是个用来写编程书籍的称手工具。只是,这仅仅是硬币的一面。bookdown
的功能远远不止如此。它就像一个美味的蛋糕,我等啊等啊,等着谁把它切开,实在等不及了,就自己下手吧。所以,我弄了个bookdown+。
bookdown+是bookdown
的扩展。我数年前收集了一些\(\LaTeX\)模板,现在我把他们整理到bookdown+里,这样就可以开开心心在bookdown
的环境里做喜欢的事情。bookdown+ 展示了硬币的另一面:你可以用它来写写期刊论文、化学分子式、信件、日历、甚至日记。
另一方面,我从个人角度对bookdown
的使用做了简化。官方提供的bookdown
模板虽然很好用,但对新手来说略显繁琐,需要:
- 在
index.Rmd
和_output.yml
两个文件里设置yaml, - 需要在
_bookdown.yml
里设置文件名; - 对中文用户来说,还得跟LaTeX打交道,需要考虑
before_body.tex
,after_body
,preamble.tex
里面的设置。
这些操作可能让新手望而生畏。
R bookdown+用起来就容易多了,只需在一个叫做_runme.R
的文件里设置好书名、作者,选好模板,binggo!就可以开始放心写自己的文字了。
功能扩展,操作简化,这就是R bookdown+。
在不久的未来,肯定会出现很多官方的bookdown模板,但是我不想等了。你要是也等不及,就跟我来一起使用或开发[bookdown+]吧!
快速入门
预备
在开始前,你需要安装 R, RStudio, bookdown,和其他依赖的软件和包(例如 Pandoc
, \(\LaTeX\), rmarkdown
, rticle
, knitr
等)。详见bookdown官方手册.
准备好后,从Github下载bookdown+
压缩文件。解压缩到你的电脑里,在得到的文件夹里找到 _start.Rproj
文件,双击就会在RStudio里打开一个项目。
文件夹里还有个_runme.R
文件。你可以双击打开并运行。下面是对这个文件里代码的详细解释。
第1步:标题和作者
改成你自己书的标题和作者名。
title <- 'bookdown+: Authoring Articles, Mails, Guitar books, Chemical Molecular Formulae and Equations with R bookdown'
author <- 'Peng Zhao'
第2步: 模板
在给定的可用模板里选择你想要的。这里我们选第8个。
templates <- c('article', #1, academic article
'article_zh', #2, academic article in Chinese
'calendar', #3, calendar, in progress
'chemistry', #4, chemical molecular formulae and equations
'chemistry_zh',#5, in Chinese,
'guitar', #6, guitar book
'mail', #7, mail, in progress
'journal', #8, laboratory journal, or personal diary
'mini', #9, a mini demo by Yihui
'original', #10, the original demo by Yihui
'book_zh' #11, the demo in Chinese by Yihui
)
template <- templates[8]
运行 fun/build.R
。
source('fun/build.R')
第3步: 成书
现在按下 ctrl+shift+b
快捷键,你就会在新生成的book/
文件里找到一本示例书。打开看看吧!
你自己的文字只需在body.Rmd
修改,写完后重复本步即可。
祝你玩得愉快!
模板效果展示
- article
- article_mdpi1
- article_zh
- calendar
- chemistry
- guitar
- journal
- poem
- thesis_classic
- thesis_ubt
- thesis_zju
- yihui_demo
- yihui_mini
- yihui_zh