枚举(按小节编号)与现有文本的对齐

枚举(按小节编号)与现有文本的对齐

我有一份满是列表的文档,我需要在文档后面引用这些列表。因此,我enumerate按小节对列表 () 进行编号。我选择通过序言中的这一行来全局指定这一点:

\renewcommand*{\theenumi}{\thesubsection.\arabic{enumi}}

这给了我想要的结果,但是因为每个项目现在由 4 位数字组成(chapter.section.subsection.item),所以一些数字最终出现在左边距:

枚举和章节/部分/小节编号与文本不一致。

我希望枚举的数字(左)与文档文本的其余部分对齐(包括上图所示的小节编号)。由于我有大量列表,如何全局执行此操作?

如果相关:我正在使用memoir

答案1

与 Harish 的答案类似,但没有必要

\renewcommand*{\theenumi}{\thesubsection.\arabic{enumi}}

您可以简单地定义

\setlist[enumerate]{leftmargin=*,align=left,label=\thesubsection.\arabic*.}

梅威瑟:

\documentclass{memoir}

\setcounter{secnumdepth}{3}

\usepackage{enumitem}
\setlist[enumerate]{leftmargin=*,align=left,label=\thesubsection.\arabic*.}

\begin{document}

\chapter{A chapter}
\section{A section}
\subsection{A subsection}
\begin{enumerate}
  \item aaa
  \item bbb
  \item ccc
\end{enumerate}
\end{document} 

在此处输入图片描述

如果你只需要在少数enumerate环境中使用它,而不是全局设置

\setlist[enumerate]{leftmargin=*,align=left,label=\thesubsection.\arabic*.}

通过发出以下命令在本地使用这些设置

\begin{enumerate}[leftmargin=*,align=left,label=\thesubsection.\arabic*.]

请注意,您可能需要使用enumitemshortlabels选项加载

\usepackage[shortlabels]{enumitem}

如果您已经自定义enumerate列表。

答案2

您可以使用enumitem及其align=left

\documentclass{memoir}
\usepackage{enumitem} 
\renewcommand*{\theenumi}{\thesubsection.\arabic{enumi}}
\begin{document}
\chapter{A chapter}
\section{A section}
\subsection{A sub section}
\begin{enumerate}[align=left,leftmargin=*]
  \item Some item Some item Some item Some item Some item Some item Some item Some item Some item Some item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
\end{enumerate}
Some text here
\end{document}

请记住,类仅模拟包memoir的功能,为了获得更多控制,建议使用类。以下是使用自定义对齐方式进行更多控制的示例。enumerateenumitem

\documentclass{memoir}
\usepackage{enumitem} % for \midrule macro
\renewcommand*{\theenumi}{\thesubsection.\arabic{enumi}}
\SetLabelAlign{myleft}{\strut\smash{\parbox[t]{\labelwidth}{\raggedright#1}}}
\begin{document}
\chapter{A chapter}
\section{A section}
\subsection{A sub section}
\begin{enumerate}[align=myleft,labelwidth=1.25cm,leftmargin=\dimexpr\labelwidth+\labelsep,
        itemindent=!]
  \item Some item Some item Some item Some item Some item Some item Some item Some item Some item Some item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
  \item Some item
\end{enumerate}
Some text here
\end{document}

在此处输入图片描述

相关内容