rst2beamer

A restructured text-based tool for preparing presentations.

Platforms & distributions

  • Python package
  • platform-independent source code
  • commandline script

Repositories

Development status

Stable, handed on.

Latest version

See below.

Note

rst2beamer has been wildly successful and used far beyond what I imagined. Further development has been taken on by Ryan Krauss and subsequently others. The source has been moved to its own repo on github and that (and the PyPi page) should be used as the primary sources. No more releases will be made vaialble via this site.

Background

Writing a series of presentations is a pain.

While preparing the slides for week 2 of a 6 week course, I realised the amount of time I was spending on minutiae - pasting code in, adjusting the formatting of said code, lining up boxes. It was all just bulletpoints and code and it was taking me ages to prepare the sldies for a single lecture.

So I instead spent ages writing a tool that converted restructured text to slides.

rst2beamer is basically a gloss on the docutils rst2latex tool, except that it converts ReST to Beamer, which is a LaTeX document class for slide presentations. This in turn may be converted to the usual LaTeX destinations: dvi, pdf, etc. rst2beamer have been used successfully across the globe in preparing presentations for lectures and conferences. It allows you to concentrate on content and structure and rely on the tool to generate a decent looking presentation.

You may wish to explore some of the alternatives that have subsequently cropped up: rst2slides or rst2s5.

Installation

This package can be installed by the usual Pythonic methods:

  1. use your favourite installation tool:

    % easy_install rst2beamer

  2. or download the source, unpack it, change into the directory and call:

    % python setup.py install

Usage

Note

Depending on your platform, the scripts may be installed as .py scripts, or some form of executable, or both.

rst2beamer can be called:

rst2beamer.py infile.txt > outfile.tex

where infile.txt contains the source text and outfile.tex contains the produced Beamer LaTeX. It can takes all the arguments that rst2latex does, save the documentclass option (which is fixed to beamer) and hyperref options (which are already set in beamer).

rst2beamer should interpret a reasonable subset of restructured text 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. those 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.

Consult the manual in the distribution for more detasils. 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.

Limitations

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.

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 ReST'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.