如何使枚举缩进类似描述

如何使枚举缩进类似描述

我正在尝试排版一个编号列表,其中我覆盖了默认的enumerate使用 enumitem 覆盖默认行为,以便除了数字之外还有文本。我希望文本与左边距齐平,我发现此解决方案针对这一特定问题

然而,我的问题变得更加复杂。此外,我有时需要enumerate通过为某些中间列表项添加不同的文本来覆盖环境中间列表的常规覆盖行为。我希望这些项目仍然与左边距齐平。例如:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage{calc}
\usepackage{lipsum}


\begin{document}

\lipsum[1]

\subsection*{Using description}

\begin{description}
 \item[\bfseries Item 1:] Left margin: \the\leftmargin
 \item[\bfseries Much longer item 2:] Right margin: \the\rightmargin
 \item[\bfseries Item 3:] Listparindent: \the\listparindent
 \item[\bfseries Item 4:] Label width: \the\labelwidth
 \item[\bfseries Item 5:] Label sep: \the\labelsep
 \item[\bfseries Item 6:] Label indent: \the\labelindent
 \item[\bfseries Item 7:] Item indent: \the\itemindent
 %\item[\bfseries Much longer item 8:] \lipsum[2]
\end{description}

\subsection*{Using enumerate}

\begin{enumerate}[label={\bfseries Item \arabic*:},labelindent=0pt,labelwidth=\widthof{\ref{last-item}},itemindent=1em,leftmargin=!]%itemindent=-20pt, labelwidth=0pt]
 \item Left margin: \the\leftmargin
 \item[\bfseries Much longer item 2]: Right margin: \the\rightmargin
 \stepcounter{enumi}
 \item Listparindent: \the\listparindent
 \item Label width: \the\labelwidth
 \item Label sep: \the\labelsep
 \item Label indent: \the\labelindent
 \item Item indent: \the\itemindent \label{last-item}
 %\item \lipsum[2]
\end{enumerate}

\lipsum[3]


\end{document}

我已经包含了一个description用于比较的环境:这就是我希望我的枚举看起来的样子。

输出

所以基本上,我正在寻找一种方法来使其在水平间距方面enumerate表现得像description,但我不想仅仅使用,description因为项目的自动编号很重要。有什么想法吗?

答案1

只需使用 [ leftmargin=*, align=left] 作为enumerate参数。

输出相同,但由于默认description值的计算方式不同,打印的长度值不同。使用leftmargin=!将获得相同的左缩进值,但获得不同的项目缩进值。

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}

\begin{document}


\subsection*{Using description}

\begin{description}[]
 \item[\bfseries Item 1:] Left margin: \the\leftmargin
 \item[\bfseries Much longer item 2:] Right margin: \the\rightmargin
 \item[\bfseries Item 3:] Listparindent: \the\listparindent
 \item[\bfseries Item 4:] Label width: \the\labelwidth
 \item[\bfseries Item 5:] Label sep: \the\labelsep
 \item[\bfseries Item 6:] Label indent: \the\labelindent
 \item[\bfseries Item 7:] Item indent: \the\itemindent
 %\item[\bfseries Much longer item 8:] \lipsum[2]
\end{description}

\subsection*{Using enumerate}

\begin{enumerate}[label={\bfseries Item \arabic*:},leftmargin=*,align=left]
 \item Left margin: \the\leftmargin
 \item[\bfseries Much longer item 2]: Right margin: \the\rightmargin
 \stepcounter{enumi}
 \item Listparindent: \the\listparindent
 \item Label width: \the\labelwidth
 \item Label sep: \the\labelsep
 \item Label indent: \the\labelindent
 \item Item indent: \the\itemindent \label{last-item}
\end{enumerate}

\end{document}

代码输出

相关内容