Multilingue

Un document ne se limite pas toujours au japonais et à l’anglais. Français, allemand, russe, grec, arabe : chacun a sa césure, ses chaînes de document (« Chapter » ↔ « Chapitre ») et ses règles typographiques. LaTeX gère cela avec babel (tous moteurs) ou polyglossia (pour les moteurs Unicode), avec bidi en plus pour les écritures de droite à gauche.

babel et polyglossia

babel (par Johannes Braams) est le classique et prend en charge pdfLaTeX, XeLaTeX et LuaLaTeX. Les langues se déclarent comme options du paquet (la dernière est la langue principale) ; un bloc se change avec \selectlanguage{...} et un passage en ligne avec \foreignlanguage{lang}{...}. Il active la bonne césure, traduit les chaînes du document et applique la typographie propre à la langue (par exemple l’espace fine avant ; : ! ? en français). Il est activement développé et reste le choix par défaut même avec les moteurs Unicode.

latex
% babel:最後の言語がメイン / last language is the main one
\usepackage[russian,french,english]{babel}
...
\foreignlanguage{french}{Bonjour !}

polyglossia est l’alternative destinée à XeLaTeX/LuaLaTeX, adaptée aux polices système et aux écritures complexes. Déclarez les langues avec \setmainlanguage{...} / \setotherlanguage{...} (les langues secondaires doivent être explicites), puis changez avec une commande \text<lang> comme \textarabic{...}.

Texte bidirectionnel — RTL

Les écritures de droite à gauche (RTL) comme l’arabe, l’hébreu et le persan se traitent avec des moteurs Unicode. Le paquet bidi (pour XeTeX/LuaTeX) contrôle la direction : \setRTL/\setRL pour les paragraphes droite→gauche, \setLTR/\setLR pour gauche→droite. Sous XeTeX, babel comme polyglossia s’appuient sur bidi, et les zones mixtes LR/RL exigent un balisage explicite. Pour un vrai travail bidirectionnel, LuaLaTeX est recommandé : babel sur LuaTeX utilise un algorithme Unicode qui détecte automatiquement la direction et inverse aussi la mise en page, comme les tableaux et marges.

latex
% XeTeX / LuaTeX
\usepackage{bidi}
\setRTL   % 以降を右→左に / switch to right-to-left

Prise en charge par langue

babel/polyglossia couvrent de nombreuses langues : français, allemand, italien, espagnol, portugais, russe, grec, arabe, chinois, coréen, etc. Chacune ajoute césure, chaînes de document et conventions propres. Les écritures non latines (russe/cyrillique, grec, arabe) demandent une police adaptée : le plus simple est XeLaTeX/LuaLaTeX avec polices système (fontspec) ; avec pdfLaTeX, associez le bon fontenc (T2A pour le cyrillique, LGR pour le grec). Pour CJK, voir les pages dédiées.

  • La plupart des casbabel (tous moteurs, développement actif).
  • Écritures complexes / polices système avec XeLaTeX/LuaLaTeXpolyglossia convient aussi.
  • RTL (arabe, hébreu)LuaLaTeX + babel (gestion bidirectionnelle automatique).
  • Japonais / CJK → voies dédiées (voir « Méthodes de composition japonaise », « CJK »).