重归 LyX,偷懒了

第一次接触 LyX 好像是六年前了,那时候就用它在公司里写文档。为啥要用 LyX?因为 WYSIWYM (What you see is what you mean)。对于技术人员,尤其是学习过 OO 设计的技术人员,更尤其是学习过设计模式的技术人员,怎么可以用 Word 之类的编辑器来写文档?

(开玩笑了,当然用 Word 也能写很棒的文档)LyX 的好处是它在 LaTeX 和 Word 之间找到了一个平衡点:既不像 LaTeX 那样难用(就好象在手写格式很丰富的 HTML 代码,即使不难也够烦),也不像 Word 那样过分注重形式(老是要考虑诸如对齐、颜色、字体之类的杂事),而是让用户把所有的注意力集中在内容上。用 MVC 的观点来看,LyX 做到了 M 和 V 的分离,哪天老板说要把文档的格式统一换成别的风格,LaTeX 就开始疯狂进行文本操作,perl、sed 之类小刀乱飞;Word 用户则直接爬到富士康十二楼看风景;而 LyX 用户就轻松了,把 V 换掉就成。
飞叔:其实 Word 里现在也有整体的 Style 替换,但似乎地球上从未出现过在整个文档都使用这种技术的人类(或其它生物)。

但 LyX 有一个困扰了地球上五分之一用户的问题:由于 LaTeX 的底层不支持双字节字符集,以至于构建在其上的 LyX 处理中文的能力先天不足。虽然六年前它就已经有了中文版本,但是当你需要导出 PDF 等格式时就会报错。当时我并没有在意,因为公司里要求用英文写文档(严格的来说我写的是英文某子集的变种……)。六年后的今天,升级到了 2.0.0 版本的 LyX 居然依然如故。

但现在我想写中文了,怎么办?

网上的解决方案很多,但都是长篇大论,无不是大动干戈,昏昏欲睡中根本无心细看。大致上都是从 LaTeX 的配置讲起,然后写一大堆的配置文件。但我希望有“简单”的方案:不能超过五步!于是我放弃,转战其它 LaTeX 编辑器,这次是 Kile。结果依然如故,因为是底层的问题,想是换再多的编辑器也没有用(而且 Kile 其实还是要自己写标签)。但无心插柳,在 Kile 的文档中我居然找到了关于 CJK 的文字,并根据文档下载 CJK 安装包。从文档中我们可以得出几个结论:

  • 并不是所有的 CJK 宏都是必要的,关键是 CJK.sty 等几个文件,简单的说,让 LaTeX 找得到 CJK 安装包中的 texinput 文件夹下的内容就行
  • LaTeX 会访问 $TEXMF 指向的路径,而且要求不严格,只要在指定路径下,你把整个 CJK 文件夹扔进去还是 texinput 文件夹扔进去都差不多。
  • LaTeX 必须通过 texhash 命令重建缓存,否则加入的文件将被无视。
  • 只要导入了 CJK.sty 文件,双字节字符就被视为合法的,而字体文件只有在导出到 PDF 这种内嵌字体的格式时才需要,也就是说,完全可以在没有 CJK 字体的情况下导出 HTML。

由此得出步骤如下:

  1. 下载 CJK,解压
  2. 将 texinput 文件夹的内容复制到 $TEXMF/tex/ 下,我是新建了一个文件夹的。(虽然不喜欢这样手动把文件塞到安装目录下,但反正要用 root 帐号进行 texhash,所以也将就了。不晓得系统更新后是不是要重做一遍。)
  3. 运行 texhash
  4. 开始偷懒,无视 PDF 导出功能,假装能导出 HTML 就足够了
  5. 当然,不要忘了修改文档的默认字符集

飞叔:其实使用 LyX 还有一个好处,它的存档是单纯的文本,你可以用任何一款版本控制工具来管理(也意味着可以整个团队一起修改一个文档),用任何顺手的文本工具来 hack。想想看,当你用 Word 的时候,你能像管理你的源代码,随时告诉愤怒的老板文档是什么时候被谁修改的吗?用 Word 当然也可以协作式修改,但是在我的记忆中,Office 的协作功能一直是和崩溃与数据丢失联系在一起的。再拓展一下,你可以把 LyX 放置在服务器上,每次有人要下载最新的文档,就让服务器自动根据要求的格式进行转换,这个应该也不错吧。

这一次重新拾起 LyX 是因为升级 Fedora 而顺手装上的。Fedora 15 的变化真不是一点点啊,突如其来的 systemd 让我的经验值下降了一半,要不是因为我习惯用 Webmin 来配置服务器,还真的不知道怎么玩了。GNOME 3 也是很有味道,不过怎么看都不是给开发人员准备的桌面,我还是回到了 KDE 4。

你可能感兴趣的:(Linux,应用)