Science 版 (精华区)
发信人: ansatz (安则), 信区: Science
标 题: Tex历史与未来
发信站: 哈工大紫丁香 (2001年10月31日09:36:48 星期三), 站内信件
七十年代末,Donald E. Knuth(高德纳)在看到其多卷巨著“The Art of
Computer Programming”第二卷的校样时,对由计算机排版的校样的低质量感到无
法忍受。因此决定自己来开发一个高质量的计算机排版系统,这样就有了 TeX。
TeX 的名字是由大写的希腊字母“tec”(tau, epsilon, chi)组成。在希腊语
中这个词的意思是“科技”和“艺术”,这也解释了它的发音。“T”和“E”就像
在“technology”中的发音一样,而“x”的发音类似于苏格兰语单词“loch”或
德语单词“ach”中的“ch”,也类似于西班牙语中的“j”或俄语中的“kh”。
TeX 的第一版于 1978 年面世。在经过了不断的改进后,1982 年版的 TeX 是
一个十分稳定的版本。从此以后,TeX 没有较大的变动,只有很少部分的改进和错
误修正。现在几乎所有的操作系统平台下,都有相应的 TeX 软件,而且用它们排
版同一个文件得到的输出结果是相同的。TeX 目前的版本是 3.14159,很接近圆周
率π。每有一新的版本,就会加上一个π的小数点后的数。所以我们已经知道下一
版本的 TeX 是 3.141592,最终将收敛到π。这也代表了 TeX 不断追求完美的理
想。
TeX 的源程序是用 Pascal 写成的,原因是 Knuth 希望 TeX 尽可能方便地移
植到其它的操作系统中去。当时 Pascal 是最适合于这一要求的编程语言。这也使
得 TeX 现在已经在几乎所有的计算机系统中得到实现。
TeX 的另一个重要的特征就是它的输出是与设备无关的。TeX 的输出文件称为
DVI 文件,即是“Device Independent”。一旦 TeX 处理了你的文件,你所得到
的 DVI 文件就可以被送到任何输出设备如打印机,屏幕等并且总会得到相同的结
果,而这与这些输出设备的限制没有任何关系。这说明 DVI 文件中所有的元素,
从页面设置到文本中字符的位置都被固定,不能更改。
TeX 现在已经被它的开发者 Knuth 所“冰封”(frozen),新版本的 TeX 只有
少许改进和错误修正。这些变动必须保证不会使得即使是写于 1982 年的 TeX 文
档无法编译,TeX 自带了测试文件来确保这一点。如果测试文件文件的输出结果不
同于预定的结果,那么这个排版系统就不能够被称为“TeX”。所以像一些对
TeX 有很大改进的软件,如“Omega”等将不能被称为“TeX”,尽管它也是基于“
TeX”的。
在设计 TeX 的同时,Knuth 还设计了一个字体生成程序 Metafont。Metafont
是独立于 TeX 之外的,但又与 TeX 有着非常密切的联系。Metafont 生成的只是
位图字体,当对字体进行缩放时的效果不佳。对于如何得到像 Type1 字体一样的
轮廓字体,现在还在研究之中。与 TeX 一样,Knuth 也“冰封”了 Metafont。所
以 Metafont 的进一步的改进和发展将会由其他人来完成,而且名字也将不再是
Metafont。
虽然 TeX 在过去的二十多年中没有大的变化,但这并不意味着 TeX 是一个僵
化的系统。恰恰相反,TeX 开放的设计使得它能够很容易的适应新的要求。例如,
在没有改动内核的情形下,TeX 很容易地实现了对 PostScript 字体和外部图形的
支持。TeX 还是第一个能够自动生成 HTML 的字处理软件。最近,TeX 又开始增加
了在不借助其它工具(如 Adobe Distiller)的条件下生成 PDF 的扩展功能。下
面列出的几个项目都是正在进行中,对 TeX 的功能进行了扩展。
PDFTeX
完全兼容标准的 TeX,但能够给出 PDF 输出。它也可以输出标准的 DVI。
e-TeX
不仅完全兼容标准的 TeX,还支持一种“扩展模式”。在“扩展模式”中引入了许
多新的特性和增强功能。这些新的特性和增强功能提供了更好的编程工具和对输出
的控制。
Omega
这是一个几乎是完全重新写过的,支持 Unicode 的 TeX 程序。Omega 有很多特征
都超出了 Knuth 对 TeX 的原始设想。它采用了与 TeX 不同的方法来处理字符,
使得可以处理非拉丁语系的文本。也支持从右到左,从上到下的排版方式。
NTS
NTS 代表“New Typesetting System”。Knuth 已经停止发展 TeX,并决定任何超
越 TeX 的扩展都不能被称为 TeX。NTS 现在还只是一些对于 TeX 的后续继承者的
设想和概念的集合,还不是一个实际上的系统。自然,NTS 会继承 TeX 的绝大部
分让我们热爱的特征,并且在很多方面对其加以发展。NTS 可能最终会取代 TeX
或 e-TeX。
MLTeX
这个 TeX 的扩展引入了命令 \charsubdef,使得可以更为简单方便的使用 8
bit 字符。不过,与 e-TeX 相比,这只是一个微小的改进。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.162]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.081毫秒