跳过特定软件包的用户 texmf

跳过特定软件包的用户 texmf

我有几个包(luaotfload 是其中之一),我使用尚未上传到 CTAN 的前沿开发版本。现在,这个版本可以很好地存在于我的用户 texmf 树中,但是当放在那里时,所使用的 TeX 风格(这个特定包是 LuaTex,但问题并不特定于该风格)总是会首先找到那个前沿版本并使用它。然而,有时我会有一个文档,我想将其恢复到 CTAN 上可用的稳定版本(因此在我的 TeXLive 管理的 texmf 树中)。有没有办法告诉 TeX 引擎在寻找特定包时不要在用户 texmf 树中查找(我不能简单地跳过所有包的用户 texmf 树,因为我在那里有一些个人包,我几乎在每个文档中都用到它们)?

或者,如果我要设置一个“实验性” texmf 树(并将前沿软件包放在那里),有没有办法指示 TeX 引擎在查看通常位置之前先查看该树?如果解决方案可以根据软件包进行控制,那么将获得加分,尽管我通常要么使用所有最新的东西,要么只使用 CTAN 发布的包含特定文件的东西。

答案1

这是一个部分答案(因为完全普遍的答案可能是“不”。)

对于本地texmf文件夹中没有依赖项的包,您可以在命令中指定包的完整路径\usepackage。这将生成有关包名称不对应的警告,但可以安全地忽略它。

例如, \usepackage{/usr/local/texlive/2016/texmf-dist/tex/latex/foo}将加载的分发版本foo,而忽略本地安装的foo

虽然这种方法适用于简单的包,但如果涉及包依赖项,它很快就会失效,因为任何包或由该包加载的代码仍将从本地texmf树中提取。所以在你的特定情况下,luaotfload它可能不起作用。

要回答你的问题的第二部分(如何设置前沿texmf树),请参阅以下问题:

相关内容