我有一个用 LaTeX 编写的项目,其中有很多图片(大约 1000 张),我将它们分为 4 个文件夹:信,合法的,书和屏幕用于不同目的。我有一个名为“图片“包含该项目的所有图像,下面是我的问题:
我如何添加此文件夹以便 Latex 默认找到它?
我已经阅读了 TeXLive(2011/2012) 的文档,并且https://texfaq.org/FAQ-graphicspath关于“环境变量 TEXINPUTS”。
我在 Fedora 17 上使用 TeXLive 2012;有人可以澄清这是否可行,或者最好使用:
\graphicspath{...}
现在我编辑文件.bashrc
并添加:
export TEXINPUTS=~/images//:${TEXINPUTS}
但我不确定这是否是最好的做事方式。
答案1
对于那么多文件,您最好忽略 latex\graphicspath
宏(它通过 tex 宏实现对目录的线性迭代)并且(a)按照您的建议将目录放在 TEXINPUTS 路径下,然后(b)使用或IDE 中的//
配置重新散列 kpath 搜索数据库(取决于您使用的系统),然后 latex 将找到文件而无需遍历文件系统来寻找它们,并且速度会更快。mktexlsr
texhash
答案2
我的本地文件夹中有一个图形文件夹texmf/tex/latex
(对于我来说,是 Mac~/Library/texmf/tex/latex
文件夹;对于大多数 Linux 发行版来说~/texmf/tex/latex
)。任何文档都可以访问其中的任何内容。这些文件不需要物理地存在:您可以将指向该文件夹的符号链接放入texmf
文件夹中,并将文件保存在任何您喜欢的地方。
答案3
我不确定我是否理解了你的问题。你是想问这两个选项中哪一个更好吗?
您提供的链接指出 \graphicspath 效率低下,因为 LaTeX 会为您在路径列表中定义的每个条目调用。但不仅环境变量方法可能存在同样的问题(我没有这方面的信息),我还认为性能问题在这里非常重要,除非您处理的是较慢的机器,或者是一个非常大的 tex 项目
环境变量的主要优点是它不仅适用于图像,还适用于每个 latex 输入(例如其他 tex 文件),因此,如果你编写大量依赖于相同输入的文档,那么它就很好了
如果您只是希望简化代码,而不必一遍又一遍地编写相同的图像路径,那么 \graphicspath 会更好,并且还可以使文档更具可移植性(无需在其他机器上设置环境变量,只要输入文件在同一路径中)