LuaTeX 最小包 for Linux 用户

LiYanrui posted @ Jun 07, 2009 03:31:52 AM in Dream of TeX with tags luatex tex , 4875 阅读

那个蓄谋已久的 CoNote 项目先缓一缓,因为现在 evince 已经开始支援 pdf 批注了,等它稳定后,我可以直接基于 evince 的库来渲染 pdf 和使用标注功能。

现在,开始研究 LuaTeX 处理中文字符的一般性解决方案。鹿死谁手,尚未可知。总之我现在很厌倦 Hans 弄的那套 CJK 方案,一直想跟他说不是把 CJK 的代码放在一个文件里,就表示可以让 MkIV 统一处理它们了。不过只有动手的人才有发言权,自忖现在还没有提出这种质疑的水准,那么我先按照自己浅薄的想法搞一下。

我的第一步工作是建立一个随时更新的适合 linux 用户使用的 luatex 最小包。虽然 WangYue 做了一个并且放在了 http://ctex-kit.googlecode.com 上,但是这个仅适合 Windows 用户使用,而 Linux 用户要使用它,还需要做一点点手脚。由于我喜欢时常更新的软件,或许是 gentoo 综合症的表现,所以制作一个时常更新的 mini luatex 对于我而言是很有必要的,希望对于其他同好也有必要。

制作过程很简单,只需安装 ConTeXt Minimals,然后逐步试探着去精简它。ConTeXt Minimals 安装过程,可以参考这里

由于 luatex 最小包是基于 ConTeXt Minimals 得到的,为了更好地跟踪上游文件的变化,我使用 git 来管理 luatex 最小包的版本。我所谓的精简过程就变成了向 .gitignore 文件中写忽略目录,发布新的 luatex 最小包版本时只需要将那些接受版本控制的文件签出即可。

现在,我已将做好的 luatex 最小包放在了 http://code.google.com/p/way2ctx/downloads/list,使用 7z 格式压缩的,解包后大小约为 14.6MB,比 WangYue 做的那个 Windows 版本的多出了约 5MB,是因为我打的包里多出一款英文字体。

将下载的 luatex.7z 包解压缩,假设解压所得目录的绝对路径为 /opt/luatex,那么可以按以下步骤进行简单地测试:

$ cd /opt/luatex && source setuptex
$ cd texmf-luatex/tex/luatex/sample
$ luatex test

这时,应该会出错。如果不出错,那肯定发生了灵异事件。出错的原因是我在 test.tex 文件里使用了 comic.ttf 字体。如果你的系统中已经安装了这款字体,并且知道它的位置(我这里是 /usr/share/fonts/corefonts),那么按照下面步骤可以成功编译 test.tex 文件:

$ export OSFONTDIR=/usr/share/fonts/corefonts
$ luatex test

如果你没有这款字体,并且碰巧你是 Gentoo 用户,那么 emege corefonts 就有了。

文档编译结果应当如下图所示:


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter