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)))))