与数字匹配的标题
将标签放在标题之后,以便保留数字。
与数字匹配的标题
交叉引用是 LaTeX 比文字处理程序做得更好的事情之一。您永远不会手写“图 3”。相反,您可以在图形上附加一个标签,并让 LaTeX 在所有提到的地方填充数字,这样无论您重新排序、插入或删除多少次,数字都保持正确。该机制有一个规则,几乎每个人都至少被绊倒一次:“\caption”和“\label”的顺序很重要。
为什么顺序很重要
\caption 命令执行两项任务。它在图形或表格下打印标题文本,并步进计数器,将浮点数转换为图 3。“\label”命令执行的操作比人们预期的更愚蠢:它记录最近分配的任何数字,无论发生什么。它不知道它在“图形内部”。所以标签必须位于标题之后:
\caption{A neat diagram.}\label{fig:neat}如果将“\label”放在“\caption”之前,则标题尚未进入数字计数器,因此标签完全从其他地方(通常是当前部分)捕获最新的数字。然后,当该图实际上是图 7 时,您的文字会说“参见图 2.4”。这是典型的症状:指向节号而不是图号的引用几乎总是意味着标签放置得太早。最安全的习惯是每次在图形和表格中都将“\label”写在“\caption”之后的行上。
引用标签
在你的文本中,像这样写参考文献:
Figure~\ref{fig:neat}\ref{fig:neat} 扩展为裸数字,并且您自己提供单词“Figure”。它们之间的“~”是一个不间断的空格,它可以防止 LaTeX 在“Figure”之后结束一行并以“3”开始下一行。像“fig:”、“tab:”、“sec:”和“eq:”这样的前缀是纯粹的约定,LaTeX 不会解释它们,但它们可以使标签保持可读性,并防止图形和表格意外共享名称。
请注意,“\pageref{fig:neat}”给出了图形所在的页码,这在浮点数可能远离其提及的长文档中很有用。有关引用命令的完整浏览,请参阅每个命令解释。
编译两次,以及其他陷阱
引用在编译器运行期间解析:第一遍将标签位置写入“.aux”文件,第二遍将它们读回。在第二遍之前,参考文献会打印为粗体问号,因此 PDF 中的“??”通常仅表示“再次编译”,而不是表示任何内容已损坏。大多数编辑器(包括 Oleafly)都会自动为您重新运行通行证。如果“??”在重复编译后仍然存在,则该标签不存在。可能的原因是标签名称中的拼写错误,或者您删除了“\caption”而留下了“\label”。