本教程来自 华东师范大学汤银才教授
前言 今年接了5本与贝叶斯近似计算包INLA相关的翻译书,将由高等教育出版社出版。在准备翻译的时候,我静下来思考了一下二个问题。一是互联网时代在兼顾图书质量的同时怎么充分考虑读者阅读体验?二是什么是当下最为成熟的图书写作工具?特别是与数据科学密切相关的统计类图书的写作与出版。书稿模板的选择成为首先要考虑的事。
在书稿模板的选择与测试过程中遇到了很多的坑,幸运的是逐个踩过来了,但从TEXTEX到Rnw(Sweave+R), 再到Rmd (Knitr + R), 最后到Bookdown, 共经历了4个模板。快速、高效、高质量是写书人追求的目标。目前来看Bookdown是最好的选择,因为它满足我模板选择的快速编辑、高效生成、高质量输出的要求。
这本小册子可视为一个写中文书稿的Bokdown模板,也是中文Bookdown写作的一本说明书,其中汇总了书稿中几大核心要素的写作技巧。我主要参考了三个模板Bookdown模板和三本电子书,罗列如下,在此一并对谢益辉、李东风等表示感谢。
谢益辉, bookdown 中文范例 谢益辉, A bookdown example for Chapman & Hall books bookdown-chapterbib 谢益辉, bookdown: Authoring Books and Technical Documents with R Markdown, 2021-03-15. 李东风,R语言教程,第23章:用bookdown制作图书, 2020-12-28. Yihui Xie, J. J. Allaire, Garrett Grolemund, R Markdown: The Definitive Guide, 2020-12-14. 本文框架 由于内容较多,我们将通过三次推文进行发布,尽情期待。当然文末给出了原文链接,你可以直接学习。
第 1 章 引言 这是第1章的内容,回顾中国图书发展的历史及最新趋势. (R Core Team, 2020; Xie, 2015a),
1.1 中国图书出版的变化 中国的图书出版经历一些折腾,方正系统一度非常流行,但现在看来是非常失败的,主要是它在解决公式排版的同时没有解决便利性,其本质上想实现在其自创的中文系统中将TEXTEX命令做一个映射以实现数学公式排版,同时完成格式的定制。
介绍 R的bookdown 扩展包是继knitr和rmarkdown扩展包之后, markdown格式的另一种扩展, 使得Rmd格式可以支持公式、定理、图表自动编号和引用、链接, 文献引用和链接等适用于编写书籍的功能。
在bookdown的管理下:一本书的内容可以分解成多个Rmd文件, 其中可以有可执行的R代码, R代码生成的文字结果、表格、图形可以自动插入到生成的内容中, 表格和图形可以是浮动排版的。 输出格式主要支持gitbook格式的网页图书, 这种图书在左侧显示目录, 右侧显示内容, 并可以自动链接到上一章和下一章; 详细简介可参见:R语言教程-第23章。
通过单独安装的LaTeX编译器支持将书籍转换为一个PDF文件, 支持中文; 可以生成ePub等格式的电子书。bookdown除了可以编写有多个章节的书籍, 也可以用来生成单一文件的研究报告。当然小编也用它做有趣的事:超链接。
建议大家使用 RStudio 来制作图书,该软件构建了一键编译整本书的功能。
简单教程 以下是一些简单的步骤,可帮助你开始使用 Bookdown 编写书籍。 有关 bookdown 的全面文档,请参阅 https://bookdown.org/yihui/bookdown。
安装 任意一种方法即可:
# you can either use the CRAN version install.packages('bookdown') # or the development version on Github remotes::install_github('rstudio/bookdown') 创建 点击File-New Project-New Directory,然后点击以下图标:
设置文件名和路径,点击创建即可
这时候就会出现下面的界面,右下角是自带的一些文件,其中小框内部是每章节的rmd,可以看到bookdown是将很多个rmd文件合成的一本书。当然还包括yml文件,放文献的bib格式,制作主题的css文件等。
编译 我们找到index.rmd文件,打开并点击knit进行编译,右下角即可得到编译以后的结果:
当然你也可以将其在网页中预览,点击右下角框扫把右边的show in new windows。
注意 :Knit按钮只呈现你正在编辑的章节(例如index.rmd, 01-intro.Rmd等)并使用该书的默认输出格式。
要构建该书的所有章节和所有格式,可以使用RStudio构建窗格中的build book按钮(整个界面的右上角)。
介绍 R的bookdown 扩展包是继knitr和rmarkdown扩展包之后, markdown格式的另一种扩展, 使得Rmd格式可以支持公式、定理、图表自动编号和引用、链接, 文献引用和链接等适用于编写书籍的功能。
在bookdown的管理下:一本书的内容可以分解成多个Rmd文件, 其中可以有可执行的R代码, R代码生成的文字结果、表格、图形可以自动插入到生成的内容中, 表格和图形可以是浮动排版的。 输出格式主要支持gitbook格式的网页图书, 这种图书在左侧显示目录, 右侧显示内容, 并可以自动链接到上一章和下一章; 详细简介可参见:R语言教程-第23章。
通过单独安装的LaTeX编译器支持将书籍转换为一个PDF文件, 支持中文; 可以生成ePub等格式的电子书。bookdown除了可以编写有多个章节的书籍, 也可以用来生成单一文件的研究报告。当然小编也用它做有趣的事:超链接。
建议大家使用RStudio来制作图书, 该软件构建了一键编译整本书的功能。
简单教程 以下是一些简单的步骤,可帮助你开始使用Bookdown编写书籍。 有关bookdown的全面文档,请参阅https://bookdown.org/yihui/bookdown。
安装 任意一种方法即可:
# you can either use the CRAN version install.packages('bookdown') # or the development version on Github remotes::install_github('rstudio/bookdown') 创建 点击File-New Project-New Directory,然后点击以下图标:
设置文件名和路径,点击创建即可
这时候就会出现下面的界面,右下角是自带的一些文件,其中小框内部是每章节的rmd,可以看到bookdown是将很多个rmd文件合成的一本书。当然还包括yml文件,放文献的bib格式,制作主题的css文件等。
编译 我们找到index.rmd文件,打开并点击knit进行编译,右下角即可得到编译以后的结果:
当然你也可以将其在网页中预览,点击右下角框扫把右边的show in new windows。
注意 :Knit按钮只呈现你正在编辑的章节(例如index.rmd, 01-intro.Rmd等)并使用该书的默认输出格式。
要构建该书的所有章节和所有格式,可以使用RStudio构建窗格中的build book按钮(整个界面的右上角)。
呐,这时你就已经制作出不同格式的书籍了!你可以在对应项目文件夹中找到对应文件。
该模板不支持渲染中文字体的pdf,但是支持含中文字体的html。
制作中文书籍 如果你需要制作含中文字的书籍(当然需要!)可以直接套用李东风老师为我们准备好的模板了。