探索书本创作的新维度:bookdownplus——你的学术写作助手
简介
R包bookdownplus(Zhao 2017a)是R包bookdown的强力延伸(Xie 2016)。它汇集了一系列基于LaTeX的定制模板,专为在bookdown保护伞下愉快工作而设计。bookdownplus使你可以轻松撰写学术期刊文章、吉他教程、化学公式,甚至日程和日记。
功能亮点
bookdown以其出色的合作工具集合而闻名,但对R初学者来说,面对LaTeX、YAML、Markdown和Pandoc等可能会感到困惑或沮丧。如果用户因此止步不前,无法领略bookdown的美好世界,那将是一种遗憾。
bookdownplus则是通往bookdown世界的最简单路径。只需一个命令,你就可以获得PDF或DOC格式的示例书籍,甚至更多格式。它扩展了bookdown的功能,简化了流程。你只需选择模板,明确书名和作者,然后专注于文本创作,无需在YAML和LaTeX中挣扎。
通过bookdownplus,你可以:
- 撰写学术期刊文章和论文/博士论文
- 编写优雅布局的邮件
- 记录实验室日记和个人日记
- 绘制月度、周度或会议日历
- 插入化学分子式和方程式
- 创建吉他和弦图谱
- 更多惊喜即将到来...
访问bookdownplus画廊,查看我们提供的样例。
快速上手
准备工作
安装
# 从GitHub安装开发版本(推荐)
devtools::install_github("pzhaonet/bookdownplus")
# 或从CRAN安装稳定版本
install.package("bookdownplus")
生成演示书籍
首先检查你的工作目录(getwd()
),确保它是空的。bookdownplus会在其中生成大量文件,所以建议使用一个空目录作为工作目录。如果你不清楚如何使用R命令更改工作目录,可以使用RStudio创建一个新的项目(文件 - 新项目 - 新目录 - 空项目)并始终在这个项目中工作。
运行以下代码:
require(bookdownplus)
bd('ubt')
现在,一个针对巴伐利亚大学的论文示例将在你的工作目录下的_book/
文件夹中以多种格式生成。打开_book/ubt.pdf
或其他文件,感受一下效果。
写作你自己的书
bd()
是一个简化功能,用于创建示例。bookdownplus的主要功能是:
bookdownplus()
带有多个参数。
例如,
bookdownplus(template = 'ubt', render = TRUE)
你会看到一些其他文件(如index.Rmd
、body.Rmd
、-bookdownplus.Rproj
)和文件夹。在body.Rmd
中编写自己的文本,并在index.Rmd
中修改作者和书名。你可以使用RStudio或任何其他文本编辑器进行编辑,但请不要使用Microsoft Word。
完成一些文本编写后,使用RStudio打开-bookdownplus.Rproj
,按下ctrl+shift+b
来构建你自己的精美书籍。
更多输出格式
默认情况下,书籍将以.pdf和.md文件形式生成。从'bookdownplus v1.0.3'开始,用户可以获取更多的输出格式,包括word、html和epub。从'bookdownplus v1.2.0'开始,运行以下代码可查看可用的输出格式:
get_output()
你可以指定more_output
参数在bookdownplus()
函数中:
bookdownplus(more_output = get_output())
然后,所有所需的输出文件都将位于_book/
文件夹内。
更多模板
默认情况下,书籍基于'template'模板生成。从'bookdownplus v1.2.0'开始,用户可以运行以下代码查看可用模板:
get_template()
模板名称以'_'结尾的表示支持中文字符。要列出所有这些中文模板,请运行:
grep('_zh$', get_template()[, 'name'], value = TRUE)
在bookdownplus()
函数中指定template
参数:
bookdownplus(template = get_template()$name[1])
然后,所有必需的输出文件都在_book/
文件夹中。
魔术技巧
现在是见证奇迹的时候了。使用以下魔术技巧,你将看到bookdownplus能够做到什么。
中国用户可以运行以下代码,然后去喝杯咖啡。回来时,你会发现超过20个基于可用模板生成的示例书籍,每本书都有.pdf、.doc、.html和.epub格式,在_book/
目录中:
bd()
非中国用户可能因为其计算机不支持中文字符而在示例书中遇到错误。相反,运行以下代码,这将排除中文模板和远程模板:
my_t <- get_template()
my_t <- my_t$name[my_t$location == 'local' & !grepl('_zh$', my_t$name)]
bd(my_t)
展示区
bookdownplus画廊展示了bookdownplus提供的一些样本。
分享你的模板
bookdownplus提供了大约30个模板(版本1.5.0)。如果你愿意向bookdownplus贡献你的bookdown模板,只需将其上传到bookdownplus仓库。
从1.5版开始,bookdownplus向贡献者开放了前所未有的大门。步骤如下:
-
确保你的模板能成功与bookdown配合工作。
-
在你的工作目录中准备一个名为
your_template_name
的文件夹,通过运行以下R代码:bookdownplus::share('your_template_name')
遵循每个子文件夹中的指示创建所需文件。
- (必需)'your_template_name/demo.zip'是你bookdown项目文件夹的压缩文件。
- (可选)'your_template_name/showcase/'包含样本文件(如pdf、图像文件)。推荐一个封面图片'cover.png',它将在画廊中用作封面图像。
- (可选)你可以在'my_template/readme.txt'(markdown语法)中编写简介,这将在画廊中显示为文本。
-
将你的
your_template_name/
模板文件夹上传到bookdownplus repo的'upload/'目录中。 -
更新'upload/-list.csv',添加模板信息,包括模板名称、贡献者姓名和简短介绍。
-
向bookdownplus创建Pull Request。
等待回应,一旦接受,你的模板将在画廊中可供使用。用户可以通过点击画廊中的".zip"链接,或者运行以下代码获取:
bookdownplus("your_template_name")
推荐使用
我还开发了一些其他包,为bookdown带来了更多功能,如:
两者已在CRAN上发布,可通过install.packages('mindr')
和install.packages('pinyin')
安装。
享受你的bookdowning之旅!
更新记录
- 2019-01-25. v1.5.5. 用户可自定义新bookdown项目的目标目录。
- 2018-12-16. v1.5.4. 兼容《学习R》(Zhao and Li, 2018)。
- 2018-09-23. v1.5.0. 开放接收贡献。
- 2018-09-22. v1.4.8. 打开供贡献者上传新的模板。
- 2018-09-21. v1.4.7. 代码优化。新增一个模板。
- 2018-06-10. v1.4.6. 新增多个模板:
- cchess
- dnd_dev
- docsens
- igo
- musix
- nonpar
- rbasics
- thesis_pku_zh
- 2018-06-03. v1.4.5. 添加'skak'模板,用于书写棋局图解。
- 2018-05-10. v1.4.4. 增加了一个模板'yihui_crc',用于编写Chapman & Hall出版社的书籍。
- 2018-02-05. v1.4.3. 修复小bug。
pandoc_args
从--chapters
更改为--top-level-division=chapter
- 2017-11-24. v1.4.0. 结构变化。小bug修复。
- 模板文件组织得更好。添加新模板更加灵活。
- 2017-10-10. v1.3.2. 修复小bug,增加一个参数,包体积减小
bookdownplus()
函数添加参数'rproj',允许用户避免自动创建.Rproj文件。- 移除了'fonts'文件夹,使得包体大小小于5MB。如有必要,'fonts'文件夹可以从github repo自动下载。
- 2017-09-22. v1.3.1. 修复了一些小bug。默认生成Markdown文件。
- 2017-07-19. v1.3.0. 更新至CRAN。查看发行说明。
让我们一起探索bookdownplus带来的无限可能性,开启高效便捷的创作旅程吧!