LATEX教程第三讲—— 那些不得不说的宏包(中)
3.1 表格与列表
array
增强了 tabular 环境的功能,可以更好的排版表格。
longtable
如果表格太长,超过了一页时,就可以试试 longtable 宏包所定义的 longtable 环境。
supertabular
自动计算表格的高度,把超出页面的表格部分放置在下一页。
tabularx
提供了新的表格环境 tabular*、tabularx,可以设定表格的宽度。
multirow
如果表各种某一单元横跨两行以上,就要用 multirow 了。
hhline
在表格中用 \hhline 得到的结果就如同 \hline 或 \hline\hline,当然在和垂直线的交叉处会有所不同。
slashbox
可在表格的单元格中画上一斜线。
booktabs
让你的表格中使用不同粗细的横线来划分行。
3.2 目录与索引
tocloft
提供了让你自己控制目录的式样的手段。
titletoc
设计自己喜欢的目录排版形式。
multitoc
允许在文档中只将目录,包括图形和表格目录用两栏或多栏排版。
minitoc
使用该宏包可以将每一章的目录放置在该章的任何地方(一般在开始或结尾部分)。
tocbibind
使用该宏包可以将参考文献或索引等放置到目录中去。
shorttoc
使用该宏包可以在正式的目录前生成一个比较简略的目录,可以方便读者了解文档内容。这在排版比较大的书籍时很有用。
3.3 参考文献
bibtex
作为 LaTeX 的一个辅助程序,BibTeX 通过搜索一个或多个数据库,自动为 LaTeX 文档构造参考文献。
footbib
定义了 \footcite 命令,使得由该命令得到的参考文献的引用像脚注一样被放置在页面的底部 。
listbib
该宏包可以用来排版 BibTeX 的数据库文件,而且使用很少的 TeX 存储空间。这就使得可以排版很大的参考文献数据库文件。
fancyref
该宏包的引用命令 \Fref 可以在根据你的标记的前缀给出不同的引用文字。比如 \Fref{eq:first} 会给出“Equation (1) on page 2”,而 \Fref{sec:first} 则会给出“Section 1 on page 2”。当然,这些前缀和文本的形式你都可以自己来设定。
prettyref
该宏包为 LaTeX 的交叉引用机制提供了附加功能,使得使用者可以预先设置所有类型的标记(label),和 fancyref 的功能差不多。
3.4 数学与化学公式
AMSLaTeX
作为 AMSTeX 在 LaTeX 中地实现,AMSLaTeX 包括两部分,一是 amsmath 宏包,主要的目的是用来排版数学符号和公式,其中专门有 amsthm 宏包,提供对定理的排版。另一部分是 amscls,提供了美国数学会要求的论文和书籍的格式。
AMS Fonts
美国数学会还提供一套的数学符号的字库,这套字库中增加了很多 TeX 的标准字库 Computer Modern 所没有的一些数学符号,如粗体数学符号等。
theorem
通过定义不同的 theorem 环境,自己定义定理、定义、引理等的式样。
subeqn
提供了 subequations 和 subeqnarray 环境,可以对数学公式中的子式进行编号。得到如 (1a), (1b), (1c) 这样的公式编号。参见 subeqn 的例子。
subeqnarray
定义了 subeqnarray 和 subeqnarray* 环境,可对一组公式中的每行进行编号,给出如 (1a), (1b), (1c) 等的编号。参见 subeqnarray 的例子。
chemsym
由 Mats Dahlgren 设计,目的在于正确地排版化学元素的名称。它提供了 109 条相应于化学元素的命令,其命令名称与元素的化学符号完全一致。
xymtex
Shinsaku Fujita 在1993年到1995年期间开发的专门用于绘制化学中有机分子等结构的一组宏,它由一组 LaTeX 宏包组成。
ppchtex
是 ConTeXt 中的独立模块,专门用来排版化学符号和公式。