Aller au contenu
Topos Uranos

Résumé

Cette leçon enseigne à déclarer les langues d’un document et à choisir ses polices. Elle explique ce que babel change quand on déclare une langue (la césure, les intitulés, les dates et les guillemets) et distingue les trois manières de changer de langue : \selectlanguage, \foreignlanguage et l’environnement otherlanguage. Elle applique ce qui précède au grec polytonique et au latin, avec un passage de chacun. Elle présente ensuite fontspec : les trois familles d’un document, \babelfont pour attribuer une police à chaque langue et les fonctionnalités OpenType les plus utiles (chiffres elzéviriens, petites capitales et ligatures). Elle enseigne à vérifier qu’une police contient tous les caractères du document, en lisant les avertissements « Missing character » et en cherchant des polices avec albatross, et explique pourquoi il vaut mieux préférer les polices fournies avec TeX Live quand le document doit aussi compiler sur Overleaf. Elle se termine par une brève mention des écritures de droite à gauche, des écritures asiatiques et de polyglossia.

Objectifs d’apprentissage

  1. Déclarer la langue principale et les langues secondaires d’un document avec babel, et expliquer ce que chaque langue décide dans le résultat.
  2. Choisir entre \foreignlanguage, otherlanguage et \selectlanguage selon ce qui doit changer, et prévoir la date, les intitulés et les guillemets qui en résultent.
  3. Composer des passages en grec polytonique et en latin avec leur césure et une police adaptée.
  4. Attribuer des polices avec fontspec et babel, et activer les chiffres elzéviriens, les petites capitales et les ligatures.
  5. Vérifier que les polices choisies contiennent tous les caractères et tous les styles que le document emploie, et interpréter les avertissements qui indiquent le contraire.
  6. Choisir entre une police de TeX Live et une police du système selon l’endroit où le document doit être compilé.

Ce que change la langue

Les leçons précédentes ont toujours chargé \usepackage[french]{babel} sans s’arrêter sur ce qu’il fait. Or une langue n’est pas seulement une liste de lettres : elle a ses règles pour couper les mots en fin de ligne, ses noms pour les parties d’un document, sa manière d’écrire les dates et ses guillemets. L’extension babel réunit ces conventions langue par langue, et déclarer une langue revient à lui demander de les appliquer. Concrètement, la langue décide :

  • la césure : avec quels motifs le moteur cherche les points où un mot peut être coupé ;
  • les intitulés que LaTeX écrit de lui-même, comme le titre de la table des matières ou le nom des tableaux et des figures ;
  • la date qu’imprime \today, qui est celle du jour de la compilation ;
  • certaines règles typographiques propres, comme les espaces que le français place devant la ponctuation haute et à l’intérieur des guillemets, qu’on verra dans cette même section.
ExempleLes mêmes commandes en trois langues

Les trois paragraphes emploient les mêmes commandes ; seule change la langue dans laquelle elles sont lues. \tablename, \figurename et \contentsname sont les intitulés des tableaux, des figures et de la table des matières.

Code LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[latin, english, french]{babel}\begin{document}Date : \today. Intitulés : \tablename, \figurename, \contentsname.​\begin{otherlanguage}{english}Date: \today. Captions: \tablename, \figurename, \contentsname.\end{otherlanguage}​\begin{otherlanguage}{latin}Dies: \today. Tituli: \tablename, \figurename, \contentsname.\end{otherlanguage}\end{document}
Résultat
Résultat

Le latin écrit le jour et l’année en chiffres romains. Dans le paragraphe français, babel a remplacé l’espace tapée devant les deux-points par une espace insécable (il l’aurait ajoutée même sans espace dans la source) ; il ne fait rien de tel dans le paragraphe anglais. Il faut remarquer enfin que babel, en français, intitule « Table » un tableau, alors que la liste s’intitule « Liste des tableaux » ; si l’on préfère « Tableau », on l’indique dans le préambule avec \setlocalecaption{french}{table}{Tableau}.

La césure

La césure est l’effet le moins visible de la langue et le plus important. Chaque langue coupe ses mots selon sa propre tradition : le français coupe par syllabes, l’anglais respecte souvent la formation du mot, comme dans stand-ing, et le latin, selon la tradition que suivent ses motifs, reporte le s suivi d’une consonne à la ligne suivante. Si un passage dans une autre langue n’est pas marqué, le moteur le coupe avec les motifs de la langue en vigueur, et les coupures qu’il propose peuvent être fautives dans cette langue.

La commande \showhyphens écrit dans le journal les points de coupure que le moteur admettrait dans les mots qu’elle reçoit, sans rien imprimer dans le document. Elle sert à vérifier quels motifs sont en vigueur à chaque endroit.

ExempleLes mêmes mots avec des motifs différents

La source demande les coupures de deux mots anglais et de deux mots latins, d’abord avec les motifs du français, qui est la langue principale, puis avec ceux de leur propre langue.

Code LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[latin, english, french]{babel}\begin{document}\showhyphens{understanding knowledge}\foreignlanguage{english}{\showhyphens{understanding knowledge}}\showhyphens{nostrum conscientia}\foreignlanguage{latin}{\showhyphens{nostrum conscientia}}\end{document}

Le journal montre, pour chaque ligne, un avertissement de boîte (inoffensif : \showhyphens compose les mots dans une ligne très large pour les examiner) suivi des mots avec leurs coupures.

Journal de compilation
Underfull \hbox (badness 10000) in paragraph at lines 5--5[] \TU/lmr/m/n/10 un-ders-tan-ding know-ledge​Underfull \hbox (badness 10000) in paragraph at lines 6--6[] \TU/lmr/m/n/10 un-der-stand-ing knowl-edge​Underfull \hbox (badness 10000) in paragraph at lines 7--7[] \TU/lmr/m/n/10 nos-trum conscien-tia​Underfull \hbox (badness 10000) in paragraph at lines 8--8[] \TU/lmr/m/n/10 no-strum con-scien-tia

Avec les motifs du français, l’anglais est coupé en syllabes françaises, et une coupure comme un-ders serait une faute visible dans un texte anglais ; avec ceux de l’anglais, les coupures respectent la formation des mots. Il en va de même du latin : la ligne 7 coupe comme on couperait en français, et la ligne 8, comme l’enseigne la tradition latine.

Les guillemets du français

La typographie française emploie les guillemets en chevrons, «…», séparés du texte qu’ils encadrent par une espace insécable ; à l’intérieur d’une citation, une seconde citation prend le plus souvent les guillemets anglais, “…”. Le français de babel s’en charge de deux manières. La commande \frquote{…} compose les chevrons avec leurs espaces, et, imbriquée dans une autre, place la citation intérieure entre guillemets anglais. Avec LuaLaTeX, de plus, les caractères « et » tapés au clavier reçoivent d’eux-mêmes leurs espaces insécables : on peut écrire indifféremment « a » ou «a». L’ancienne syntaxe \og a\fg{} reste valable.

ExempleTrois niveaux de guillemets
Code LaTeX
\frquote{Le maître dit : \frquote{répétez \emph{anamnèse} à voix haute}.}​«Guillemets» tapés au clavier, ``anglais'' et `simples' à la main.
Résultat
Résultat

La première ligne imbrique deux \frquote : l’extérieure reçoit les chevrons et leurs espaces, l’intérieure les guillemets anglais. La seconde montre les chevrons tapés directement, que babel espace lui aussi, puis la forme classique de LaTeX, qui ne dépend pas de la langue : deux accents graves ouvrent des guillemets anglais et deux apostrophes les ferment ; un seul de chaque donne les guillemets simples, qui servent au troisième niveau.

Il faut toutefois distinguer le travail de babel d’une coïncidence. La police, chargée par fontspec avec la fonctionnalité de ligatures TeX qu’on verra plus bas, convertit d’elle-même deux signes < consécutifs en un chevron, dans n’importe quelle langue ; mais ce chevron n’est pas un caractère tapé, et babel ne l’espace pas : en français, <<a <<b>> c>> imprime «a «b» c», sans espaces et sans changer de guillemets au second niveau. Seul l’espagnol de babel fait de ces signes des raccourcis qui alternent les guillemets selon le niveau : la même ligne y donne «a “b” c». La leçon consacrée aux notes, citations et vers traitera les citations plus en détail.