LaTeX/Presentations
| Getting Started
Common Elements
Mechanics Technical Texts
Special Pages Special Documents
Creating Graphics Programming Miscellaneous Help and Recommendations Appendices |
LaTeX can be used for creating presentations. There are several packages for the task, including the beamer package.
The Beamer package
The beamer package is provided with most LaTeX distributions, but is also available from CTAN. If you use MikTeX, all you have to do is to include the beamer package and let LaTeX download all wanted packages automatically. The documentation explains the features in great detail. You can also have a look at the PracTex article Beamer by example.[1]
The beamer package also loads many useful packages including hyperref.
Introductory example
The beamer package is loaded by calling the beamer class:
\documentclass{beamer}
The usual header information may then be specified. Note that if you are compiling with XeTeX then you should use
\documentclass[xetex,mathserif,serif]{beamer}
Inside the usual document environment, multiple frame environments specify the content to be put on each slide. The frametitle command specifies the title for each slide (see image):
\begin{document} \begin{frame} \frametitle{This is the first slide} %Content goes here \end{frame} \begin{frame} \frametitle{This is the second slide} \framesubtitle{A bit more information about this} %More content goes here \end{frame} % etc \end{document}
The usual environments (itemize, enumerate, equation, etc.) may be used.
Inside frames, you can use environments like block, theorem, proof, ... Also, \maketitle is possible to create the frontpage, if title and author are set.
Trick: Instead of using \begin{frame}...\end{frame}, you can also use \frame{...}.
For the actual talk, if you can compile it with pdflatex then you could use a pdf reader with a fullscreen mode, such as Adobe Reader. If you want to navigate in your presentation, you can use the almost invisible links in the bottom right corner without leaving the fullscreen mode.
Document Structure
Title page and information
You give information about authors, titles and dates in the preamble
\title[Crisis] % (optional, only for long titles) {The Economics of Financial Crisis} \subtitle{Evidence from India} \author[Author, Anders] % (optional, for multiple authors) {F.~Author\inst{1} \and S.~Anders\inst{2}} \institute[Universitäten Hier und Dort] % (optional) { \inst{1}% Institut für Informatik\\ Universität Hier \and \inst{2}% Institut für theoretische Philosophie\\ Universität Dort } \date[KPT 2004] % (optional) {Konferenz über Präsentationstechniken, 2004} \subject{Informatik}
In the document, you add the title page :
\frame{\titlepage}
Table of Contents
The table of contents, with the current section highlighted, is displayed by:
\begin{frame} \frametitle{Table of Contents} \tableofcontents[currentsection] \end{frame}
This can be done automatically at the beginning of each section using the following code in the preamble:
\AtBeginSection[] { \begin{frame} \frametitle{Table of Contents} \tableofcontents[currentsection] \end{frame} }
Or for subsections:
\AtBeginSubsection[] { \begin{frame} \frametitle{Table of Contents} \tableofcontents[currentsection,currentsubsection] \end{frame} }
References (Beamer)
Beamer does not officially support BibTeX. Instead bibliography items will need to be partly set "by hand" (see beameruserguide.pdf 3.20). The following example shows a references slide containing two entries:
\begin{frame}[allowframebreaks] \frametitle<presentation>{Weiterf¸hrende Literatur} \begin{thebibliography}{10} \beamertemplatebookbibitems \bibitem{Autor1990} A.~Autor. \newblock {\em Einf¸hrung in das Pr‰sentationswesen}. \newblock Klein-Verlag, 1990. \beamertemplatearticlebibitems \bibitem{Jemand2000} S.~Jemand. \newblock On this and that. \newblock {\em Journal of This and That}, 2(1):50--100, 2000. \end{thebibliography} \end{frame}
As the reference list grows, the reference slide will divide into two and so on, through use of the allowframebreaks option. Individual items can be cited after adding an 'optional' label to the relevant bibitem stanza. The citation call is simply \cite. Beamer also supports limited customization of the way references are presented (see the manual). Those who wish to use natbib, for example, with Beamer may need to troubleshoot both their document setup and the relevant BibTeX style file.
Style
Themes
The first solution is to use a built-in theme such as Warsaw, Berlin, etc. The second solution is to specify colors, inner themes and outer themes.
The Built-in solution
To the preamble you can add the following line:
\usetheme{Warsaw}
to use the "Warsaw" theme. Beamer has several themes, many of which are named after cities (e.g. Barcelona, Madrid, Berlin, etc.).
This Theme Matrix contains the various theme and color combinations included with beamer. For more customizing options, have a look to the official documentation included in your distribution of beamer, particularly the part Change the way it looks.
The full list of themes is:
|
|
|
|
|
Color themes, typically with animal names, can be specified with
\usecolortheme{beaver}
The full list of color themes is:
|
|
|
The do it yourself solution
First you can specify the outertheme. The outertheme defines the head and the footline of each slide.
\useoutertheme{infolines}
Here is a list of all available outer themes:
- infolines
- miniframes
- shadow
- sidebar
- smoothbars
- smoothtree
- split
- tree
Then you can add the innertheme:
\useinnertheme{rectangles}
Here is a list of all available inner themes:
- rectangles
- circles
- inmargin
- rounded
You can define the color of every element:
\setbeamercolor{alerted text}{fg=orange} \setbeamercolor{background canvas}{bg=white} \setbeamercolor{block body alerted}{bg=normal text.bg!90!black} \setbeamercolor{block body}{bg=normal text.bg!90!black} \setbeamercolor{block body example}{bg=normal text.bg!90!black} \setbeamercolor{block title alerted}{use={normal text,alerted text},fg=alerted text.fg!75!normal text.fg,bg=normal text.bg!75!black} \setbeamercolor{block title}{bg=blue} \setbeamercolor{block title example}{use={normal text,example text},fg=example text.fg!75!normal text.fg,bg=normal text.bg!75!black} \setbeamercolor{fine separation line}{} \setbeamercolor{frametitle}{fg=brown} \setbeamercolor{item projected}{fg=black} \setbeamercolor{normal text}{bg=black,fg=yellow} \setbeamercolor{palette sidebar primary}{use=normal text,fg=normal text.fg} \setbeamercolor{palette sidebar quaternary}{use=structure,fg=structure.fg} \setbeamercolor{palette sidebar secondary}{use=structure,fg=structure.fg} \setbeamercolor{palette sidebar tertiary}{use=normal text,fg=normal text.fg} \setbeamercolor{section in sidebar}{fg=brown} \setbeamercolor{section in sidebar shaded}{fg= grey} \setbeamercolor{separation line}{} \setbeamercolor{sidebar}{bg=red} \setbeamercolor{sidebar}{parent=palette primary} \setbeamercolor{structure}{bg=black, fg=green} \setbeamercolor{subsection in sidebar}{fg=brown} \setbeamercolor{subsection in sidebar shaded}{fg= grey} \setbeamercolor{title}{fg=brown} \setbeamercolor{titlelike}{fg=brown}
Colors can be defined as usual:
\definecolor{chocolate}{RGB}{33,33,33}
Block styles can also be defined:
\setbeamertemplate{blocks}[rounded][shadow=true] \setbeamertemplate{background canvas}[vertical shading][bottom=white,top=structure.fg!25] \setbeamertemplate{sidebar canvas left}[horizontal shading][left=white!40!black,right=black]
You can also suppress the navigation bar:
\beamertemplatenavigationsymbolsempty
Fonts
You may also change the fonts for particular elements. If you wanted the title of the presentation as rendered by \frame{\titlepage} to occur in a serif font instead of the default sanserif, you would use:
\setbeamerfont{title}{family=\rm}
You could take this a step further if you are using OpenType fonts with Xe(La)TeX and specify a serif font with increased size and oldstyle proportional alternate number glyphs:
\setbeamerfont{title}{family=\rm\addfontfeatures{Scale=1.18, Numbers={Lining, Proportional}}}
Math Fonts
The default settings for beamer use a different set of math fonts than one would expect from creating a simple math article. One quick fix for this is to use at the beginning of the file the option mathserif
\documentclass[mathserif]{beamer}
Others have proposed to use the command
\usefonttheme[onlymath]{serif}
but it is not clear if this works for absolutely every math character.
Frames Options
The plain option. Sometimes you need to include a large figure or a large table and you don't want to have the bottom and the top of the slides. In that case, use the plain option :
\frame[plain]{ % ... }
If you want to include lots of text on a slide, use the shrink option.
\frame[shrink]{ % ... }
Before using any verbatim environment (like listings), you should pass the option fragile to the frame environement, as verbatim environments need to be typeset differently. Usually, the form fragile=singleslide is usable (for details see the manual). Note that the fragile option may not be used with \frame commands since it expects to encounter a \end{frame}, which should be alone on a single line.
\begin{frame}[fragile] \frametitle{Source code} \begin{lstlisting}[caption=First C example] int main() { printf("Hello World!"); return 0; } \end{lstlisting} \end{frame}
Internal and external hyperlinks can be used in beamer to assist navigation. Clean looking buttons can also be added.
Animations
The following is merely an introduction to the possibilities in beamer. Chapter 8 of the beamer manual provides much more detail, on many more features.
Making items appear on a slide is possible by simply using the \pause statement:
\begin{frame} \frametitle{Some background} We start our discussion with some concepts. \pause The first concept we introduce originates with Erd\H os. \end{frame}
Text or figures after \pause will display after one of the following events (which may vary between PDF viewers): pressing space, return or page down on the keyboard, or using the mouse to scroll down or click the next slide button. Pause can be used within \itemize etc.
Text animations
For text animations, for example in the itemize environment, it is possible to specify appearance and disappearance of text by using <a-b> where a and b are the numbers of the events the item is to be displayed for (inclusive). For example:
\begin{itemize} \item This one is always shown \item<1-> The first time (i.e. as soon as the slide loads) \item<2-> The second time \item<1-> Also the first time \only<1-1> This one is shown at the first time, but it will hide soon (on the next event after the slide loads). \end{itemize}
A simpler approach for revealing one item per click is to use \begin{itemize}[<+->].
\begin{frame} \frametitle{`Hidden higher-order concepts?'} \begin{itemize}[<+->] \item The truths of arithmetic which are independent of PA in some sense themselves `{contain} essentially {\color{blue}{hidden higher-order}}, or infinitary, concepts'??? \item `Truths in the language of arithmetic which \ldots \item That suggests stronger version of Isaacson's thesis. \end{itemize} \end{frame}
In all these cases, pressing page up, scrolling up, or clicking the previous slide button in the navigation bar will backtrack through the sequence.
Handout mode
In beamer class, the default mode is presentation which makes the slides. However, you can work in a different mode that is called handout by setting this option when calling the class:
\documentclass[12pt,handout]{beamer}
This mode is useful to see each slide only one time with all its stuff on it, making any \itemize[<+->] environments visible all at once (for instance, printable version). Nevertheless, this makes an issue when working with the only command, because its purpose is to have only some text or figures at a time and not all of them together.
If you want to solve this, you can add a statement to precise the behavior it must have when dealing with only commands in handout mode. Suppose you have a code like this
\only<1>{\includegraphics{pic1.eps}} \only<2>{\includegraphics{pic2.eps}}
These pictures being completely different, you want them both in the handout, but they cannot be both on the same slide since they are large. The solution is to add the handout statement to have the following:
\only<1| handout:1>{\includegraphics{pic1.eps}} \only<2| handout:2>{\includegraphics{pic2.eps}}
This will ensure the handout will make a slide for each picture.
Now imagine you still have your two pictures with the only statements, but the second one show the first one plus some other graphs and you don't need the first one to appear in the handout. You can thus precise the handout mode not to include some only commands by:
\only<1| handout:0>{\includegraphics{pic1.eps}} \only<2>{\includegraphics{pic2.eps}}
The command can also be used to hide frames, e.g.
\begin{frame}<handout:0>
or even, if you have written a frame that you don't want anymore but maybe you will need it later, you can write
\begin{frame}<0| handout:0>
and this will hide your slide in both modes. (The order matters. Don't put handout:0|beamer:0 or it won't work.)
A last word about the handout mode is about the notes. Actually, the full syntax for a frame is
\begin{frame} ... \end{frame} \note{...} \note{...} ...
and you can write your notes about a frame in the field note (many of them if needed). Using this, you can add an option to the class calling, either
\documentclass[12pt,handout,notes=only]{beamer}
or
\documentclass[12pt,handout,notes=show]{beamer}
The first one is useful when you make a presentation to have only the notes you need, while the second one could be given to those who have followed your presentation or those who missed it, for them to have both the slides with what you said.
Note that the 'handout' option in the \documentclass line suppress all the animations.
Important: the notes=only mode is literally doing only the notes. This means there will be no output file but the DVI. Thus it requires you to have run the compilation in another mode before. If you use separate files for a better distinction between the modes, you may need to copy the .aux file from the handout compilation with the slides (w/o the notes).
Columns and Blocks
There are two handy environments for structuring a slide: "blocks", which divide the slide (horizontally) into headed sections, and "columns" which divides a slide (vertically) into columns. Blocks and columns can be used inside each other.
Columns
Example
\begin{frame}{Example of columns 1} \begin{columns}[c] % the "c" option specifies center vertical alignment \column{.5\textwidth} % column designated by a command Contents of the first column \column{.5\textwidth} Contents split \\ into two lines \end{columns} \end{frame} \begin{frame}{Example of columns 2} \begin{columns}[t] % contents are top vertically aligned \begin{column}[T]{5cm} % each column can also be its own environment Contents of first column \\ split into two lines \end{column} \begin{column}[T]{5cm} % alternative top-align that's better for graphics \includegraphics[height=3cm]{graphic.png} \end{column} \end{columns} \end{frame}
Blocks
Enclosing text in the block environment creates a distinct, headed block of text (a blank heading can be used). This allows to visually distinguish parts of a slide easily. There are three basic types of block. Their formatting depends on the theme being used.
Simple
\begin{frame} \begin{block}{This is a Block} This is important information \end{block} \begin{alertblock}{This is an Alert block} This is an important alert \end{alertblock} \begin{exampleblock}{This is an Example block} This is an example \end{exampleblock} \end{frame}
PDF options
You can specify the default options of your PDF.[2]
\hypersetup{pdfstartview={Fit}} % fits the presentation to the window when first displayed
The powerdot package
The powerdot package is available from CTAN. The documentation explains the features in great detail.
The powerdot package is loaded by calling the powerdot class:
\documentclass{powerdot}
The usual header information may then be specified.
Inside the usual document environment, multiple slide environments specify the content to be put on each slide.
\begin{document} \begin{slide}{This is the first slide} %Content goes here \end{slide} \begin{slide}{This is the second slide} %More content goes here \end{slide} % etc \end{document}
References
- ↑ Andrew Mertz and William Slough Beamer by Example
- ↑ Other possible values are defined in the hyperref manual
Links
- Wikipedia:Beamer (LaTeX)
- Beamer user guide (pdf) from CTAN
- The powerdot class (pdf) from CTAN
- A tutorial for creating presentations using beamer