diff options
author | Kyle Meyer <kyle@kyleam.com> | 2022-11-29 23:05:53 -0500 |
---|---|---|
committer | Kyle Meyer <kyle@kyleam.com> | 2022-11-29 23:05:53 -0500 |
commit | 0625651e8a61c9effc31ff771f15885a3a37c6e6 (patch) | |
tree | db4c09e8ef119ad4a9a4028c5e615fd58d2dee69 /lisp/org/ox-beamer.el | |
parent | edd64e64a389e0f0e6ce670846d4fae79a9d8b35 (diff) | |
download | emacs-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.el | 35 |
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. |