Pedro Andres Aranda Gutierrez <[email protected]> writes:

>> Also, more generally, I feel that we need to emphasize better that fonts
>> *must* be configured for non-Latin languages.
>
> I have added a paragraph with this at the beginning of the multi-lang section.
> Let me know what you think.

LGTM.
The next set of comments :)

>   The LaTeX export backend can handle non-English and multi-language
>   documents using the LaTeX packages =babel= or =polyglossia=.  The
>   document languages should be specified using =LANGUAGE= keyword.  If
>   =LANGUAGE= is not specified, the value of
>   ~org-export-default-language~ is used.

This paragraph sets up expectation that only babel and polyglossia must
be used. fontspec is not mentioned. Maybe we can have an opening
paragraph describe what it means to handle non-English languages?

Something explaining that LaTeX historically supports English (and thus
latin) texts and that supporting other languages and scripts is somewhat
an afterthought. Then, say that properly supporting non-latin text
requires (1) setting up fonts; (2) assigning the right standard names;
(3) using correct punctuation rules (e.g. quotes are different in
different languages).

Setting up fonts is tricky. By default, LaTeX only loads the fonts
appropriate for latin characters. non-latin characters in the document
are often not rendered correctly without loading a custom (usually
Unicode) font. In lualatex and xelatex, this can be done using fontspec
package, while pdflatex does not have a universal solution - different
languages require individual setups described in the later sections.

For setting up the punctuation and translated names, LaTeX can use
babel/polyglossia. Babel works in all the compilers, while polyglossia
supports xelatex and lualatex.

Then, we can go ahead and continue talking about polyglossia, babel,
fontspec, and manual configuration in more details.

WDYT about such logical flow?

> The document languages should be specified using =LANGUAGE= keyword.  If
> =LANGUAGE= is not specified, the value of ~org-export-default-language~ is 
> used.
> ...
> =LATEX_MULTI_LANG= keyword, or the ~org-latex-multi-lang~
>  variable when the keyword is not used

I think that instead of repeating the details about default values of
latex export settings, we can simply call them
=LATEX_MULTI_LANG=/=LANGUAGE= setting and describe the default values in
"LaTeX specific export settings" section, where they fit better.

> =LATEX_MULTI_LANG= is ~nil~ by default

I suggest talking about manual configuration last and instead start from
babel/polyglossia, followed by fontspec.

>  If you use =polyglossia=, you can control the fonts used for
>   different languages in the PDF output with the variable
>   ~org-latex-polyglossia-font-config~.
>   #+vindex: org-latex-polyglossia-font-config
> 
>   If you use =babel=, you can control the fonts used for different
>   languages in the PDF output with the variable
>   ~org-latex-babel-font-config~.
> 
> ...
> 
>   See [[#lualatex-polyglossia]] and [[#babel-fontconfig]] for more
>   details about ~babel~ and ~polyglossia~ configuration.  Note that
>   ~polyglossia~ does not work with =pdflatex= compiler.  We recommend
>   using =lualatex= or =xelatex= for reliable non-Latin language
>   support.

Maybe we can drop the first two paragraphs in the above and just leave
the last one? The two sections referenced are detailing font configuration.

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to