写这篇东西,是本着好记性不如烂笔头的原则把自己配置LaTex的过程粗略地记录下来以备后查。
LaTex 是用了20多年的排版工具。因其专业的排版质量和对大文档处理能力,流行于学术界,大多数研究生博士生都用它写自己毕业论文。
自己3年前曾也想用它写硕士论文,但迫于时间压力,后来还是改用了WYSWYG的StarOffice(Sun的产品,基于OpenOffice)。
不用Word,因为用它编辑我的90页论文时,总是无可挽回地让我的机器崩溃,当时系统还是Windows2000。
下面先离题谈一谈近期读程序员修炼之道一书的两个体会,也想阐述一下我为什么对用LaTex统一创建项目文档感兴趣
1)DRY(Don't Repeat Yourself),这是作者(Andrew Hunt/David Thomas)提到的重要原则,应贯彻到软件开发的各个方面。其中一方面暗示开发流程中应尽可能保持同一级别信息的储备唯一化,而不应有多处载体包含同级别信息。比如从测试规范应可以直接导出TestCase,数据库定义规范直接导出数据库脚本等等。
2)工欲善其事,必先利其器。专业的程序员除了熟悉自己吃饭用的编程语言外,还需懂得各种辅助工具特别是Perl/Python/Shell一类的脚本语言,因其广泛存在于各种平台中,并有很好的正则表达式和纯文本操纵能力。例如,用他们可以帮助实现项目文档的自动生成和发布等等。比如上面的信息导出就是一个应用目标。
要达到这样地目的,必须要用纯文本作为信息载体。但是,对于习惯于阅读Word,PDF,HTML等格式化文档的人们来说,纯文本却不太合适。所以3年前的LaTex又浮现在我的眼前。LaTex 很符合DRY原则,文档信息和格式化信息都用纯文本方式保存,但最终发布形式可以用LaTex自动生成,或PDF,或HTML,自己选择。
LaTex难以学习是一大诟病,但是个人认为,软件开发文档有比较统一的格式化规范,只要有现成的模板,普通程序员可以通过短时间学习掌握基本的编辑能力。
下面言归正传:
大家时间都不多,Windows下使用LaTex最方便的办法是安装MiCTex套装,其主要包括MikTex(LaTex的一种实现),SciTE(LaTex文档编辑器),Tex4ht(LaTex文档到Html转换器)等,还捆绑了一些入门学习资料。
LaTex内核无法识别超越ASCII的编码,中文处理是以外挂的方式进行的。CJK是目前使用的最多的LaTex的中文化包,MiCTex也包括了,不过中文字体还需配置(也可能因为我的系统是英文的XP所致)。
比较了网上Google到的资料,
Helmer Aslaksen的这篇文章最全面和正确的描述了中文配置过程
Chinese TeX Using the CJK LaTeX Package, Unicode TrueType Fonts and pdfTeX under Windows
http://www.math.nus.edu.sg/aslaksen/cs/cjk.html
MiCTex作者最近也提供了一个中文字体自动配置工具,可以很方便的生成各类字体配置文件,并支持UTF8或GBK编码,很好用。我用它安装了系统中的微软宋体,黑体。结果比上面Cyberbit字体好。
http://bbs.ctex.org/viewthread.php?tid=44496&extra=page%3D1
下面可以下载到其他免费字体文件
http://www.wazu.jp/gallery/Fonts_ChineseSimplified.html
Tex4ht是MiCTex捆绑的LaTex2Html转换工具,英文很不错,中文有点问题,还要下功夫看看那里出问题。我自己很憧憬以HTML的形式发布和更新项目文档,简单实用,这个发布过程可以作为一个步骤加入每晚的Build。