emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] ox-beamer and CUSTOM_ID


From: Fabrice Popineau
Subject: Re: [O] ox-beamer and CUSTOM_ID
Date: Thu, 15 Oct 2015 21:25:45 +0200



2015-10-15 18:54 GMT+02:00 Fabrice Popineau <address@hidden>:


2015-10-15 10:37 GMT+02:00 Nicolas Goaziou <address@hidden>:
Fabrice Popineau <address@hidden> writes:

> At some point LaTeX reported an error on some frame heading.
> I wrongly inferred it could be the label.

It would be nice to investigate about this error, it it persists.


Beamer is very bad at reporting errors at their true origin.

Actually, I had 2 errors.

First all my Org->TeX files use Babel, and they doesn't seem to cope well with colons in labels.
(org-lint even reports about it)
Unfortunately, the default naming scheme for internal labels is using colons. 
Hence I wanted to use my own labels.

(Actually, I don't understand what prevents "beamer 2015/01/05 3.36" to use colons in
labels. I thought that this problem has been solved around beamer 3.30.)

Oh! I got it.

The problem is that beamer expects braces around a label with colon when you setup the label
but *not when you ref it* :

\begin{frame}[label={sec:orgheadline1}]{Frame 1}
bla bla bla bla bla bla bla bla bla bla bla bla
\end{frame}

\againframe{sec:orgheadline1}

The braces at setup are required by the keyval package which is used to parse the options.
However, the label is called sec:orgheadline1 and not {sec:orgheadline1}.
But at the moment, ox-beamer outputs :

\againframe{{sec:orgheadline1}} 

I fixed it unintentionally by using my own label without colon.

So basically you need this:

diff --git a/vendor/org-mode/lisp/ox-beamer.el b/vendor/org-mode/lisp/ox-beamer.el
index 24dcf19..75b51df 100644
--- a/vendor/org-mode/lisp/ox-beamer.el
+++ b/vendor/org-mode/lisp/ox-beamer.el
@@ -621,7 +623,7 @@ as a communication channel."
                                     (org-export-resolve-id-link link info))))
                      ;; Now use user-defined label provided in TARGET
                      ;; headline, or fallback to standard one.
-                     (format "{%s}" (org-beamer--get-label target info)))))))
+                     (format "%s" (org-beamer--get-label target info)))))))
        ;; Case 2: Creation of an appendix is requested.
        ((equal environment "appendix")
        (concat "\\appendix"


Fabrice

reply via email to

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