我如何强制项目的文本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}