emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Jamie Forth <j.forth@gold.ac.uk>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Export overlay specification for beamer notes
Date: Sat, 26 Jan 2019 13:22:16 +0000	[thread overview]
Message-ID: <87h8dvv9iv.fsf@lutyens> (raw)
In-Reply-To: 87o983y7pl.fsf@nicolasgoaziou.fr

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

Hello,

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Thank you. Could you also add an entry in ORG-NEWS file?

Of course, sorry to miss this first time around.

Regards,

--
Jamie Forth


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-lisp-ox-beamer.el-Export-overlay-specification-for-n.patch --]
[-- Type: text/x-diff, Size: 2096 bytes --]

From d2ab748302a72879a348748fbb9d021b32bc3b0a Mon Sep 17 00:00:00 2001
From: Jamie Forth <j.forth@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 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


  reply	other threads:[~2019-01-26 13:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-21 18:51 [PATCH] Export overlay specification for beamer notes Jamie Forth
2019-01-26 11:33 ` Nicolas Goaziou
2019-01-26 13:22   ` Jamie Forth [this message]
2019-01-26 17:26     ` 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=87h8dvv9iv.fsf@lutyens \
    --to=j.forth@gold.ac.uk \
    --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).