LaTeX 排版(1):列表
创始人
2024-03-02 06:45:21
0

本系列基于前文《在 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中国 荣誉推出

相关内容

机器学习 - 理论 - L...
机器学习 - 理论 -广义线性模型 前言广义线性模型定义ÿ...
2025-05-28 18:40:31
不同的LaTex编辑器是否...
不同的LaTex编辑器是可以相互兼容的,因为LaTex语言本身是一...
2025-01-08 16:01:27
不能使用Weave渲染LA...
如果您无法使用Weave将LATEX输出渲染为正确的格式,请确保以...
2024-12-27 07:00:46
避免在LaTeX中使用Ma...
在LaTeX中使用Maxima的tex函数时,有时会产生多余的括号...
2024-12-17 08:01:36
biblatex引用问题:...
这个问题通常是由于引用的文献未在参考文献列表中或引用标签有误而引起...
2024-12-11 19:02:03
Biblatex -- 捕...
当你在使用Biblatex时遇到“捕获到信号: SEGV”错误时,...
2024-12-11 19:01:12

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...