使用XeTeX,CJK无忧,字体无忧

2009年4月22日 | 分类: Configuration | 标签: , , ,
曾经的曾经,为了折腾LaTeX中的中文字体,我参照了MonnandTualatriX童鞋的配置方式,装好CJKutf8宏包,然后用fontforge制作Type1字体,然后才算搞定。一切皆因为LaTeX默认不支持Unicode,也不能支持Truetype字体。

最近一段时间一直听到XeTeX的相关消息,在BYR上,在linuxsir上,都听说了,只是安逸于自己的CJKutf8,不想去折腾。可是昨天写简历的时候,发现没有斜体字,看来我制作的Type1字体没有包含斜体字。为了把斜体弄出来,上网狂Google,就在熄灯前的几秒钟,我看到了网上对XeTeX原生Unicode支持的评价很高,尤其是它可以直接使用Truetype字体,顿时心里痒痒。今天起床后,趁着做实验的空档,把XeTeX装好,果然很惊喜啊。

首先了解一下什么是XeTeX吧,其官方主页:http://www.tug.org/xetex/. 网页开篇即说:XeTeX is "a typesetting system based on a merger of Donald Knuth's TeX system with Unicode and modern font technologies.",正合我意。

不过虽然XeTeX支持了Unicode和OpenType(查看其wiki可以知道OpenType是一种同时包含了Truetype和Type1两种字体的字体),但是它没说可以完美支持中文字体和中文排版,所以现在推荐孙文昌老师开发的xeCJK宏包(当然还有一种是zhspacing,不过我不太喜欢用),可以完美支持中文。具体的使用方法,可以看附件里的文档。

从文档里可以找到我所需要的斜体字,嘿嘿。

接下来说说怎么安装XeTeX和相关的宏包。

linuxsir的精华区有一篇文章讲了怎么在texlive-2007下安装XeTeX和xeCJK,由于xeCJK和zhspacing这两个中文处理宏包需要XeTeX-0.997以上版本,所以需要hack一下texlive-2007,而我现在Gentoo中最新的portage里的texlive已经是2008-r4,XeTeX的版本是0.999,所以不需要hack了,而xeCJK和zhspacing在gentoo-china的overlay里跟进很快,所以直接emerge zhspacing xecjk就可以了。

Fedora,如果是DVD版的Fedora10,那就不用装texlive了,不过texlive版本是2007,里面的XeTeX版本应该不到0.997,所以大概需要上XeTeX网站上下最新版本,安装覆盖原来的版本。不过我没试过,有哪位童鞋装好的可以传授经验。需要去texlive官方网站上把最新的texlive2008的镜像下下来,装好后去下孙老师的xeCJK包,这样是最快最保险的做法。

另外还有Ubuntu,也因为没有环境所以无法测试。不过我最后一次用Ubuntu记得里面的texlive版本也是2007。

最后提一句,搞不清楚texlive, tex, latex, xetex, oo_and_xxtex之间的关系的童鞋,请去http://www.tug.org/texlive/doc.html,里面有文档,看了就会清楚很多了。

  1. _
    2009年4月22日16:16

    赞最后一句

    • 2009年4月22日16:17

      @_, 专门为像你这种不主动去官网找资料的小盆友准备的。