與數字相符的標題
將標籤放在標題之後,以便保留數字。
與數字相符的標題
交叉引用是 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”。