emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 3303a54d74: lisp/ox-beamer: Enable use of overlays


From: ELPA Syncer
Subject: [elpa] externals/org 3303a54d74: lisp/ox-beamer: Enable use of overlays for images
Date: Sat, 13 Aug 2022 23:57:49 -0400 (EDT)

branch: externals/org
commit 3303a54d74805cdd2b6eda37285f259949f7ba2e
Author: Eric S Fraga <e.fraga@ucl.ac.uk>
Commit: Ihor Radchenko <yantar92@gmail.com>

    lisp/ox-beamer: Enable use of overlays for images
    
    * ox-beamer.el (org-beamer-link): If an overlay beamer attributed has
    been provided, use it for images.
---
 lisp/ox-beamer.el | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el
index e6232d8d27..290bc3492e 100644
--- a/lisp/ox-beamer.el
+++ b/lisp/ox-beamer.el
@@ -734,13 +734,23 @@ used as a communication channel."
   (or (org-export-custom-protocol-maybe link contents 'beamer info)
       ;; Fall-back to LaTeX export.  However, prefer "\hyperlink" over
       ;; "\hyperref" since the former handles overlay specifications.
-      (let ((latex-link (org-export-with-backend 'latex link contents info)))
-       (if (string-match "\\`\\\\hyperref\\[\\(.*?\\)\\]" latex-link)
-           (replace-match
-            (format "\\\\hyperlink%s{\\1}"
-                    (or (org-beamer--element-has-overlay-p link) ""))
-            nil nil latex-link)
-         latex-link))))
+      (let* ((latex-link (org-export-with-backend 'latex link contents info))
+             (parent (org-export-get-parent-element link))
+             (attr (org-export-read-attribute :attr_beamer parent))
+             (overlay (plist-get attr :overlay)))
+        (cond ((string-match "\\`\\\\hyperref\\[\\(.*?\\)\\]" latex-link)
+               (replace-match
+                (format "\\\\hyperlink%s{\\1}"
+                        (or (org-beamer--element-has-overlay-p link) ""))
+                nil nil latex-link))
+              ((string-match "\\\\include\\(graphics\\|svg\\)\\([[{]?\\)" 
latex-link)
+               ;; Check for overlay specification and insert if
+               ;; present.
+               (replace-match
+                (format "\\\\include\\1%s\\2"
+                        (if overlay overlay ""))
+                nil nil latex-link))
+              (t latex-link)))))
 
 
 ;;;; Plain List



reply via email to

[Prev in Thread] Current Thread [Next in Thread]