0%

LaTeX 入门笔记第一篇:TeX 家族

TeX 家族的工具一共分为五个层次:引擎、格式、宏包、周边工具、发行版。

引擎(Engine)

引擎(Engine),或者称呼为编译器,是真正完成排版的程序。TeX 所使用的引擎有多种不同的选择。

  • TeX 的初始原版引擎是 Knuth TeX,只是这个最原始的引擎作为老古董基本不用了。
  • 现在所认为的标准的基本 TeX 引擎是 e-TeX,之后的引擎都是在这个引擎的基础上开发的。e-TeX 引擎只能输出 dvi 文件,dvi 即 DeVice Independent。
  • pdfTeX 是对 e-TeX 改进后的引擎,它可以直接输出 pdf 文件,也可以直接输出 dvi 文件,但 pdfTeX 及之前 Knuth TeX 和 e-TeX 三个引擎只支持 ASCII 字符,从而无法直接输出非英文字符。
  • 同时从 pdfTeX 开始,引擎支持 microtype 宏包以完成更美观的排版。
  • XeTeX 引擎对字符显示做出了改进,全面支持 Unicode,避开了之前所用的字体系统,支持调用系统内部字体,也支持 OpenType。
  • XeTeX 引擎与 pdfTeX 不同,并不直接输出 pdf 文件,而是输出 dvi 文件之后用 xdvipdfmx 将 dvi 文件转为 pdf 文件而输出。
  • LuaTeX 也是 pdfTeX 的改进后的引擎,在全面支持 Unicode 的同时,支持 Lua 脚本,但通常 XeTeX 的使用频率更高。

格式(Format)

格式(Format)指的是对引擎的一些常用底层宏的集合,比如最常用的 Plain TeX 和 LaTeX。

  • Plain TeX 是当初 Knuth 搞出来的,相对复杂,现在已经基本没人用了。
  • LaTeX 基于 Plain TeX 开发,拥有比 Plain TeX 更为规范的命令和一整套预定义的格式。实用度上的巨大提升,以至于现在所有格式中推广程度最大、最常用的就是 LaTeX。目前为止的 LaTeX 完善版本为 LaTeX2e。注意,这里的 LaTeX 均指是「格式」上的 LaTeX。
  • 在进行文档的写作时,首先要做的是分别挑选引擎和格式,选好之后我们会对这个引擎与格式的整体进行命名:
引擎 格式 命名
pdfTeX Plain TeX pdfTeX
XeTeX Plain TeX XeTeX
pdfTeX LaTeX pdfLaTeX
XeTeX LaTeX XeLaTeX
  • 容易发现,命名和引擎、格式均有重合之处,这也是目前概念混乱、难以厘清的缘由,在各种情况下需要分析其不同的含义。
  • 由于 Plain TeX 基本没人使用,表格前两行的 pdfTeX、XeTeX 一般均指 TeX 引擎。
  • 而表格后两行的 pdfLaTeX、XeLaTeX 一般均指「TeX 引擎 + LaTeX 格式」所形成的整体。
  • 日常称呼中的 LaTeX 通常指的是作为「pdfTeX + LaTeX 格式」形成的「pdfLaTeX」,而不是「XeLaTeX」。后者一般会直接称呼「XeLaTeX」。
  • 在 pdfLaTeX 的文本第一行中单独加入 %&latex 后,排版输出的文件就是 dvi 文件。
  • 以及,「编译器」原本指的应该是「TeX 引擎」,但在日常称呼中「编译器」也逐渐转指「TeX 引擎与格式相结合」的整体。

宏包(Style Package)

宏包(Style Package)指的也是宏的集合,但这些集合一般为了特殊需要而编写。这些宏包通常以.sty 为文件后缀。

  • 比如为了在 LaTeX 中,安装 ctex 宏包后 LaTeX 即可输出中文汉字字符。
  • 可以根据需要,在网上选择不同的宏包进行下载安装。
  • 当需要下载的宏包数量非常大时,选择 TeX 发行版(Distribution)是更好的选择,我们将在之后谈到。

周边工具

周边工具正如其名,是用来负责处理 TeX 核心功能之外的附属内容,而这些内容通常 TeX 本身较难处理。

  • 比如著名的 BibTeX,处理论文的引用文献标注
  • Makeindex,用来生成目录

发行版(Distribution)

当需要单独下载的宏包以及其他周边工具变得繁杂时,发行版(Distribution)便应运而生了。发行版指的就是一个大的整合包,里面把 TeX 家族的引擎、格式、宏包、扩展工具等全部包括进去了。

  • Windows 中通常安装 TeX Live。编辑器使用 TeX Live 安装的 TeXworks 即可,也可以使用 TeX Studio、Sublime Text、VS Code 等。
  • Windows 下也可安装 MikTeX,它是 TeX Live 的最小安装版本。如果有尚未安装的、需要的宏包等,MikTeX 可以联网下载。
  • Mac 下安装基于 TeX Live 而开发的 MacTeX。
  • MacTeX 包括三个部分:
    • TeX Live
    • Ghostscript
    • 五个可视化程序
      • 编辑器 TeXShop
      • 宏包管理 TeX Live Utility
      • 数学公式处理 LaTeXiT
      • 文献可视化管理 BibDesk
      • 拼写检查 Ghostscript