Hi, Sometime I find it useful to align Beamer notes with slide overlays, for example, when stepping through a worked example (see attachment).
Beamer permits notes to have overlay specifications but presently these are not exported by org. -- Jamie Forth
>From 5faeaf613b3eb8f687ca2a2addfce974d588fafe Mon Sep 17 00:00:00 2001 From: Jamie Forth <j.fo...@gold.ac.uk> 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 relevant note for each step. TINYCHANGE --- lisp/ox-beamer.el | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 05894ffab..7811dd6b5 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
#+startup: beamer #+beamer_theme: Singapore #+beamer_header: \usepackage{pgfpages} #+beamer_header: \setbeameroption{show notes on second screen=right} #+options: toc:nil H:2 * Section 1 ** Slide 1 *** Step 1 :B_onlyenv: :PROPERTIES: :BEAMER_ACT: <+> :BEAMER_env: onlyenv :END: **** Foo - a - b **** Step 1 note :B_note: :PROPERTIES: :BEAMER_env: note :BEAMER_ACT: <.> :END: - qux *** Step 2 :B_onlyenv: :PROPERTIES: :BEAMER_ACT: <+> :BEAMER_env: onlyenv :END: **** Bar - c - d **** Step 2 note :B_note: :PROPERTIES: :BEAMER_env: note :BEAMER_ACT: <.> :END: - qux # Local Variables: # org-beamer-environments-extra: (("onlyenv" "O" "\\begin{onlyenv}%a" "\\end{onlyenv}")) # End: