1. TeX 引擎、命令、格式
- TeX 引擎目前主要有四种:
TeX/eTeX、pdfTeX、XeTeX、LuaTeX
- TeX 格式目前主要有三种:
Plain TeX、LaTeX、ConTeXt
TeX 引擎对不同的 TeX 格式提供的排版命令以及编译输出的排版文件格式如下表:
2. TeX 引擎编译流程
- 早些年代电子文档格式主要是 PostScript(PS),那时主要通过 dvips 工具将 TeX 引擎输出的 DVI 文件转为 PS 文件。
- 现今广泛使用电子文档格式为 PDF,而最新的一些 TeX 引擎比如 pdfTeX、XeTeX 以及 LuaTeX 都能直接编译输出 PDF 格式;对于较为古老的 TeX/eTeX 引擎,则可以通过 dvipdfmx 工具直接将 DVI 文件转为 PDF,或者先通过 dvips 工具转为 PS 文件,再通过 ps2pdf 工具转为 PDF。
3. 中文排版
目前最广泛使用的 TeX 格式是 LaTeX,而对于 LaTeX 格式的中文排版,不同的排版命令的支持是不一样的:
- latex:使用 CJK 宏包机制
- pdflatex:使用 CJK 宏包机制
- xelatex:使用 xeCJK 宏包机制
4. 命令/宏格式
LaTeX 的命令也叫做宏,一个 LaTeX 命令/宏的格式为:
代码语言:javascript复制无参数: command
有 n 个参数: command<arg1><arg2>...<argn>
有可选参数: command[<argopt>]<arg1><arg2>...<argn>
- 命令都以反斜线 开头,后接命令名。
- 命令可以带一些参数,如果命令的参数不止一个字符(不包括空格),就必须用花括号括起来;可选参数如果出现,则用方括号括起来。
LaTeX 有些命令只在原处发生效果,如生成脚注命令 footnote{}
;而有些命令则会影响后面所有文字直到整个分组结束,如 zihao{}
和 kaishu
命令,这种命令又称为声明。
5. 分组
- 一个 LaTeX 环境就是一个分组,最大的分组是表示正文的 document 环境。我们也可以通过使用成对的花括号 { } 产生一个分组。
LaTeX 环境的一般格式是:
代码语言:javascript复制begin{<环境名>}
...
end{<环境名>}
有的环境也有参数或可选参数:
代码语言:javascript复制begin{<环境名>}[<可选参数>]<其他参数>
...
end{<环境名>}
6. 文档
TeX/LaTeX/ConTeXt 博大精深,里面涉及的各种命令/宏数不胜数,当我们在使用 TeX/LaTeX/ConTeXt 时,难免会遇到很多不清楚的地方需要查阅文档,比如查找其参数等详细信息。
- 对于 TeX/LaTeX/ConTeXt 的非内建命令,可以在终端使用
texdoc
命令搜索其所在的宏包/类,然后系统便会打开该宏包/类对应的 PDF 文档。 - 对于 LaTeX 的内建命令,可以使用
texdoc latex2e
打开 LaTeX 核心宏的源文档。 - 对于 TeX 的内建命令,可以使用
texdoc texbytopic
打开 TeX 核心宏的源文档。
【注】若安装的是 TeXLive 发行版,对于 Linux 用户来说,则可以在 /usr/local/texlive/2020/texmf-dist/doc/
目录下找到提供的所有文档,十分丰富详实。