File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ---
2+ layout : " lesson"
3+ lang : " zh-hant"
4+ title : " 交叉引用"
5+ description : " 本課展示了如何在文件中引用編號的元素,如圖片、表格和章節。"
6+ toc-anchor-text : " 交叉引用"
7+ toc-description : " 引用圖片、表格等。"
8+ ---
9+
10+ # 交叉引用
11+
12+ <span
13+ class="summary">本課展示了如何在文件中引用編號的元素,如圖片、表格和章節。</span >
14+
15+ 當你在寫長文件時,你會需要引用編號的元素,如圖片、表格或章節。幸運的是,LaTeX 可以自動新增正確的編號;我們只需要設定好一些事情。
16+
17+ ## ` \label ` 和` \ref ` 機制
18+
19+ 要讓 LaTeX 記住文件中的某個位置,你需要給它一個標籤,然後在其他地方引用它。
20+
21+ ``` latex
22+ % !TEX program=lualatex
23+
24+ \documentclass{ctexart}
25+ \begin{document}
26+ 嗨,世界!
27+
28+ 這是一個第一個文件。
29+
30+ \section{標題}
31+
32+ 這是第一節的材料文字。
33+
34+
35+ \subsection{第一節的小節}
36+ \label{subsec:labelone}
37+
38+ 第一小節的材料文字。
39+ \begin{equation}
40+ e^{i\pi}+1 = 0
41+ \label{eq:labeltwo}
42+ \end{equation}
43+
44+ 在小節~\ref{subsec:labelone}中有公式~\ref{eq:labeltwo}。
45+ \end{document}
46+ ```
47+
48+ - 這裡有兩個` \label{...} ` 命令,一個在小節之後,一個在公式環境內。
49+ - 它們與最後一句中的` \ref{...} ` 命令相關聯。
50+ - 當你執行 LaTeX 時,它會將標籤的資訊儲存到輔助檔案中。
51+ - 對於` \label{subsec:labelone} ` ,LaTeX 知道它現在在一個小節中,所以它儲存了小節的編號。
52+ - 對於` \label{eq:labeltwo} ` ,LaTeX 知道最近感興趣的環境是一個公式,所以它儲存了該公式的資訊。
53+ - 當你請求引用時,LaTeX 從輔助檔案中獲取資訊。
54+ - ` subsec: ` 和` eq: ` 不會被 LaTeX 使用;相反,它只是跟蹤它最近處理的內容。但當你在寫作時,這些幫助你記住標籤的含義。
55+
56+ - 你可能會看到引用在PDF輸出中顯示為粗體雙問號,** ??** 。這是因為由於使用輔助檔案的工作方式,第一次編譯文件時標籤尚未儲存。再執行一次 LaTeX 就可以了。(通常在寫作時你會多次執行 LaTeX,所以在實踐中這不是一個問題。)
57+
58+ - 注意引用前的波浪號(` ~ ` )字元。
59+ 你不希望在"小節"和其編號之間,或"公式"和其編號之間出現換行。使用波浪號意味著 LaTeX 不會在那裡斷行。
60+
61+ ## ` \label ` 的位置
62+
63+ ` \label ` 命令總是引用前一個編號的實體:一個節、一個公式、一個浮動體等。這意味著` \label ` 總是要放在你想要引用的東西_之後_ 。特別是,當你建立浮動體時,` \label ` 必須放在_後面_ (或最好放在)` \caption ` 命令之內,但在浮動環境內。
64+
65+ ## 練習
66+
67+ 嘗試在測試文件中新增新的編號部分(節、小節、列舉列表),看看需要多少次執行才能讓` \label ` 命令正常工作。
68+
69+ 新增一些浮動體,看看當你把` \label ` 放在` \caption ` _ 之前_而不是之後時會發生什麼;你能預測結果嗎?
70+
71+ 如果你把一個公式的` \label ` 放在` \end{equation} ` _ 之後_會發生什麼?
You can’t perform that action at this time.
0 commit comments