From 996e75b3538e60049645a5025a390be603425b8b Mon Sep 17 00:00:00 2001
Date: Mon, 24 Feb 2014 15:23:09 -0600
Subject: [PATCH] Allow customization of hyperrefsetup via
`org-latex-hyperref-template'
* ox-latex.el (org-latex-hyperref-template): Add custom var `org-latex-hyperref-template' to enable
customization of the \\hypersetup{...}. The value is a format-spec
with placeholders for KEYWORDS, DESCRIPTION and CREATOR.
(org-latex-with-hyperref): Remove custom var
`org-latex-with-hyperref'. Set `org-latex-hyperref-template' to
an empty string to disable the \\hypersetup{...} output.
(org-latex-template): Make use of new `org-latex-hyperref-template'
when emitting \\hypersetup{...}.
This patch allows the user to emit custom options for the
\\hypersetup{...} options which are used by the \\hyperref package.
Modfied by Joe Hirn with advice from Nicholas Goaziou
TINYCHANGE
---
lisp/ox-latex.el | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 50a08f6..8f9dcdd 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -106,7 +106,7 @@
(:latex-class-options "LATEX_CLASS_OPTIONS" nil nil t)
(:latex-header "LATEX_HEADER" nil nil newline)
(:latex-header-extra "LATEX_HEADER_EXTRA" nil nil newline)
- (:latex-hyperref-p nil "texht" org-latex-with-hyperref t)
+ (:latex-hyperref nil nil org-latex-hyperref-template t)
(:latex-custom-id-labels nil nil org-latex-custom-id-as-label))
:filters-alist '((:filter-options . org-latex-math-block-options-filter)
(:filter-parse-tree . org-latex-math-block-tree-filter)))
@@ -348,11 +348,19 @@ the toc:nil option, not to those generated with #+TOC keyword."
:group 'org-export-latex
:type 'string)
-(defcustom org-latex-with-hyperref t
- "Toggle insertion of \\hypersetup{...} in the preamble."
+
+(defcustom org-latex-hyperref-template "\\hypersetup{\n pdfkeywords={%k},\n pdfsubject={%d},\n pdfcreator={%c}}\n"
+ "Template for hyperref package options.
+
+Value is a format string, which can contain the following placeholders:
+
+ %k for KEYWORDS line
+ %d for DESCRIPTION line
+ %c for CREATOR line
+
+An empty string disables the setup."
:group 'org-export-latex
- :type 'boolean
- :safe #'booleanp)
+ :type 'string)
;;;; Headline
@@ -1188,12 +1196,13 @@ holding export options."
;; Title
(format "\\title{%s}\n" title)
;; Hyperref options.
- (when (plist-get info :latex-hyperref-p)
- (format "\\hypersetup{\n pdfkeywords={%s},\n pdfsubject={%s},\n pdfcreator={%s}}\n"
- (or (plist-get info :keywords) "")
- (or (plist-get info :description) "")
- (if (not (plist-get info :with-creator)) ""
- (plist-get info :creator))))
+ (format-spec (plist-get info :latex-hyperref)
+ (format-spec-make
+ ?k (or (plist-get info :keywords) "")
+ ?d (or (plist-get info :description)"")
+ ?c (if (plist-get info :with-creator)
+ (plist-get info :creator)
+ "")))
;; Document start.
"\\begin{document}\n\n"
;; Title command.
--
1.8.5.4
******************* END PATCH *********************************