有没有办法指定\graphicspath
包含所有子目录的目录?我知道我可以将所有图形放在 texmf 树中,但我想将它们放在另一个目录树中。据我所知,\graphicspath
不会包含子目录。
我正在使用 MikTeX 2.8。
答案1
不行。(据我所知不行。)方法\graphicspath
很简单,就是遍历每个指定的目录,并\IfFileExists{<thepath><thegraphic>.pdf}
在尝试时询问等效项\includegraphics{<thegraphic>}
。由于在要求 TeX 输入文件时无法指定通配符,同样,在要求它插入图形时也无法指定通配符。
一个小警告:-shell-escape
您可以运行批处理脚本(或者更好的是 Lua 脚本),该脚本迭代列出给定路径的子目录,然后将它们重新插入到文档中\graphicspath
。但目前没有任何东西可以做到这一点。(同样,据我所知。我现在不使用 Windows,所以我对 MiKTeX 有点不了解。)
答案2
您可以将相关目录添加到TEXINPUTS
环境变量中。如果以双斜杠结尾(例如,TEXINPUTS=.:/home/me/images//
在 unix 系统上),TeX 应该会递归搜索(我还没有亲自测试过)。这比使用 latex 宏进行搜索要高效得多。
答案3
对我来说,\graphicspath{{Figures//}}
似乎可以使用 miktex。请注意额外的斜线。
答案4
当然可以。例如
\usepackage{graphicx}
\graphicspath{{}{eps/}{eps/seminar/}{png/}}
如果 eps、png 文件夹与源文件放在同一层级。更复杂的版本允许从父文件夹导入图形:
\usepackage{graphicx}
\graphicspath{{}{../eps/}{../eps/seminar/}{../png/}}
通过此设置,您不需要(虽然您可以!)从内部指示图形文件的路径\includegraphics
。