Making Ebooks of Pro Git

Pro Git 是一本用来学习 git 使用很不错的书,从 progit 这个开源项目可以获得这本书的全部内容,下边介绍在 Ubuntu Server 12.04 环境下制作电子书的过程。

安装依赖

1. ruby, rubygems

参考 Ruby-China 的 wiki

2. rdiscount

markdown 使用的模板,通过 rubygems 安装

1
2
3

$ gem install rdiscount

3. calibre

calibre 是一款开源的电子书管理软件,生成 epub 或 mobi 格式需要安装。

1
2
3

$ sudo apt-get install calibre

4. pandoc,xelatex

生成 pdf 格式需要安装这两个依赖,pandoc 安装比较简单,直接apt;安装 xelatex 则需要首先安装 texlive-xetex,然后打上 LaTeX::Driver 补丁(参考了这个网址 Frequently Asked Questions - XeLaTeX )。

1
2
3
4
5

$ sudo apt-get install pandoc
$ sudo apt-get install texlive-xetex texlive-latex-base texlive-latex-extra
$ sudo apt-get install liblatex-{driver,encode,table}-perl

5. install font

生成 pdf 时读取 latex/config.yml 中的配置,使用过程中可能会出现一些字体不存在的错误。比如:

1
2
3
4
5
6
7
8
./makepdf en
en:
Parsing markdown... done
Creating main.tex for en... done
Running XeTeX:
Pass 1... failed with:
! I can't find file `Helvetica'.
Consider running this again with --debug.

这个错误的原因是 Ubuntu 系统中 Helvetica 字体名字为 Nimbus Sans L,修改 confi.yml 文件default 节点下的 font 值即可。

1
2
3
4
$ fc-match "Helvetica Neue"
DejaVuSans.ttf: "DejaVu Sans" "Book"
$ fc-match "Helvetica"
n019003l.pfb: "Nimbus Sans L" "Regular"

生成中文pdf时同样遇到了中文字体不存在的情况,默认的配置文件使用的是 AR PL UMing CN 和 AR PL UKai CN,直接安装即可。但是我个人感觉 AR PL UMing CN 字体太细瘦,换成了文泉驿微米黑字体,圆润多了。

1
2
3
sudo apt-get install ttf-arphic-ukai    # "AR PL UKai" 文鼎PL中楷
sudo apt-get install ttf-arphic-uming # "AR PL UMing" 文鼎PL细上海宋
sudo apt-get install ttf-wqy-microhei # "WenQuanYi Micro Hei" 文泉驿微米黑

make

最后一步,生成电子书,好书一本,细细品读,Enjoy!

1
2
3
4
$ ./makeebooks en		# 默认生成mobi格式,en英文
$ export FORMAT=epub # 设置FORMAT为epub,生成epub格式
$ ./makeebooks zh # 生成epub格式,zh中文
$ ./makepdfs zh # 生成pdf