emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Fabrice Popineau <fabrice.popineau@gmail.com>
To: Fabrice Popineau <fabrice.popineau@gmail.com>,
	"emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: ox-beamer and CUSTOM_ID
Date: Wed, 14 Oct 2015 11:47:14 +0200	[thread overview]
Message-ID: <CAFgFV9PPSLLZBhSyNJNOeyLcMS1fL7MoX0Ac7skqL350SJv_CQ@mail.gmail.com> (raw)
In-Reply-To: <87vbaaxvia.fsf@nicolasgoaziou.fr>

[-- Attachment #1: Type: text/plain, Size: 1540 bytes --]

2015-10-14 0:18 GMT+02:00 Nicolas Goaziou <mail@nicolasgoaziou.fr>:

> Fabrice Popineau <fabrice.popineau@gmail.com> writes:
>
> > This is a pity. Things would be more straightforward.
>
> Straightforward for what? Use againframes? Or force label?
>
>
Force label. Having to explicitly state it twice :

  * Frame 1
  :PROPERTIES:
  :CUSTOM_ID: foo
  :BEAMER_opt: label=foo
  :END:

is not exactly straightforward. The following (crude) patch would avoid it.

Anyway, the BEAMER_opt label= way of setting the label is not Org-y.

Regards,

Fabrice

diff --git a/vendor/org-mode/lisp/ox-beamer.el
b/vendor/org-mode/lisp/ox-beamer.el
index 24dcf19..cc8d241 100644
--- a/vendor/org-mode/lisp/ox-beamer.el
+++ b/vendor/org-mode/lisp/ox-beamer.el
@@ -333,11 +333,13 @@ INFO is a plist used as a communication channel.
 The value is either the label specified in \"BEAMER_opt\"
 property, or a fallback value built from headline's number.  This
 function assumes HEADLINE will be treated as a frame."
+  (if org-latex-prefer-user-labels
+      (org-element-property :CUSTOM_ID headline)
       (let ((opt (org-element-property :BEAMER_OPT headline)))
        (if (and (stringp opt)
                 (string-match "\\(?:^\\|,\\)label=\\(.*?\\)\\(?:$\\|,\\)"
opt))
            (match-string 1 opt)
-      (format "{sec:%s}" (org-export-get-reference headline info)))))
+         (format "{sec:%s}" (org-export-get-reference headline info))))))

 (defun org-beamer--frame-level (headline info)
   "Return frame level in subtree containing HEADLINE.

[-- Attachment #2: Type: text/html, Size: 5029 bytes --]

  reply	other threads:[~2015-10-14  9:47 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-13 11:24 ox-beamer and CUSTOM_ID Fabrice Popineau
2015-10-13 19:26 ` Nicolas Goaziou
2015-10-13 19:38   ` Fabrice Popineau
2015-10-13 19:50     ` Nicolas Goaziou
2015-10-13 19:58       ` Fabrice Popineau
2015-10-13 20:52         ` Nicolas Goaziou
2015-10-13 21:12           ` Fabrice Popineau
2015-10-13 22:18             ` Nicolas Goaziou
2015-10-14  9:47               ` Fabrice Popineau [this message]
2015-10-14 11:57                 ` Nicolas Goaziou
2015-10-14 12:18                   ` Fabrice Popineau
2015-10-15  8:37                     ` Nicolas Goaziou
2015-10-15 16:54                       ` Fabrice Popineau
2015-10-15 19:25                         ` Fabrice Popineau
2015-10-15 19:48                           ` Nicolas Goaziou
2015-10-15 20:20                             ` Fabrice Popineau
2015-10-16 20:59                               ` Nicolas Goaziou

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=CAFgFV9PPSLLZBhSyNJNOeyLcMS1fL7MoX0Ac7skqL350SJv_CQ@mail.gmail.com \
    --to=fabrice.popineau@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).