枚举中左对齐嵌套标签

枚举中左对齐嵌套标签

我正在尝试调整枚举中嵌套列表的显示方式。现在,使用enumitem包,我得到了如下内容:

\documentclass{article}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label*=\arabic*.,leftmargin=0pt]
  \item First
  \begin{enumerate}[label*=\arabic*.,leftmargin=0pt]
    \item Second
    \begin{enumerate}[label*=\arabic*.,leftmargin=0pt]
      \item Third
    \end{enumerate}
  \end{enumerate}
  \item Fourth
\end{enumerate}

\end{document}

上面创建了一个如下列表:

    1. First
  1.1. Second
1.1.1. Third
    2. Fourth

我希望它看起来像:

1.     First
1.1.   Second
1.1.1. Third
2.     Fourth

这将是一个非常长的“列表”,因为它实际上是一个过程,可能包含数百个步骤和不同的子步骤。这确实是我无法满足我的需求的一件事。我相信我可以通过反复试验来定制不同的对齐方式\SetLabelAlign,但如果有更简单/更简单的方法 - 那就太好了。

此外,如果总体上有更好的方法来实现我想要的效果(步骤编号嵌套步骤从 # 到 #.#.#.),我洗耳恭听。

答案1

尝试将您自己的对齐方式设置为在固定宽度框中包含枚举的内容。这样您就可以指定适合您需要的位置:

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}
\SetLabelAlign{fixedwidth}{\hss\llap{\makebox[2.5em][l]{#1}}}
\setlist[enumerate]{label*=\arabic*.,leftmargin=0pt,align=fixedwidth}

\begin{document}

\noindent Some text before.

\begin{enumerate}
  \item First
  \begin{enumerate}
    \item Second
    \begin{enumerate}
      \item Third
    \end{enumerate}
  \end{enumerate}
  \item Fourth
\end{enumerate}

\noindent Some text after.

\end{document}

答案2

这是一个解决方案:

\documentclass{article}

\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label*=\arabic*.,wide =0pt, labelindent = 1em, leftmargin =*]
  \item First 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}[label*=\arabic*.,align = left]
    \item Second Some more text text text. Some more text text text. Some more text text text. Some more text text text. Some more text text text.
    \begin{enumerate}[label*=\arabic*., align = left]
      \item Third
    \end{enumerate}
  \end{enumerate}
  \item Fourth
\end{enumerate}

\end{document} 

在此处输入图片描述

相关内容