sphinxcontrib-emacs is an extension to the Sphinx documentation tool, which lets you document Emacs Lisp symbols, including automatic docstring extraction from Emacs Lisp source.

This page gives you brief overview of Sphinx and its underlying markup reStructuredText.


Sphinx forms the base this extension builds on. It is a powerful documentation processor, initially created by the Python Foundation for the Python documentation.

It supports many different output formats (including HTML, PDF and Texinfo), has extensive cross-referencing support, automated index generation, and a powerful interface for custom extensions.

More information about Sphinx can be found in the Sphinx documentation. If you are not familiar with Sphinx, please take a look at the Introduction, and read the tutorial.


Sphinx uses reStructuredText (ReST) as markup for documentation sources. It is an easy-to-use plaintext markup, similar to the popular Markdown format, but with a more regular grammar, and extensible syntax.

The Sphinx documentation has a brief, but comprehensive reStructuredText Primer, which should get you started on reST if you are familiar with similar formats like Markdown. More information can be found on the reStructuredText page, including a specification and a reference of the provided directives and roles.

Sphinx adds its own special markup to reStructuredText, for the specific needs of large documentation. This markup is documented in Sphinx Markup Constructs.