自动定位包含的图像

自动定位包含的图像

您认为是否可以将图像包含到 LaTeX 中而无需指定它们的确切路径。因此,不要:

\includegraphics{path/to/image/myfig.pdf}

这将是:

\includegraphics{myfig.pdf}

虽然图像仍驻留在path/to/image/目录中。基本上,我问的是是否有一个可以递归搜索图像的宏。

对我来说,另一种方法是在 LaTeX 之外编写一个脚本,确定包含的所有图像,执行递归搜索并将这些文件临时复制到与.tex文件相同的目录中。

答案1

您可以通过以下方式进行此操作:

  1. 使用\graphicspath宏:

    \graphicspath{{path/to/image/}{other/path/}}
    
  2. 定义环境变量TEXINPUTS以包含路径:

    TEXINPUTS=".:path/to/image:other/path:"
    

    注意前导的“ .”(当前目录)和尾随的空字段(默认texmf树)。

  3. 将您的图形放在自己的本地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 设置)保存在同一个文件夹中有点混乱。

相关内容