Previous: Images in LaTeX export, Up: LaTeX and PDF export

12.6.6 Beamer class export

The LaTeX class beamer allows production of high quality presentations using LaTeX and pdf processing. Org mode has special support for turning an Org mode file or tree into a beamer presentation.

When the LaTeX class for the current buffer (as set with #+LaTeX_CLASS: beamer) or subtree (set with a LaTeX_CLASS property) is beamer, a special export mode will turn the file or tree into a beamer presentation. Any tree with not-too-deep level nesting should in principle be exportable as a beamer presentation. By default, the top-level entries (or the first level below the selected subtree heading) will be turned into frames, and the outline structure below this level will become itemize lists. You can also configure the variable org-beamer-frame-level to a different level—then the hierarchy above frames will produce the sectioning structure of the presentation.

A template for useful in-buffer settings or properties can be inserted into the buffer with M-x org-insert-beamer-options-template. Among other things, this will install a column view format which is very handy for editing special properties used by beamer.

You can influence the structure of the presentation using the following properties:

BEAMER_env
The environment that should be used to format this entry. Valid environments are defined in the constant org-beamer-environments-default, and you can define more in org-beamer-environments-extra. If this property is set, the entry will also get a :B_environment: tag to make this visible. This tag has no semantic meaning, it is only a visual aid.
BEAMER_envargs
The beamer-special arguments that should be used for the environment, like [t] or [<+->] of <2-3>. If the BEAMER_col property is also set, something like C[t] can be added here as well to set an options argument for the implied columns environment. c[t] or c<2-> will set an options for the implied column environment.
BEAMER_col
The width of a column that should start with this entry. If this property is set, the entry will also get a :BMCOL: property to make this visible. Also this tag is only a visual aid. When this is a plain number, it will be interpreted as a fraction of \textwidth. Otherwise it will be assumed that you have specified the units, like ‘3cm’. The first such property in a frame will start a columns environment to surround the columns. This environment is closed when an entry has a BEAMER_col property with value 0 or 1, or automatically at the end of the frame.
BEAMER_extra
Additional commands that should be inserted after the environment has been opened. For example, when creating a frame, this can be used to specify transitions.

Frames will automatically receive a fragile option if they contain source code that uses the verbatim environment. Special beamer specific code can be inserted using #+BEAMER: and #+BEGIN_BEAMER...#+END_BEAMER constructs, similar to other export backends, but with the difference that #+LaTeX: stuff will be included in the presentation as well.

Outline nodes with BEAMER_env property value ‘note’ or ‘noteNH’ will be formatted as beamer notes, i,e, they will be wrapped into \note{...}. The former will include the heading as part of the note text, the latter will ignore the heading of that node. To simplify note generation, it is actually enough to mark the note with a tag (either :B_note: or :B_noteNH:) instead of creating the BEAMER_env property.

You can turn on a special minor mode org-beamer-mode for editing support with

     #+STARTUP: beamer
C-c C-b     (org-beamer-select-environment)
In org-beamer-mode, this key offers fast selection of a beamer environment or the BEAMER_col property.

Column view provides a great way to set the environment of a node and other important parameters. Make sure you are using a COLUMN format that is geared toward this special purpose. The command M-x org-insert-beamer-options-template defines such a format.

Here is a simple example Org document that is intended for beamer export.

     #+LaTeX_CLASS: beamer
     #+TITLE: Example Presentation
     #+AUTHOR: Carsten Dominik
     #+LaTeX_CLASS_OPTIONS: [presentation]
     #+BEAMER_FRAME_LEVEL: 2
     #+BEAMER_HEADER_EXTRA: \usetheme{Madrid}\usecolortheme{default}
     #+COLUMNS: %35ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Args) %4BEAMER_col(Col) %8BEAMER_extra(Ex)
     
     * This is the first structural section
     
     ** Frame 1 \\ with a subtitle
     *** Thanks to Eric Fraga                                      :BMCOL:B_block:
         :PROPERTIES:
         :BEAMER_env: block
         :BEAMER_envargs: C[t]
         :BEAMER_col: 0.5
         :END:
         for the first viable beamer setup in Org
     *** Thanks to everyone else                                   :BMCOL:B_block:
         :PROPERTIES:
         :BEAMER_col: 0.5
         :BEAMER_env: block
         :BEAMER_envargs: <2->
         :END:
         for contributing to the discussion
     **** This will be formatted as a beamer note                  :B_note:
     ** Frame 2 \\ where we will not use columns
     *** Request                                                   :B_block:
         Please test this stuff!
         :PROPERTIES:
         :BEAMER_env: block
         :END:

For more information, see the documentation on Worg.