什么是 TEX 文件?
TeX 是一种包含编程和标记功能的语言,用于排版文档。斯坦福大学的 Donald Knuth 是这个足智多谋的排版系统的创造者。在全球范围内,TeX 是作者和出版商制作高质量技术文档的最终选择。 TeX 在格式化复杂的数学表达式方面表现出色。与高质量的照排机结合使用,TeX 与最好的传统排版系统产生的结果相媲美。因此被视为最经典的数字印刷系统。
TeX 输入文件基于 ASCII 码,因此允许作家、出版经理和评论家之间共享手稿。各种各样的计算环境,几乎每个现代平台和许多旧平台都支持 TeX。此外,TeX 是一款免费软件,可供广大消费者使用。许多 UNIX 安装使用 UNIX troff 和 TeX 作为它们的格式化系统,用于不同的目的。其他排版任务以 LaTeX、ConTeXt 和其他宏包的形式大量执行。
历史简介 ##
TeX 是由 Donald Knuth 于 1978 年设计和编写的。麻省理工学院的 Guy Steele 修改了 TeX 的输入/输出,使其能够在不兼容的操作系统下运行,例如分时系统 (ITS)。 TeX 的第一个版本是在斯坦福的 WAITS 操作系统下以编程语言 (SAIL) 开发的,并经过测试可以在 PDP-10 上运行。 Knuth 为高级版本引入了文学编程的想法。文学编程是一种使用原始文件为交叉链接文档生成可编译源代码和排版(在 TeX 中)的方法。用于开发这些高级 TeX 版本的语言称为 WEB,它混合了 DEC PDP-10 Pascal 程序以确保可移植性。
1982 年发布的修订版 TeX,称为 TeX82。主要的变化是用 Frank Liang 新编写的算法替换了原来的断字算法。为了确保跨不同平台的可移植性,TeX82 没有使用浮点,而是使用定点算术以及真正的图灵完备的编程语言。 1989 年,发布了新版本的 TeX 和 Metafont。所以 TeX 3.0 版本支持 8 位输入,允许文本中有 256 个不同的字符。在版本 3 之后,通过在小数点末尾添加一个额外的数字来表示更新,例如当前版本的 TeX 表示为 3.14159265。此版本最后更新于 2014 年 12 月 1 日。
TeX 输入##
可以使用文本编辑器使用普通文本来准备 TEX 的输入文件。与典型的字处理器不同,此输入文件不允许任何不可见的控制字符。一个文件可以嵌入到另一个文件中,其中包含增强 TeX 功能的宏定义和辅助定义。如果 TeX 安装附带任何宏文件,有关 TeX 的本地信息将演示如何使用宏文件。 TeX 的标准形式,集成了宏和其他称为普通 TEX 的定义的组合。
在精确了解所有字符和符号的大小的基础上,计算出每行和每页行的最佳字母组织。在文档处理时,会生成一个 .dvi 文件,其中“dvi"代表“设备无关"。打印或预览带有 dvi 扩展名的文档需要设备驱动程序。如今,dvi 生成被常用的 pdf-TeX 绕过。 TeX 安装中没有字体的先验知识,因此作为本地 TeX 环境一部分的外部字体文件用于获取文档信息。
排版系统##
基本的 TeX 系统可以理解大约 300 个原语(命令)。原语是低级命令,因此普通用户很少直接使用它们,大多数功能是由格式文件执行的。这些格式文件是预先加载的 TeX 内存图像,然后是大型宏集合的加载。语言的原始默认格式,即纯 TeX 增加了大约 600 条命令。
用大括号分组的反斜杠表示 TeX 命令的开始。由于 TeX 是一种基于宏和标记的语言,几乎所有 TeX 的句法特征都可以在运行时更改,包括用户定义的,除了不可扩展的标记,然后执行。扩展本身几乎没有问题。一些命令需要放在有助于解释命令功能的参数之后。例如,\vskip 命令指示 TEX 向下/向上跳过页面,后跟一个决定要跳过多少空间的参数。
版本##
LaTeX 是最常用的格式,最初由 Leslie Lamport 开发。 LaTeX 为文件、信件、书籍和幻灯片集成了不同的文档样式,并为不同的部分和数学表达式提供参考和自动编号。 AMS-TeX 是另一种流行的格式,由美国数学会开发。
AMS-TeX 提供了更多用户友好的命令,可以由期刊重新定义以适应其本地风格。 LaTeX 可以通过使用 AMS“包"来利用 AMS-TeX 的优势,该包随后被称为 AMS-LaTeX。 ConTeXt 是 Hans Hagen 编写的另一种格式,主要用于桌面出版。
TeX 软件提供了一些在其创建时在其他排版系统中不可用或质量较低的功能。这种语言的一些创新特性是基于从 Knuth 学生的论文中得出的有趣算法。而其他排版程序现在正在将 TeX 的有用功能整合到他们的程序中。