本系列基于前文《在 Fedora 上用 LaTex 和 TeXstudio 排版你的文档》和《LaTeX 基础》,本文即系列的第一部分,是关于 LaTeX 列表的。
列表类型
LaTeX 中的列表是封闭的环境,列表中的每个项目可以取一行文字到一个完整的段落。在 LaTeX 中有三种列表类型:
itemize
: 无序列表 / 项目符号列表
enumerate
: 有序列表
description
: 描述列表
创建列表
要创建一个列表,需要在每个项目前加上控制序列 \item
,并在项目清单前后分别加上控制序列 \begin{<类型>}
和 \end
{<类型>}(将其中的
<类型>` 替换为将要使用的列表类型),如下例:
itemize(无序列表)
1 2 3 4 5 6
| \begin{itemize} \item Fedora \item Fedora Spin \item Fedora Silverblue \end{itemize}
|
enumerate(有序列表)
1 2 3 4 5 6
| \begin{enumerate} \item Fedora CoreOS \item Fedora Silverblue \item Fedora Spin \end{enumerate}
|
description(描述列表)
1 2 3 4 5
| \begin{description} \item[Fedora 6] Code name Zod \item[Fedora 8] Code name Werewolf \end{description}
|
列表项目间距
可以通过在导言区加入 \usepackage{enumitem}
来自定义默认的间距,宏包 enumitem
启用了选项 noitemsep
和控制序列 \itemsep
,可以在列表中使用它们,如下例所示:
使用选项 noitemsep
将选项 noitemsep
封闭在方括号内,并同下文所示放在控制序列 \begin
之后,该选项将移除默认的间距。
1 2 3 4 5 6
| \begin{itemize}[noitemsep] \item Fedora \item Fedora Spin \item Fedora Silverblue \end{itemize}
|
使用控制序列 \itemsep
控制序列 \itemsep
必须以一个数字作为后缀,用以表示列表项目之间应该有多少空间。
1 2 3 4 5
| \begin{itemize} \itemsep0.75pt \item Fedora Silverblue \item Fedora CoreOS \end{itemize}
|
嵌套列表
LaTeX 最多最多支持四层嵌套列表,如下例:
嵌套无序列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| \begin{itemize}[noitemsep] \item Fedora Versions \begin{itemize} \item Fedora 8 \item Fedora 9 \begin{itemize} \item Werewolf \item Sulphur \begin{itemize} \item 2007-05-31 \item 2008-05-13 \end{itemize} \end{itemize} \end{itemize} \item Fedora Spin \item Fedora Silverblue \end{itemize}
|
嵌套有序列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| \begin{enumerate}[noitemsep] \item Fedora Versions \begin{enumerate} \item Fedora 8 \item Fedora 9 \begin{enumerate} \item Werewolf \item Sulphur \begin{enumerate} \item 2007-05-31 \item 2008-05-13 \end{enumerate} \end{enumerate} \end{enumerate} \item Fedora Spin \item Fedora Silverblue \end{enumerate}
|
每种列表类型的列表样式名称
enumerate(有序列表) |
itemize(无序列表) |
\alph* (小写字母) |
$\bullet$ (●) |
\Alph* (大写字母) |
$\cdot$ (•) |
\arabic* (阿拉伯数字) |
$\diamond$ (◇) |
\roman* (小写罗马数字) |
$\ast$ (✲) |
\Roman* (大写罗马数字) |
$\circ$ (○) |
|
$-$ (-) |
按嵌套深度划分的默认样式
嵌套深度 |
enumerate(有序列表) |
itemize(无序列表) |
1 |
阿拉伯数字 |
(●) |
2 |
小写字母 |
(-) |
3 |
小写罗马数字 |
(✲) |
4 |
大写字母 |
(•) |
设置列表样式
下面的例子列举了无序列表的不同样式。
1 2 3 4 5 6 7 8 9 10 11
| \begin{itemize} \item[$\ast$] Asterisk \item[$\diamond$] Diamond \item[$\circ$] Circle \item[$\cdot$] Period \item[$\bullet$] Bullet (default) \item[--] Dash \item[$-$] Another dash \end{itemize}
|
有三种设置列表样式的方式,下面将按照优先级从高到低的顺序分别举例。
方式一:为各项目单独设置
将需要的样式名称封闭在方括号内,并放在控制序列 \item
之后,如下例:
1 2 3 4 5 6 7 8 9 10 11
| \begin{itemize} \item[$\ast$] Asterisk \item[$\diamond$] Diamond \item[$\circ$] Circle \item[$\cdot$] period \item[$\bullet$] Bullet (default) \item[--] Dash \item[$-$] Another dash \end{itemize}
|
方式二:为整个列表设置
将需要的样式名称以 label=
前缀并封闭在方括号内,放在控制序列 \begin
之后,如下例:
1 2 3 4 5 6 7
| % 方式二 \begin{enumerate}[label=\Alph*.] \item Fedora 32 \item Fedora 31 \item Fedora 30 \end{enumerate}
|
方式三:为整个文档设置
该方式将改变整个文档的默认样式。使用 \renewcommand
来设置项目标签的值,下例分别为四个嵌套深度的项目标签设置了不同的样式。
1 2 3 4 5 6
| \renewcommand{\labelitemi}{$\ast$} \renewcommand{\labelitemii}{$\diamond$} \renewcommand{\labelitemiii}{$\bullet$} \renewcommand{\labelitemiv}{$-$}
|
总结
LaTeX 支持三种列表,而每种列表的风格和间距都是可以自定义的。在以后的文章中,我们将解释更多的 LaTeX 元素。
关于 LaTeX 列表的延伸阅读可以在这里找到:LaTeX List Structures
via: https://fedoramagazine.org/latex-typesetting-part-1/
作者:Earl Ramirez 选题:lujun9972 译者:rakino 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出