Producing presentations (including slides)

Lamport’s original LaTeX had a separate program (SliTeX) for producing slides; it dates from the age when colour effects were produced by printing separate slides in different-coloured inks, and overlaying them, and was just about acceptable back then. When LaTeX 2e came along, the reason SliTeX had to be a separate program went away, and its functionality was supplied by the slides class. While this makes life a little easier for system administrators, it does nothing for the inferior functionality of the class: no-one who “knows” uses slides nowadays.

The ‘classic’ alternatives have been seminar and foils (originally known as FoilTeX). Both were originally designed to produce output on acetate foils, though subsequent work has provided environments in which they can be used with screen projectors (see below).

The advent of Microsoft PowerPoint (feeble though early versions of it were) has created a demand for “dynamic” slides — images that develop their content in a more elaborate fashion than by merely replacing one foil with the next in the way that was the norm when slides, foils and seminar were designed.

The prosper class builds on seminar to provide dynamic effects and the like; it retains the ability to provide PDF for a projected presentation, or to print foils for a foil-based presentation. The add-on package ppr-prv adds “preview” facilities (that which is commonly called “hand-out printing”). The HA-prosper package, which you load with prosper, mends a few bugs, and adds several facilities and slide design styles. The (more recent) powerdot class is designed as a replacement for prosper and HA-prosper, co-authored by the author of HA-prosper.

Beamer is a relatively easy-to-learn, yet powerful, class that (as its name implies) was designed for use with projection displays. It needs the pgf package (for graphics support), which in turn requires xcolor; while this adds to the tedium of installing beamer “from scratch”, both are good additions to a modern LaTeX installation. Beamer has reasonable facilities for producing printed copies of slides.

Talk is another highly functional, yet easy-to-learn class which claims to differ from the systems mentioned above, such as beamer, in that it doesn’t impose a slide style on you. You get to specify a bunch of slide styles, and you can switch from one to the other between slides, as you need. The class itself provides just the one style, in the package greybars: the author’s suggestion that users should contribute their own has been enthusiastically accepted — see (for example) the Beamer Gallery.

Lecturer is a generic solution (it works with Plain TeX, LaTeX and Context mk ii, but not — yet — with Context mk iv). By separating the functionality needed for a presentation (using TeX for typesetting, and PDF functions for layering and dynamic effects) a clear structure emerges. While it doesn’t have the range of “themes” (presentation styles) of beamer it seems a useful alternative candidate.

Present is designed for use with Plain TeX only; its design is simple, to the extent that its author hopes that users will themselves be able to tune its macros.

Ppower4 (commonly known as pp4) is a Java-based support program that will postprocess PDF, to ‘animate’ the file at places you’ve marked with commands from one of the pp4 packages. The commands don’t work on PDF that has come from dvips output; they work with PDF generated by PDFLaTeX, LaTeX, or dvipdfm running on LaTeX output.

Pdfscreen and texpower are add-on packages that permit dynamic effects in documents formatted in “more modest” classes; pdfscreen will even allow you to plug “presentation effects” into an article-class document.

A more detailed examination of the alternatives (including examples of code using many of them) may be found at Michael Wiedmann’s fine

CONTeXT users will find that much (if not all) of what they need is already in CONTeXT itself; there’s a useful summary of what’s available, with examples, in

Download all of beamer
distributed with talk