使用枚举进行编号和文本对齐

使用枚举进行编号和文本对齐

使用枚举包指定对齐方式和间距的选项有很多,但是我无法找到能够产生我想要的格式的组合。

\lipsum 包用于说明格式。


使用以下选项,枚举中的每个项目(第 1 级和第 2 级)在每个第 1 级枚举的每一行中都有相同的缩进(左边距)。这就是我想要的。但是,我还希望部分和第 1 级枚举编号左对齐。

我已经包含了第二级枚举,它按需要出现,并且 (a) 与第一级中的文本处于相同的对齐方式。

\setenumerate[1]{label=\thesection.\arabic*,labelwidth=1.5cm,labelindent=10pt,leftmargin=1.2cm}

在此处输入图片描述


为了使章节编号和第一级枚举编号在左侧对齐,我改为使用以下选项;

\setenumerate[1]{label=\thesection.\arabic*,labelsep*=12pt, align=left, leftmargin=*}

在此处输入图片描述

但是现在段落的缩进并不恒定。


下面我截取了一张屏幕截图,并在 Paint 中移动了文本,以说明我想要实现的目标。我不太/不特别关心章节标题文本和段落文本是否具有相同的对齐方式。

这就是我想要的样子


这是 MWE。

\documentclass{article}

\usepackage{lipsum}
\usepackage{enumitem}

% Section numbers and enumerate numbers are not left aligned, however the indentation of text is constant (how I want it)
% \setenumerate[1]{label=\thesection.\arabic*,labelwidth=1.5cm,labelindent=10pt,leftmargin=1.2cm}

% Section numbers and enumerate numbers are left aligned, however the indentation of the text is not constant
\setenumerate[1]{label=\thesection.\arabic*,labelsep*=12pt, align=left, leftmargin=*}

\setenumerate[2]{label=(\alph*), ref=\theenumi{} (\alph*), align=left}

\begin{document}
\section{Test}
\begin{enumerate}
    \item \lipsum[2]
\end{enumerate}

\setcounter{section}{22}
\section{Double digits}
\begin{enumerate}
    \item \lipsum[2]
    \setcounter{enumi}{21}
    \item \lipsum[2]
    \begin{enumerate}
        \item \lipsum[2] % The (a) should be aligned with the text in the item above
    \end{enumerate}
\end{enumerate}
\end{document}

答案1

使用widest以下密钥:

\documentclass{article}

\usepackage{lipsum}
\usepackage{enumitem}

% Section numbers and enumerate numbers are not left aligned, however the indentation of text is constant (how I want it)
% \setenumerate[1]{label=\thesection.\arabic*,labelwidth=1.5cm,labelindent=10pt,leftmargin=1.2cm}

% Section numbers and enumerate numbers are left aligned, however the indentation of the text is not constant
\setenumerate[1]{label=\thesection.\arabic*,labelsep*=12pt, widest=00.00, align=left, leftmargin=*}

\setenumerate[2]{label=(\alph*), ref=\theenumi{} (\alph*), align=left}

\begin{document}
\section{Test}
\begin{enumerate}
    \item \lipsum[2]
\end{enumerate}

\setcounter{section}{22}
\section{Double digits}
\begin{enumerate}
    \item \lipsum[2]
    \setcounter{enumi}{21}
    \item \lipsum[2]
    \begin{enumerate}
        \item \lipsum[2] % The (a) should be aligned with the text in the item above
    \end{enumerate}
\end{enumerate}

\end{document} 

在此处输入图片描述

相关内容