Dear Sebastien,
>>>> 1. As far as I remember, if more than one language is loaded the
>>>> order is not neutral one one should issue a \selectlanguage{LANG}.
>>>
>>> If there are multiple languages, the main language is the latest loaded;
>>> that
>>> is `english' in the following example:
>>>
>>> \RequirePackage[frenchb,english]{babel}
>>
>> So if a #+LANGUAGE: LANG cookie is present I guess it should be loaded
>> last. Or a \selectlanguage{LANG} should be issued.
>>
>> Non-rigorous testing suggests that it will do the former now on master
>> and thus presumably also in the patch.
>
> AFAICT, this is so since a while. Nicolas implemented the above described
> behavior months ago...
>
> See http://lists.gnu.org/archive/html/emacs-orgmode/2012-06/msg00387.html.
>
> Doesn't that work for you already in Org core as it is?
I'm sorry, I guess the changelog is too sparse or too unclear. Let me
try to annotate it.
** Goal: make bable work similar to inputenc (and try to be less 'smart') **
> * ox-latex.el (org-latex-guess-babel-language): ignore AUTO
> if argument.
I can now add ("AUTO" "babel" t) to
org-latex-default-packages-alist—you'll recognize this syntax from
inputenc (see org-latex-default-packages-alist).
This means allows me to load babel every time I export a LaTeX
document. Babel is important enough that I want I always want to load
it.
Due to the exists of org-export-default-language there is's always a
replacement for AUTO.
Let's consider an example:
1. Say, org-export-default-language is "en".
2. In my document #+LANGUAGE: fr. Using this patch AUTO is replaced
by 'french' when I have a LANGUAGE-cookie. When no LANGUAGE is
present, it defaults to org-export-default-language. Thus, I only
load one language and I can have a more general
org-latex-default-packages-alist.
> * ox-latex.el (org-lat ex-guess-babel-language): use language
> if is not in =`org-latex-inputenc-alist'=.
Let's just continue the example above, but suppose I now want to write
a German document.
For instance with German there is both german and ngerman, and
apparently a germanb. Through the LANGUAGE-cookie I can only get
ngerman (de-de) and germanb (de). But I might want to get german for
whatever reason. So I might try
#+LANGUAGE: german
Currently it's discarded. But why not just pass it along when the
value of LANGUAGE is not in org-latex-babel-language-alist and assume
I know what I am doing?
> * ox-latex.el (org-latex-guess-babel-language): retain case in final
> regexp of function.
Needed for AUTO to replacing everything with uppercase.
I hope the above makes the purpose of the patch clear. I'll try to
write better change logs in the future.
> Behavior changes:
> 1. =("AUTO" "babel" t)= works like ("AUTO" "inputenc" t) in
> =`org-latex-default-packages-alist'=. I.e. the default
> language is choosen (sic).
> 2. if #+LANGUAGE: mylang then then \usepackage[mylang]{babel} in
> outpu (sic).
This message in five line. . .
Cheers,
Rasmus
--
m-mm-mmm-mmmm bacon!