25

How can I force the text of an enumerate item to start on a new line below the item number?

2
  • 6
    Usually \item\mbox{}\\ suffices.
    – egreg
    Sep 25, 2011 at 23:39
  • 1
    Please don't forget to accept answers to your questions by clicking on the tickmark below their vote count, if their respective problems have been solved. (If not, edit the question to clarify what you're looking for.) This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!).
    – doncherry
    Oct 22, 2011 at 12:57

1 Answer 1

26

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}

enter image description here

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}

enter image description here

2
  • 1
    I would probably use e.g. \widowpenalty=10000 in such lists to prevent a page break directly after the number. Sep 26, 2011 at 10:52
  • 1
    This 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 4, 2020 at 4:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .