宏包的功能可以通过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 ...
tlmgr remove ...
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
Where to put files from packages
TypeDirectory (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