# Paragraph Enumeration

## Standard Paragraph Numbering

ConTeXt has a built-in mechanism for paragraph numbering, which places numbers in the margin. This is accessed with \setupparagraphnumbering.

The mechanism numbers ‘TeX paragraphs’, so a formula or an itemization item will get its own number. For ‘block of thought’ paragraphs that can contain multiple TeX paragraphs, see the t-pararef module described at Paragraph Referencing.

\setuppapersize[A5]
\starttext
Some text in an unnumbered paragraph before the paragraph numbering starts.

\setupparagraphnumbering[state=start,style=italic,distance=0pt]
This is the first numbered paragraph; it's short.

This is another numbered paragraph.  It's long enough to wrap around onto
more than one line, so as to show that these are paragraph numbers and not
line numbers.

\startitemize[packed]
\item an
\item itemization
\stopitemize

A third numbered paragraph.
\setupparagraphnumbering[state=stop]

And, finally, an unnumbered paragraph after the paragraph numbering.
\stoptext


## Paragraph Numbering in the Text

An alternate way of numbering paragraphs is to place the numbers in the running text, rather than in the margin. ConTeXt doesn't have a built-in way to do this, but it's not difficult to add a method using the \everypar macro. The following code was proposed by Taco on the mailing list.

\setuppapersize[A6]
\newcounter\Paracount
\setcounter\Paracount1
\def\Paragraphnumber%
{\increment\Paracount
\Paracount.~}
\def\startParagraphNumbers%
{\par \begingroup \appendtoks \Paragraphnumber \to \everypar}
\def\stopParagraphNumbers%
{\par \endgroup}

\starttext
Some text in an unnumbered paragraph before the paragraph numbering starts.

\startParagraphNumbers
This is the first numbered paragraph; it's short.

This is another numbered paragraph.  It's long enough to wrap around onto
more than one line, so as to show that these are paragraph numbers and not
line numbers.

A third numbered paragraph.
\stopParagraphNumbers

And, finally, an unnumbered paragraph after the paragraph numbering.
\stoptext


This produces the following result:

## Combining Section Numbering with Paragraph Numbering and Titles

Idris provided a modified version of an enumerated-paragraphs sample provided by Wolfgang. In the modified version, section numbering is combined with paragraph enumeration, with titles optional:

\defineseparatorset [ParagraphNumber][.,] % no second decimal for susubparagraphs
% \defineseparatorset [ParagraphNumber][.,.] % second decimal for susubparagraphs

\definecounter[ParagraphNumber][numberseparatorset=ParagraphNumber,criterium=all]

\define\ParagraphNumber
{{\bf \incrementcounter[ParagraphNumber]%

\define\subParagraphNumber
{{\bf \incrementcounter[ParagraphNumber][2]%

\define\subsubParagraphNumber
{{\bf \incrementcounter[ParagraphNumber][3]%

[style=\bf,
alternative=text,
criterium=all,
number=no,
textcommand=\ParagraphNumber,
insidesection=\hskip-0.49em] % adjust space after title

[style=\bf,
alternative=text,
criterium=all,
number=no,
textcommand=\subParagraphNumber,
insidesection=\hskip-0.49em] % adjust space after title

[style=\bf,
alternative=text,
criterium=all,
number=no,
textcommand=\subsubParagraphNumber,
insidesection=\hskip-0.49em] % adjust space after title

\setupwhitespace[line]

\starttext
\startsection[title={Text.}]
\input ward
\startsubsection
\input ward
\startsubsubsection[title={Text.}]
\input ward
\stopsubsubsection
\stopsubsection
\stopsection

\startsection
\input ward
\startsubsubsection
\input ward
\stopsubsubsection
\stopsection
\stoptext


The output from the previous code is: