在 Tex Live 中,有几个本地 texmf 树(TEXMFLOCAL
针对管理员和TEXMFHOME
用户,比较评论和答案TeXLive 的四个不同的 texmf 文件夹是什么?),在 MiKTeX 中我可以手动添加它们,参见在 MiKTeX 中创建本地 TeXMF 树, 但:
本地 texmf 目录树的用途是什么?
答案1
有几个原因:
(在以下章节中,“包”具有更广泛的含义,还包括脚本、二进制文件等。)
TeX 发行版确实不是安装 TeX 世界中已知的所有可用软件包。TeX Live 仅包含带有免费许可证的软件包;MiKTeX 对此没有那么严格,但据我所知,这两个发行版都仅包含 CTAN 上提供的软件包。至今仍有无数的软件包只能在其自己的网站上获得。您可以将这些软件包包含到常规树中,但很可能会在发行版更新时丢失它们。此外,它们不会由软件包管理器自动更新,您需要手动进行更新。在我看来,在本地 texmf 树中这是显而易见的,隐藏在主 texmf 树中很容易被遗忘。
对于几个软件包,您可以获得测试版本。这些版本绝不应该进入正常的软件包树(覆盖稳定版本!)。始终首先搜索本地 texmf 目录,因此,如果存在同一软件包的两个版本,则测试版本会先于常规版本找到。
对于某些软件包和实用程序,您可以配置首选设置,这些设置将保存在配置文件中,并包含在 TeX 发行版的更新中。因此它们必须位于本地树中。(注:为此目的,已经预先安装了特殊的本地树。)
答案2
TEXMFLOCAL 和 TEXMFHOME 的原因还有很多。我们首先来看一下 TEXMFLOCAL:
- 字体、样式文件等是部门、公司等本地的,不能上传或在公司/学校/其他地方之外使用,但应该对公司内的每个人都开放。
你也可以考虑 TEXMFHOME
- 个人材料、私人购买的物品等:我购买了几套字体,我可以使用,但当然不能共享,甚至不能与同一台计算机系统的其他用户共享。所以我把它们放到了 TEXMFHOME 中,只有我可以访问。
因此,需要正确区分材料的来源和用途。