.cls和.sty檔案的作用和區別
需要補充一點的是,對於沒有預安裝的某些包,可以再網上找到其.ins和.dtx檔案,對前者用pdflatex命令編譯可以得到該包的.sty檔案,將此檔案放在工作目錄下就可以引用該包了;對後者pdflatex命令編譯可以得到該包的PDF文件。
一般的,.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檔案裝載以提供或改善產生文件的方法。一般而言,類檔案實現文件的特定結構,而包包既可以用於提供從屬於文件的功能,又可以改變特定的類檔案提供的方法的風格。