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
#+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: