How can I force the text of an enumerate item to start on a new line below the item number?
- 250,273
- 1,565
1 Answers
As egreg mentioned in a comment, using
\item\mbox{}\\
will do the job. If you want to have the job done for you automatically, you could define a command behaving like \item, but adding the \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}

If you additionally want the item text to start left aligned with the item label, you can use the enumitem package to define a new list which behaves like a standard enumerate, but with left aligned labels; and a modification to the \myitem command from above will be necessary:
\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}

- 60,462
- 505,128
-
1I would probably use e.g.
\widowpenalty=10000in such lists to prevent a page break directly after the number. – Ulrike Fischer Sep 26 '11 at 10:52 -
1This only left-align the first line. It's better to use
leftmargin=0pt,labelwidth=*in list options instead of\hspace*{\dimexpr-\labelwidth-\labelsep}. – Albert May 04 '20 at 04:59
\item\mbox{}\\suffices. – egreg Sep 25 '11 at 23:39