前段日子Hadley Wickham的新书 'R packages'也算是上线了,美亚有售实体版。
不过本书的所有资源包括原文和代码都可以在github以及网站上找到,所以其实是开源的。
网页版本很漂亮读起来也很不错甚至可以本地编译网站(Ruby based),但是我辈diaosi还是想看pdf。
Hadley其实写了build-book.r,只要有R和LaTeX就可以生成pdf,步骤简介如下(看了Brett Klamer的blog, 一路走下来,果断没成...稍微改了下步骤):
1. 下载
git clone https://github.com/hadley/r-pkgs/
可以看到/book/目录下的build-book.r, 里面需要载入rmarkdown和bookdown两个library.所以下载之.
2. devtool安装rmarkdown和bookdown
install.packages("devtools") # 先装devtools
devtools::install_github("hadley/devtools") # devtools更新为Hadley的开发版,可以不做
devtools::install_github(c("rstudio/rmarkdown", "hadley/bookdown"))
其中devtools::install_github("hadley/devtools")
,在现在的版本(2015/06/29)不执行也行.
3. 从CRAN安装所有依赖包
install.packages(c("knitr", "pryr", "nycflights13", "png", "stringi", "lubridate", "testthat"))
主要是bookdown的依赖包.
4. XeLaTeX以及附加字体库,ubuntu可以apt装.
sudo apt-get install texlive-xetex
sudo apt-get install fonts-inconsolata
sudo apt-get install texlive-xetex-extra
需要包括字体库upquote.sty和emptypage.sty (在texlive-xetex-extra里打包了), 如果想单装,在debian里面还是比较麻烦, 因为tlmgr install在debian里面是不能用的~
5. 运行 /book/build-book.r文件
直到最后一行返回TRUE才是正确的生成了PDF文件“r-packages.pdf”,文件可以在/book文件夹找到.
file.copy("book/tex/r-packages.pdf", "book/r-packages.pdf", overwrite = TRUE)
[1] TRUE
如果有X和Rstudio,自然是用Rstudio打开r-pkgs.Rproj文件,之后打开/book/build-book.r文件逐行运行.
比如我第一次运行在46行
system("xelatex -interaction=batchmode r-packages ")
卡住
只显示
“This is XeTeX, Version 3.1415926-2.5-0.9999.3 (TeX Live 2013/Debian)
restricted \write18 enabled.
entering extended mode”
而没有停顿, 这是因为LaTex缺少了字体文件而没有工作, 装了texlive-xetex-extra之后就好了.(注: 这个warning是正常信息,restricted \write18 并不影响最终PDF的生成).
附上编译的例子: 点我.
2015/06/29,由于本书还在频繁更新,要看还是自己弄个吧.
Comments
comments powered by Disqus