对于 $\LaTeX$ 基础用户而言,掌握 $\TeX$ 的目录结构并不是必须的。可是,随着深度使用 $\LaTeX$ 后,你将会发现 $\TeX$ 的目录结构实在是太重要了!

$\TeX$ 的目录结构是什么?

$\TeX$ 的目录结构 ($\TeX$ Directory Structure, 简称 TDS) 是 $\TeX$ 发行版中宏包、字体、帮助文档等文件的组织结构。其又称为 TEXMF 树。在 TEXMF 树下存放的文件都能被 $\TeX$ 系统找到。

预定义的 TEXMF 树有:

  • TEXMFDIST
  • TEXMFSYSVAR
  • TEXMFSYSCONFIG
  • TEXMFLOCAL
  • TEXMFHOME
  • TEXMFVAR
  • TEXMFCONFIG
  • TEXMFCACHE

每一个树分别存放对应的文件,例如,TEXMFDIST 存放着发行版的几乎所有文件——配置文件、脚本、宏包、字体等等。

可以通过 kpsewhich 查询每一个 TEXMF 树分别对应着哪一个文件路径,例如运行

kpsewhich -var-value TEXMFDIST

将告诉你 TEXMFDIST 树对应的路径为 /usr/local/texlive/2023/texmf-dist

在 macOS 上,$\TeX$ Live 2023 的目录结构示意如下:1

|-- 2023 -|- bin
|         |- texmf-dist
|         |- texmf-var
|         |- texmf-config
|         |- ...
|
|-- texmf-local

每一个目录下面又有很多子目录,由此构成了一个复杂但有序的目录结构系统。以 TEXMFDIST 树为例,其下有很多子目录,用于存放不同类型的文件,例如:

  • tex/latex 存放 $\LaTeX$ 宏包
  • doc/latex 存放 $\LaTeX$ 宏包的帮助文档
  • source/latex 存放 $\LaTeX$ 宏包的源代码(一般是 .dtx.ins 文件)
  • bibtex 存放 $\BibTeX$ 工具相关文件,许多宏包配套的 $\BibTeX$ 格式文件位于子目录 bst
  • fonts/tfm 存放 $\TeX$ 使用的字体文件,TFM 格式
  • fonts/type1 存放 PostScript 字体文件(Type1),PFB 格式
  • fonts/opentype 存放 OpenType 格式的字体文件

怎样利用 $\TeX$ 的目录结构?

下面,我们以 xxxx 表示 $\TeX$ Live 版本号。

手动安装宏包

无论是自己编写的宏包还是经他人授权使用的宏包,你都可以将其放到 TEXMFLOCAL 树下,具体路径为

/usr/local/texlive/xxxx/texmf-local/tex/latex

手动安装手册

各种需要手动添加的手册也建议放到 TEXMFLOCAL 树下,具体路径为

/usr/local/texlive/xxxx/texmf-local/doc

手动安装字体

一般而言,字体包发布者会按照 TDS 结构将各文件整理有序,我们只需要按照该结构将各种文件分别放入对应的路径下。

注意:安装完毕后,需要在终端执行

sudo texhash

或者

sudo mktexlsr

来刷新发行版的文件名数据库2。最后,可以使用 kpsewhich 命令看看是否安装成功。

注释

参考

  1. 实际上讲,这里的目录结构并不是完整的,texdoc texlive 对此做了完整介绍。 

  2. Windows 用户不需要 sudo。