您认为是否可以将图像包含到 LaTeX 中而无需指定它们的确切路径。因此,不要:
\includegraphics{path/to/image/myfig.pdf}
这将是:
\includegraphics{myfig.pdf}
虽然图像仍驻留在path/to/image/
目录中。基本上,我问的是是否有一个可以递归搜索图像的宏。
对我来说,另一种方法是在 LaTeX 之外编写一个脚本,确定包含的所有图像,执行递归搜索并将这些文件临时复制到与.tex
文件相同的目录中。
答案1
您可以通过以下方式进行此操作:
使用
\graphicspath
宏:\graphicspath{{path/to/image/}{other/path/}}
定义环境变量
TEXINPUTS
以包含路径:TEXINPUTS=".:path/to/image:other/path:"
注意前导的“
.
”(当前目录)和尾随的空字段(默认texmf
树)。将您的图形放在自己的本地
texmf
树中,以便自动找到它们。这样就不必定义路径。但是,如果您在不同的目录中有多个同名文件,这会导致问题。
答案2
这TeX 目录结构(TDS)images
为可包含图形保留了“包”名称。因此,如果您希望图形可查找且符合 TDS 标准,请将它们放入 中${TEXMFHOME}/tex/generic/images
。
(个人故事,姓名提醒)很久以前我在 texhax 上提到过这个问题,Karl Berry 说尽管他是 TDS 编辑,但他已经完全忘记了这个惯例。显然很多发行版都没有使用它。但我发现它很方便。
答案3
您还可以将每个图形(您想要包含的)放入~/texmf/tex/latex/figs
目录,并从.tex
源文件中取出,只需使用即可\includegraphics{figs/myfig.pdf}
。当然,您也可以将图像放在~/texmf/tex/latex
目录中,但是,将乳胶中的所有内容(您的.sty 文件,其他 LaTeX 设置)保存在同一个文件夹中有点混乱。