Hello, James Harkins <jamshar...@gmail.com> 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 <jamshar...@dewdrop-world.net> > 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