内联枚举的渐进缩进

内联枚举的渐进缩进

我想创建内联enumerate列表,其中第一行之后的每一行都逐渐缩进,形成阶梯状模式,如下所示。有没有办法自动产生这种效果?在下面的 MWE 中,我用 设置了一些框架enumitem,但任何替代解决方案都是可以接受的。

\documentclass{article}
\usepackage{multicol}
\usepackage[inline]{enumitem}
\raggedright

\newlist{progressive}{enumerate*}{1}
\setlist[progressive]{label=(\Alph*)}

\begin{document}
\begin{multicols}{2}

Goal: Format a list to look like this:

(A)~Ordovician (B)~Devonian

\hspace*{18pt}(C)~Cambrian (D)~Silurian

\hspace*{36pt}(E)~Permian

while writing it like this:

\begin{progressive}
    \item Ordovician
    \item Devonian
    \item Cambrian
    \item Silurian
    \item Permian
\end{progressive}
\end{multicols}
\end{document}

我希望输出看起来像左列。

示例结果

答案1

在此处输入图片描述

\documentclass{article}

\setlength\textwidth{5cm}
\newcount\zzc
\newenvironment{progressive}{%
\par\raggedright
\def\item{\refstepcounter{enumi}(\Alph{enumi})~}%
{\global\zzc=0
\dimen0=0pt
\xdef\pshh{}
\loop
\xdef\pshh{\pshh\space\the\dimen0 \space \the\dimexpr\hsize-\dimen0\relax}%
\advance\dimen0 15pt
\global\advance\zzc 1
\ifdim\dimen0<\hsize
\repeat}%
\typeout{^^JXXX^^J\parshape \the\zzc\pshh}%
\parshape \zzc\pshh
\noindent\ignorespaces}
{\par}

\begin{document}



\begin{progressive}
    \item Ordovician
    \item Devonian
    \item Cambrian
    \item Silurian
    \item Permian
\end{progressive}

\end{document}

相关内容