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