diff options
author | Jamie Forth <j.forth@gold.ac.uk> | 2019-01-21 18:01:13 +0000 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-01-26 18:23:42 +0100 |
commit | 5c07b4522c65cde8be8e916804466a5c7b597018 (patch) | |
tree | 61ae0698e21cf88378d6a3502ea4b69ffb42b932 | |
parent | 32a17b0a633adad130de6b378e1476ed86a469aa (diff) | |
download | org-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-NEWS | 4 | ||||
-rw-r--r-- | lisp/ox-beamer.el | 23 |
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)) |