带有 \includegraphics 的子文件在主文件中不起作用

带有 \includegraphics 的子文件在主文件中不起作用

我在尝试让主文档编译包含图形的子文档时遇到了问题。

我有以下文件结构设置:

 mainfile.tex
  /chap
   /chapter1
    / ch1.tex
      /fig
        image.pdf

因此我的 mainfile.tex 文档具有以下序言:

 \documentclass[12pt,a4paper,twoside,final]{memoir}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage[english]{babel}
 \usepackage{subfiles}
 \usepackage{graphicx}
    \graphicspath{{./chap/chapter1/fig/}}
 %
 %    end preamble
 %
 \begin{document}
 \subfile{./chap/chapter1/ch1}
 \end{document}

在我的 subfile.tex 中我有以下设置:

\documentclass[../../main.tex]{subfiles}
\begin{document}
\chapter{ch1}
\includegraphics[scale=0.1]{./fig/image}
\end{document}

现在,当我编译 subfile.tex 时,图像呈现得很好,但是当我尝试编译 mainfile.tex 时,我从 LaTeX 收到以下错误:

LaTeX 错误:未找到文件‘.fig/image’

有问题的图像是一个 pdf 文件,我将其存储在 subfile.tex 所在目录内的子目录中,从上面的结构应该可以清楚地看出这一点。我真的看不出哪里出了问题?这和包的加载顺序有关吗?还是完全是其他原因?

我真的不明白为什么上述代码不能按预期工作?

任何帮助深表感谢!

答案1

我自己解决了这个问题,通过提供 graphicspath 参数以及相对于子文件和主文件的路径,如下所示:

 \graphicspath{{chap/chapter1/fig/}{fig/}}

这样,子文件和主文件都能够找到图形的正确文件夹。

相关内容