TeX的家谱

来自: Jie Chen, 飘渺水云间 BBS

扫盲帖:各种各样跟 TeX 相关的名词

 

关键词AmS-LaTeX , BibTeX , ConTeXt , CTeX , LaTeX , LaTeX2.09 , LaTeX2e , LaTeX3 , MacTeX , MiKTeX , Omega , pdfTeX , teTeX , TeX , TeXLive , XeTeX .

TeX 的东西太多,写个全的很难。有哪里写错了或不妥的,请大家指正。

最原始的叫 TeX ,它是一个程序。它需要你写好一个带 .tex 后缀的文件,里面包含所有的正文, 以及一些命令,例如说你要制定某个词用斜体等。你把那个文件送到 TeX 这个程序,它给你生成一个叫 .dvi 的文件。嗯,这 就是 TeX 了,最初的时候跟 pdf 一点关系都没有。这玩意儿是 Knuth 七几年写书的时候觉得印刷厂给他印的书太 tmd 的难看 了,于是自己写个 TeX 程序自己来排版。牛吧。

就像大家都说用 C 语言写程序一样,不同操作系统下用的编译器各尽不同,有人用 gcc,有人用 VC。TeX 也是这样子。大 家都说“我用 TeX”排版,但实际上呢,Windows 用户用的是 MiKTeX ,Linux 用户用的是 teTeX , Mac 用户用的是 MacTeX ,如此云云。这些什么什么 TeX 就是说在具体的操作系统下,具体来说 TeX 是怎么实现的。所以大家说:“我的电脑上装有 TeX”,其实说得不准确,应该说装有 TeXLive ,或者 MikTeX,或者 teTeX,或者 XeTeX 什么的。

好了,回过头来说 Knuth。这家伙很有敬业精神,说要是谁发现了他写的 TeX 有 bug,他会奖一笔钱。在奖了若干笔钱之后, 他就牛B轰轰地说,好了,我相信 TeX 不会再有 bug 了,有也不管了。TeX 就这样了,有什么缺点都不能再动了,其他人要改 进的话就给程序另外起名字吧,不能再叫 TeX 了。TeX 是我的。没办法,虽然很嚣张,但牛人毕竟是牛人。

后来八几年的时候,有个叫 Leslie Lamport 的人,终于忍不住了,说 Knuth 你的 TeX 太晦涩了,你要求作者们在 .tex 文件 里面写的命令又难学又难懂。于是 Lamport 在 TeX 的命令集的基础上定义了一全套新的易学易用的命令集 ,说只要用他提供的 命令集就行了,别管 TeX 的那一套。这就好比当初大家用汇编语言编程时一样,那个郁闷啊。嘿,用上了 C 这样高级的语言, 写程序方便多了吧。Lamport 用了自己的姓的前两个字母,把这一套新的东西叫做 LaTeX

像 LaTeX 这样同样层次的,都是在 TeX 的基础上重新搞搞,让你用上一套非常简易的命令集的,甚至实现更多功能的,还有 ConTeXtOmegaBibTeX 等。ConTeXt 也是一套很完 整的排版系统,就像 LaTeX 一样。只不过现在大部分的人都用 LaTeX 而不用 ConTeXt。ConTeXt 有个特点是它做出来的东西很炫。 当初那个家喻户晓的清华的王垠给 ConTeXt 做了个广告,所以现在有一小搓 ConTeXt 的 fans。Omega 这个东西是说 Knuth 当初设 计 TeX 的时候压根就只知道英语,没想过其他语言怎么办。你想想,英语也就26个字母,来来去去随你怎么组合。但汉字有好 几千啊,肯定会出问题的。所以 Omega 的设计者用 Unicode 对字编码,以方便对多语言的支持。我们现在写中文一般用 CJK 环境, 这个也是 Unicode 编码的。哦,对了,刚才还提到了 BibTeX。BibTeX 是 Oren Patashnik 搞的。他就是那个和 Knuth 以及 Graham 一起写 Concrete Mathematics 的人。BibTeX 的发明就是为了处理参考文献的问题。用 /thebibliography 环境是不是觉得很土?对 了,快换 BibTeX 吧。

好了,LaTeX 这个东西衍生出来太多东西了,有 LaTeX2.09 版本的,有美国数学学会搞的什么 AmS-LaTeX 的,以及其他乌烟瘴气的。你说多就多吧,繁荣一下市场也不错,但偏偏相互之间不兼容。 这不是笑话么,大家都说自己用 LaTeX ,但你写的文件我这系统编译不了。那不是扯么。于是有一群人,组成一个 LaTeX3 小组,说,好好好,你们别吵,我们决定搞一个 LaTeX3 版本,把你们所有这些衍生出来的东西 都兼容。大家以后都用 LaTeX3,就不怕我的文档你编译不了。这帮人迅速地定下了宏伟的目标,迅速地写下一张长长的 to do list,并且迅速地发现这个短期之内是不可能实现的 -.-! 咋办呢?哦,权宜之计先搞一个叫 LaTeX2e 的东西,姑且不管什么软件工程的,不管整个系统结构有多烂,反正短期内先凑活一个能 work 的,能兼容各种不同版本的系统。 好的设计思路,好的软工框架,更丰富的功能,这些都细水常流,留着以后出 LaTeX3 吧。于是就有了我们现在人人在用,天天 在用的 LaTeX2e。

唉,说这么多口水都干了。但还有一些也很重要,而且人们常常误解的东西还没说呢。这就是大家常常把 TeX,或者更确切 地说,现在的 LaTeX2e,与 pdf 等同起来。很多人宣传 TeX 的时候,说 TeX 最大的一个优点,是能够产生漂亮的 pdf。扯,这 完全是扯。TeX 是不会制造 pdf 的,TeX 只会制造 dvi。之所以最后有 pdf,那是因为有很多人默默奉献写了丰富的转换工具。 例如将 dvi 转换为 ps 的 dvips,将 ps 转换为 pdf 的 ps2pdf,将 dvi 转换为 pdf 的 dvipdfm,等等。pdf 有其自身的文件格式 和结构,与 TeX,与 dvi 完全没有依赖关系。

我知道有人要攻击我了。“TeX 怎么与 pdf 没关系?pdfTeX 不就是直接将 .tex 的文件转化为 .pdf 么?”噢,你对了,但也不对。其实做类比的话,pdfTeX 就直接类比作 TeX。TeX 这个程序将 .tex 文件排版成 .dvi,而 pdfTeX 这个程序将 .tex 排版成 .pdf。TeX 提供的是一套规则,它要求作者们按照这套规则写源文件,然后 TeX 按照源文件的指示去 排版。而 pdfTeX 仅仅是一个生成 pdf 的程序,作者还是要按照 TeX 提供的规则,按照 TeX 的方式去排版。仅仅是到最后它跳 过了 dvi,直接产生 pdf 文件。所以总结地说句,TeX 它是管排版的,排版的结果就是一个与设备无 关的 dvi 文件。至于你要 怎么样弄这个 dvi 文件,你要打印它,要把它转化成 pdf,要把它转化成图像 png,悉随君便。

PS:我是不是漏了点什么?哦,对了,CTeX 。CTeX 这个词估计中国用户都比较熟悉。本身它是一个 中国人的组织,或者学会什么的,有自己的 BBS 论坛。这个组织搞了一套软件的套装,也叫 CTeX。这个套装里面有前面说的 MiKTeX 这样一个系统,也包含了 WinEdt,Ghostscript 和 GSview 等软件,还加进去了处理汉字的程序和字体。简单的来说 CTeX 就是一个软件大杂烩,你下载一张 CTeX 的光碟比下载分散在各地的软件要来得轻松些。如此而已。CTeX 作为一个组织的最大贡 献,我觉得就是提供了处理中文的程序、宏包、字体了。(CTeX 的用户别拿鸡蛋砸我 ^_^)

 

补充几点:(ctex.org

  • TeXLive 是由国际 TeX 用户组织 TUG 开发的 TeX 系统,支持不同的操作系统平台。其 Windows 版本又称 fpTeX , Unix/Linux 版本即著名的 teTeX
  • MiKTeX 是 Windows 下最好用的 TeX 系统。
  • CTeX 中文套装是基于 Windows 下的 MiKTeX 系统,集成了编辑器 WinEdtPostScript 处理软件 Ghostscript 和 GSview 等主要工具。 CTeX 中文套装在 MiKTeX 的基础上增加了对中文的完整支持。 CTeX 中文套装支持 CCT 和 CJK 两种中文 TeX 处理方式。

CTeX既是MiKTeX上面又一种集成,也是一个单独的可以在包含CCT或CJK宏包的TeX系统中使用的宏包。
在CTeX这个宏包和MiKTeX的基础上,还有一个MiCTeX 套件,又ctex.org论坛上的 instanton 开发,特点是体积不到100MB,解压后也不到200MB,包含了排版中文所用到的绝大部分常用工具:FoxitReader、MiKTeX、CTeX 宏包、SciTE编辑器、Asymptote制图、Geogebra几何画图等等。MiCTeX-2.55正式发布(20070615更新)
关于MiTeX的官方介绍

The MiKTeX distribution consists of the following components:

  • TeX: the classic TeX compiler
  • pdfTeX , Omega, NTS: various TeX variants
  • Dvipdfm/Dvipdfmx: converts TeX output into PDF documents
  • MetaPost: converts picture specifications into PostScript commands
  • a complete set of macro packages and fonts (e.g., ConTeXt, LaTeX, ...)
  • Yap: a viewer for TeX output
  • TeXify: a TeX compiler driver
  • MiKTeX Options: assists in configuring MiKTeX
  • Lots of utilities: tools for the creation of bibliographies & indexes, PostScript utilities, and more.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值