特殊枚举布局

特殊枚举布局

如何使用包重现以下列表布局enumitem?(我只是用表格手动完成的):

在此处输入图片描述

请注意,数字应该与主体(而不是整个主体)的左边界对齐。

我尝试调整不同的参数enumitem但一切都很混乱。

答案1

这是一种可能的方法——当然其他方法也可能有效!

标记本身非常简单,label*=...使用父级标签的语法即可。

对齐并不那么简单。所有元素都必须相对于左边距左对齐,因此对于更深的级别,左边距必须是全部0pt,并且所有级别的标签宽度必须相等。30pt此处的只是一个任意值。

\documentclass{article}

\usepackage{showframe}

\usepackage{enumitem}


\setlist[enumerate]{align=left}
\setlist[enumerate,1]{labelwidth=30pt,leftmargin={\dimexpr\labelwidth+\labelsep}}
\setlist[enumerate,2]{labelwidth=30pt,leftmargin=0pt,label*={\arabic*}}
\setlist[enumerate,3]{labelwidth=30pt,leftmargin=0pt,label*={.\arabic*}}
\setlist[enumerate,4]{labelwidth=30pt,leftmargin=0pt,label*={.\arabic*}}

\usepackage{blindtext}

\begin{document}

\begin{enumerate}
\item \blindtext
\begin{enumerate}
\item \blindtext
\begin{enumerate}
\item \blindtext
\begin{enumerate}
\item \blindtext
\item \blindtext
\end{enumerate}
\end{enumerate}

\end{enumerate}
\end{enumerate}

\end{document}

在此处输入图片描述

这是一个更简单的方法,使用\newlist命令:

\documentclass{article}

\usepackage{showframe}

\usepackage{enumitem}

\newlength{\mylabelwidth}
\setlength{\mylabelwidth}{40pt}


\newlist{leftenum}{enumerate}{4}
\setlist[leftenum]{align=left,labelwidth={\mylabelwidth},topsep=5pt,leftmargin=0pt,label*={\arabic*.}}
\setlist[leftenum,1]{leftmargin={\dimexpr\labelwidth+\labelsep}}

\usepackage{blindtext}

\begin{document}

\begin{leftenum}
\item \blindtext
\begin{leftenum}
\item \blindtext
\begin{leftenum}
\item \blindtext
\begin{leftenum}
\item \blindtext
\item \blindtext
\end{leftenum}
\end{leftenum}

\end{leftenum}
\end{leftenum}

\end{document}

答案2

这里有一种方法enumitem

\documentclass{article}
\usepackage{enumitem}
\usepackage{calc}
\usepackage[showframe]{geometry}
\usepackage{lipsum}

\setlist[enumerate]{wide=0pt, align=parleft, itemindent=0pt, labelsep=\widthof{9.9.9.9\quad}, leftmargin=0cm}
\setlist[enumerate, 1]{label=\thesection.1, leftmargin=\widthof{9.9.9.9\quad}}
\setlist[enumerate, 2]{label=\theenumi.\arabic*}
\setlist[enumerate, 3]{label=\theenumii.\arabic*}
\setlist[enumerate, 4]{label=\theenumiii.\arabic*}

\begin{document}

\setcounter{section}{1}
Some text some text some text some text some text some text some text some text some text some text some text.
\begin{enumerate}
  \item \lipsum[2]
        \begin{enumerate}
          \item\label{test} \lipsum[2]
          \item We can see from \ref{test} cross-references work.
                \begin{enumerate}
                  \item\label{test} \lipsum[3]
                \end{enumerate}
        \end{enumerate}
\end{enumerate}

\end{document}%

在此处输入图片描述

相关内容