Function: org-beamer-link
org-beamer-link is a byte-compiled function defined in
ox-beamer.el.gz.
Signature
(org-beamer-link LINK CONTENTS INFO)
Documentation
Transcode a LINK object into Beamer code.
CONTENTS is the description part of the link. INFO is a plist used as a communication channel.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ox-beamer.el.gz
;;;; Link
(defun org-beamer-link (link contents info)
"Transcode a LINK object into Beamer code.
CONTENTS is the description part of the link. INFO is a plist
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))
(parent (org-element-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)))))