emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Beamer title is (incorrectly?) outside of a frame


From: Nicolas Goaziou
Subject: Re: [O] Beamer title is (incorrectly?) outside of a frame
Date: Sat, 11 Jan 2014 09:44:56 +0100

Hello,

James Harkins <address@hidden> writes:

> Patch attached. The patch is based on release_8.2.4 (as noted in my bug
> report from a few minutes ago, I can't perform any Beamer export against
> current master). If it doesn't apply against master, I'll be happy to tweak
> it, once the other bug is fixed.

Thank you for the patch.

> Let me know if there are any other problems, say, LISP style errors. I
> wrapped my change in a (let...) to isolate it from other bits of the
> code.

Comments below.

> I haven't signed FSF papers, though... I guess I should get on that.

Good idea. Meanwhile, you need to add TINYCHANGE at the end of your
commit message.

> From 1f70f3f41b266da204abd8dbcdddfefe648868eb Mon Sep 17 00:00:00 2001
> From: James Harkins <address@hidden>
> Date: Sat, 11 Jan 2014 11:59:32 +0800
> Subject: [PATCH] ox-beamer: Wrap the title command in a frame for "beamer"
>  class

Here, you should specify the function modified and how it was modified.

* lisp/ox-beamer (org-beamer-template): ...

> This supports an option, described in the beamer user guide, for
> supporting material using the beamerarticle package.
>
> 1. Write presentation contents in slides.
> 2. Write content /outside/ of slides for the print version.
> 3. To make #2 invisible in the slideshow, include "ignorenonframetext"
>    in the LaTeX class options.
>
> The problem was that Beamer export writes the title command outside of
> a frame. So, the title frame disappears when using
> ignorenonframetext. But, you don't want the title inside a frame for
> article export.
>
> The patch tests :latex-class. If it's "beamer," it adds \begin{frame}
> before and \end{frame} after the title command.

Actually, I was wrong. `:latex-class' will contain the name given by the
user to its Beamer configuration. It may be totally unrelated to
"beamer".

You need to use a regexp to find out what class is used:

  (let ((beamer-class-p
         (and (stringp header)
              (org-string-match-p
               "^[ \t]*\\\\documentclass\\(?:\\[.*\\]\\)?{beamer}[ \t]*$"
               (nth 1 (assoc (plist-get info :latex-class) 
org-latex-classes)))))))

> +       (if (string= (plist-get info :latex-class) "beamer")
> +        (format "\\begin{frame}%s\\end{frame}" titlecmd)
> +      titlecmd))

You need to check if TITLECMD is nil before wrapping it within a frame.
Ideally before defining BEAMER-CLASS-P. 


Regards,

-- 
Nicolas Goaziou



reply via email to

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