summaryrefslogtreecommitdiff
path: root/lisp/org/ox-beamer.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2022-11-29 23:05:53 -0500
committerKyle Meyer <kyle@kyleam.com>2022-11-29 23:05:53 -0500
commit0625651e8a61c9effc31ff771f15885a3a37c6e6 (patch)
treedb4c09e8ef119ad4a9a4028c5e615fd58d2dee69 /lisp/org/ox-beamer.el
parentedd64e64a389e0f0e6ce670846d4fae79a9d8b35 (diff)
downloademacs-0625651e8a61c9effc31ff771f15885a3a37c6e6.tar.gz
Update to Org 9.6-3-ga4d38e
Diffstat (limited to 'lisp/org/ox-beamer.el')
-rw-r--r--lisp/org/ox-beamer.el35
1 files changed, 27 insertions, 8 deletions
diff --git a/lisp/org/ox-beamer.el b/lisp/org/ox-beamer.el
index a70f6e4a0f8..51684448d68 100644
--- a/lisp/org/ox-beamer.el
+++ b/lisp/org/ox-beamer.el
@@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com>
;; Nicolas Goaziou <n.goaziou AT gmail DOT com>
-;; Maintainer: Nicolas Goaziou <n.goaziou at gmail dot com>
+;; Maintainer: Nicolas Goaziou <mail@nicolasgoaziou.fr>
;; Keywords: org, wp, tex
;; This file is part of GNU Emacs.
@@ -30,6 +30,9 @@
;;; Code:
+(require 'org-macs)
+(org-assert-version)
+
(require 'cl-lib)
(require 'ox-latex)
@@ -734,13 +737,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
@@ -857,6 +870,12 @@ holding export options."
(let ((template (plist-get info :latex-hyperref-template)))
(and (stringp template)
(format-spec template (org-latex--format-spec info))))
+ ;; engrave-faces-latex preamble
+ (when (and (eq org-latex-src-block-backend 'engraved)
+ (org-element-map (plist-get info :parse-tree)
+ '(src-block inline-src-block) #'identity
+ info t))
+ (org-latex-generate-engraved-preamble info))
;; Document start.
"\\begin{document}\n\n"
;; Title command.