要在個別 LaTeX 項目下方放置短箭頭和說明文字,請將 \underset 與來自 amsmath 的兩行 \substack 結合。本指南提供 Mac 桌面工作流程的完整文檔,以及擁擠表達式的間距調整。
使用 amsmath 建構標註
基本排列有三層:代數項目、其下方的向上箭頭、以及箭頭下方的短標籤。箭頭指向它所解釋的項目。amsmath 指南記錄了用於在基底下方放置材料的 \underset 以及用於堆疊多行的 \substack。將它們結合會產生此處使用的標註。amsmath 套件使用指南
對於沒有可用 LaTeX 安裝的 Mac,LaTeX 專案推薦 MacTeX,它包含 TeX 系統和文檔編輯器。如果您已能成功編譯 LaTeX 文檔,請使用該安裝。獲取 LaTeX
將以下完整文檔另存為 annotations.tex 於您的 LaTeX 編輯器中。使用 pdfLaTeX 編譯並檢查產生的 PDF。所有標籤和表達式僅供說明。
\documentclass{article}
\usepackage{amsmath}
% First argument: mathematical term.
% Second argument: short text label.
\newcommand{\termnote}[2]{%
\underset{\substack{\uparrow\\\text{#2}}}{#1}%
}
\begin{document}
\[
F(x)=
\termnote{ax^2}{quadratic}
+\termnote{bx}{linear}
+\termnote{c}{constant}.
\]
\end{document}
此範例為 ax^2、bx 和 c 各自指派獨立的標註。加號保留在命令參數之外,使每個解釋的範圍明確。若要標註整個分組表達式,請改將該群組作為第一個參數傳入。
\termnote 是本文檔中定義的自訂命令;它不是內建套件命令。其定義組合了文檔化的組件。\text 命令在數學環境中提供普通文字,並依周圍的數學風格調整大小。amstext 套件
理解參數順序
將 \termnote{bx}{linear} 讀作「用標籤 linear 標註項目 bx」。在定義內部,\underset 先取下方材料,再取基底。\\ 將箭頭列與標籤列分開。
對於一次性標註,以下是等同於該命令呼叫的數學模式片段。它屬於上方完整文檔的顯示定界符內部:
\underset{\substack{\uparrow\\\text{linear}}}{bx}
在整份文檔中保持箭頭方向一致。向上箭頭暗示解釋指向其上方的項目。如果您預期的閱讀方向是從表達式向下到其解釋,請在命令定義中將 \uparrow 替換為 \downarrow。
選擇符合解釋的版面配置
在加入套件前,決定箭頭需要連接什麼。識別單一項目的標註、沿著表達式延伸的箭頭、以及解釋方程式列之間轉換的箭頭,需要不同的構造。
| 預期結果 | 適合的構造 | 所屬位置 |
|---|---|---|
| 單一項目下方的短垂直箭頭和文字 | \underset、\substack 和 \text 的自訂組合 |
數學表達式內部 |
| 表達式下方的水平箭頭 | 來自 amsmath 的 \underrightarrow、\underleftarrow 或 \underleftrightarrow |
環繞接收箭頭的表達式 |
| 箭頭桿上方或下方帶文字的水平箭頭 | 來自 amsmath 的 \xrightarrow 或 \xleftarrow |
數學物件之間 |
| 連續方程式列旁的解釋箭頭 | 來自 witharrows 的 WithArrows 或 DispWithArrows |
套件的方程式對齊環境中 |
amsmath 指南區分了下箭頭和可延伸箭頭:前者裝飾表達式,後者容納附加在箭頭上的標籤。兩者都不會自動建立第一個範例中的三層垂直標註。amsmath 套件使用指南
witharrows 套件將 WithArrows 記錄為類似 aligned 的對齊組件,將 DispWithArrows 記錄為類似 align 的顯示環境。其主要版面將解釋箭頭置於方程式列的右側。若標籤直接位於個別項目下方,請使用第一個範例;解釋列之間的步驟時,請選擇 witharrows。plain-TeX 和 LaTeX 的 witharrows 套件
控制標籤寬度而不產生重疊
從第一份文檔開始,在更改前檢查間距。像 constant 這樣的標籤可能比其項目 c 寬得多。額外的寬度會讓短表達式看起來分散,但也給解釋留出空間。
當保持緊湊的項目間距很重要時,mathtools 提供 \mathclap。它將內容置中於報告寬度為零的盒子中。該套件載入 amsmath,因此修訂後的文檔只需要 \usepackage{mathtools}。mathtools 套件,第 2 節和 3.1.1 節
這裡有第二份完整文檔供比較。它只隱藏標籤的寬度;箭頭仍是測量標註的一部分。
\documentclass{article}
\usepackage{mathtools}
\newcommand{\compacttermnote}[2]{%
\underset{%
\substack{\uparrow\\\mathclap{\text{#2}}}%
}{#1}%
}
\begin{document}
\[
F(x)=
\compacttermnote{ax^2}{quadratic}
\quad+\quad
\compacttermnote{bx}{linear}
\quad+\quad
\compacttermnote{c}{constant}.
\]
\end{document}
報告寬度為零不代表文字不可見。標籤仍會向中心兩側延伸。因此,即使代數在行中舒適地容納,相鄰標籤仍可能重疊。此說明性版面中的明確 \quad 間距給它們額外空間;檢視您自己的表達式後再調整。
使用此決策序列:先縮短標籤,再比較普通版和緊湊版,然後在需要處添加刻意間距。如果解釋仍需要一句話,將該句移入周圍的散文中,並在項目下方留下簡短標識。這能讓標註在正常閱讀大小下保持實用。
將標註表達式置於正確環境中
對於單一無編號表達式,如上所示使用 \[ ... \]。對於多個對齊列,直接在文檔主體中使用 align*。aligned 環境則屬於包裹數學環境的內部。這些界限記載於 amsmath 指南中。amsmath 套件使用指南,第 3 節
以下是第一份文檔的替換顯示片段。它使用現有的 \termnote 定義;替換整個原始顯示,包括其開啟和關閉定界符。
\begin{align*}
F(x) &= ax^2+bx+c \\
&= \termnote{ax^2}{quadratic}
+\termnote{bx}{linear}
+\termnote{c}{constant}.
\end{align*}
將標註列與後續段落或方程式一起檢查。標籤在數學基準線下增加深度,因此單獨看起來平衡的版面,在較長的推導中可能顯得擁擠。當多個項目需要解釋時,請優先使用顯示模式進行這些標註。
診斷常見問題
- 自訂命令未定義: 在
\begin{document}之前包含其\newcommand定義。 - 套件命令未定義: 檢查相應套件是否已載入。緊湊範例需要
mathtools來提供\mathclap。 - 錯誤的材料接收了標註: 檢查第一個參數周圍的大括號。使用
\termnote{ax^2}{quadratic}以包含係數和指數。 - 標籤重疊: 返回普通寬度版本、縮短措辭、或增加標註項目之間的間距。
- 對齊產生巢狀錯誤: 使用上方顯示的完整環境安排,而非將
align*放入另一個顯示環境中。
對於這些普通代數項目,命令將項目作為基底並將解釋附加在下方。當基底具有該分類時,amsmath 實作也會保留二元或關係分類,但標註運算子會引入額外的間距考量。請先從標註項目本身開始。amsmath 套件,第 12 節
範例已根據文檔化命令檢查,但未在研究環境中編譯。在將命令整合到較大的手稿前,請在您的 Mac 安裝中編譯完整文檔。
保持普通寬度版本作為起點。一旦每個箭頭清楚識別其項目且每個標籤保持可讀,僅在周圍表達式有足夠空間容納可見文字時才使用緊湊版本。
來源
- 獲取 LaTeX — LaTeX 專案。
- amsmath 套件使用指南 — 美國數學會和 LaTeX 專案。
- amstext 套件 — LaTeX 專案,經由 CTAN。
- mathtools 套件 — Morten Høgholm、Lars Madsen 和 LaTeX3 專案,經由 CTAN。
- plain-TeX 和 LaTeX 的 witharrows 套件 — F. Pantigny,經由 CTAN。
- amsmath 套件 — LaTeX 專案,經由 CTAN。