我有以下代码:
The model is summarised in figure \ref{fig:model}.
\begin{figure}
\includegraphics{model}
\caption{HelloWorld}
\label{fig:model}
\end{figure}
当我将图形环境放在文档中足够早的位置时,图形会出现在编译后的文档中的引用之前,引用会返回正确的图形编号,但是当我将其放在之后时,如上所示,无论我编译它多少次,我都只会得到?? 和未定义的引用。
有人可以帮忙吗?
编辑我也会尝试制作一个 MWE,但如果它有助于这样做,当我将代码从
\begin{document}
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\maketitle % create a title page from the preamble info
\mbox{}
\begin{romanpages} % start roman page numbering
\end{romanpages} % end roman page numbering
\begingroup
\let\clearpage\relax
\setlength{\parskip}{1em}
\include{AlzheimersModel}
\endgroup
\end{document}
到
\begin{document}
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\maketitle % create a title page from the preamble info
\mbox{}
\begin{romanpages} % start roman page numbering
\end{romanpages} % end roman page numbering
\begingroup
\let\clearpage\relax
\setlength{\parskip}{1em}
\section*{Alzheimer's Disease}
The model is summarised in figure \ref{fig:SpectorBiopsychosocialModel}.
\begin{figure}[H]
\includegraphics[width=\linewidth]{SpectorBiopsychosocialModel}
\caption{Spector's and Orell's biopsychosocial model reproduced from their 2010 paper}
\label{fig:SpectorBiopsychosocialModel}
\end{figure}
\endgroup
\end{document}
(即我刚刚将 AlzheimersModel.tex 的内容复制到父文档中。
答案1
该\include
功能需要有效的。在文件\clearpage
开头和结尾处切换。在处理所包含文件期间,将打开并写入所包含文件的文件。标签还存储页码。由于异步输出例程,因此在页面输出时可以确定页码。因此,在页面发出时写入标签。\include
.aux
.aux
如果\clearpage
的末尾\include
不起作用,则可能会发生带有标签的页面尚未在 的末尾输出的情况\include
。然后.aux
关闭包含文件的文件,LaTeX 切换到主.aux
文件。当页面最终输出时,标签无法再写入.aux
包含文件的已关闭文件中。
摘要:如果包含的文件没有在页面边界处开始或结束,则使用\input
而不是。需要工作\include
\include
\clearpage
。
请记住,在章节中或之前\clearpage
也会使用/需要它。\end{document}