>From d2ab748302a72879a348748fbb9d021b32bc3b0a Mon Sep 17 00:00:00 2001 From: Jamie Forth Date: Mon, 21 Jan 2019 18:01:13 +0000 Subject: [PATCH] lisp/ox-beamer.el: Export overlay specification for notes * ox-beamer.el (org-beamer-headline): Pass overlay specification to beamer `\note{}' command. This is useful for animating multiple slides within a single frame and displaying only the relevant note(s) for each slide. TINYCHANGE --- etc/ORG-NEWS | 2 ++ lisp/ox-beamer.el | 23 ++++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index e06d0c09b..d1b247ab9 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -105,6 +105,8 @@ matches the same structures than 'latex but it calls org-src-font-lock-fontify-block instead, thus bringing about full LaTeX font locking. +*** Export Beamer overlay specification for notes + ** New functions *** ~org-dynamic-block-insert-dblock~ diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 05894ffab..eaff3ca53 100644 --- a/lisp/ox-beamer.el +++ b/lisp/ox-beamer.el @@ -645,13 +645,22 @@ as a communication channel." contents)) ;; Case 4: HEADLINE is a note. ((member environment '("note" "noteNH")) - (format "\\note{%s}" - (concat (and (equal environment "note") - (concat - (org-export-data - (org-element-property :title headline) info) - "\n")) - (org-trim contents)))) + (concat "\\note" + ;; Overlay specification. + (let ((overlay (org-element-property :BEAMER_ACT headline))) + (when overlay + (org-beamer--normalize-argument + overlay + (if (string-match "\\`\\[.*\\]\\'" overlay) + 'defaction 'action)))) + (format "{%s}" + (concat (and (equal environment "note") + (concat + (org-export-data + (org-element-property :title headline) + info) + "\n")) + (org-trim contents))))) ;; Case 5: HEADLINE is a frame. ((= level frame-level) (org-beamer--format-frame headline contents info)) -- 2.20.1