使用 graphicspath 覆盖 texmf

使用 graphicspath 覆盖 texmf

我有一个文件夹 ~/texmf,里面保存着本地生成的对我的工作有用的软件包,或者我经过仔细修改的软件包。我这样做是为了防止在 Linux 系统上升级 TeXLive 时出现问题 - 我总是使用 texlive.org 上提供的 vanilla 版本进行升级/安装,因为 Debian 软件包通常已经过时了。

其中一个包保存为 ~/texmf/tex/latex/local 下的子文件夹。我们将其称为 usefulpackage。现在,~/texmf/tex/latex/local/usefulpackage/ 有一个名为 images 的子文件夹。其中包含该包中使用的一些图像。事实上,usefulpackage 在 GitHub 上是一个私人仓库,我将其分发给一些选定的同事。usefulpackage/images 包含一些示例文件,例如 scan.png、header.eps 等。

我最近在写一篇与usefulpackage完全无关的文档,其中有一个名为Figures的子文件夹。子目录Figures包含几个文件,其中一些文件的名称与usefulpackage/images中的某些文件的名称冲突。

我通常在我的 LaTeX 文档中设置 graphicspath: \graphicspath{{./Figures/}} 。

发生的情况是,我编译的 PDF 最终得到了来自 usefulpackage/images 的图像,但这显然不是我的意图,甚至不是一个理想的结果。

有什么方法可以强制 LaTeX 用 graphicspath 覆盖 texmf?显然,我以正确的方式做了两件事 - 将本地包保存在 ~/texmf 中,并使用 graphicspath 处理不相关的文档。然而,两个正确的协议以这种阴险的方式相互作用。

答案1

graphicx首先尝试加载没有图形路径的图像,将图像放入本地 texmf 类似于通过 ctan 将它们分发到 texlive 等。最好给它们指定包特定的名称

或者,您可以避免使用 graphicspath 并使用,\includegraphics{./Figures/file.png}然后使用本地的。

相关内容