![在枚举环境中,强制在项目编号后换行](https://linux22.com/image/240922/%E5%9C%A8%E6%9E%9A%E4%B8%BE%E7%8E%AF%E5%A2%83%E4%B8%AD%EF%BC%8C%E5%BC%BA%E5%88%B6%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%BC%96%E5%8F%B7%E5%90%8E%E6%8D%A2%E8%A1%8C.png)
我如何强制项目的文本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}