$\LaTeX{}$宏包安装
本文总结了如何安装和更新 \(\LaTeX{}\) 的宏包。
安装和更新宏包
\(\textrm{TeX Live}\) 和 \(\textrm{MiKTeX}\) 分别提供了图形界面的宏包管理器 \(\textrm{TEX Live Manager}\) 和 \(\textrm{MiKTeX Package Manager}\),用于安装、管理和更新宏包。一般情况下,直接在图形界面的工具下按提示操作即可(\(\textrm{MiKTeX Package Manager}\) 有普通权限和管理员权限的版本,建议总是使用管理员权限的版本)。
两者也可以通过各自的命令行工具安装和更新宏包:
1 | % TeX Live 命令行工具 tlmgr 的使用示例 |
1 | % MiKTeX 命令行工具 mpm 的使用示例 |
\(\textrm{TeX Live}\) 默认安装所有宏包, \(\textrm{MiKTeX}\) 的安装程序只包含了 \(\LaTeX{}\) 的一些基本宏包。从 \(\textrm{TeX Live}\) 的光盘镜像和 \(\textrm{MiKTeX}\) 的安装包体积可见一斑。 默认情况下,编译过程中如果遇到宏包未安装而报错的情况下,\(\textrm{MiKTeX}\) 会弹出一个对话框,让用户可以选择临时安装宏包,安装成功后继续编译。
手动安装宏包
\(\textcolor{red}{如非万不得已,尽量不要手动安装宏包}\)。绝大多数宏包都已打包到 \(\textrm{TeX Live}\) 和 \(\textrm{MiKTeX}\) 两大发行版的安装源,可用宏包管理器安装。如果用户知道某个宏包的名称,但不确定是否在发行版中已打包,可在CTAN中搜索,。
在手动安装之前,有必要了解一下 \(\TeX{}\) 目录结构(\(\TeX{}\) Directory Structure, TDS)。它是 \(\TeX{}\) 发行版中宏包、字体、帮助文档等文件的组织结构。TDS 有时也称为 \(\textrm{TEXMF}\) 树,取 \(\TeX+\textrm{METAFONT}\) 之意。
以 \(\textrm{TeX Live}\) 为例,假设系统的 \(\textrm{TEXMF}\) 树根目录为 \(\textrm{C:\\texlive\\2020\\texmf-dist}\),其下有很多子目录,仅举几例:
\(\textrm{tex/latex}\) | \(\LaTeX{}\) 宏包 |
---|---|
\(\textrm{doc/latex}\) | \(\LaTeX{}\) 宏包的帮助文档 |
\(\textrm{source/latex}\) | \(\LaTeX{}\) 宏包的源代码 |
\(\textrm{bibtex}\) | \(\textrm{BibTeX}\) 工具相关文件,许多宏包配套的 \(\textrm{BibTeX}\) 格式文件位于子目录 \(\textrm{bst}\) 中 |
\(\textrm{fonts/tfm}\) | $ $ 使用的字体文件,\(\textrm{TFM}\) 格式 |
\(\textrm{fonts/type1}\) | \(\textrm{PostScript}\) 字体文件(\(\textrm{Type1}\)),\(\textrm{PFB}\) 格式 |
\(\textrm{fonts/opentype}\) | \(\textrm{OpenType}\) 格式的字体文件 |
需要手动安装的宏包,一般已经按照上述目录结构打包完成。手动安装时,尽量不要拷贝到系统的 \(\textrm{TEXMF}\) 树,而是拷贝到发行版提供的用户 \(\textrm{TEXMF}\) 树,如 \(\textrm{TeX Live}\) 的 \(\textrm{C:\\texlive\\texmf-local}\)。安装完成后,还需刷新 \(\TeX{}\) 发行版的文件名数据库,令新安装的宏包文件能够被系统找到。\(\textrm{TeX Live}\) 用户须在 Windows 命令行或者 Linux 终端执行命令:
1 | mktexlsr |
\(\textrm{MiKTeX}\) 用户的命令为:
1 | initexmf --update-fndb |
下载下来的宏包,有的直接包含\(\textrm{.sty}\) 文件(\(\textrm{.sty}\)文件就是package的最终形式);有的下载下来只包含了\(\textrm{.ins}\),\(\textrm{.dtx}\),以及一个 \(\textrm{readme}\) 文件,这时需要自己编译生成 \(\textrm{.sty}\) 文件,以及生成相应的 \(\textrm{manual}\) 。下面详细介绍生成 \(\textrm{.sty}\) 文件以及帮助文档的步骤。
第一步:下载宏包,解压,下载地址;
第二步:找到你的解压后安装包地址,打开电脑的命令提示符界面,切换路径到这个package所在文件夹;
第三步:生成
*.sty
,在命令提示符界面输入latex *.ins
;生成帮助文档manual, 在命令提示符界面输入latex *.dtx
,编译完成以后,会生成一个叫做*.dvi
的文件,这个文件也可以用ctex自带的yap程序打开,不过不是很方便,所以最好还是把它转为pdf格式,分为两步,先输入dvips *.dvi
,生成*.ps
文件,再输入ps2pdf *.ps
,最终就生成了第四步:生成
*.sty
文件以后还需要把这个文件放到LaTeX能够识别的路径下,在CTEX下,可以是~\CTEX\MiKTeX\tex\latex
,\(\textrm{TeX Live}\) 下,可以选择~\texlive\texmf-local\tex\latex\local
, 你可以在这个路径下建立一个文件夹,文件夹的名字即是宏包的名字,把*.sty
放到这里,接着找到MikTeX的Console,以管理员方式打开,点击“任务”——“刷新文件名数据库”。
下面的表格中给出了文件存放的规则:
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 |
如果一个宏包还顺带安装了一些字体,还应该更新字体的映射。详细方法参详这里。
参考博文
[1] Partl H, Hyna I, Schlegl E. 一份 (不太) 简短的 LATEX2ε 介绍[J]. 2024.
[2] LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
[3] Latex之安装宏包