我在 gnuplot 脚本中使用terminal cairolatex
。这将生成一个 .tex 文件和一个 .pdf 文件,其名称与 中指定的名称相同 set output
。问题是,这两个文件都在子目录中,所以我必须编写一些类似的东西 \input{graphics/run1/histogram.tex}
来将自动生成的 .tex 文件包含在我的主 .tex 文件中。然而,在生成的文件中,出现了
\gplbacktext \put(0,0){\includegraphics{./histogram}}% \gplfronttext
所以我必须手动将其更改为
\gplbacktext \put(0,0){\includegraphics{./graphics/run1/histogram}}% \gplfronttext
有没有更优雅的方法?我希望 gnuplot 脚本或我的主要 .tex 文件有一个额外的命令,这样我就不需要处理我计划包含的许多图形的每个 .tex 文件。谢谢你的帮助!
答案1
尝试这个:
\graphicspath{{./graphics/run1/}}
在 \begin{document} 之前...
来自 graphicx 包(/ctan/macros/latex/required/graphics/grfguide.pdf,第 13 页):
\graphicspath{<dir-list>}
此可选声明可用于指定要在其中搜索图形文件的目录列表。格式与 LaTeX2e 原语相同
\input@path
。目录列表,每个目录位于一个 {} 组中(即使列表中只有一个目录)。例如:
\graphicspath{{eps/}{tiff/}}
会导致系统查找当前目录的子目录eps
和tiff
。这是 unix 语法,在 Mac 上应该是:\graphicspath{{:eps:}{:tiff:}}
请注意不同的约定,在 Macintosh 系统上需要一个首字母 : 来表示当前文件夹,而在 unix 上,首字母 / 表示顶级“根”目录。
这个路径的默认设置是
\input@path
:哪里有 TeX 文件,哪里就会找到图形文件。