在枚举环境中,强制在项目编号后换行

在枚举环境中,强制在项目编号后换行

我如何强制项目的文本enumerate从项目编号下方的新行开始?

答案1

正如 egreg 在评论中提到的那样,使用

\item\mbox{}\\

会完成这项工作。如果您希望自动完成这项工作,您可以定义一个行为类似于的命令\item,但添加\mbox{}\\

\documentclass{article}

\makeatletter
\def\myitem{%
   \@ifnextchar[ \@myitem{\@noitemargtrue\@myitem[\@itemlabel]}}
\def\@myitem[#1]{\item[#1]\mbox{}\\}
\makeatother

\begin{document}

\begin{enumerate}
  \item\mbox{}\\First.
  \item\mbox{}\\Second.
\end{enumerate}

\begin{enumerate}
  \myitem First.
  \myitem Second.
\end{enumerate}

\end{document}

在此处输入图片描述

如果您还希望项目文本与项目标签左对齐,则可以使用该enumitem包定义一个新列表,该列表的行为类似于标准列表,但带有左对齐标签;并且需要enumerate对上述命令进行修改:\myitem

\documentclass{article}
\usepackage{enumitem}

\makeatletter
\def\myitem{%
   \@ifnextchar[ \@myitem{\@noitemargtrue\@myitem[\@itemlabel]}}
\def\@myitem[#1]{\item[#1]\mbox{}\\\hspace*{\dimexpr-\labelwidth-\labelsep}}
\makeatother

\newlist{mylist}{enumerate}{2}
\setlist[mylist,1]{align=left,label=\arabic*.}
\setlist[mylist,2]{align=left,label=(\alph*)}

\begin{document}

\begin{mylist}
  \myitem First item.
  \myitem Second item.
  \begin{mylist}
    \myitem First subitem.
    \myitem Second subitem.
  \end{mylist}
  \myitem Third item.
\end{mylist}

\end{document}

在此处输入图片描述

相关内容