Skip to main content

A docutils writer and script for converting restructured text to the Beamer presentation format

Project description

Build status


A docutils script converting reStructuredText into Beamer-flavoured LaTeX.

Beamer is a LaTeX document class for presentations. rst2beamer provides a docutils writer that transforms reStructuredText into Beamer-flavoured LaTeX and provides a command-line script for the same. Via this script, reStructuredText can therefore be used to prepare slides and presentations.

This is an unofficial fork (of that runs on both Python 2 and 3.


Using pip:

$ pip install --upgrade rst2beamer3k

Beamer dependency

On MacPorts:

$ sudo port install texlive-latex -x11 texlive-fonts-recommended -x11


rst2beamer should interpret a reasonable subset of reStructuredText and produce reasonable LaTeX. Not all features of Beamer have been implemented, just a (large) subset that allows the quick production of good looking slides. These include:

  • Overlay lists (i.e. list items that appear point-by-point).

  • Beamer themes.

  • Automatic centering and resizing of figures.

  • Embedded notes and the output of note slides.

  • Arranging slide contents into columns.

Some examples can be found in the docs/examples directory of the distribution. In practice, rst2beamer can be used with pdflatex to get PDF versions of a presentation.

rst2beamer is called:

$ rst2beamer [options] [<source> [<destination>]]

For example:

$ rst2beamer infile.txt outfile.tex

infile.txt contains the reStructuredText and outfile.tex contains the produced Beamer LaTeX.

It supports the usual docutils and LaTeX writer (rst2latex) options, save the documentclass option (which is fixed to beamer) and hyperref options (which are already set in Beamer). It also supports:

--theme=THEME           Specify Beamer theme.
                        Overlay bulleted items. Put [<+-| alert@+>] at the
                        end of \begin{itemize} so that Beamer creats an
                        overlay for each bulleted item and the presentation
                        reveals one bullet at a time
                        Center figures.  All includegraphics statements will
                        be put inside center environments.
                        Specify document options. Multiple options can be
                        given, separated by commas.  Default is
--shownotes=SHOWNOTES   Print embedded notes along with the slides. Possible
                        arguments include 'false' (don't show), 'only' (show
                        only notes), 'left', 'right', 'top', 'bottom' (show
                        in relation to the annotated slide).


Earlier versions of rst2beamer did not work with docutils 0.4, seemingly due to changes in the LaTeX writer. While this has been fixed, most work has been done with docutils snapshots from version 0.5 and up. In balance, users are recommended to update docutils.

More recently, changes in the LaTeX writer in docutils 0.6 broke rst2beamer again. We think all those bugs have been caught.

Not all features of Beamer are supported, and some - that deal with with page layout or presentation - may never be. Introducing complex syntax to achieve complex and specific page effects defeats the point of reStructuredText’s simple and easy-to-write format. If you need a complex presentation, use PowerPoint or Keynote.

If the content for an individual slide is too large, it will simply overflow the edges of the slide and disappear. Arguably, this is a sign you should put less on each slide.


rst2beamer is developed by Ryan Krauss and Paul-Michael Agapow. Thanks to those who reported and helped us track down bugs: Perttu Laurinen, Mike Pennington, James Haggerty and Dale Hathaway.


v0.9, 2015-03-27

  • Use better defaults. The default theme is now Ilmenau and the --overlaybullets is now disabled by default.

v0.8.5, 2015-03-07

  • Respect --language in the context of admonition directives.

v0.8.4, 2014-11-14

  • Fix width calculation in columns.

v0.8.3, 2014-08-26

  • Improve scaling.

v0.8.2, 2013-12-01

  • Enable syntax highlighting by default.

v0.8, 2013-06-04

  • Added Python 3 support.

v0.6.6, 2009-11-06

  • Added experimental support for codeblocks, which may be syntax-colored with Pygments.

  • Normalised all directive names to beamer- (as opposed to r2b_) in line with general docutils style, although the old names are still silently supported.

v0.6.4, 2009-10-22

  • The parsed-literal environment was losing indentation, and perhaps has been since docutils 0.4. It now works correctly.

  • Added “calling” information to examples. Also added bullet example.

v0.6.2, 2009-10-20

  • It seems there have been some changes in the docutils LaTeX2e writer, which the Beamer writer is based upon. Hopefully they’ve all been caught.

  • Corrected url in header of source, as well as some misspellings.

v0.6.1, 2009-09-14

  • Added note environment

  • Added manual

v0.6, 2009-09-03

  • Introduced column environment

v0.5.3, 2009-07-16

  • Fixed manifest so source included (facepalm)

  • Changed to get single-file module to install

v0.5.1, 2009-05-08

  • Expanded documentation.

v0.5, 2009-05-07

  • Shift to setuptools distribution with script installation.

v0.3, 2009-03-25

  • RK takes over. Sections and subsections are supported. Images default to being centered and having a height of 0.7textheight.

v0.2.1, 2008-08-30

  • Date approximate. Earlier versions of rst2beamer did not work with docutils 0.4, seemingly due to changes in the LaTeX writer.

v0.2.0, 2007-08-30

  • Date approximate. Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rst2beamer3k-0.9.1.tar.gz (626.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page