Presentations with LaTeX

With the availability of notebook computers supporting high-quality graphics and good X/SVGA projectors it becomes more and more appealing to replace the good old slides with more modern presentation tools. This page is dedicated to the preparation of presentations with LaTeX. The emphasis is on online presentations, but some of the material is also useful if you finally print everything on slides.

Some may ask: Why use LaTeX, when there are specialized online presentations tools available? Here are some good reasons:

  • Layout of mathematical formulae and program text is much better than in standard presentation tools.
  • Reuse of material from a (research) paper is easier.
  • The whole range of LaTeX packages and support tools is at your disposal.
  • Portable solution: You can use whichever operating system you like.

Latest News

  • [25 Feb 6] New version 1.7b of the style file (fragments of overlays don't show in the upper left hand corner anymore)
  • [24 Jul 5] New version 1.7a of the style file (slides are properly oriented by default)
  • [17 Jun 5] New version 1.6c of the style file
  • Matt Chapman's PostScript presentation tool
  • New version 1.6a of the style file
  • New version 1.5a of the style file
  • Updated the gv-talk script for XGA displays.
  • More details on the anti-aliasing problem.
  • A second example on how to use the style.


I use the following software packages on a GNU/Linux machine:

teTeX 2.0.2
This is IMHO the best (La)TeX distribution - it includes all the packages that I use routinely. Of course, you can use any other distribution including LaTeX2e and ensure manually that all the packages that I use below are available.
ghostscript 7.07
GNU PostScript interpreter
gv 3.5.8 or ggv 2.8.0
Graphical front-ends for ghostscript
pspresent 1.2
Fullscreen PostScript presentation tool with double buffering

LaTeX Styles and Packages

For both presentations that I print on slides and online presentations, I have written my own LaTeX2e class, which essentially customizes the seminar style. It also adds support for running footers as well as itemized and numbered lists with a layout that fits nicely to the sans serif PostScript font that I use for the main text. Finally, there is some support for overlays, which most importantly includes a hack that allows to accumulate overlay images for online presentations (this is essential if you want to use seminar styles overlay mechanism, which in turn builds on PSTricks, in an online presentation). The current version of the class file is chaksem 1.7b. (The class depends on at least the following packages: seminar, pstricks, newcent, palatino, helvetica, and pifont.) You may download the following versions:

No garbage from overlays in upper left hand corner anymore.
Slides are no longer standing on their head in a previewer
Some small improvements including a patch by Joe Milbourn fixing the colour of top and bottom rulers
Some small improvements
Latest release including the class file and the LaTeX source of the documentation. Revision and some additional features.
Latest release including the class file and the LaTeX source of the documentation. This is a bug-fix release.
Class file and the LaTeX source of the documentation.
First release.

The preformatted documentation is also available.


I usually do my graphics with PSTricks. This is a bit more work in the beginning when compared to using a WYSIWIG graphics program; but it allows me to easily use LaTeX fonts in my graphics and it makes reuse of graphics much easier in my experience. If you prefer a more traditional graphics program, I recommend The Gimp for bitmap graphics and Dia for vector graphics.

Displaying a Presentation

I generate a PostScript version of my presentation with dvips and display it with pspresent, which is a front-end to the PostScript interpreter ghostscript that displays slides in fullscreen mode and uses double buffering to avoid any flickering during slide transitions.

If pspresent is not available, an alternative is to use gv or ggv (which I use to preview the slides while I am writing a talk). I use a tiny script called gv-talk (updated 22 Nov 2000) to invoke gv on my notebook such that the presentation fills the whole screen (1024x768 XGA). Note: The position may have to be adjusted a little bit by hand - unfortunately, gv's -geometry parameter doesn't allow more accurate placement? Use the script as in gv-talk big on 1024x768 XGA (default, without specifying big is 800x600 SVGA). There is also a big2 option, which enlarges the font even further (but still meant for XGA displays).

During the presentation with gv, I move the mouse cursor into the right half of gv's display. This allows me to move to the next slide with a double click of the left mouse button.

At lower colour depth, there may be problems with using gs' anti-aliasing (in gv, it can be toggled with the a key) on colour slides. Depending on the order in which different colours appear on a slide, the anti-aliasing algorithm may or may not screw up some colours - I guess, it doesn't do the colour allocations correctly (so the problem my not appear on a direct mapped display). The simple solution is to just switch off anti-aliasing and hope that the distance between the screen and your audience smoothes the picture subjectively for them. An alternative trial-and-error approach to the problem is to change the order in which colours appear on affected slides. Usually, it is sufficient to have the colour that is not properly displayed appear earlier in the slide (this can be a single dot at the top of the slide). The third and best solution would be to have a look at gs' source and to fix the anti-aliasing routine. (Let me know if you succeed with this!)

As pointed out by Toshiyuki Yamada, the Helvetica font is sometimes better suited than the Avantgarde font, which chaksem uses by default. Since version 1.2d, Helvetica can be selected with the helvetica option.

Two Examples

If you want to see, how a presentation with the discussed tools looks like, here is an example. You can also get the LaTeX code for this presentation (to compile it, you need to use my Haskell style, which eases setting functional programs). Another talk works fine with anti-aliasing and demonstrates that code fragments look way better when they are set in a nice proportional font and are placed on a light gray background, which visually separates them from the rest of the slide. The LaTeX source is also available, but it is quite a bad hack in some places - I just didn't have the time to make it nicer before I had to give the talk.

Future Work

IMHO, the LaTeX/gv combination can still be significantly improved for online presentations. Some interesting features would be the following:

  • Is some animation possible?

If you have some ideas, e-mail


The P^4 system allows for some rather impressive presentations with pdflatex; however, you cannot use pstricks, you have to use acroread, and there is an additional compilation step after LaTeX has been run. Moreover, the LaTeX class Prosper provides support for preparing slides with LaTeX. In addition, you may be interested in a talked entitled Electronic Presentation Sans Microsoft PowerPoint that outlines an alternative route for LaTeX-based presentations via PDF.

• Copyright 2005 Manuel M T Chakravarty • Last modified: Sat Feb 25 01:16:23 EST 2006