原 文:Lists
译 者:Xovee
翻译时间:2020年5月26日
LaTeX 中的列表
列表在文档中是一个非常基础的组成部分,它可以让各种概念有结构地、恰当地展示出来。本篇文章将会介绍如何在 LaTeX 中创建和修改有序列表和无序列表。
介绍
创建列表是非常简单的:
List are really easy to create
\begin{itemize}
\item One entry in the list
\item Another entry in the list
\end{itemize}
创建一个无序列表,你首先需要定义一个 itemize 环境,然后将列表项放置在这个环境之中。
无序列表
无序列表由 itemize 环境生成。每一个列表项由一个 \item 命令开头。
\begin{itemize}
\item The individual entries are indicated with a black dot, a so-called bullet.
\item The text in the entries may be of any length.
\end{itemize}
默认情况下,列表项由一个黑色的点开始,这个点又叫做 bullet (子弹)。列表项的文字可以是任意长度。
有序列表
有序列表的环境是 enumerate:
\begin{enumerate}
\item The labels consists of sequential numbers.
\item The numbers starts at 1 with every call to the enumerate environment.
\end{enumerate}
有序列表由 \enumerate 环境生成,每个列表项由 \item 开始,并且会自动用从 1 开始的数字排序和编号。
嵌套列表
在 LaTeX 中你可以在列表中嵌套列表。列表最多可以嵌套四层,你可以嵌套不同类型的列表。
\begin{enumerate}
\item The labels consists of sequential numbers.
\begin{itemize}
\item The individual entries are indicated with a black dot, a so-called bullet.
\item The text in the entries may be of any length.
\end{itemize}
\item The numbers starts at 1 with every call to the enumerate environment.
\end{enumerate}
列表样式
如同许多其他的 LaTeX 元素一样,你可以自定义列表的样式。
有序列表
在嵌套列表中,编号的样式取决于嵌套的等级。
\begin{enumerate}
\item First level item
\item First level item
\begin{enumerate}
\item Second level item
\item Second level item
\begin{enumerate}
\item Third level item
\item Third level item
\begin{enumerate}
\item Fourth level item
\item Fourth level item
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
默认的编号样式是:
- 等级一:阿拉伯数字 1 2 3 …
- 等级二:小写字母 a b c …
- 等级三:小写罗马数字 i ii iii …
- 等级四:大写字母 A B C …
你可以通过指令来更改不同等级的编号样式:
\renewcommand{\labelenumii}{\Roman{enumii}}
\begin{enumerate}
\item First level item
\item First level item
\begin{enumerate}
\item Second level item
\item Second level item
\begin{enumerate}
\item Third level item
\item Third level item
\begin{enumerate}
\item Fourth level item
\item Fourth level item
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
命令\renewcommand{\labelenumii}{\Roman{enumii}}
改变了等级二的编号样式,从小写字母变成了小些罗马数字。你也可以更改其他等级的样式:
\theenumi
- 等级一\theenumii
- 等级二\theenumiii
- 等级三\theenumiv
- 等级四
如果你把命令放在序言(preamble)之中,那么定义的样式会在所有的列表中生效。如果你把命令放在某个列表之前,那么只有这个列表的样式会发生改变。还有一些其他的列表样式,请参考文末。
在有序列表中,数字是从 1 a I A 开始的。你也可以改变这一点:
\renewcommand{\labelenumii}{\Roman{enumii}}
\begin{enumerate}
\item First level item
\item First level item
\begin{enumerate}
\setcounter{enumii}{4}
\item Second level item
\item Second level item
\begin{enumerate}
\item Third level item
\item Third level item
\begin{enumerate}
\item Fourth level item
\item Fourth level item
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
为了改变某个起始的数字(字母),你需要使用\setcounter
命令。在这个例子中,等级二的列表项变成了从 V 开始(命令是\setcounter{enumii}{4}
)。
计数器包括:
\enumi
- 等级一\enumii
- 等级二\enumiii
- 等级三\enumiv
- 等级四
无序列表
无序列表的样式也会随着嵌套的层级发生改变:
\begin{itemize}
\item First Level
\begin{itemize}
\item Second Level
\begin{itemize}
\item Third Level
\begin{itemize}
\item Fourth Level
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
默认的样式为:
\textbullet (•)
- 等级一\textendash (–)
- 等级二\textasteriskcentered (*)
- 等级三\textperiodcentered (·)
- 等级四
你也可以在不同等级的列表中使用命令来改变它们。例如,为了将等级一的样式变为黑色正方形,等级二的样式变为白色正方形,我们可以这样做:
\renewcommand{\labelitemi}{$\blacksquare$}
\renewcommand\labelitemii{$\square$}
\begin{itemize}
\item First Level
\begin{itemize}
\item Second Level
\begin{itemize}
\item Third Level
\begin{itemize}
\item Fourth Level
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}
这个例子中使用的数学符号来自于amssymb
包,使用它们之前你需要在序言中引入这个包\usepackage{amssymb}
。
其他不同等级的命令包括:
labelitemi
- 等级一labelitemii
- 等级二labelitemiii
- 等级三labelitemiv
- 等级四
你也可以随时更改任意一个列表项的样式:
\begin{itemize}
\item Default item label for entry one
\item Default item label for entry two
\item[$\square$] Custom item label for entry three
\end{itemize}
你只需要将想要定义的符号传递给 \item 行。
参考指南
有序列表可用的样式:
代码 | 描述 |
---|---|
\alph | 小写字母 a b c … |
\Alph | 大写字母 A B C … |
\arabic | 阿拉伯数字 1 2 3 … |
\roman | 小写罗马数字 i ii iii … |
\Roman | 大写罗马数字 I II III … |