Linux中国

LaTeX 排版(1):列表

本系列基于前文《在 Fedora 上用 LaTex 和 TeXstudio 排版你的文档》和《LaTeX 基础》,本文即系列的第一部分,是关于 LaTeX 列表的。

列表类型

LaTeX 中的列表是封闭的环境,列表中的每个项目可以取一行文字到一个完整的段落。在 LaTeX 中有三种列表类型:

  • itemize 无序列表 unordered list / 项目符号列表 bullet list
  • enumerate 有序列表 ordered list
  • description 描述列表 descriptive list

创建列表

要创建一个列表,需要在每个项目前加上控制序列 item,并在项目清单前后分别加上控制序列 begin{<类型>}end{<类型>}(将其中的<类型>` 替换为将要使用的列表类型),如下例:

itemize(无序列表)

begin{itemize}
    item Fedora
    item Fedora Spin
    item Fedora Silverblue
end{itemize}

enumerate(有序列表)

begin{enumerate}
    item Fedora CoreOS
    item Fedora Silverblue
    item Fedora Spin
end{enumerate}

description(描述列表)

begin{description}
    item[Fedora 6] Code name Zod
    item[Fedora 8] Code name Werewolf
end{description}

列表项目间距

可以通过在导言区加入 usepackage{enumitem} 来自定义默认的间距,宏包 enumitem 启用了选项 noitemsep 和控制序列 itemsep,可以在列表中使用它们,如下例所示:

使用选项 noitemsep

将选项 noitemsep 封闭在方括号内,并同下文所示放在控制序列 begin 之后,该选项将移除默认的间距。

begin{itemize}[noitemsep]
    item Fedora
    item Fedora Spin
    item Fedora Silverblue
end{itemize}

使用控制序列 itemsep

控制序列 itemsep 必须以一个数字作为后缀,用以表示列表项目之间应该有多少空间。

begin{itemize} itemsep0.75pt
    item Fedora Silverblue
    item Fedora CoreOS
end{itemize}

嵌套列表

LaTeX 最多最多支持四层嵌套列表,如下例:

嵌套无序列表

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}

嵌套有序列表

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 大写字母 (•)

设置列表样式

下面的例子列举了无序列表的不同样式。

% 无序列表样式
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 之后,如下例:

% 方式一
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 之后,如下例:

% 方式二
begin{enumerate}[label=Alph*.]
    item Fedora 32
    item Fedora 31
    item Fedora 30
end{enumerate}

方式三:为整个文档设置

该方式将改变整个文档的默认样式。使用 renewcommand 来设置项目标签的值,下例分别为四个嵌套深度的项目标签设置了不同的样式。

% 方式三
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中国 荣誉推出


本文转载来自 Linux 中国: https://github.com/Linux-CN/archive

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
雨落清风。心向阳

    You may also like

    Leave a reply

    您的电子邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:Linux中国