Skip to content

Commit

Permalink
doc/org-manual.org: documentation for `org-latex-language-alist'
Browse files Browse the repository at this point in the history
* etc/ORG-NEWS: update the news with the new variable.
  • Loading branch information
Juan Manuel Macias authored and yantar92 committed Aug 20, 2022
1 parent 45e02e6 commit 243ded7
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 2 deletions.
60 changes: 58 additions & 2 deletions doc/org-manual.org
Original file line number Diff line number Diff line change
Expand Up @@ -13373,15 +13373,23 @@ general options (see [[*Export Settings]]).
- =LANGUAGE= ::
#+cindex: @samp{LANGUAGE}, keyword
#+vindex: org-latex-packages-alist
#+vindex: org-latex-language-alist

Language code of the primary document language.

The list of language codes supported by Org is stored in the
variable ~org-latex-language-alist~.

In order to be effective, the =babel= or =polyglossia=
packages---according to the LaTeX compiler used---must be loaded
with the appropriate language as argument. This can be accomplished
by modifying the ~org-latex-packages-alist~ variable, e.g., with the
following snippet:
following snippet (note that =polyglossia= does not work with
pdfLaTeX):

#+begin_src emacs-lisp
(add-to-list 'org-latex-packages-alist
'("AUTO" "babel" t ("pdflatex")))
'("AUTO" "babel" t ("pdflatex" "xelatex" "lualatex")))
(add-to-list 'org-latex-packages-alist
'("AUTO" "polyglossia" t ("xelatex" "lualatex")))
#+end_src
Expand Down Expand Up @@ -13511,6 +13519,54 @@ A sample Org file with the above headers:
some more text
#+end_example

#+cindex: @samp{LANGUAGE}, keyword
#+vindex: org-export-default-language
LaTeX packages =babel= or =polyglossia= can also be loaded in a
document. The "AUTO" string will be replaced in both cases by the
appropiate value for the =LANGUAGE= keyword, if present in the
document, or by the value of ~org-export-default-language~. Let's see
some examples in one or another case.

=Babel= accepts the classic syntax and (in addition) the new syntax
with the =\babelprovide= command to load the languages using the new
=INI= files procedure. Keep in mind that there are a number of
languages that are only served in babel using =INI= files, so they
cannot be declared using the classic syntax, but only using the
=\babelprovide= command (see
https://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf).
Valid usage examples could be:

#+begin_example
,#+LATEX_HEADER: \usepackage[french,italian,AUTO]{babel}
#+end_example

where "AUTO" is the main language. But it can also be loaded using
the =\babelprovide= command:

#+begin_example
,#+LATEX_HEADER: \usepackage[french,italian]{babel}
,#+LATEX_HEADER: \babelprovide[import, main]{AUTO}
#+end_example

=Polyglossia=, for this procedure to be effective, must be loaded
using the same =babel= classic syntax (but note that /this is not/
the actual polyglossia syntax). For example, suppose a document
declares Polytonic Greek as the primary language, and French as the
secondary language. In this case, it would be expressed as:

#+begin_example
,#+LANGUAGE: el-polyton
,#+LATEX_HEADER: \usepackage[french,AUTO]{polyglossia}
#+end_example

This would produce in LaTeX (with the actual =polyglossia= syntax):

#+begin_example
\usepackage{polyglossia}
\setmainlanguage[variant=polytonic]{greek}
\setotherlanguage{french}
#+end_example

*** Quoting LaTeX code
:PROPERTIES:
:DESCRIPTION: Incorporating literal @LaTeX{} code.
Expand Down
13 changes: 13 additions & 0 deletions etc/ORG-NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -431,6 +431,19 @@ prompting for a link description. It can be a string (used as-is) or
a function (called with the same arguments as
~org-make-link-description-function~ to return a string to use).

*** New list of languages for LaTeX export: ~org-latex-language-alist~

~org-latex-language-alist~ unifies into a single list the old language
lists for the =babel= and =polyglossia= LaTeX packages:
~org-latex-babel-language-alist~ and
~org-latex-polyglossia-language-alist~, respectively, which are
declared obsolete.

This new list captures the current state of art regarding language
support in LaTeX. The new =babel= syntax for loading languages via
=ini= files and the new command =\babelprovide= (see:
https://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf)
are also supported.
* Version 9.5

** Important announcements and breaking changes
Expand Down

0 comments on commit 243ded7

Please sign in to comment.