宏包的功能可以通過CTAN的搜索功能查詢到。
一個宏包往往包含一個文件或多個文件,這些文件利用Tex命令定義了新的命令,用來改變Latex默認的功能。這些文件主要有兩種類型:clas文件, 以.cls為后綴;類型文件,以.sty為后綴。其它類型的文件多是輔助文件。當編譯一篇tex文檔時,如果引用某個缺失的宏包時,編譯程序會報package missing的錯誤。當然,這些宏包是可以更新的。一個Latex發行版理論上可以安裝任意多的宏包,但是,一篇文檔可以使用的宏包數目是受限制的。
雖然Latex發行版自帶的宏包已經很多,並且自帶的Package Manager也能自動從CTAN上下載和安裝宏包。但是,宏包的數量遠比CTAN擁有的為多。所以,下面介紹下安裝宏包的三種方式:
1. 傻瓜式安裝
第一種方式比較簡單,就是下載.cls或者.sty格式的文件,直接放在編譯的目錄下與主文件一起運行。這種方式簡單易行,但是每次使用都要復制過去,更新也不易,如果使用幾十個宏包,會使得編譯目錄里文件過多。只適合要使用期刊模板的情況。
2. 自動安裝
目前,多數的Latex發行版都帶有宏包管理器,如TexLive的tlmgr,MikTex的Package Manager。對於TexLive,可以使用如下命令自動安裝:
tlmgr install <package1> <package2> ... tlmgr remove <package1> <package2> ...
3. 手動安裝
手動安裝相對前兩種方式要稍微復雜些。如果你下載的宏包里包含sty等格式的必需文件,說明宏包已經經過編譯了,可以直接跳到第三步;如果沒有,對於較復雜的包,一般包含五個步驟:
(a)提取文件:在下載的宏包里找到后綴名為.ins格式的文件,然后運行“latex yourfilename.ins”命令或者用Latex發行版打開ins文件進行編譯。此步驟可以從dtx格式的文件中提取制定的內容並生成需要的文件。
(b)創建文檔:接着利用dtx文件創建說明文檔,運行命令“latex yourfilename.dtx”。此步驟可以創建一個dvi格式的說明文檔,以說明該宏包的功能。
(c)安裝文件:此步是最關鍵的一步,也是容易出 錯的一步。此步驟的作用是將生成的必需文件,如cls文件和sty文件放到合適的本地位置,以便Latex發行版能夠找到。關鍵是如何定義合適的本地位置 呢?在Tex及其衍生物中,所謂合適的本地位置,就是以TDS(Tex Directory Structure)規則組織的文件夾及其子文件夾,也就是一個自定義的目錄。一般情況,這個自定義的目錄最上層的名字為texmf-local或者 texmf。在不同的發行版本下,具體也不一樣:
- Unix-type Systems:~/texmf.和 /usr/share/texmf/tex/latex
| Type | Directory (under texmf/ or texmf-local/) | Description |
|---|---|---|
| .afm | fonts/afm/foundry/typeface | Adobe Font Metrics for Type 1 fonts |
| .bst | bibtex/bst/packagename | BibTeX style |
| .cls | tex/latex/base | Document class file |
| .dvi | doc | package documentation |
| .enc | fonts/enc | Font encoding |
| .fd | tex/latex/mfnfss | Font Definition files for METAFONT fonts |
| .fd | tex/latex/psnfss | Font Definition files for PostScript Type 1 fonts |
| .map | fonts/map/ | Font mapping files |
| .mf | fonts/source/public/typeface | METAFONT outline |
| doc | package documentation | |
| .pfb | fonts/type1/foundry/typeface | PostScript Type 1 outline |
| .sty | tex/latex/packagename | Style file: the normal package content |
| .tex | doc | TeX source for package documentation |
| .tex | tex/plain/packagename | Plain TeX macro files |
| .tfm | fonts/tfm/foundry/typeface | TeX Font Metrics for METAFONT and Type 1 fonts |
| .ttf | fonts/truetype/foundry/typeface | TrueType font |
| .vf | fonts/vf/foundry/typeface | TeX virtual fonts |
| others | tex/latex/packagename | other types of file unless instructed otherwise |
(d)更新索引:最后更新Latex發行版的索引文件,以便Latex發行版能找到新安裝的宏包。不同的發行版使用了不同的索引器:
- teTeX, TeX Live, fpTeX:texhash.
(e)更新字體映射圖:如果一個宏包還順帶安裝了一些字體,還應該更新字體的映射。詳細方法參詳這里。
此外,還有一些老版本的宏包並沒有參照TDS格式,因此只能使用前兩種方式。
轉自http://www.xuebuyuan.com/1673310.html
