如何制作本书
准备工作
本模板使用 bookdown 实现了由 R Markdown (Bookdown) -> Markdown (Pandoc 标准) -> -> PDF 的一系列转换,其中用到的依赖有:
需要安装这些软件,才可以使用。
Linux 下使用
下面以深度操作系统15.5版本为例说明。安装过程中,请确保当前 rstudio
的版本高于 1.0.0, texlive
为2015年后的版本, pandoc
的版本高于 2.0.0。
$ sudo apt-get install r-base r-base-dev \
rstudio texlive-full pandoc make
如果不能满足,请参考相关软件官网,下载最新版本。我的博客记录了如何安装最新版 texlive,有需要的可以去看看。pandoc官网有其安装教程。R 语言的安装方法官网镜像也可找到,这里就不赘述了,有问题可以邮件联系。
曾经在 Lubuntu 下试着安装过。一般先安装 make
,运行命令,仍旧出错,提示没有RScript
,接着安装r-base r-base-dev
。再接着,sudo make
还是出错。最后是pandoc
版本问题了。由于 Lubuntu 版本太老,没能更新好。总结一下,
$ sudo apt-get install make r-base r-base-dev -y
$ sudo make
第一次编译,可能需要安装很多软件,请静静等待。后面,直接运行下面这条语句,实现编译。
$ make
编译模板
第一种编译方法 —— 命令行编译
模板默认使用GNUMake构建,后续如无特殊说明,默认执行命令的文件夹以及当前文件夹均为本模板的根目录。对于部分用户,第一次编译可能需要下载很多文件,最好联网编译,简言之首次编译请联网。如果第一次编译成功,后面再次编译则不需要联网。
$ make
第二种编译方法 —— RStudio编译
在已经安装 RStudio 的前提下,也可手动编译。打开 RStudio 软件,在弹出的界面,左上角点击 File->Open Project,选中 ./deepin-bible.Rproj 文件打开,点击右上角靠下的一栏,有个 Build
格,会出现 Build Book
等按钮。
点击 Build Book
就会生成 PDF 书籍了,位于 ./_book/deepin-bible.pdf 。本质上讲,第二种编译方法是调用的第一种编译方法,只不过方便懒得写命令行的用户。
字数统计
如果需要统计字数,先生成文件,然后执行如下命令,特别提醒先编译书籍才可以统计字数。
$ make wordcount
本书编译的 R 各包信息
## R version 3.4.4 (2018-03-15)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Deepin 15
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.8.0
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.8.0
##
## locale:
## [1] LC_CTYPE=zh_CN.UTF-8
## [2] LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8
## [4] LC_COLLATE=zh_CN.UTF-8
## [5] LC_MONETARY=zh_CN.UTF-8
## [6] LC_MESSAGES=zh_CN.UTF-8
## [7] LC_PAPER=zh_CN.UTF-8
## [8] LC_NAME=C
## [9] LC_ADDRESS=C
## [10] LC_TELEPHONE=C
## [11] LC_MEASUREMENT=zh_CN.UTF-8
## [12] LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats graphics grDevices utils datasets
## [6] base
##
## other attached packages:
## [1] knitr_1.23
##
## loaded via a namespace (and not attached):
## [1] compiler_3.4.4 magrittr_1.5 bookdown_0.11.1
## [4] htmltools_0.3.6 tools_3.4.4 rstudioapi_0.10
## [7] yaml_2.2.0 Rcpp_1.0.1 stringi_1.4.3
## [10] rmarkdown_1.13.6 methods_3.4.4 stringr_1.4.0
## [13] digest_0.6.19 xfun_0.8 evaluate_0.14