summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2017-01-21 11:31:25 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2017-01-21 11:31:25 +0100
commit53bc58c433a68b21ac80ce3c7a8f208aafe38b4b (patch)
tree46106b9ab14ee0e340c720b4c4f85f3b9327d360
parentbbdecd1e64a07b3821714d905a58eaca12828cb6 (diff)
downloadorg-mode-53bc58c433a68b21ac80ce3c7a8f208aafe38b4b.tar.gz
Rename `org-latex--make-preamble' into `org-latex-make-preamble'
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): * lisp/org.el (org-create-formula-image): * lisp/ox-beamer.el (org-beamer-template): * lisp/ox-latex.el (org-latex-make-preamble): Renamed from `org-latex--make-preamble'. Add an optional argument. Autoload function. (org-latex-template): Use new function name.
-rw-r--r--contrib/lisp/ox-koma-letter.el2
-rw-r--r--lisp/org.el33
-rw-r--r--lisp/ox-beamer.el2
-rw-r--r--lisp/ox-latex.el65
-rw-r--r--lisp/ox.el4
5 files changed, 46 insertions, 60 deletions
diff --git a/contrib/lisp/ox-koma-letter.el b/contrib/lisp/ox-koma-letter.el
index 1e30b43..37da54c 100644
--- a/contrib/lisp/ox-koma-letter.el
+++ b/contrib/lisp/ox-koma-letter.el
@@ -631,7 +631,7 @@ holding export options."
;; LaTeX compiler
(org-latex--insert-compiler info)
;; Document class and packages.
- (org-latex--make-preamble info)
+ (org-latex-make-preamble info)
;; Settings. They can come from three locations, in increasing
;; order of precedence: global variables, LCO files and in-buffer
;; settings. Thus, we first insert settings coming from global
diff --git a/lisp/org.el b/lisp/org.el
index ea07cc0..9df4468 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -115,8 +115,7 @@ Stars are put in group 1 and the trimmed body in group 2.")
(declare-function isearch-no-upper-case-p "isearch" (string regexp-flag))
(declare-function org-add-archive-files "org-archive" (files))
(declare-function org-agenda-entry-get-agenda-timestamp "org-agenda" (pom))
-(declare-function org-agenda-list "org-agenda"
- (&optional arg start-day span with-hour))
+(declare-function org-agenda-list "org-agenda" (&optional arg start-day span with-hour))
(declare-function org-agenda-redo "org-agenda" (&optional all))
(declare-function org-babel-do-in-edit-buffer "ob-core" (&rest body) t)
(declare-function org-babel-tangle-file "ob-tangle" (file &optional target-file lang))
@@ -172,6 +171,9 @@ Stars are put in group 1 and the trimmed body in group 2.")
(declare-function org-tags-view "org-agenda" (&optional todo-only match))
(declare-function orgtbl-ascii-plot "org-table" (&optional ask))
(declare-function orgtbl-mode "org-table" (&optional arg))
+(declare-function org-export-get-backend "ox" (name))
+(declare-function org-export-get-environment "ox" (&optional backend subtreep ext-plist))
+(declare-function org-latex-make-preamble "ox-latex" (info &optional template))
(defsubst org-uniquify (list)
"Non-destructively remove duplicate elements from LIST."
@@ -19438,26 +19440,6 @@ inspection."
;; Failed conversion. Return the LaTeX fragment verbatim
latex-frag)))
-(declare-function org-export-get-backend "ox" (name))
-(declare-function org-export--get-global-options "ox" (&optional backend))
-(declare-function org-export--get-inbuffer-options "ox" (&optional backend))
-(declare-function org-latex-guess-inputenc "ox-latex" (header))
-(declare-function org-latex-guess-babel-language "ox-latex" (header info))
-(defun org-create-formula--latex-header ()
- "Return LaTeX header appropriate for previewing a LaTeX snippet."
- (let ((info (org-combine-plists (org-export--get-global-options
- (org-export-get-backend 'latex))
- (org-export--get-inbuffer-options
- (org-export-get-backend 'latex)))))
- (org-latex-guess-babel-language
- (org-latex-guess-inputenc
- (org-splice-latex-header
- org-format-latex-header
- org-latex-default-packages-alist
- org-latex-packages-alist t
- (plist-get info :latex-header)))
- info)))
-
(defun org--get-display-dpi ()
"Get the DPI of the display.
The function assumes that the display has the same pixel width in
@@ -19496,8 +19478,11 @@ a HTML file."
(post-clean (or (plist-get processing-info :post-clean)
'(".dvi" ".xdv" ".pdf" ".tex" ".aux" ".log"
".svg" ".png" ".jpg" ".jpeg" ".out")))
- (latex-header (or (plist-get processing-info :latex-header)
- (org-create-formula--latex-header)))
+ (latex-header
+ (or (plist-get processing-info :latex-header)
+ (org-latex-make-preamble
+ (org-export-get-environment (org-export-get-backend 'latex))
+ org-format-latex-header)))
(latex-compiler (plist-get processing-info :latex-compiler))
(image-converter (plist-get processing-info :image-converter))
(tmpdir temporary-file-directory)
diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el
index 834e07f..40cf2e7 100644
--- a/lisp/ox-beamer.el
+++ b/lisp/ox-beamer.el
@@ -797,7 +797,7 @@ holding export options."
;; LaTeX compiler
(org-latex--insert-compiler info)
;; Document class and packages.
- (org-latex--make-preamble info)
+ (org-latex-make-preamble info)
;; Insert themes.
(let ((format-theme
(function
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index a4d528f..28e7985 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -1584,37 +1584,6 @@ INFO is a plist used as a communication channel."
(?L . ,(capitalize language))
(?D . ,(org-export-get-date info)))))
-(defun org-latex--make-preamble (info)
- "Return a formatted LaTeX preamble.
-INFO is a plist used as a communication channel."
- (let* ((class (plist-get info :latex-class))
- (class-options (plist-get info :latex-class-options))
- (header (nth 1 (assoc class (plist-get info :latex-classes))))
- (document-class-string
- (and (stringp header)
- (if (not class-options) header
- (replace-regexp-in-string
- "^[ \t]*\\\\documentclass\\(\\(\\[[^]]*\\]\\)?\\)"
- class-options header t nil 1)))))
- (if (not document-class-string)
- (user-error "Unknown LaTeX class `%s'" class)
- (org-latex-guess-polyglossia-language
- (org-latex-guess-babel-language
- (org-latex-guess-inputenc
- (org-element-normalize-string
- (org-splice-latex-header
- document-class-string
- (org-latex--remove-packages
- org-latex-default-packages-alist info)
- (org-latex--remove-packages
- org-latex-packages-alist info)
- nil
- (mapconcat 'org-element-normalize-string
- (list (plist-get info :latex-header)
- (plist-get info :latex-header-extra)) ""))))
- info)
- info))))
-
(defun org-latex--insert-compiler (info)
"Insert LaTeX_compiler info into the document.
INFO is a plist used as a communication channel."
@@ -1645,6 +1614,38 @@ INFO is a plist used as a communication channel."
;;; Template
+;;;###autoload
+(defun org-latex-make-preamble (info &optional template)
+ "Return a formatted LaTeX preamble.
+INFO is a plist used as a communication channel. Optional
+argument TEMPLATE, when non-nil, is the header template string,
+as expected by `org-splice-latex-header'."
+ (let* ((class (plist-get info :latex-class))
+ (class-options (plist-get info :latex-class-options))
+ (header (nth 1 (assoc class (plist-get info :latex-classes))))
+ (class-template
+ (or template
+ (and (stringp header)
+ (if (not class-options) header
+ (replace-regexp-in-string
+ "^[ \t]*\\\\documentclass\\(\\(\\[[^]]*\\]\\)?\\)"
+ class-options header t nil 1)))
+ (user-error "Unknown LaTeX class `%s'" class))))
+ (org-latex-guess-polyglossia-language
+ (org-latex-guess-babel-language
+ (org-latex-guess-inputenc
+ (org-element-normalize-string
+ (org-splice-latex-header
+ class-template
+ (org-latex--remove-packages org-latex-default-packages-alist info)
+ (org-latex--remove-packages org-latex-packages-alist info)
+ nil
+ (mapconcat #'org-element-normalize-string
+ (list (plist-get info :latex-header)
+ (plist-get info :latex-header-extra)) ""))))
+ info)
+ info)))
+
(defun org-latex-template (contents info)
"Return complete document string after LaTeX conversion.
CONTENTS is the transcoded contents string. INFO is a plist
@@ -1658,7 +1659,7 @@ holding export options."
;; LaTeX compiler.
(org-latex--insert-compiler info)
;; Document class and packages.
- (org-latex--make-preamble info)
+ (org-latex-make-preamble info)
;; Possibly limit depth for headline numbering.
(let ((sec-num (plist-get info :section-numbers)))
(when (integerp sec-num)
diff --git a/lisp/ox.el b/lisp/ox.el
index f07116e..47f0a6b 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -77,12 +77,12 @@
(require 'org-macro)
(require 'tabulated-list)
+(declare-function org-src-coderef-format "org-src" (&optional element))
+(declare-function org-src-coderef-regexp "org-src" (fmt &optional label))
(declare-function org-publish "ox-publish" (project &optional force async))
(declare-function org-publish-all "ox-publish" (&optional force async))
(declare-function org-publish-current-file "ox-publish" (&optional force async))
(declare-function org-publish-current-project "ox-publish" (&optional force async))
-(declare-function org-src-coderef-format "org-src" (&optional element))
-(declare-function org-src-coderef-regexp "org-src" (fmt &optional label))
(defvar org-publish-project-alist)
(defvar org-table-number-fraction)