使用 enumitem 自定义枚举边距

使用 enumitem 自定义枚举边距

我想告诉 enumitem 自定义枚举环境,这样使用以下代码,我将得到下图所示的结果(1.(a) 和 2.(a) 的“a”标签应该对齐)。我该怎么办?

更新:重要的一点是,我希望文本与前一段对齐(第一行除外),并且每个新的枚举级别都应添加左边距。

我使用 制作了下面的例子\parshape,并且进行了一些肮脏的黑客攻击\hspace{\parindent}:这就是为什么第一个(a)标签[“1.(a)”]没有与第二个(a)标签[“2.(a)”]正确对齐的原因。

在此处输入图片描述

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

Text text text text Text text text text Text text text text Text text
text text Text text text text Text text text text Text text text text
Text text text text Text text text text Text text text text Text text
text text Text text text text Text text text text 

\begin{enumerate}
\item Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text
\begin{enumerate}
\item Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text
\item Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text
\end{enumerate}
\item \begin{enumerate}
  \item Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text
\item Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text
\end{enumerate}
\item Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text Text text text
text Text text text text Text text text text Text text text text Text
text text text Text text text text Text text text text
\end{enumerate}
\end{document}

答案1

我认为这是解决您问题的方法。这种格式看起来很糟糕。棘手的部分是获取嵌入二级列表的第一项的缩进。这个小技巧(恰当地称为\trickindent)是由于埃格尔

\documentclass{article}
\usepackage{enumitem}
\usepackage{kantlipsum}
\setlist[enumerate]{nosep,itemindent=3.5em}
\newcommand{\trickindent}{%
  \let\normalitem\item
  \def\item{%
    \itemindent=0pt
    \normalitem
    \itemindent=3.5em
    \let\item\normalitem}%
}
\begin{document}
\begin{enumerate}
\item\kant*[1]
\begin{enumerate}
\item\kant*[4]
\end{enumerate}
\item\begin{enumerate}[before=\trickindent]
  \item\kant*[2]
  \item\kant*[3]
\end{enumerate}
\end{enumerate}
\end{document}

代码输出

相关内容