For my (mostly internal technical) presentations I used to use the S5 system, driven by reStructuredText

For this usecase, this seemed perfect: reStructuredText is, frankly, fun to write, there is some Emacs support, it can be machine-edited quite easily.

So when I started with my database course at first I produced the slides with this tool chain. However, it turned out there were some issues with this approach:

  • Although my course is not heavy on math, I needed at least some math formatting. There are ways to format math via a special role and LaTeX, but none I could find for S5

  • Layout capabilities as a whole are rather limited

  • And last but not least, there is no sane way of producing true printed output of the slides as they appear on screen. My students hated this — they like to write on slide printouts, and I think thats a very valid use case.

So, I’ve gone back to LaTeX and the Beamer class (which I used to use for previous courses). This is slightly more verbose to produce but alleviates the aforementioned problems. Plus, I’ve got access to a whole lot of LaTeX niceties. For example automatic TOCs, automatical overviews on section change, and of course great typography.

The “production environment” now looks like this:

I’ve set up some Emacs macros to deal with the LaTeX verbosity and am quite happy with this setup now.

Some caveats:

  • One has to be careful to use the [fragile] option of frames if minted-formatted source is to be inserted, otherwise LaTeX will report a “FancyVerb Error” (I believe this also happens with verb environments)

  • Also, for frame titles, the \frametitle command seems to be more robust than the implied frame title option of the frame environment

  • And: creating templates for beamer is still hard :–)