枚举的默认设置是什么

枚举的默认设置是什么

在我的文档中,我需要enumerate使用包提供的选项临时修改环境设置enumitem。因此我使用:

\setlist[enumerate,1]{align=right,leftmargin=0pt,labelsep=0pt,label=\llap{\bfseries{\arabic*.} \hskip 9pt}}
  \setlist[enumerate,2]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph*.} \hskip 9pt}}
  \setlist[enumerate,3]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph{enumii}.\roman*.} \hskip 9pt}

这正是我想要的。但是,我稍后如何恢复默认设置,我在文档中找不到默认值?

答案1

您可以通过简单地中和您引入的自定义设置来恢复原始设置。因此,要撤消您所做的三个设置,您可以添加以下内容:

\setlist[enumerate,1]{}%
\setlist[enumerate,2]{}%
\setlist[enumerate,3]{}%

在您的代码中,无论您想要原始枚举的哪个位置。但是,当再次需要自定义设置时,您将不得不重新发布三个自定义设置,依此类推。您可以创建两个快捷命令,每个设置组一个,以简化标记。

\documentclass{article}
\usepackage{enumitem}

\setlist[enumerate,1]{align=right,leftmargin=0pt,labelsep=0pt,label=\llap{\bfseries{\arabic*.} \hskip 9pt}}
\setlist[enumerate,2]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph*.} \hskip 9pt}}
\setlist[enumerate,3]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph{enumii}.\roman*.} \hskip 9pt}}

\begin{document}

Modified enumerate here ...
\begin{enumerate}
\item{First}
\begin{enumerate}
    \item{First-1}
    \item{First-2}
\end{enumerate}
\item{Second}
\end{enumerate}

\setlist[enumerate,1]{}%
\setlist[enumerate,2]{}%
\setlist[enumerate,3]{}%

Original enumerate here ...
\begin{enumerate}
\item{First}
\begin{enumerate}
    \item{First-1}
    \item{First-2}
\end{enumerate}
\item{Second}
\end{enumerate}

\end{document}

在此处输入图片描述

答案2

我认为,拥有另一个列表而不是设置enumerate(正如 Aubrey 所说)是一个很棒的解决方案。这里我向您介绍另一个通常会被遗忘但经常派上用场的列表。(也许这不是完美的场合,但其他时候它很有用。)

\SetEnumitemKey{personalpreference1}
  {align=right,leftmargin=0pt,labelsep=0pt,
   label=\makebox[0pt][r]{\textbf{\arabic*.} \hspace{9pt}}}
\SetEnumitemKey{personalpreference2}
  {align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,
   label=\makebox[0pt][r]{\textbf{\arabic{enumi}.\alph*.} \hspace{9pt}}}
\SetEnumitemKey{personalpreference3}
  {align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,
   label=\makebox[0pt][r]{\textbf{\arabic{enumi}.\alph{enumii}.\roman*.} \hspace{9pt}}}

然后使用\begin{enumerate}[personalpreference1]等。

以下是我认为有用两个例子。

\documentclass{scrartcl}
\usepackage{enumitem}

\SetEnumitemKey{ncases}
  {itemsep=0pt,align=left,leftmargin=\parindent,
   itemindent=!,label={\normalfont\textit{Case $\arabic*$}:}}
\newcommand*\makelabelcases[1]{\textit{Case $#1$}:}
\SetEnumitemKey{cases}
  {itemsep=0pt,align=left,leftmargin=\parindent,
   itemindent=!,before=\let\makelabel\makelabelcases}

\begin{document}

\begin{enumerate}[ncases]
 \item First item.
 \item Second item.
 \item Third item.
\end{enumerate}
\begin{description}[cases]
 \item[n = 0] Whatever.
 \item[n \neq 0] Whatever.
\end{description}

\end{document}

在此处输入图片描述

我认为\SetEnumitemKey经常被遗忘,有时它比\newlist+更合适\setlist

答案3

您应该提供 MWE,以便您的助手可以轻松检查他们的回复。但是,您最好创建一个新的列表类型,并在需要时使用它,而不要改变原始列表。例如:

\newlist{ownlist}{enumerate}{3}
\setlist[ownlist,1]{align=right,leftmargin=0pt,labelsep=0pt,label=\llap{\bfseries{\arabic*.} \hskip 9pt}}
  \setlist[ownlist,2]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph*.} \hskip 9pt}}
  \setlist[ownlist,3]{align=right,leftmargin=0pt,labelsep=0pt, labelwidth=!,label=\llap{\bfseries{\arabic{enumi}.\alph{enumii}.\roman*.} \hskip 9pt}

然后使用

\begin{ownlist}
\item First level. etc Reference to item \ref{itm:gthirdlvlb}
...
\end{ownlist}

相关内容