Function: org-latex-make-preamble

org-latex-make-preamble is an autoloaded and byte-compiled function defined in ox-latex.el.gz.

Signature

(org-latex-make-preamble INFO &optional TEMPLATE SNIPPET?)

Documentation

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. When SNIPPET? is non-nil, only includes packages relevant to image generation, as specified in org-latex-default-packages-alist or org-latex-packages-alist.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ox-latex.el.gz
;;; Template

;;;###autoload
(defun org-latex-make-preamble (info &optional template snippet?)
  "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'.  When SNIPPET? is
non-nil, only includes packages relevant to image generation, as
specified in `org-latex-default-packages-alist' or
`org-latex-packages-alist'."
  (let* ((class (plist-get info :latex-class))
	 (class-template
	  (or template
	      (let* ((class-options (plist-get info :latex-class-options))
		     (header (nth 1 (assoc class (plist-get info :latex-classes)))))
		(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)
	 snippet?
	 (mapconcat #'org-element-normalize-string
		    (list (plist-get info :latex-header)
			  (and (not snippet?)
			       (plist-get info :latex-header-extra)))
		    ""))))
      info)
     info)))