Others have mentioned enumerations, but perhaps have overlooked the request for material between items. An out-of-the-box solution for this is provided by the enumitem
package, where there is the possibility of labelling an enumerate
with a series
name. Following instances can then use enumerate
together with resume
\begin{enumerate}[series=numpars]
\item ...
\end{enumerate}
....
\begin{enumerate][resume=numpars]
\item ...
\end{enumerate}

\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum} %For dummy text
\begin{document}
\lipsum[1]
\begin{enumerate}[series=numpars]
\item \lipsum[2]
\end{enumerate}
\lipsum[3]
\begin{enumerate}[resume=numpars]
\item \lipsum[4]
\end{enumerate}
\end{document}
If you would like a dedicated environment numpar
for this without the need for resume
or item
then you can use the following code, which produces the same output as above. The idea is to add a toggle to keep track of whether this is the first instance or not and pass either series
or resume
to the list constructor. Additionally, it has been set-up with a dedicated list type numparmain
, that could be customised further (via standard options in enumitem
) to adjust indentation or label style.
\documentclass{article}
\usepackage{enumitem,etoolbox}
\newlist{numparmain}{enumerate}{1}
\setlist[numparmain]{label=\arabic*.}
\newtoggle{firstnumpar}
\toggletrue{firstnumpar}
\newenvironment{numpar}{\iftoggle{firstnumpar}%
{\begin{numparmain}[series=numpars]}%
{\begin{numparmain}[resume=numpars]}%
\global\togglefalse{firstnumpar}%
\item\ignorespaces}%
{\end{numparmain}}
\usepackage{lipsum} %For dummy text
\begin{document}
\lipsum[1]
\begin{numpar}
\lipsum[2]
\end{numpar}
\lipsum[3]
\begin{numpar}
\lipsum[4]
\end{numpar}
\end{document}
enumerate
environment is what you'd like?enumerate
environment?enumerate
environment is what you most likely want.