我正在尝试强制图形和图像连续显示在同一页上。我读过使用的解决方案,\afterpage
效果很好。但现在\label
未定义,我无法引用它们!
我目前拥有的:
\afterpage{
\begin{figure}
\centering
\includegraphics[scale=0.28]{PATH_TO_IMAGE}
\caption{Some Caption For My Image}
\label{myFigure}
\end{figure}
\begin{table}
\centering
\caption{Some Caption For My Table}
\label{myTable}
\includegraphics[scale=0.09]{PATH_TO_TABLE}
\end{table}
}
\ref{myFigure}
然后我使用或正常引用这些\ref{myTable}
。但编译器说未定义的引用,PDF 显示??
。如果我删除/afterpage
,那么引用就可以正常工作。
为什么?
编辑
这是我在大学写的毕业论文。以下模板由大学提供使用。
主文件的路径.tex
是这里
答案1
afterpage
这是和之间的时间问题。读取文件\include
后,调用由重新定义的。首先输出页面,然后执行里面的内容。这些内容是浮点对象,因此尚未设置,等待下一次调用输出例程。与此同时,关闭包含文件的文件并完成其工作。然后,当输出浮点数时,将标签写入.tex
\include
\clearpage
afterpage
\afterpage
\include
.aux
老的 .aux
该文件是前一个包含文件的文件,但该.aux
文件已关闭,因此标签将写入.log
文件和控制台。在下一次运行 LaTeX 时,标签仍然未知。
解决方法:\clearpage
包含文件末尾的显式有帮助。然后这\clearpage
会触发afterpage
钩子执行,并且\clearpage
末尾的\include
将触发浮点输出前文件.aux
被关闭。