就我使用过的几种中文LaTeX解决方案(CJK和XeTeX)来说,XeTeX+xeCJK是最简单同时也是最全面的,XeTeX相对于传统的CJK来说,有以下优点: - 可以调用系统字体,无须另外安装。
- xeCJK目前可以智能处理中英文之间的空格,而无须手工加入~来截断。
同时,由于存在一些暂时不能完全兼容和XeTeX的宏包(比如beamer),中文LaTeX用户不得不对CJK有所了解。本文介绍了 - 转换truetype字体为PostScript字体,并让dvipdfmx,pdflatex,dvips等工具能够找到。
- 为这些中文字体添加标点挤压(CJKpunct)宏包。
安装字体 转换现有的TrueType字体 这部分参考了 myCJK.pdf文档。 - 下载附件mkfont.tar.bz2,并解压缩到一个目录中
- 修改mkfont.sh中的TEXMF变量,对于texlive2010来说,比较简单的办法是设置为
~/.texlive2010/temf-var下 - mkfont.sh的参数有三,
mkfont.sh脚本的参数如下 mkfont.sh your.ttf subfont_name font_name your.ttf: 字体文件路径 subfont_name: 在生成的PDF属性中显示的Type1字体名字 font_name:在\CJKfamily中调用的名字 - 运行
mkfont.sh后,脚本会自动把生成的字体文件移动到前面设定的TEXMF变量指向的目录中。 安装别人生成的Type 1字体 看着终端里的脚本执行不是一件有趣的事情,所以下载生成好的字体不失为一种好方法。(注意,如果不是个人使用的话,请注意License问题) - 在这里下载我生成好的字体文件,其中包含了三个字体族,包括st开头的华文字体,zh开头的微软字体以及fz开头的方正字体。
- 解压缩之到~/.texlive2010目录下。
- 更新map文件。找出texmf-var目录下所有类似
t1-FZFangSong.map这样的文件名字,按照格式附加到文件texmf-config/web2c/updmap.cfg中。最后运行updmap来更新字体映射。附件中的update-,map-files.sh也许可以帮助你。
使用CJKpunct宏包CJKpunct提供CJK(只简体中文)的标点挤压功能,但这个包不是开箱即用的,配置过程请参考 自述文档。需要补充以下几点: - TeXlive2010中自带的
setpunct\setpunct-main.tex文件编译失败,可以在svn中抓取最新代码(我用revision266是好的)
- 使用时,注意把\
punctstyle命令放置在CJK环境中,否则无效。
|
没有评论:
发表评论