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>
