Monday, August 22, 2011

Producing Good PDF Presentations via LaTeX

I'm in the process of creating slides from LaTeX. Though LaTeX isn't as fancy as other presentation software, it seems to be the only decent solution for which runs easily on Linux. Below is a collection of tips:

  • Beamer seems to be the best LaTeX package for presentations. For example, Beamer makes it downright trivial to display a list one bullet at-a-time.
  • \pause before a list item will reveal later items after earlier items. If you want to reveal list items one-at-a-time, use
    \begin{itemize}[<+->]
    to start the list.
  • To put two items side-by-side, use a minipage. For example, here is a template to display a list on the left and an image on the right:
    \begin{minipage}{2in}
    \begin{itemize}
    \item one
    \item two
    \end{itemize}
    \end{minipage}
    \begin{minipage}{2in}
    \includegraphics[width=2in]{somegrapic}
    \end{minipage}
  • Use pdflatex to generate PDF. One advantage is automatic usage of Type 1 scalable fonts (as opposed to bloated, ugly Type 3 bitmapped fonts which you may get if you convert from DVI or EPS to PDF). Note that you can check fonts in a PDF file by selecting File->Properties->Fonts in evince.
  • If you can't or don't want to use pdflatex, include \usepackage{pslatex} in your document preamble and use the -Ppdf option when running dvips.
  • If you use the AUCTeX Emacs package, you can run the pdflatex command easily from Emacs by configuring a pdflatex command via your .emacs file:
    (eval-after-load "tex"
      '(add-to-list 'TeX-command-list
    		'("pdflatex" "pdflatex %s" TeX-run-command t t :help "Run pdflatex") t))
    
    Note that you can reload a file in evince with Ctrl-R.

Here is a template:

\documentclass{beamer}
\usepackage{beamerthemesplit}

\title{}
\author{}
\institute{}
\date{\today}

\begin{document}

\frame{\titlepage}

\section*{Outline}

\frame{\tableofcontents}

\section{Introduction}

\begin{frame}{Introduction}
\begin{itemize}[<+->]
\item First Topic
\item Second Topic
\item Third Topic
\end{itemize}
\end{frame}

\end{document}

No comments:

Post a Comment