Skip to main content

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

Project description

Build status

Introduction

A docutils script converting restructured text into Beamer-flavoured LaTeX.

Beamer is a LaTeX document class for presentations. rst2beamer [1] provides a Docutils [2] writer that transforms restructured text [3] into Beamer-flavoured LaTeX. and provides a commandline script for the same. Via this script, ReST can therefore be used to prepare slides and presentations.

Installation

$ pip install --upgrade rst2beamer3k

Usage

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

where infile.txt contains the ReST 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.
--overlaybullets=OVERLAYBULLETS
                        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
--centerfigs=CENTERFIGS
                        Center figures.  All includegraphics statements will
                        be put inside center environments.
--documentoptions=DOCUMENTOPTIONS
                        Specify document options. Multiple options can be
                        given, separated by commas.  Default is
                        "10pt,a4paper".
--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).

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.

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

Credits

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.

References

History

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 r2b- (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 setup.py 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.8.2.tar.gz (830.8 kB view details)

Uploaded Source

File details

Details for the file rst2beamer3k-0.8.2.tar.gz.

File metadata

File hashes

Hashes for rst2beamer3k-0.8.2.tar.gz
Algorithm Hash digest
SHA256 0b3b04c3a9940537f9326ac60b4dabb842598cbd0e021fb7dbb8c268d271133e
MD5 657cd5e251a7483815bea1728d2f6ebf
BLAKE2b-256 95980a3fb627cdbf902184888f33bd16be0cb0fd1e876fb45d8dfee24f002fdc

See more details on using hashes here.

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