emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric S Fraga <e.fraga@ucl.ac.uk>
To: Seb Frank <sebsfrank@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: customizing org-beamer--format-frame
Date: Sat, 26 Apr 2014 14:05:06 +0100	[thread overview]
Message-ID: <87fvl09r7h.fsf@ucl.ac.uk> (raw)
In-Reply-To: CAMF4YiNhSzD8Y-0Uh+7CJUOqDoNpsOtoqH1ROAnc8fJxmo3uGQ@mail.gmail.com

On Friday, 25 Apr 2014 at 08:24, Seb Frank wrote:
> Hi there,
>
> I have customized org-beamer--format-frame to change the way headlines are
> treated (as I want a separate slide with only the headline in the center
> and plain frames not showing headlines after that). The way I currently do
> this is by redefining the function itself (using "defun
> org-beamer--format-frame"). This works, but is there any way to make this
> more modular, i.e. tell org-mode somewhere to use a different function
> (e.g., my-org-beamer--format-frame) to format a frame, so that it's easy to
> switch back and forth between different ones, as well as to revert to the
> default?
>
> Thanks,
>   Seb

As you haven't explained why you want this, it's difficult to understand
the actual use case.  So, guessing at your intent, I wonder whether you
have thought about making use of section headings as well as frame
headings to accomplish what you want?

Assuming you are using org v8.x and not something older, if you set
option H:2, second level headings define frames and top level headings
define sections.  You can then have section headings appear as a
separate slide using code such as this:

#+begin_src org
  ,#+latex_header: \AtBeginSection[]{\begin{frame}<beamer>\frametitle{Topic}\tableofcontents[currentsection]\end{frame}}
#+end_src

In this case, any time a section heading is encountered (i.e. top level
org heading), you'll get a slide with a table of contents with that
heading emphasised.  You can obviously do something different which more
closely matches what you want.

If you don't want individual frames to have headings, simply don't put
any text in the headline for that frame.

This way, you do not need to manipulate how beamer displays frames.  An
example set of slides with two sections and two out of four slides
having no headline would look like this:

#+begin_src org
  ,#+options: H:2
  ,#+latex_header: \AtBeginSection[]{\begin{frame}<beamer>\frametitle{Topic}\tableofcontents[currentsection]\end{frame}}
  ,* Introduction
  ,** First slide
  some text on the first slide
  ,** 
  some text on the second slide which has no heading
  ,* Results
  ,** 
  some third slide text, also on a slide with no heading
  ,** conclusions
  This was a great talk.
#+end_src

HTH,
eric
-- 
: Eric S Fraga (0xFFFCF67D), Emacs 24.4.50.2, Org release_8.2.5h-1027-g4c0a29

  reply	other threads:[~2014-04-26 13:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-25 12:24 customizing org-beamer--format-frame Seb Frank
2014-04-26 13:05 ` Eric S Fraga [this message]
2014-04-27 14:14   ` Seb Frank
2014-04-27 16:42     ` Eric S Fraga
2014-04-27 21:13       ` Seb Frank

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=87fvl09r7h.fsf@ucl.ac.uk \
    --to=e.fraga@ucl.ac.uk \
    --cc=emacs-orgmode@gnu.org \
    --cc=sebsfrank@gmail.com \
    /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).