LaTeX/简介
TeX是由高德纳创建的一种语言,用于美观且一致地排版文档。高德纳于1977年开始编写TeX排版引擎,以探索当时开始渗透出版行业的数字印刷设备的潜力,希望借此扭转他认为影响自己书籍和文章的印刷质量下降的趋势。虽然TeX从某种意义上说是一种编程语言,因为它图灵完备,但它的主要作用是作为标记语言来描述文档的外观。TeX对文档结构和格式提供的精细控制使其成为一个强大而强大的工具。TeX以其极高的稳定性、在多种不同类型的计算机上运行以及几乎没有错误而闻名。TeX的版本号正在收敛到数学常数,当前版本号为3.1415926。
TeX这个名字的开发者希望发音为/'tɛx/,/x/是软颚摩擦音,是loch和Bach的最后一个辅音。(唐纳德·E·克努斯,《TeX书》)该名称的字母旨在表示希腊语大写字母tau、epsilon和chi,因为TeX是τέχνη(ΤΕΧΝΗ – technē)的缩写,希腊语中既表示“艺术”也表示“工艺”,也是technical的词根。英语使用者通常将其发音为/'tɛk/,就像technical的第一个音节。
TeX提供的“开箱即用”工具相对原始,学习如何执行常见任务可能需要大量的时间投入。幸运的是,确实存在基于TeX的文档准备系统,它们由预构建的命令和宏的集合组成。这些系统通过自动化某些重复性任务来节省时间;但是,这种便利是以完全的设计灵活性为代价的。最流行的宏包之一称为LaTeX。
LaTeX(发音为“Lah-tech”或“Lay-tech”)是莱斯利·兰伯特创建的一组TeX宏。其目的是简化TeX排版,尤其是在包含数学公式的文档中。在排版系统中,其名称格式化为LaTeX。
TeX既是印刷标记语言,也是逻辑标记语言,在编写TeX文档时必须同时考虑这两个问题。在创建LaTeX时,兰伯特的目标是将这两个方面分开。排版员可以制作模板,而作者可以专注于LaTeX逻辑标记,即使他们可能对排版一无所知。
除了LaTeX提供的命令和选项外,许多其他作者还贡献了扩展,称为包或样式,您可以将其用于您的文档。其中许多都捆绑在大多数TeX/LaTeX软件发行版中;更多内容可以在Comprehensive TeX Archive Network (CTAN)中找到。
大多数读者都熟悉所见即所得(What You See Is What You Get)排版系统,例如LibreOffice Writer、Microsoft Word或Google Docs。使用LaTeX与使用这些其他程序 fundamentally不同——您不是看到文档的组合方式,而是使用文本文件中的命令来描述您希望它是什么样子,然后运行该文件通过LaTeX程序构建结果。虽然这具有需要暂停工作并采取多个步骤才能查看文档外观的缺点,但使用LaTeX有很多优点
- 您可以专注于文档的结构和内容。LaTeX将自动确保文档的排版(字体、文本大小、行高和其他布局注意事项)根据您设置的规则保持一致。
- 在LaTeX中,文档结构对用户可见,并且可以轻松复制到其他文档。在所见即所得应用程序中,通常不清楚是如何产生某种格式的,并且可能无法直接复制以用于其他文档。
- 索引、脚注、引用和参考文献可以轻松且自动生成。
- 数学公式可以轻松排版。(高质量的数学是TeX最初的动机之一。)
- 由于文档源是纯文本,
- 一些学术期刊只接受或强烈推荐以LaTeX文档的形式提交论文。出版商提供LaTeX模板。
当LaTeX程序或引擎处理源文件时,它可以生成多种格式的文档。LaTeX原生支持DVI和PDF,但通过使用其他软件,您可以轻松创建PostScript、PNG、JPEG等。
- 文档准备系统
LaTeX 是一种基于 TeX 的文档排版系统。因此,该系统是语言和宏的组合。
- 发行版
TeX 发行版是软件包和程序(编译器、字体和宏包)的集合,使您能够进行排版,而无需手动获取文件和配置内容。
- 引擎
引擎是一个可执行文件,可以将您的源代码转换为可打印的输出格式。引擎本身只处理语法。它还需要加载字体和宏才能完全理解源代码并正确生成输出。引擎将确定它可以读取哪种源代码,以及它可以输出哪种格式(通常为 DVI 或 PDF)。
总而言之,发行版是安装使用引擎和所需系统的简便方法。发行版通常针对特定的操作系统。您可以在不同的引擎上使用不同的系统,但有时存在限制。为 TeX、LaTeX 或 ConTeXt 编写的代码(大多)不兼容。此外,引擎特定的代码(如 XeTeX 的字体)可能无法被每个引擎编译。
在搜索 LaTeX 信息时,您也可能会遇到 XeTeX、ConTeXt、LuaTeX 或其他带有 -TeX 后缀的名称。让我们在本表中回顾一下大多数术语。
系统 | 描述 |
---|---|
AMSTeX | 美国数学学会 (AMS) 从 1982 年到 1985 年使用的基于 TeX 宏的传统文档准备系统。它发展成为 AMS-LaTeX 集合,其中包括几乎每个 LaTeX 文档中使用的 amsmath 包以及多个 AMS 出版物布局标准(文档类)。 |
ConTeXt | 由荷兰 Pragma ADE 的 Hans Hagen 和 Ton Otten 约于 1991 年设计的基于 TeX 宏的文档准备系统。它与 pdfTeX、XeTeX 和 LuaTeX 引擎兼容。 ConTeXt 假设内容作者(文档文本的编写者)和样式作者(文档布局和外观的设计者)是同一个人。它具有一个一致且易于理解的语法,为作者提供了必要的工具和自由,可以创建任何所需布局的文档。在没有标准可遵循的情况下,ConTeXt 以需要额外努力为代价提供了创意自由。ConTeXt 擅长制作具有创意风格的高质量作品,例如教科书和具有艺术特色布局的文学作品。 |
LaTeX | 由 Leslie Lamport 设计的基于 TeX 宏的文档准备系统。 LaTeX 假设内容作者和样式作者是不同的人。这允许作者(研究人员、学生等)专注于内容并忘记设计,同时允许出版商(期刊、研究生院等)执行机构标准。内容和设计的分离伴随着包管理的成本、不太一致的语法以及如果作者希望偏离布局设计师的规范 (documentclass) 时增加的复杂性(与 ConTeXt 相比)。LaTeX 擅长制作符合出版要求的高质量学术文档,例如期刊文章和论文。 |
MetaFont | 由 Donald Knuth 与 TeX 一起设计的优质字体系统。 |
MetaPost | 基于 MetaFont 的描述性矢量图形语言。 |
TeX | 由 Donald Knuth 设计的原始语言。 |
Texinfo | 由 Richard Stallman 设计的基于 TeX 宏的文档准备系统,专门用于生成技术文档(软件手册)。 |
引擎 | 描述 |
---|---|
xetex, xelatex | 支持 Unicode 输入的 TeX 引擎以及.ttf和.otf字体。参见 字体。 |
luatex, lualatex | 一个嵌入 Lua 支持的 TeX 引擎,旨在使 TeX 内部结构更具灵活性。与 XeTeX 一样,支持 Unicode 输入和现代字体文件。 |
pdftex, pdflatex | 生成 PDF 输出。 |
tex, latex | "原始" TeX 引擎。生成 DVI 输出。 |
TeX 发行版 | 描述 |
---|---|
MacTeX | 一个面向 Mac OS X 的基于 TeX Live 的发行版。 |
MiKTeX | 一个用于 Windows 的 TeX 发行版。 |
TeX Live | 一个跨平台的 TeX 发行版。 |
在下一章中,我们将讨论在您的系统上 安装 LaTeX。然后我们将排版我们的 第一个 LaTeX 文件。
初学者甚至高级用户在使用 LaTeX 时可能会遇到最令人沮丧的事情之一是难以更改文档的外观。虽然 WYSIWYG 程序可以轻松更改字体和布局,但 LaTeX 要求您学习新的命令和包才能做到这一点。后续章节将涵盖许多常见用例,但请知道本书仅触及了表面。
来自排版爱好者社区的大多数 LaTeX 包都包含优秀的文档。如果您有任何疑问,这应该是您的第一步——如果包的手册未作为 TeX 发行版的一部分安装在您的机器上,则可以在 CTAN 上找到它。
其他有用的资源包括
- TeX Stack Exchange 问答
- the#latexFreenode 上的 IRC 频道
- #latex连接
- TeX 常见问题解答
- LaTeX.org 论坛
- Donald Knuth 的 TeX 原版指南,《TeX 书》
- Leslie Lamport 的 LaTeX 原版指南,《LaTeX:一种文档准备系统》