13

When using itemize list, I would like to include text which is not part of the bullet points. Is it possible not to indent it the way items are indented?

\begin{itemize}
\item One
Subsequently, we only want to count the cases...
\item Two
The subsequent order of the other neighbors...
\item Three
\end{itemize}
  • 1
    Using enumitem.sty you can easily stop and resume itemizations and enumerations. – Mariano Suárez-Álvarez Sep 4 '13 at 23:30
  • The following is probably a source duplicate: Disable indentation in enumerate temporarily – Werner Sep 4 '13 at 23:31
  • Did you try using more paragraphs in an item? E.g. \item One \par One continues \par And again \item Two. This produces indentation, but no bullet. See the link in the comment above for more info. – nickie Sep 4 '13 at 23:32
  • Is this the extent of your usage? Will One, Two, and Three be what is contained as an \item in your itemize, followed by a "lengthy" discussion afterwards (which you don't want indented)? – Werner Sep 4 '13 at 23:51
10

With the help of a \vbox you can "escape" from the indentation in a list:

\documentclass{article}
\usepackage{lipsum}

\newcommand\NoIndent[1]{%
  \par\vbox{\parbox[t]{\linewidth}{#1}}%
}

\begin{document}

\begin{itemize}
\item One
\NoIndent{\lipsum[4]}
\item Two
\NoIndent{\lipsum[2]}
\item Three
\NoIndent{\lipsum[1]}
\end{itemize}

\end{document}

enter image description here

As barbara beeton has noticed in her comment, the above solution doesn't admit page breaks inside \NoIndent; here's a solution admitting page breaks, using \vsplit to break the \vbox (this technique was explained by egreg in his answer to Breakable vboxes):

\documentclass{article}
\usepackage[a6paper]{geometry}% just for the example
\usepackage{lipsum}

\newbox\totalbox
\newbox\partialbox
\newdimen\partialboxdim

\newenvironment{nibox}
  {\par\vskip-6pt\setbox\totalbox=\vbox\bgroup}
  {\egroup\splitnibox}

\def\splitnibox{%
  \ifvoid\totalbox\par
  \else\continuesplitting\fi}

\def\continuesplitting{\null% In case this starts a new page
  \dimen255=\dimexpr\pagegoal-\pagetotal-\pageshrink-6pt\relax
  \ifdim\ht\totalbox<\dimen255
    \setbox\partialbox=\box\totalbox
    \unvbox\partialbox
  \else
    \setbox\partialbox=\vsplit\totalbox to\dimen255
    \unvbox\partialbox\eject
  \fi
  \splitnibox}

\newcommand\NoIndent[1]{\begin{nibox}#1\end{nibox}}

\begin{document}

\begin{itemize}
\item One
\NoIndent{\lipsum[4]}
\item Two
\NoIndent{\lipsum[2-3]}
\item Three
\end{itemize}

\end{document}

enter image description here

  • but what if one of these non-indented blocks needs to be broken at the end of a page? i think this would be effective only for very short insertions. – barbara beeton Sep 5 '13 at 14:32
  • @barbarabeeton yes; the original solution didn't admit page breaks. I've updated my answer with a new solution amending this. – Gonzalo Medina Sep 5 '13 at 21:01
  • A trifle too complicated. ;-) – egreg Sep 5 '13 at 21:22
  • @egreg Perhaps, but in the process I learnt how to split boxes, so it was worth doing it. – Gonzalo Medina Sep 5 '13 at 21:39
10

You can revert to \parshape0 inside a group, so the previous setting will be resumed after the group:

\documentclass{article}
\usepackage{lipsum}

\newcommand\NoIndent[1]{%
  \begingroup
  \par
  \parshape0
  #1\par
  \endgroup
}

\begin{document}

\begin{itemize}
\item One
\NoIndent{\lipsum[4]}
\item Two
\NoIndent{\lipsum[2]}
\item Three
\NoIndent{\lipsum[1]}
\end{itemize}

\end{document}

This has no problems with page breaks.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.