summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Forth <j.forth@gold.ac.uk>2019-01-21 18:01:13 +0000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-01-26 18:23:42 +0100
commit5c07b4522c65cde8be8e916804466a5c7b597018 (patch)
tree61ae0698e21cf88378d6a3502ea4b69ffb42b932
parent32a17b0a633adad130de6b378e1476ed86a469aa (diff)
downloadorg-mode-5c07b4522c65cde8be8e916804466a5c7b597018.tar.gz
ox-beamer: 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 relevant note for each step. TINYCHANGE
-rw-r--r--etc/ORG-NEWS4
-rw-r--r--lisp/ox-beamer.el23
2 files changed, 20 insertions, 7 deletions
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 7933a49..c0aaf88 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -54,6 +54,10 @@ alternative was removed and there is no more a :use-xcolor options
since now it's implicitly always true.
** New features
+*** Handle overlay specification for notes in Beamer export
+
+This aligns Beamer notes with slide overlays.
+
*** Add a dispatcher command to insert dynamic blocks
You can add dynamic block into ~org-dynamic-block-alist~ with function
diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el
index 05894ff..7811dd6 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))