Creating Presentations in PDFLaTeX

Matt Welsh, Harvard University
Last updated 29 May 2003

Introduction

This web page is a quick start guide to creating great-looking presentations in PDFLaTeX, a version of LaTeX that generates PDF output instead of DVI. I have been using PDFLaTeX for writing papers for some time, and finally put together all of the tools for making presentations this way as well.

There are many ways to make presentations in TeX; this web page only describes my own setup, based on PDFLaTeX, the FoilTeX package, the PPower4 PDF post-processor, and TrueType fonts.

Here is an example presentation in PDF format generated by this setup. Here is a more complete presentation using this format.

Why PDF?

PDF is a near-universal format these days, and the Acroread reader from Adobe has fantastic image and text display quality. Putting Acroread into "full screen" display mode lets you display your presentation live on a laptop or workstation. You can also directly print the PDF file onto foils. PDF also has a number of advanced features -- special display effects, hyperlinks, and so forth -- which are great for presentations.

Why PDFLaTeX?

I used to be very frustrated with the display quality of the various presentation systems out there for Linux. These days I use OpenOffice, which has improved tremendously over previous versions. I have also used MagicPoint, and was generally happy with it -- but rendering figures required that I save them to a (fixed-resolution) GIF or JPEG image which doesn't scale or look very good at different resolutions.

I also write all of my papers in PDFLaTeX, and thought it would be great if I could exploit LaTeX's ability to generate foils to make presentations. This way I can directly cut-and-paste figures or text from my papers into a presentation without having to jump through hoops. Luckily my buddy Rob Szewczyk pointed out that PDFLaTeX could do all of these things. Once I figured it all out, I was hooked!

Example TeX Presentation

The TeX code for the example presentation given above is right here. As you can see it's very straightforward - mainly a set of nested bulleted lists and some included graphics and math formulas. But this is only scratching the surface -- with LaTeX you can do all kinds of interesting layouts, macros, and so forth. This example is necessarily quite simple just to show off the main features.

Getting Started

Here's how to get started with your own PDFLaTeX-based presentations.

  1. Get PDFLaTeX. It turns out this is installed on most Linux systems already. Just see if the command pdflatex is installed; if so you probably already have PDFLaTeX installed. If not then it can be obtained from this web page. (If you run Linux it's probably best to install an RPM instead; use rpmfind.net.)

  2. Install some TrueType Fonts. This can be pretty compilcated, and is of course optional. This web page walks you through the process. I wrote a Perl script that takes a directory of TTF files and installs them for use by PDFLaTeX. Here is the script. Before you just blindly run this script you should read it over and try to understand what it does. Essentially it takes each TTF file in the current directory and runs various magic commands over it, placing the results in the right places for PDFLaTeX to use. Your mileage may vary!

    There are many web sites out there with free TrueType fonts; some of my favorite are at Divide by Zero and Fontpool. The TrueType fonts used by my slide macros (see below) are available in the following ZIP file: fonts.zip. All of these fonts are freely redistributable - see the README file in fonts.zip for more information.

  3. Install the LaTeX style files. The file texslides.tar.gz contains various TeX style files which you need to generate foils. I gathered these from a number of places; some are from the FoilTeX package. Others are from the pdfslide package. To use them just place all of these files on a directory in your TEXINPUTS path. For example, in the bash shell,
      export TEXINPUTS=:/home/mdw/texslides
    
    Note the ":" at the beginning of TEXINPUTS, which allows TeX to search the current directory as well.

  4. Install the PPower4 software. PPower4 is a PDF post-processor that adds things like background colors, gradients, special effects, etc. to your presentation. You run it on a PDF file after generating it with PDFLaTeX. Here is the PPower4 home page. This program is written in Java, so you need some JDK 1.2.x compilant JVM to run it. Just download the pp4p.jar JAR file and ppower4 script. Edit the ppower4 script (to set the location of the pp4p.jar file) and place it on your PATH.

Making Presentations

Now you're ready to make presentations. The example presentation is one place to start. Note that the example uses an extra style file -- mdwslides.sty -- to provide some additional convenience macros. That file should be fairly self-explanatory. You can also read the documentation for FoilTeX, pdfslide, and PPower4.

To generate the presentation you simply do:

   pdflatex example.tex
   ppower4 example.pdf example-done.pdf
   mv example-done.pdf example.pdf

I usually use a Makefile to automate this process; an example Makefile is given here.

You now have the file example.pdf which is ready to be displayed. To display this in full-screen mode just choose Full Screen from the View menu in Acroread.

Good luck - let me know if you have any questions!