读懂 LaTeX 文件
TeX 代码表面上看和 XML 等树形结构的标记语言有颇多相似之处,但实际上它是一连 串的宏,在编译时这些宏会被替代成它们的定义文本,直到替换的结果中不含任何宏, 只有最原始的命令和文档本身的内容为止。它和同时代的很多软件工具,如 Make 和 M4,在这方面颇为相似。
group
LaTeX 引入“环境”(environments)的概念,用来描述对一块内容做操作的指令。环
境的起始、结束标志和夹在中间的内容构成一个群(group),这样环境当中使用的指
令只会对这个群的内容有效。转换成 TeX 代码之后, \begin{foo}...\end{foo}
这
样的命令变成 \beginfoo ... \endfoo
。 \beginfoo
和 \endfoo
和其他 TeX
命令一样,都是宏。
1. 文档类
LaTeX 提供了文档类(class),用来封装一系列的 TeX 命令。这些命令定义了文档的
类型、形态和一些特定的元素,例如章节结构和标题等等。这样的抽象让用户得以很快
地获得一套基础的排版方案。LaTeX 提供了 book
report
article
等几个最常
用的类。如果用户需要其他的类,他们可以新建一个类文件( .cls
),在其中引用
一个作为基础的类,再加入或者修改命令,这个过程叫做类的调整(refine)。
2. 包
如果没有找到合适的类文件,用户也可以用包(package)提供的功能来想办法实现想 要的排版效果。除了调整排版效果,有的包还引入了新的功能,比如绘制图形、插入超 链接,或者让错误信息变得更清晰。
包在编译安装好后,在磁盘上储存为 .sty
文件。如果打开 .cls
和 .sty
文件,
你会发现它们很相似,都是一连串的 LaTeX 和 TeX 命令。