emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [ANN] Beamer back-end for org-export in contrib/


From: Nicolas Goaziou
Subject: [O] [ANN] Beamer back-end for org-export in contrib/
Date: Sat, 30 Jun 2012 16:59:50 +0200

Hello,

For the adventurous among you, I installed org-e-beamer.el in contrib.
Quoting file comments:

This library implements both a Beamer back-end, derived from the LaTeX
one and a minor mode easing structure edition of the document.

Depending on the desired output format, three commands are provided for
export: `org-e-beamer-export-as-latex' (temporary buffer),
`org-e-beamer-export-to-latex' ("tex" file) and
`org-e-beamer-export-to-pdf' ("pdf" file).

On top of buffer keywords supported by `e-latex' back-end (see
`org-e-latex-options-alist'), this back-end introduces the following
keywords: "BEAMER_THEME", "BEAMER_COLOR_THEME", "BEAMER_FONT_THEME",
"BEAMER_INNER_THEME" and "BEAMER_OUTER_THEME".  All accept options in
square brackets.

Moreover, headlines now fall into three categories: sectioning elements,
frames and blocks.

- Like `e-latex' back-end sectioning elements are still set through
  `org-e-latex-classes' variable.

- Headlines become frames when their level is equal to
  `org-e-beamer-frame-level' (or "H" value in the OPTIONS line).
  Though, if an headline in the current tree has a "BEAMER_env" (see
  below) property set to "frame", its level overrides the variable.

- All frames' children become block environments.  Special block types
  can be enforced by setting headline's "BEAMER_env" property to an
  appropriate value (see `org-e-beamer-environments-default' for
  supported value and `org-e-beamer-environments-extra' for adding
  more).

- As a special case, if the "BEAMER_env" property is set to either
  "appendix", "note" or "noteNH", the headline will become,
  respectively, an appendix, a note (within frame or between frame,
  depending on its level) and a note with its title ignored.

  Also, an headline with an "ignoreheading" value 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.

Along with "BEAMER_env", 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) whereas the latter specifies options for the current
frame ("fragile" option is added automatically, though).

Every plain list has support for `:overlay' attribute (through
ATTR_BEAMER affiliated keyword).  Also, ordered (resp. description)
lists make use of `:template' (resp. `:long-text') attribute.

Eventually, an export snippet with a value enclosed within angular
brackets put at the beginning of an element or object whose type is
among `bold', `item', `link', `radio-target' and `target' will control
its overlay specifications.  As an example[fn:1],

  *@@e-beamer:<2->@@some emphasized text*

will be translated as

  \alert<2->{some emphasized text}


You can call `org-e-beamer-export-as-latex' on any document, but you may
want to add a "beamer" entry in `org-e-latex-classes' with:

  (add-to-list 'org-e-latex-classes
             '("beamer"
               "\\documentclass\[presentation\]\{beamer\}"
               ("\\section\{%s\}" . "\\section*\{%s\}")
               ("\\subsection\{%s\}" . "\\subsection*\{%s\}")
               ("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))

Then use #+LATEX_CLASS: beamer in your document.

Also, on the minor changes list, syntax for BEAMER_THEME and alike is,
for example:

  #+BEAMER_THEME: Rochester [height=20pt]
  
or,

  #+BEAMER_THEME: Madrid

I've dropped the BEAMER_extra property for headlines and
`org-beamer-inherited-properties' as I wasn't sure to completely
understand their goal.  I will insert them back if someone can provide
examples.

Feedback is welcome.


Regards,

[fn:1] Note that `org-export-snippet-translation-alist' can help
shortening the syntax to something like: @@b:<2->@@

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]