Date Tags R

前段日子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