我想包含一个图形example.pdf
,包含在figs
与我的相同的文件夹中的文件夹中main.tex
。的内容main.tex
如下:
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{./figs/}}
\begin{document}
\includegraphics{example.pdf} %%
\end{document}
但是,生成的 pdf 包含example.pdf
来自文件夹c:\Program Files\MiKTeX 2.9\tex\latex\alertmessage\
,而不是example.pdf
来自我主文件夹上的文件夹 figs 。幸好我没有alertmessage
安装该软件包,而 MiKTeX 停止了编译过程并建议安装它。否则,我将很难找到未知的“图形”来自哪里。
类似的事情也会发生在任何名为 的子文件夹中包含的众多 pdf 文件之一的 pdf 上..\MiKTeX 2.9\tex\latex\
。
我在 Windows 7 (64 位) 上使用 MiKTeX 2.9.7300 (64 位)。软件包graphicx
版本为 v1.2a (2019/11/30)。
\includegraphics
这是 LaTeX和的预期行为吗\graphicspath
?或者这是 MiKTeX 中的一个错误,或者也许graphicx
?
答案1
\includegraphics
首先使用 搜索图形kpsewhich
(首先在当前文件夹中查找,然后进入 texmf 树),然后尝试 中的路径\graphicspath
。要强制使用本地文件,请在名称前面加上./
。这也适用于子文件夹中的图形。例如,此处
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{chapters/}}
\begin{document}
\includegraphics{example-image}
\includegraphics{./example-image}
\includegraphics{./sub}
\includegraphics{./chapters/sub}
\end{document}
将输入(假设章节文件夹包含图像 example-image.pdf 和 sub.pdf,而当前文件夹也有一个 sub.pdf)
<c:/texlive/2022/texmf-dist/tex/latex/mwe/example-image.pdf>
<./chapters//./example-image.pdf>
<sub.pdf>
<./chapters/sub.pdf>