emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Org Mode List <emacs-orgmode@gnu.org>
Subject: [ANN] Beamer back-end for org-export in contrib/
Date: Sat, 30 Jun 2012 16:59:50 +0200	[thread overview]
Message-ID: <877guo26c9.fsf@gmail.com> (raw)

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	other threads:[~2012-06-30 15:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-30 14:59 Nicolas Goaziou [this message]
2012-06-30 18:46 ` [ANN] Beamer back-end for org-export in contrib/ suvayu ali
2012-07-02 12:22   ` Nicolas Goaziou
2012-07-04  1:30     ` suvayu ali
2012-07-04 16:08       ` Nicolas Goaziou
2012-07-04 16:26         ` suvayu ali
2012-07-05 11:56           ` Nicolas Goaziou
2012-07-07 10:04             ` suvayu ali
2012-07-07 12:32               ` Nicolas Goaziou
2012-07-07 12:56                 ` suvayu ali
2012-07-07 12:58                   ` Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877guo26c9.fsf@gmail.com \
    --to=n.goaziou@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).