嵌套枚举列表样式

嵌套枚举列表样式

如果我有一个嵌套的枚举列表样式,我想在整个文档中使用,那么在 LaTeX 中最好的方法是什么,这样可以轻松更改文档中所有列表的样式。我所说的样式不仅指标签的样式,还包括列表中项目的样式。例如,第一级粗体、第二级斜体、第三级正常等。

我认为这是一项非常常见的任务,但我找不到关于如何执行此操作的明确描述。我是 LaTeX 新手,仍在尝试找出最好使用硬编码格式还是以编程方式执行。

我已经设法整理了一些可以完成我想要的代码,但我想知道是否有更优雅的方式(或标准方式)来实现这一点:

\documentclass{article}
\usepackage{enumitem}
\begin{document}

\setlist[enumerate]{noitemsep,nosep}
\setlist[enumerate,1]{label*=\arabic*.,before=\normalfont\bfseries,after=\normalfont}
\setlist[enumerate,2]{label*=\arabic*.,before=\normalfont\itshape,after=\normalfont}
\setlist[enumerate,3]{label=\alph*.,before=\normalfont}

\begin{enumerate}
    \item First Level A
    \begin{enumerate}
        \item Second Level A
        \begin{enumerate}
            \item Third Level A
        \end{enumerate}
        \item Second Level B
        \item Second Level C
    \end{enumerate}

    \item First Level B
    \begin{enumerate}
        \item First Level A
        \begin{enumerate}
            \item Third Level A
        \end{enumerate}
        \item Second Level B
        \item Second Level C
    \end{enumerate}

\end{enumerate}

\end{document}

答案1

enumitem通过全局设置(使用)或本地化定制(通过各自环境的可选参数)为标准列表环境( enumerateitemize和)提供干净的接口。description\setlist

另一种选择是定义您自己的深度智能列表环境。但是,这可能会消除enumitem接口已经提供的一些代码可读性以及代码可移植性。

enumitem因此很可能是最好的方法。

相关内容