摘要: 一般的,.cls和.sty文件是用来提高LaTeX的排版效果的补充文件。它们分别用命令 \documentclass{...} 和命令 \usepackage{...} 来装载到LaTeX文件。.cls文件通常被称为“classes”(也就是“类”),而.st...
一般的,.cls和.sty文件是用来提高LaTeX的排版效果的补充文件。它们分别用命令 \documentclass{...}
和命令 \usepackage{...}
来装载到LaTeX文件。.cls文件通常被称为“classes”(也就是“类”),而.sty文件被称为“style files”(样式文件),或者就简单地称其为“packages”(包)。
它们都可以包含任意的TEX和LaTeX代码,但是它们用法不同。通过命令 \documentclass{...}
来装载一个类是强制性的,而且在LaTeX文件里可能只出现一次;通常它是第一个命令。不同的是,包是可选的,而且它们可以在需要时随时被装载(不过一定是在正文开头之前)。
理想情况下,类文件会完全定义文档的结构。我们熟悉的article类就是一个很好的例子:它为编辑的文档提供排版指令,如 \section,\tablecontents,\author等等。
包,也可以称作样式文件,用于提供类未包括的其它任何东西。这些东西包含两大类:对类文件的修改和对类文件的功能的补充。举个例子,graphicx包提供引入图片到文档的方法,可以将与图片相关的信息应用于文档的所有内容。这个包几乎可以用于任何类文件。另一方面,sectsty包提供的方法能够使用户对默认的LaTeX类(article,report,或book)的章节首部的定制。所以,如果我们在类memoir中使用它,类memoir中产生章节首部的方法将会被覆盖,给排版带来的灾难将会随之而来。
总而言之,.cls和.sty文件被LaTeX文件装载以提供或改善产生文档的方法。一般而言,类文件实现文档的特定结构,而包包既可以用于提供从属于文档的功能,又可以改变特定的类文件提供的方法的风格。
需要补充一点的是,对于没有预安装的某些包,可以再网上找到其.ins和.dtx文件,对前者用pdflatex命令编译可以得到该包的.sty文件,将此文件放在工作目录下就可以引用该包了;对后者pdflatex命令编译可以得到该包的PDF文档。