我正在编写一本数学杂志,里面有来自不同作者的多篇文章。我想给每篇文章一个子目录,在其中存储所有相关文件 - .tex、图像文件等。但是,当我从\include
主文件中获取文章 .tex 文件时,如果不进行编辑,图像将无法正确链接。
例如,假设文章存储在articles/article1/
matrix.png 中,其中包含一个图像。在文章 .tex 文件中,通常会通过 插入该图像\includegraphics{matrix.png}
。但是,当我们通过主文件将文章包含在杂志中时,所有这些实例都必须更改为\includegraphics{articles/article1/matrix.png}
那么,在包含文章之前是否可以更改 LaTeX 工作目录,这样就\includegraphics
不必更改实例,而是让 LaTeX 知道在文章目录中搜索这些文件?我认为这在功能上与 HTML 的链接 base href 命令类似。
或者,有没有更好的方法来实现这一切?
答案1
尝试
\graphicspath{{articles/article1/}}
之前\include
。
答案2
如果您想要包含的不仅仅是图形,您还可以使用环境变量TEXINPUTS
并在调用 Latex 处理器之前对其进行优化:
TEXINPUTS=.:graphics:articles/article1:articles/article2:../../something/somewhere/else:$TEXINPUTS pdflatex main.tex
最后的 $TEXINPUTS 调用虽然通常是空的,但仍然是必需的,否则正常的 TeX 路径就会消失。
这将添加所有这些路径,以便\imput{file}
、\include{file}
和\includegraphics{file}
甚至\usepackage{file}
会在给出错误消息之前在这些文件夹中搜索以找到适当的文件file not found
。