[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