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: Re: [dev] About a beamer back-end
Date: Thu, 21 Jun 2012 16:37:38 +0200	[thread overview]
Message-ID: <87wr30ohn1.fsf@gmail.com> (raw)
In-Reply-To: <87k3z32eug.fsf@ucl.ac.uk> (Eric S. Fraga's message of "Tue, 19 Jun 2012 22:04:23 +0100")

Hello,

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

>> See `org-element-drag-backward' and `org-element-drag-forward'.
>
> Okay.  Will it be easy to bind these to M-<up> etc. to achieve
> consistent behaviour?  I.e. does org-metaup know what to do with
> blocks?

I hope that, one day, they will replace current `org-metaup' and
`org-metadown'.

If you want to try them out (there has been no serious debugging for
them), you can

  (defalias 'org-metaup 'org-element-drag-backward)

`org-element-drag-backward' is a strict super-set for `org-metaup'.

> As a point for discussion and evaluation, attached is an example slide
> (both org and pdf) demonstrating the type of thing I tend to do for some
> of my beamer documents.

Thanks for this example, and for feedback from other Org users.

Although more logical, it appears that the block syntax for Beamer
wouldn't be that great.  Nested blocks are hard to parse (by a human)
due to their uniform fontification (contrary to headlines, whose
fontification change at every level).

Also, the syntax is very heavy. Not more than property drawers, but, at
least, you can hide those.

I'll keep headlines for blocks.  But I think I'll introduce a couple of
small changes.

- Sectioning and packages are extracted from `org-e-latex-classes'.
  Since calling Beamer back-end is explicit, it can be applied on any
  tex file, not only when that file starts with
  "\documentclass{beamer}".  Additionally, an equivalent to
  `org-beamer-use-parts' is unnecessary.

- An headline at `org-e-beamer-frame-level' level becomes a frame,
  unless it has the "noframe" tag.  In that case, its contents are
  inserted between surrounding frames.

- Any headline above that level has a block type (depending on the
  BEAMER_env property).  Without that property, the headline is still
  a block ("\begin{block}{title}...\end{block}").

- Since above some level, everything is a block, there is no "low level
  headline" anymore.  Thus, the H:num OPTION item sets
  `org-e-beamer-frame-level'.  There's no use for BEAMER_FRAME_LEVEL
  keyword.  It also means you can't make lists out of headlines.

- An headline below `org-e-beamer-frame-level' with an "appendix" tag
  becomes an appendix part.

- An headline with a "note" tag becomes a note between frames if at
  `org-e-beamer-frame-level', within current frame otherwise.

- There is no separate syntax for \alert{} command: it is the default
  output for bold objects (i.e. *text* becomes \alert{text}).

- Obviously, all special tags specified in this list are customizable.


Unfortunately I cannot get rid of "normal" environment property.  There
is also some work to do on overlays and, perhaps, links.  But let's
start with headlines first.


Regards,

-- 
Nicolas Goaziou

  parent reply	other threads:[~2012-06-21 14:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-15 15:08 [dev] About a beamer back-end Nicolas Goaziou
2012-06-15 16:41 ` suvayu ali
2012-06-15 16:47   ` Avdi Grimm
2012-06-18  7:50     ` Eric S Fraga
2012-06-18 12:35       ` suvayu ali
2012-06-19 13:21       ` Nicolas Goaziou
2012-06-19 21:04         ` Eric S Fraga
2012-06-20  6:23           ` Greg Tucker-Kellogg
2012-06-20 11:55             ` Sebastien Vauban
2012-06-20 15:20               ` Eric S Fraga
2012-06-21 14:37           ` Nicolas Goaziou [this message]
2012-06-21 14:51             ` Sebastien Vauban
2012-06-21 16:03               ` Nicolas Goaziou
     [not found]                 ` <87obocodo7.fsf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-06-21 21:14                   ` **: " Sebastien Vauban
2012-06-25 22:39                     ` Andreas Leha
2012-06-21 14:55             ` Rasmus
2012-06-21 15:56               ` Nicolas Goaziou
2012-06-21 16:36                 ` Rasmus
2012-06-21 16:49             ` suvayu ali
2012-06-22  7:54             ` Eric S Fraga
2012-06-18  6:32 ` Daniel Bausch
2012-06-18 10:17 ` Rasmus
2012-06-18 10:35   ` Sebastien Vauban
2012-06-18 12:00     ` Rasmus
2012-06-28 10:40 ` Andreas Leha
2012-06-28 10:47   ` suvayu ali
2012-06-28 10:50     ` Andreas Leha

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=87wr30ohn1.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).