From dde65056267bcb4c1bfe23c2e66f570739bb72c7 Mon Sep 17 00:00:00 2001 From: "rasmus" Date: Sat, 1 Jun 2013 00:20:18 +0200 Subject: [PATCH] Allow AUTO argument to org-latex-guess-babel-language. * ox-latex.el (org-latex-guess-babel-language): ignore AUTO if argument. * ox-latex.el (org-lat ex-guess-babel-language): use language if is not in =`org-latex-inputenc-alist'=. * ox-latex.el (org-latex-guess-babel-language): retain case in final regexp of function. Behavior changes: 1. =("AUTO" "babel" t)= works like ("AUTO" "inputenc" t) in =`org-latex-default-packages-alist'=. I.e. the default language is choosen. 2. if #+LANGUAGE: mylang then then \usepackage[mylang]{babel} in outpu. TINYCHANGE --- lisp/ox-latex.el | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el index 3a01693..033d318 100644 --- a/lisp/ox-latex.el +++ b/lisp/ox-latex.el @@ -929,19 +929,21 @@ Return the new header." ;; If no language is set or Babel package is not loaded, return ;; HEADER as-is. (if (or (not (stringp language-code)) - (not (string-match "\\\\usepackage\\[\\(.*\\)\\]{babel}" header))) + (not (string-match "\\\\usepackage\\[\\(AUTO\\)?,?\\(.*\\)\\]{babel}" header))) header (let ((options (save-match-data - (org-split-string (match-string 1 header) ","))) - (language (cdr (assoc language-code - org-latex-babel-language-alist)))) + (org-split-string (match-string 2 header) ","))) + (language (or + (cdr (assoc language-code + org-latex-babel-language-alist)) + language-code))) ;; 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)))))) + t nil header 1)))))) (defun org-latex--find-verb-separator (s) "Return a character not used in string S. -- 1.8.3