# sphinx / doc / markup / para.rst

## Paragraph-level markup

These directives create short paragraphs and can be used inside information units as well as normal text:

## Table-of-contents markup

The :dir:toctree directive, which generates tables of contents of subdocuments, is described in "Sphinx concepts".

For local tables of contents, use the standard reST :dir:contents directive.

## Index-generating markup

Sphinx automatically creates index entries from all information units (like functions, classes or attributes) like discussed before.

However, there is also an explicit directive available, to make the index more comprehensive and enable index entries in documents where information is not mainly contained in information units, such as the language reference.

## Grammar production displays

Special markup is available for displaying the productions of a formal grammar. The markup is simple and does not attempt to model all aspects of BNF (or any derived forms), but provides enough to allow context-free grammars to be displayed in a way that causes uses of a symbol to be rendered as hyperlinks to the definition of the symbol. There is this directive:

The following is an example taken from the Python Reference Manual:

.. productionlist::
try_stmt: try1_stmt | try2_stmt
try1_stmt: "try" ":" suite
: ("except" [expression ["," target]] ":" suite)+
: ["else" ":" suite]
: ["finally" ":" suite]
try2_stmt: "try" ":" suite
: "finally" ":" suite