1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-11-25 07:27:57 +00:00

ox-latex: Allow AUTO argument to org-latex-guess-babel-language

* ox-latex.el (org-latex-guess-babel-language): replace AUTO with
  language if AUTO is the option of the LaTeX package Babel.
(org-latex-classes): updated documentation with respect
to `org-latex-guess-babel-language'.

TINYCHANGE
This commit is contained in:
rasmus.pank 2013-06-01 00:20:18 +02:00 committed by Nicolas Goaziou
parent a9c044a648
commit 755251fdad

View File

@ -255,12 +255,17 @@ to \\providecommand, and then place \\usepackage commands based
on the content of `org-latex-packages-alist'.
If your header, `org-latex-default-packages-alist' or
`org-latex-packages-alist' inserts
\"\\usepackage[AUTO]{inputenc}\", AUTO will automatically be
replaced with a coding system derived from
`buffer-file-coding-system'. See also the variable
`org-latex-packages-alist' inserts \"\\usepackage[AUTO]{inputenc}\",
AUTO will automatically be replaced with a coding system derived
from `buffer-file-coding-system'. See also the variable
`org-latex-inputenc-alist' for a way to influence this mechanism.
Likewise, if your header contains \"\\usepackage[AUTO]{babel}\",
AUTO will be replaced with the language related to the language
code specified by `org-export-default-language', which see. Note
that constructions such as \"\\usepackage[french,AUTO,english]{babel}\"
are permitted.
The sectioning structure
------------------------
@ -910,6 +915,10 @@ Insertion of guessed language only happens when Babel package has
explicitly been loaded. Then it is added to the rest of
package's options.
The argument to Babel may be \"AUTO\" which is then replaced with
the language of the document or `org-export-default-language'
unless language in question is already loaded.
Return the new header."
(let ((language-code (plist-get info :language)))
;; If no language is set or Babel package is not loaded, return
@ -918,16 +927,19 @@ Return the new header."
(not (string-match "\\\\usepackage\\[\\(.*\\)\\]{babel}" header)))
header
(let ((options (save-match-data
(org-split-string (match-string 1 header) ",")))
(org-split-string (match-string 1 header) ",[ \t]*")))
(language (cdr (assoc language-code
org-latex-babel-language-alist))))
;; If LANGUAGE is already loaded, return header. Otherwise,
;; append LANGUAGE to other options.
(if (member language options) header
(replace-match (mapconcat 'identity
(append options (list language))
",")
nil nil header 1))))))
;; If LANGUAGE is already loaded, return header without AUTO.
;; Otherwise, replace AUTO with language or append language if
;; AUTO is not present.
(replace-match
(mapconcat (lambda (option) (if (equal "AUTO" option) language option))
(cond ((member language options) (delete "AUTO" options))
((member "AUTO" options) options)
(t (append options (list language))))
", ")
t nil header 1)))))
(defun org-latex--find-verb-separator (s)
"Return a character not used in string S.