[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-export-latex-hyperref-options-format

From: Joe Hirn
Subject: Re: [O] org-export-latex-hyperref-options-format
Date: Mon, 24 Feb 2014 15:51:24 -0600

Against the latest master:

**************BEGIN PATCH*************
From 996e75b3538e60049645a5025a390be603425b8b Mon Sep 17 00:00:00 2001
From: Joe Hirn <address@hidden>
Date: Mon, 24 Feb 2014 15:23:09 -0600
Subject: [PATCH] Allow customization of hyperrefsetup via

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

 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.
      ;; Title command.
******************* END PATCH *********************************

On Sat, Feb 22, 2014 at 11:02 AM, Bastien <address@hidden> wrote:
Hi Joe,

Joe Hirn <address@hidden> writes:

> Where can I clone the master branch from?

This should do the trick:

~$ git clone git://orgmode.org/org-mode.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]