New beamer exporter: update header
[worg.git] / org-tutorials / org-beamer / org-e-beamer.org
1 #+TITLE:     Beamer presentations using the new export engine
2 #+AUTHOR:    Suvayu Ali
3 #+EMAIL:     fatkasuvayu+linux at gmail dot com
4 #+DATE:      2013-02-05
5 #+LANGUAGE:  en
6 #+OPTIONS:   H:3 num:nil toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t
7 #+OPTIONS:   TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc
8 #+STARTUP:   folded
9 #+CATEGORY:   worg
10
11
12 * Introduction
13 This tutorial covers exporting org documents to LaTeX Beamer slides
14 using the new export engine, =org-elements= and =org-export=, written
15 by Nicolas Goaziou.
16
17 _Note:_ It will not cover any of the basic features common with the
18 old beamer exporter; it will only focus on the improvements, new
19 additions and backwards incompatibilities.  It is also assumed that
20 the reader is already acquainted with GNU Emacs and Org mode itself.
21 Basic understanding of LaTeX and the Beamer package is also assumed.
22
23 * Configuring export options
24 Apart from the usual export options provided by the =OPTIONS= keyword,
25 you can put additional beamer export options in the file header.  For
26 a minimal beamer export, you have to specify the =LaTeX_CLASS= and the
27 =LaTeX_CLASS_OPTIONS= keywords in the header of a file.  A preset
28 export template can be inserted by calling the interactive function
29 =org-e-beamer-insert-options-template=.  This can be further modified
30 as per your needs.  You can also do a subtree export; in that case you
31 can provide the keywords as =PROPERTIES=.  However the keyword names
32 should be prepended with =EXPORT_=.  A list of supported
33 keywords are,
34
35 #+caption: Export option keywords and corresponding subtree properties.
36 | File header keywords  | Subtree properties           |
37 |-----------------------+------------------------------|
38 | =OPTIONS=             | =EXPORT_OPTIONS=             |
39 | =LaTeX_CLASS=         | =EXPORT_LaTeX_CLASS=         |
40 | =LaTeX_CLASS_OPTIONS= | =EXPORT_LaTeX_CLASS_OPTIONS= |
41 | =LaTeX_HEADER=        | =EXPORT_LaTeX_HEADER=        |
42 | =BEAMER_THEME=        | =EXPORT_BEAMER_THEME=        |
43 | =BEAMER_FONT_THEME=   | =EXPORT_BEAMER_FONT_THEME=   |
44 | =BEAMER_INNER_THEME=  | =EXPORT_BEAMER_INNER_THEME=  |
45 | =BEAMER_OUTER_THEME=  | =EXPORT_BEAMER_OUTER_THEME=  |
46
47 For a subtree export, a few extra keywords are supported.  For example
48 you can specify the exported filename with the =EXPORT_FILE_NAME=
49 property.
50
51 #+caption: Properties specific to subtree export
52 | Subtree properties | Functionality    |
53 |--------------------+------------------|
54 | =EXPORT_TITLE=     | Export title     |
55 | =EXPORT_AUTHOR=    | Export author    |
56 | =EXPORT_DATE=      | Export date      |
57 | =EXPORT_FILE_NAME= | Export file name |
58
59 A simple file header might look like the example below.
60 #+begin_example
61   ,#+LaTeX_CLASS: beamer
62   ,#+LaTeX_CLASS_OPTIONS: [smaller,presentation]
63   ,#+BEAMER_THEME: default
64 #+end_example
65 A corresponding subtree export should have properties as shown below.
66 #+begin_example
67   ,* Exported title
68     :PROPERTIES:
69     :EXPORT_LaTeX_CLASS: beamer
70     :EXPORT_LaTeX_CLASS_OPTIONS: [presentation,smaller]
71     :EXPORT_BEAMER_THEME: default
72     :EXPORT_FILE_NAME: presentation.pdf
73     :END:
74 #+end_example
75
76 The export class is passed on to the =\documentclass= LaTeX command,
77 and the options go in as the optional arguments.
78 : \documentclass[smaller,presentation]{beamer}
79
80 ** TODO Export level
81 - To export third level headlines as frames, use the following in the
82   file header.
83   : #+OPTIONS: H:3
84 - Can be overridden with the =frame= beamer environment (maybe link to
85   new features section below).
86
87 ** TODO Filters to customise export
88
89 * Structure editing and beamer environments
90 All the usual Org mode structure editing commands work.  However there
91 is also a minor mode called =org-e-beamer-mode=, that makes it very
92 convenient to insert Beamer specific environments in an org-mode
93 buffer.
94
95 * New features available with the new exporter
96 ** TODO Beamer article
97 Discuss that =EXPORT_LaTeX_CLASS= need not be beamer.  Useful to
98 export =beamerarticle= document for slides.
99
100 Email from Nicolas Goaziou discussing this feature:
101 http://mid.gmane.org/87hapz3na9.fsf@gmail.com
102
103 ** TODO Ordered and unordered lists
104
105 ** TODO Images
106
107 ** TODO Tables
108
109 ** TODO Environments
110
111 ** TODO Overlays
112
113 ** TODO Example and source blocks
114
115 * TODO Examples
116 1) [ ] Sectioning and TOC (progress state between sections)
117 2) [ ] Overlays
118 3) [ ] Blocks
119    1. [ ] Normal blocks
120    2. [ ] Verbatim blocks
121    3. [ ] Source blocks
122 4) [ ] Columns
123 5) [ ] Text / LaTeX commands in between frames
124 6) [ ] Images
125    + Centering
126    + Captions
127 7) [ ] Footnotes and references
128 8) [ ] Backup slides with =\appendix=
129 9) [ ] Caveats about using alternate TeX binaries
130
131 * TODO Migrating from the old to the new exporter
132 - Backwards incompatible changes in the new exporter
133 - Configuration:
134   1. variable name changes,
135   2. filters instead of hooks (except for two)