org: Beamer export

 
 12.5 Beamer 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.
 
 Beamer export commands
 ----------------------
 
 ‘C-c C-e l b     (org-beamer-export-to-latex)’
      Export as a LaTeX file.  For an Org file ‘myfile.org’, the LaTeX
      file will be ‘myfile.tex’.  The file will be overwritten without
      warning.
 ‘C-c C-e l B     (org-beamer-export-as-latex)’
      Export to a temporary buffer.  Do not create a file.
 ‘C-c C-e l P     (org-beamer-export-to-pdf)’
      Export as LaTeX and then process to PDF.
 ‘C-c C-e l O’
      Export as LaTeX and then process to PDF, then open the resulting
      PDF file.
 
 Sectioning, Frames and Blocks
 -----------------------------
 
 Any tree with not-too-deep level nesting should in principle be
 exportable as a Beamer presentation.  Headlines fall into three
 categories: sectioning elements, frames and blocks.
 
    − Headlines become frames when their level is equal to
      ‘org-beamer-frame-level’ or ‘H’ value in an ‘OPTIONS’ line (See
      Export settings).
 
      Though, if a headline in the current tree has a ‘BEAMER_ENV’
      property set to either to ‘frame’ or ‘fullframe’, its level
      overrides the variable.  A ‘fullframe’ is a frame with an empty
      (ignored) title.
 
    − All frame’s children become ‘block’ environments.  Special block
      types can be enforced by setting headline’s ‘BEAMER_ENV’
      property(1) to an appropriate value (see
      ‘org-beamer-environments-default’ for supported values and
      ‘org-beamer-environments-extra’ for adding more).
 
    − As a special case, if the ‘BEAMER_ENV’ property is set to either
      ‘appendix’, ‘note’, ‘noteNH’ or ‘againframe’, the headline will
      become, respectively, an appendix, a note (within frame or between
      frame, depending on its level), a note with its title ignored or an
      ‘\againframe’ command.  In the latter case, a ‘BEAMER_REF’ property
      is mandatory in order to refer to the frame being resumed, and
      contents are ignored.
 
      Also, a headline with an ‘ignoreheading’ environment will have its
      contents only inserted in the output.  This special value is useful
      to have data between frames, or to properly close a ‘column’
      environment.
 
    Headlines also support ‘BEAMER_ACT’ and ‘BEAMER_OPT’ properties.  The
 former is translated as an overlay/action specification, or a default
 overlay specification when enclosed within square brackets.  The latter
 specifies options(2) for the current frame or block.  The export
 back-end will automatically wrap properties within angular or square
 brackets when appropriate.
 
    Moreover, headlines handle the ‘BEAMER_COL’ property.  Its value
 should be a decimal number representing the width of the column as a
 fraction of the total text width.  If the headline has no specific
 environment, its title will be ignored and its contents will fill the
 column created.  Otherwise, the block will fill the whole column and the
 title will be preserved.  Two contiguous headlines with a non-‘nil’
 ‘BEAMER_COL’ value share the same ‘columns’ LaTeX environment.  It will
 end before the next headline without such a property.  This environment
 is generated automatically.  Although, it can also be explicitly
 created, with a special ‘columns’ value for ‘BEAMER_ENV’ property (if it
 needs to be set up with some specific options, for example).
 
 Beamer specific syntax
 ----------------------
 
 Beamer back-end is an extension of LaTeX back-end.  As such, all LaTeX
 specific syntax (e.g., ‘#+LATEX:’ or ‘#+ATTR_LATEX:’) is recognized.
 See SeeLaTeX and PDF export for more information.
 
    Beamer export introduces a number of keywords to insert code in the
 document’s header.  Four control appearance of the presentation:
 ‘#+BEAMER_THEME’, ‘#+BEAMER_COLOR_THEME’, ‘#+BEAMER_FONT_THEME’,
 ‘#+BEAMER_INNER_THEME’ and ‘#+BEAMER_OUTER_THEME’.  All of them accept
 optional arguments within square brackets.  The last one,
 ‘#+BEAMER_HEADER’, is more generic and allows you to append any line of
 code in the header.
 
      #+BEAMER_THEME: Rochester [height=20pt]
      #+BEAMER_COLOR_THEME: spruce
 
    Table of contents generated from ‘toc:t’ ‘OPTION’ keyword are wrapped
 within a ‘frame’ environment.  Those generated from a ‘TOC’ keyword
 (SeeTable of contents) are not.  In that case, it is also possible
 to specify options, enclosed within square brackets.
 
      #+TOC: headlines [currentsection]
 
    Beamer specific code can be inserted with the following constructs:
 
      #+BEAMER: \pause
 
      #+BEGIN_BEAMER
      All lines in this block will appear only when using this back-end.
      #+END_BEAMER
 
      Text @@beamer:some code@@ within a paragraph.
 
    In particular, this last example can be used to add overlay
 specifications to objects whose type is among ‘bold’, ‘item’, ‘link’,
 ‘radio-target’ and ‘target’, when the value is enclosed within angular
 brackets and put at the beginning the object.
 
      A *@@beamer:<2->@@useful* feature
 
    Eventually, every plain list has support for ‘:environment’,
 ‘:overlay’ and ‘:options’ attributes through ‘ATTR_BEAMER’ affiliated
 keyword.  The first one allows the use of a different environment, the
 second sets overlay specifications and the last one inserts optional
 arguments in current list environment.
 
      #+ATTR_BEAMER: :overlay +-
      - item 1
      - item 2
 
 Editing support
 ---------------
 
 You can turn on a special minor mode ‘org-beamer-mode’ for faster
 editing 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.
 
    Also, a template for useful in-buffer settings or properties can be
 inserted into the buffer with ‘M-x org-beamer-insert-options-template’.
 Among other things, this will install a column view format which is very
 handy for editing special properties used by Beamer.
 
 An example
 ----------
 
 Here is a simple example Org document that is intended for Beamer
 export.
 
      #+TITLE: Example Presentation
      #+AUTHOR: Carsten Dominik
      #+OPTIONS: H:2
      #+LATEX_CLASS: beamer
      #+LATEX_CLASS_OPTIONS: [presentation]
      #+BEAMER_THEME: Madrid
      #+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt)
 
      * This is the first structural section
 
      ** Frame 1
      *** Thanks to Eric Fraga                                           :B_block:BMCOL:
          :PROPERTIES:
          :BEAMER_COL: 0.48
          :BEAMER_ENV: block
          :END:
          for the first viable Beamer setup in Org
      *** Thanks to everyone else                                        :B_block:BMCOL:
          :PROPERTIES:
          :BEAMER_COL: 0.48
          :BEAMER_ACT: <2->
          :BEAMER_ENV: block
          :END:
          for contributing to the discussion
      **** This will be formatted as a beamer note                              :B_note:
           :PROPERTIES:
           :BEAMER_env: note
           :END:
      ** Frame 2 (where we will not use columns)
      *** Request
          Please test this stuff!
 
    ---------- Footnotes ----------
 
    (1) 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.
 
    (2) The ‘fragile’ option is added automatically if it contains code
 that requires a verbatim environment, though.