emacs-orgmode
[Top][All Lists]

## [Orgmode] Beamer support in Org-mode

 From: Carsten Dominik Subject: [Orgmode] Beamer support in Org-mode Date: Thu, 26 Nov 2009 12:17:21 +0100

Hi,

this is in response to the discussions about beamer
export from Org-mode.  Yesterday I had a long train ride
during which I scanned the beamer documentation (smoking
hot stuff!).  Then I made the attached draft
for Org-mode support, strongly based on the stuff
Eric Fraga has put together recently.  What is described
below sort-of works in some experimental code here, but before
I polish I would like comments on this outline.

NOW is the time to chime in.

Thanks!

- Carsten

beamerdoc
=========

Date: 2009-11-26 12:08:45 CET

=================
1 Organization
1.1 Sections
1.2 Frames
1.3 Columns
1.4 A column
1.5 Block-like environments
1.6 Overlay/action tag and environment options
1.7 Overlay/action in list environment
1.8 Embedded LaTeX
1.9 Example
2 org-beamer-mode
2.1 Fast tag selection for beamer environments
2.2 Special font-locking of beamer tags

1 Organization
~~~~~~~~~~~~~~~

1.1 Sections
=============

By default, level one headlines become sections in the beamer
document.  You can configure the variable org-beamer-frame-level
to change this.  Setting it to three will make level 2 headlines
become subsections.  For the rest of this document, I will assume
that this variable has its default value 2.

1.2 Frames
===========
Level 2 headline (or the level configured in
org-beamer-frame-level) become frames.  The headline text become
the frame title, but if no headline text is given, the frame gets
no title.  If the frame title contains the string "\\", the line
will be split at that location, and the second half become the
frame /subtitle/.

1.3 Columns
============
Headlines one below frames (level 3 by default) can be used start
columns on a frame.  The presence of such a headline without a
beamer tag (see below) will create the columns environment.  The

1.4 A column
=============
Headlines below a columns environment (level 4 by default) open a
column.  The text in the headline should be a number smaller than
one and will be used to define the column width.

1.5 Block-like environments
============================
Any headline can become a block-like environment by tagging it
with a beamer tag.  For examples, :B_block:' will trigger the
creation of a block environment, while :B_theorem:' will trigger
the creation of a theorem environment.  When it makes sense, the
headline text is used in an appropriate argument of the
environment, if that does not make sense, it is ignored.

1.6 Overlay/action tag and environment options
===============================================

<...>': The overlay/action setting for the environment
[<...>]': The default overlay/action specification for the
content of the environment, which can be overwritten locally
by each content element.
[...]': Optional argument(s) for the environment

These can be given in arbitrary order freely in the headline.
Org-mode will fish them out and insert them in the appropriate
locations in the \begin statement of the environment.

usability of the document as a normal document.  I have been
thinking to move them into comments or properties, but I think
this is, in the end, less convenient.  I people want to export
these in other ways as well, we can write a function to clean
up....

1.7 Overlay/action in list environment
=======================================
For plain list environments (ordered, unordered, and description
lists) you can start each item optionally with an overlay
specification <...>'.  If any item in the list contains a
default specification [<...>]', this will be moved into the
begin statement of the itemize/enumerate/description environment,
to provide a default setting for the list items.

1.8 Embedded LaTeX
===================
As is normal for Org-mode, you can embed LaTeX commands into the
text, and they will be transferred literally into the exported
document.  In particular, you can also embed beamer-specific
commands.

1.9 Example
============
Here is a (still very incomplete) example Org document that is
intended for beamer export.

#+LaTeX_CLASS: beamer
#+TITLE: Example Presentation
#+AUTHOR: Carsten Dominik

* This is the first structural section
** Frame 1 \\ with a subtitle
*** columns will be used
**** 0.3
***** Thanks   :B_block:
Thanks to Eric Fraga for the first viable beamer setup in Org
***** Here we continue after the block :B_normal:
using a "normal" environment that helps to keep the structure
after a block
**** 0.7
** Frame 2 \\ where we will not use columns

*** Request :B_block:
      Please test this stuff!

2 org-beamer-mode
~~~~~~~~~~~~~~~~~~

Org-mode defines a minor mode org-beamer-mode.  The mode is
turned on automatically when the export class as specified
in #+LaTeX_CLASS is "beamer".  Currently foreseen features are
listed below, more could be added where it makes sense.

2.1 Fast tag selection for beamer environments
===============================================
The command C-c C-b' will offer fast selection of the various
tags that trigger specific beamer environments for a headline

2.2 Special font-locking of beamer tags
========================================
The special tags are highlighted by a special font

- Carsten