我在尝试让主文档编译包含图形的子文档时遇到了问题。
我有以下文件结构设置:
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/}}
这样,子文件和主文件都能够找到图形的正确文件夹。