#+TITLE: Writing Beamer presentations in org-mode #+AUTHOR: Eric S Fraga #+EMAIL: e.fraga@ucl.ac.uk #+DATE: [2013-03-13 Wed] #+DESCRIPTION: Example of using org to create presentations using the beamer exporter #+KEYWORDS: beamer org orgmode #+LANGUAGE: en # specifying the beamer startup gives access to a number of # keybindings which make configuring individual slides and components # of slides easier. See, for instance, C-c C-b on a frame headline. #+STARTUP: beamer #+STARTUP: oddeven # we tell the exporter to use a specific LaTeX document class, as # defined in org-latex-classes. By default, this does not include a # beamer entry so this needs to be defined in your configuration (see # the tutorial). #+LaTeX_CLASS: beamer #+LaTeX_CLASS_OPTIONS: [bigger] # Beamer supports alternate themes. Choose your favourite here #+BEAMER_THEME: Madrid # the beamer exporter expects to be told which level of headlines # defines the frames. We use the first level headlines for sections # and the second (hence H:2) for frames. #+OPTIONS: H:2 toc:t # the following allow us to selectively choose headlines to export or not #+SELECT_TAGS: export #+EXCLUDE_TAGS: noexport # for a column view of options and configurations for the individual # frames #+COLUMNS: %20ITEM %13BEAMER_env(Env) %6BEAMER_envargs(Args) %4BEAMER_col(Col) %7BEAMER_extra(Extra) * Introduction ** Overview This presentation provides an illustration of some of the capabilities of the *Beamer* export in =org= mode: 1. simple slides (this one), 2. slides with special blocks, 3. multi-column slides and 4. the use of *Babel* for literate programming. This file should be exported using =M-x org-export-dispatch= specifying =l= for \LaTeX{} and then =P=, for instance, to generate the PDF. * Methodology ** A simple slide This slide consists of some text with a number of bullet points: - the first, very *important*, point! - the previous point shows the use of *bold* emphasis which is translated to a =\alert{}= directive in \LaTeX. The above list could be numbered or any other type of list and may include sub-lists. ** A more complex slide This slide illustrates the use of Beamer blocks. The following text, with its own headline, is displayed in a block: *** Org mode increases productivity :B_theorem: :PROPERTIES: :BEAMER_env: theorem :END: - org mode means not having to remember \LaTeX commands. - it is based on ASCII text which is inherently portable. - Emacs! \hfill \(\qed\) ** Two columns *** A block :BMCOL: :PROPERTIES: :BEAMER_col: 0.4 :END: - this slide consists of two columns - the first (left) column has no heading and consists of text - the second (right) column has an image and is enclosed in an *example* block *** A screenshot :B_example:BMCOL: :PROPERTIES: :BEAMER_env: example :BEAMER_col: 0.5 :END: #+ATTR_LATEX: width=\textwidth [[file:../../images/org-beamer/a-simple-slide.png]] ** Babel This slide shows some code and resulting output using *Babel*. Note the specification of =BEAMER_act= property for the second column. *** Octave code :BMCOL:B_block: :PROPERTIES: :BEAMER_col: 0.45 :BEAMER_env: block :END: #+name: octaveexample #+begin_src octave :results output :exports both :cache yes A = [1 2 ; 3 4] b = [1; 1]; x = A\b #+end_src *** The output :BMCOL:B_block: :PROPERTIES: :BEAMER_col: 0.4 :BEAMER_env: block :BEAMER_act: <2-> :END: #+results[a02a5ac71cb90a3f47701ae072b07a361dad15a4]: octaveexample #+begin_example A = 1 2 3 4 x = -1 1 #+end_example * Conclusions ** Summary - org is an incredible tool for time management - *but* it is also excellent for writing and for preparing presentations - Beamer is a very powerful \LaTeX{} package for presentations - the combination is unbeatable!