让pandoc输出pdf时支持中文


主机环境为:Ubuntu 12.04 LTS。对于RH系列,yum安装包的名称可能会有不同,不过yum联想能力比较强,应该不是问题。

安装pandoc,安装tex-live

1 apt-get install pandoc texlive texlive-latex-extra texlive-latex-recommanded

注意,如果要用beamer生成幻灯片的话,则要从cabal安装。

1 apt-get install cabal-install
2 cabal update
3 cabal install pandoc
4 echo "export PATH="$HOME/.cabal/bin:$PATH" >> ~/.bashrc

安装中文字体

可以用“fc-list"命令查看已安装字体。使用如下命令安装gnome中文字体。

1 apt-get install apt-get install language-pack-gnome-zh*

如果有ttf文件,比如Windows的字体文件在(Windows\fonts)下,双击即可安装。

自定义latex模板

使用下面命令将pandoc标准模板导出:

1 pandoc -D latex > template.tex

在模板中找到% if luatex or xetex,在该语句下面插入如下代码:

1 % SUPPORT for Chinese
2   \usepackage[boldfont,slantfont,CJKsetspaces,CJKchecksingle]{xeCJK}
3   \usepackage{fontspec,xltxtra,xunicode}
4   \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
5 
6   \punctstyle{quanjiao}
7   \setCJKmainfont{文泉驿微米黑} 
8   \setCJKsansfont{KaiTi}
9   \setCJKmonofont{SimSun}

其中\setCJKmainfont设置字体部分,根据系统已安装字体自行修改。

配置pandoc命令参数

在.bashrc下添加如下代码

1 alias pandoc="pandoc --template=$HOME/Templates/template.tex --latex-engine=xelatex"

其中,template参数表示pandoc使用的自定义模板路径,我将它放在~/Templates下。

使用xelatex作为latex引擎,它可以直接使用系统已安装的字体,非常方便。


 Toc
 Tags