MiKTeX 具体应该怎样手动安装宏包?

转载:http://www.zhihu.com/question/26584112


基本上,自动安装只有优点,没有明显的缺点。

因此,请避免手动安装宏包。正常情况下需要的包都可以由 MiKTeX 在编译时自动安装,或者打开 Package Manager 安装。

如果有个别文档需要特殊的宏包不在 MiKTeX 的包列表中(例如某些期刊的类文件),简单的方式就是把你要使用的宏包的所有文件都放在编译的当前目录,和你的 .tex 源文件一起编译即可。

手工安装宏包只限于少量的场合:使用因许可证等问题而没有在 MiKTeX 等发行版收录的宏包;长期跟进并使用一些宏包的最新开发版本;冻结部分旧的宏包版本。注意这些目的也都可以通过将宏包文件复制到要编译的源文件当前路径来解决,所以并非必须。

------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------

最后考虑手工安装宏包的过程。

这是一个 FAQ,因为已有的长篇大论已经很多,于是其实没什么值得长篇大论的:
TeX Frequently Asked Questions -- question label "installthings"
installing - How can I manually install a package on MiKTeX (Windows)

大体而言,要理解相关过程,都需要了解 TeX 发行版使用的 TDS 目录树结构,参考:A Directory Structure for TeX Files。TeX 发行版将不同类型的文件放在固定结构的对应路径中,这样的路径结构称为 TDS(TeX Directory Structure),或者 texmf(TeX 与 MetaFont 的缩写)树结构。一个 TeX 发行版通常有多个 TDS 树,其中一些是用来保存自动安装的宏包的,还有一些是留给用户保存手工安装的宏包的。MiKTeX 用 MiKTeX Options 就能看到所有这些 TDS 树的根,你要做的是把宏包安装在用户管理的根目录里面,同时注意保持 TDS 规定的结构。
MiKTeX 具体应该怎样手动安装宏包?_第1张图片
不同宏包的安装过程有所区别,因所拿到宏包的格式与宏包自身特点,复杂程度不一。如果宏包本身就有单独的安装说明,或者文档中有相关章节,那就务必遵照作者的说明进行安装。在多数情况下,安装的主要操作就是按 TDS 结构复制文件:

  • 比较简单的是安装所谓 TDS 包。这是宏包的作者将宏包的类文件、格式文件、源代码、文档说明文件等,都按 TDS 结构放好,打包成一个压缩文件。这种情况下只需要把解压的文件,保持原来的 TDS 目录结构,复制到前面查到的 MiKTeX 的用户根目录(如 C:\Users\XXX\AppData\Roaming\MiKTeX\2.9\)下面即可。
  • 有时下载的安装文件已经把需要的格式文件、类文件、文档类编译好,需要做的则是按 TDS 结构正确地把文件放到正确的位置去。多数情况下很简单:.sty、.cls 复制到 tex/latex/foo-name/ 目录下;.dtx、.ins 复制到 source/latex/foo-name/ 目录下;.pdf、README 复制到 doc/latex/foo-name/ 目录下。不过有时候结构复杂,就难一些(譬如 beamer、各种字体包)。
  • 有时下载下来只有源代码,通常是一个 .dtx 格式的文件,或者一个 .dtx 一个 .ins 格式的文件。此时需要先用 latex 命令编译,生成必要的文件,再按上面的方法复制。

复制好文件后,则需要必要的后处理动作。基本的动作就是所谓「刷新文件名数据库」:

MiKTeX 具体应该怎样手动安装宏包?_第2张图片可以像上面一样点按钮,也可以运行 texhash 之类的命令。更复杂的宏包,特别是字体包,有更为复杂的后处理操作,可能是 updmap,也可能有其他的,一般宏包文档都会讲的。


最后再强调一下,手工安装宏包是件麻烦事,即使是经验老到的开发维护者也经常出错。MiKTeX、TeX Live 的 bug,就有一些是打包方式(安装方式)出错,例如:

MiKTeX / Bugs / #2053 Wrong .sfd file directory in TDS

[tex-live] listings-package: wrong location for .prf files

所以只要可能,还是最好不要自己安装宏包。


你可能感兴趣的:(latex,宏包)