enumerate 是 有序列表 的环境 - 其项目已编号。您将条目包装在 \begin{enumerate} … \end{enumerate} 中,并以 \item 开始每个条目。数字是自动生成的,当您嵌套列出时,格式会随着深度而变化:1. → (a) → i. → A.。本页介绍了自动编号的工作原理、每个级别的默认格式及其背后的计数器和命令、交叉引用项目、更改起始编号以及 enumitem 包为您提供的简单格式化。
基本用法
在enumerate 环境中,每个条目都以\item 开头。 LaTeX 会为您分配数字,因此您永远不会键入“1”。或“2”。你自己。从一个\item到下一个(或\end{enumerate})的所有内容都是该条目的主体;您可以自由地换行和缩进 - LaTeX 对齐数字和左缩进。每次使用环境时,编号都会从 1 重新开始。
\begin{enumerate}
\item 材料を量る
\item 生地を混ぜる
\item 型に流して焼く
\end{enumerate}这设置了三个标记为“1.”、“2.”和“3.”的条目。在每行的开头。 enumerate 是标准LaTeX 环境——无需软件包。当您想要标记而不是数字时,请使用itemize;对于带标签的定义列表,请使用description。至少需要一个\item,并且正文文本必须以\item 开头。
默认编号和级别
enumerate 嵌套最多四层深度,数字格式会随着层数自动变化。在标准类(article 和朋友)中,默认值是: 1 级带句点的阿拉伯数字,1.; 2 级括号中的小写字母,(a); 3 级带句点的小写罗马数字i.;第 4 级是带句点的大写字母 A.。打开第五个 enumerate 会因 ! LaTeX Error: Too deeply nested. 停止(并且混合 itemize 不会解除此问题 - 单独的上限将任何嵌套列表堆栈限制为总共六层)。
每个级别都有一个 计数器 和两个显示它的命令。进行计数的整数计数器是enumi、enumii、enumiii 和enumiv(i / ii / iii / iv 是命名级别的罗马数字)。 将计数器格式化为数字文本的命令是\theenumi ... \theenumiv,将其排版为行头标签的命令是\labelenumi ... \labelenumiv。例如,默认情况下,\theenumi 定义为\arabic{enumi}(阿拉伯数字),\labelenumi 添加句点以形成1.。
| 级别 | 柜台 | 默认格式 | 格式化命令 | |
|---|---|---|---|---|
enumi | 第一 | enumi | 1. 阿拉伯语 + 句点 | \arabic{enumi} |
enumii | 第二 | enumii | (a) 括号中的小写字母 | \alph{enumii} |
enumiii | 第三名 | enumiii | i. 小写罗马 + 句点 | \roman{enumiii} |
enumiv | 四号 | enumiv | A. 大写字母 + 句点 | \Alph{enumiv} |
要仅更改数字的外观,请使用\renewcommand 重新定义格式命令。以给定样式呈现计数器的命令有 \arabic (1, 2, 3)、\alph (a, b, c)、\Alph (A, B, C)、\roman (i, ii, iii) 和 \Roman (I, II, III)。例如,将级别 1 设置为大写罗马数字 I、II、III:
\renewcommand{\theenumi}{\Roman{enumi}}
\begin{enumerate}
\item 第一の論点
\item 第二の論点
\end{enumerate}现在第 1 级读取“I.”、“II.”,依此类推。由于\labelenumi 默认情况下是基于\theenumi 构建的,因此重新定义\theenumi 会将行头标签(以及下面交叉引用\ref 返回的数字)引入相同的样式。如果您还想调整周围的标点符号(句号或括号),请重新定义\labelenumi。 “自定义标签”页面深入介绍了以这种方式设计标签。
参考项目
您可以交叉引用编号列表的项目:将 \label{key} 放入 \item 的主体中,然后在其他地方调用 \ref{key} 以打印 该项目的编号。由于 LaTeX 管理数字,因此即使您添加或重新排序项目,参考也会自动跟踪正确的值。 \ref 返回的格式遵循该级别的 \theenumi 系列定义。对于页码,请使用\pageref{key}。
\begin{enumerate}
\item 仮説を立てる
\item 実験で検証する\label{step:test}
\item 結果をまとめる
\end{enumerate}
手順~\ref{step:test} で測定したデータを使う。这里第二项带有\label{step:test},后面一句的\ref{step:test} 解析为“2”。如果加载hyperref包,该引用将成为跳转到该项目的可单击链接。像往常一样,解析引用通常需要两次编译。 “交叉引用(\label 和\ref)”页面介绍了一般的交叉引用。
更改起始编号
要从 1 以外的位置开始编号,请使用 \setcounter 设置列表内的计数器。由于\item 在排版条目之前递增计数器,因此技巧是给出一个值比您想要的数字小一。例如,要从 5 开始,请写\setcounter{enumi}{4}。
\begin{enumerate}
\setcounter{enumi}{4}
\item この項目は 5 番になる
\item 6 番
\end{enumerate}\setcounter{enumi}{4}之后的\item变为“5.”,下一个条目为“6.”。要调整更深的级别,请以相同的方式设置enumii、enumiii 或enumiv。当您的真正目标是关闭一个列表并稍后在单独的列表中继续编号时,enumitem 包的resume(如下所述)更容易、更可靠。
使用enumitem 轻松格式化和继续
当您想要精细控制数字格式时,enumitem 包比手写 \renewcommand 更干净。使用\usepackage{enumitem}加载它,您可以直接使用环境中的label=选项设置格式。在label= 中,带星号的形式\arabic*、\alph*、\Alph*、\roman* 和\Roman* 代表当前项目编号。例如,label=(\alph*) 生成(a)、(b) 等。
\usepackage{enumitem}
% ...
\begin{enumerate}[label=(\alph*)]
\item 小文字を括弧で囲んだラベル
\item 二つめの項目
\end{enumerate}enumitem 也使开始和继续变得容易。 start= 直接设置第一个数字(不像 \setcounter 那样“减一”),而 resume 继续前一个列表的编号而不是重新开始。即使一段解释或另一个图形将列表分开,这也可以保持顺序完整。
\begin{enumerate}
\item 最初のリストの一つめ
\item 二つめ
\end{enumerate}
間にはさむ説明の段落。
\begin{enumerate}[resume]
\item 番号は 3 から続く
\item 4 番
\end{enumerate}对于resume,第二个列表继续为“3.”、“4.”。您还可以仅设置起始编号,如start=10,或将其与label= 组合以控制格式。 enumitem 添加的间距控件、内联列表和参考标签都集中在“enumitem”页面上。
一个有效的例子
最后是一个结合了我们所见内容的示例。我们构建一个步骤列表,将 \label 附加到其中一个步骤,并使用 \ref 从列表外部引用其编号。由于 LaTeX 拥有编号,因此即使您对步骤重新排序,引用也会自动跟随。
実験は次の手順で進める。
\begin{enumerate}
\item サンプルを室温に戻す
\item 重量を記録する\label{step:weigh}
\item 溶媒を加えて撹拌する
\item 一晩静置する
\end{enumerate}
手順~\ref{step:weigh} の値を、最終的な収率の計算に用いる。在输出中,四个步骤排列起来,编号为“1”。通过“4”。第二个“记录重量”带有\label{step:weigh},因此列表后面的句子中的\ref{step:weigh} 解析为“2”,读取“步骤 2 中的值...”。如果您稍后插入“检查设备”作为新的第一步,目标将降至第三 — 但\ref 自动将其自身更新为“3”。这是让 LaTeX 为您编号而不是手动输入数字的主要好处。
将编号的项目写入参考步骤
使用enumerate 不是因为数字看起来不错,而是因为顺序、优先级或引用必须保持稳定。当列表是一组引用的步骤时,不要在散文中输入数字;将\label附加到重要的项目上。如果解释性段落或图形中断了程序,enumitem 的 resume 会保持序列连续并防止编辑后编号漂移。
- 程序:使用
enumerate;说“返回步骤 3”的能力就是价值。 - 无序条件:使用
itemize;对无序列表进行编号会错误地暗示优先级或时间顺序。 - 参考文献: 附上
\label并用\ref引用。手写数字会导致校对错误。 - 中断的过程: 使用
resume继续它们,因此单独的列表块仍作为一个序列读取。