itemize 是无序列表(项目符号列表)的环境。您将条目包装在 \begin{itemize} … \end{itemize} 中,并以 \item 开始每个条目。您可以在每行的开头获得一个标记,而不是数字,并且当您嵌套列表时,标记会自动随深度而变化。本页介绍默认标记、如何更改一个项目或整个级别的默认标记、嵌套以及项目之间的间距。
基本用法
在itemize 环境中,每个条目都以\item 开头。从一个\item到下一个(或\end{itemize})的所有内容都是该条目的主体;您可以自由换行和缩进 — LaTeX 为您对齐标记和左缩进。一个条目可以跨越多个段落,但正文不能没有前导 \item:每个条目必须以 1 开头。
\begin{itemize}
\item 牛乳
\item 卵
\item パン
\end{itemize}这设置了三个条目,每个条目的行首都有一个实心项目符号 (•)。 itemize 是标准LaTeX 环境——无需软件包。当您需要数字时,请使用enumerate;对于带标签的定义列表,请使用description。
默认标记和级别
itemize 嵌套最多四层深度,并且标记会随着层数自动变化。默认情况下,级别 1 是实心项目符号•,级别 2 是粗体破折号 -,级别 3 是星号 *,级别 4 是居中点 ·。每个标记都保存在一个命令中 - 分别是\labelitemi、\labelitemii、\labelitemiii 和\labelitemiv(i / ii / iii / iv 是命名级别的罗马数字)。
| 级别 | 默认标记 | 定义为 | |
|---|---|---|---|
\labelitemi | 第一 | • 项目符号 | \textbullet |
\labelitemii | 第二 | – 破折号(粗体) | 粗体\textendash |
\labelitemiii | 第三名 | * 星号 | \textasteriskcentered |
\labelitemiv | 四号 | · 居中点 | \textperiodcentered |
某些文档类设置了不同的默认值,但标准类(article 和朋友)使用上面的标记。要更改标记本身,请使用 \renewcommand 重新定义这些命令之一,如下所示。
嵌套列表
将另一个itemize 放入条目内,您将获得一个嵌套列表。内部环境进入外部 \item 之一的主体,并且标记随深度自动切换 (• → – → * → ·)。嵌套超过四层会引发 Too deeply nested 错误。标准类还将任何类似列表的环境的总嵌套上限限制为六层,因此将 itemize 与 enumerate 混合在第七层时会遇到相同的错误。
\begin{itemize}
\item 果物
\begin{itemize}
\item りんご
\item みかん
\end{itemize}
\item 野菜
\end{itemize}这里“Fruit”和“Vegetables”被设置为第1级,带有项目符号•,而它们下面的“Apple”和“Orange”则被设置为第2级,带有破折号-。 “嵌套列表”页面进一步介绍了更精细的每级调整和批量更改标记。
更改标记
要更改 单个条目 的标记,请在 \item 之后的方括号中给出标签。例如,\item[$\star$] 使该条目的标记成为星号,而 \item[--] 使该条目的标记成为破折号。默认情况下,此类括号内的标签设置为粗体,并与正文齐平。当您希望某个条目(例如在清单中)脱颖而出时,这会很方便。
要更改整个级别的标记,请使用\renewcommand 重新定义相应的标签命令。将其放在序言中,或者放在您希望其生效的范围之前。
\renewcommand{\labelitemi}{$\diamond$}
\begin{itemize}
\item この階層の記号は菱形になる
\item 二つめの項目
\end{itemize}现在,1 级标记变为菱形 (⋄)。当您想要跨多个列表进行精细控制时,enumitem 包比手动重新定义命令更干净。加载enumitem,您可以在环境本身上使用label=选项设置标记。
\usepackage{enumitem}
% ...
\begin{itemize}[label=$\star$]
\item 星印のリスト
\item 二つめの項目
\end{itemize}间距和紧凑列表
列表的垂直间距由几个长度决定。 \topsep 是在列表上方和下方添加的空格,\itemsep 是条目之间的空格,\parsep 是一个条目内段落之间的空格,\partopsep 是列表在段落后面时添加的额外位。默认情况下,它们会稍微拉伸(橡胶长度),因此列表会混合到页面的前导中。
当您想要一个紧凑的列表并且将空气挤出时,enumitem 的nosep 选项是最简单的方法。 nosep 将\partopsep、\topsep、\itemsep 和\parsep 一起归零,删除条目周围和条目之间的所有垂直空间。
\usepackage{enumitem}
% ...
\begin{itemize}[nosep]
\item 詰まった項目その一
\item 詰まった項目その二
\item 詰まった項目その三
\end{itemize}一个有效的例子
最后,结合我们所见的例子。外部 itemize 包含一个内部条目以形成两个级别,并且一个内部条目的标记交换为带有 \item[$\to$] 的箭头。
\begin{itemize}
\item 準備するもの
\begin{itemize}
\item 小麦粉
\item[$\to$] 砂糖(任意)
\item 塩
\end{itemize}
\item 手順を確認する
\end{itemize}在输出中,“要准备什么”和“查看步骤”在第 1 级与项目符号 • 对齐。下面的内部列表是第 2 级,因此其条目默认为破折号 – — 除了“Sugar(可选)”行,其中括号内的箭头 → 设置为粗体并右对齐,使其与其他两个不同。 itemize 为您提供了对每个条目和每个级别自由控制标记和间距的灵活性。
使用项目符号来组织散文
itemize 不仅仅是简短的散文;它是使平行项目具有可比性的工具。列表中的项目在范围、语法和长度上差异很大,给读者提供了没有比较的轴。当项目值得并排比较时,例如报告要求、可交付成果、失败原因或校对检查,请使用项目符号。
- 保持项目语法平行。 如果一项以名词短语开头,则将所有项目设为名词短语;如果其中一项是势在必行的,那么就让一切都势在必行。
- 当许多项目需要长解释时,返回带有副标题而不是项目符号的段落。
- 保持嵌套到大约两层。 读者很难跟踪三层或更多层。
- 此时顺序很重要,从
itemize切换到enumerate。