Comprendre la terminologie des polices de caractères dans LaTeX
Pour une bonne utilisation des polices de caractères dans LaTeX, il faut d’abord en connaître la terminologie. Nous avons les termes de police de caractères (font en anglais), de famille (family en anglais), de graisse (series en anglais) et de forme (shape en anglais). Je n’aborderai pas dans cet article la problématique de l’encodage.
Une police de caractères est un ensemble de glyphes cohérents utilisant les différents attributs de familles, de graisses et de formes. Sachant que chaque police est parfaitement libre de proposer plus ou moins d’attributs typographiques.
Connaître les attributs des polices LaTeX
Les familles
Dans LaTeX, les polices proposent généralement trois familles (family en anglais) de caractères. La première famille propose les caractères avec empattements ou avec sérif, dits romans dans LaTeX. La police Times New Roman est l’une des plus utilisées. La deuxième famille présente les caractères sans empattements, sans sérifs. Les polices Arial et Helvetica sont parmi les plus connues. Et la dernière famille est celle des caractères à chasse fixe, à largeur fixe, de type « machine à écrire », nommée teletype dans LaTeX. La plus célèbre est sans conteste Courier.
Dans votre code LaTeX, vous pouvez utiliser ces commandes, qui utilisent toutes le terme family
, pour changer de familles :
\rmfamily
ou{\rmfamily ... }
et\textrm{...}
pour utiliser la famille romane. Vous avez à chaque fois les lettresrm
pour désigner la famille roman.\sffamily
ou{\sffamily ... }
et\textsf{...}
pour utiliser la famille sans sérifs. Vous avez à chaque fois les lettressf
pour désigner la famille sans sérifs.\ttfamily
ou{\ttfamily ... }
et\texttt{...}
pour utiliser la famille à largeur fixe. Vous avez à chaque fois les lettrestt
pour désigner la famille teletype.
Les graisses
Les graisses, series en anglais et dans LaTeX, désignent l’épaisseur des caractères. Ces épaisseurs peuvent être fines, moyennes, demi-grasses, grasses, extra-grasses… Chaque police, chaque famille peut proposer plus ou moins de graisses. Dans LaTeX vous avez au minimum deux graisses : « normale » ou medium en anglais et gras, bold en anglais.
Vous pouvez changer de graisse avec ces commandes qui utilisent toutes le terme series
:
\mdseries
ou{\mdseries ... }
et\textmd{...}
pour utiliser la graisse « normale », c’est-à-dire « non grasse ». Vous avez les lettresmd
qui désignent le terme medium.\bfseries
ou{\bfseries ... }
et\textbf{...}
pour utiliser le gras. Vous avez les lettresbf
qui désignent le terme bold face.
Si la police que vous utilisez propose des graisses supplémentaires, consultez sa documentation pour connaître la syntaxe à utiliser pour les exploiter dans votre document.
Les formes
Les formes, shape en anglais et dans LaTeX, désignent les différents « styles » qui sont disponibles. Nous avons quasiment systématiquement deux formes : l’italique (italic en anglais) et les petites capitales (small caps en anglais).
Vous pouvez changer de forme avec ces commandes qui utilisent toutes le terme shape
:
\upshape
ou{\upshape... }
et\textup{...}
pour utiliser les caractères « droits », c’est-à-dire « non italiques ». Vous avez les lettresup
qui désignent le terme droit.\itshape
ou{\itshape... }
et\textit{...}
pour utiliser les caractères italiques. Vous avez les lettresit
qui désignent le terme italic.\slshape
ou{\slshape... }
et\textsl{...}
pour utiliser les caractères « obliques» ou « penchés ». Cela permet d’imiter de l’italique si la police que vous utilisez n’en possède pas. Vous avez les lettressl
qui désignent le terme slanted.\scshape
ou{\scshape... }
et\textsc{...}
pour utiliser les caractères en petites capitales. Vous avez les lettressc
qui désignent le terme small caps.
À nouveau, certaines polices peuvent proposer d’autres formes et vous devez consulter la documentation pour connaître la syntaxe à utiliser.
Connaître les attributs par défaut dans les documents LaTeX
Dans les documents LaTeX vous déclarez la police par défaut dans le préambule, avec la commande d’ajout d’un package. Voici la syntaxe avec l’exemple classique de la police Latin Modern : \usepackage{lmodern}
.
Avec cette police, c’est la famille romane qui est utilisée, alors même que cette fonte propose les familles sans sérifs et télétype. Ceci est dû aux valeurs par défaut des commandes d’utilisation des attributs des polices de caractères par LaTeX.
En plus de l’encodage, LaTeX utilise trois commandes pour déterminer la famille, la graisse et la forme à utiliser par défaut dans le document :
\familydefault
: détermine la famille par défaut.\seriesdefault
: détermine la graisse par défaut.\shapedefault
: détermine la forme par défaut.
Ces trois commandes peuvent utiliser respectivement ces valeurs par défaut :
- Famille (family) :
\rmdefault
,\sfdefault
et\ttdefault
. - Graisse (series) :
\mddefault
et\bfdefault
. - Forme (shape) :
\updefault
,\itdefault
,\sldefault
et\scdefault
.
Dans cette syntaxe vous retrouvez les couples de lettres évoquées précédemment : rm
, bf
, it
…
Initialement, pour tout nouveau document LaTeX, c’est la famille romane qui est utilisée. Voici la syntaxe qui est utilisée dans le « cœur » de LaTeX :
\newcommand\familydefault{\rmdefault}
La syntaxe est très simple à comprendre :
\newcommand
indique l’utilisation d’une commande de base dans LaTeX.\familydefault{…}
indique que nous déterminons une famille par défaut.\rmdefault
indique que c’est la famille romane qu’il faut utiliser par défaut.
Voici les autres commandes par défaut de LaTeX pour la graisse (series) et la forme (shape) :
\newcommand\seriesdefault{\mddefault}
\newcommand\shapedefault{\updefault}
Modifier la police par défaut dans les documents LaTeX
Retenons l’exemple d’utilisation de la police Latin Modern dont voici l’URL de la documentation complète : https://ctan.crest.fr/tex-archive/fonts/lm/doc/fonts/lm/lm-info.pdf.
Avec cette syntaxe : \usepackage{lmodern}
, c’est la famille romane, avec empattements qui est utilisée, nous venons de le voir. Pour utiliser la famille sans sérifs, il faut redéfinir la commande par défaut de LaTeX dans le préambule.
Voici la syntaxe à utiliser :
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
Analysons cette syntaxe simple :
- Il faut bien sûr utiliser la police Latin Modern :
\usepackage{lmodern}
. - Ensuite, il faut redéfinir la commande par défaut,
\renewcommand*
, pour la commande qui détermine la famille par défaut,\familydefault{…}
, avec la nouvelle valeur voulue, la famille sans sérifs :\sfdefault
.
Et c’est tout ! Votre document utilise maintenant la famille sans sérifs de la police Latin Modern, comme famille par défaut.
Savoir utiliser les attributs des polices par défaut
Voilà, avec ces quelques connaissances sur la terminologie des polices de caractères avec LaTeX, vous savez maintenant comment utiliser telle ou telle famille des polices de caractères. Bien sûr, il faudra avant tout bien lire la documentation de chaque police, pour voir si elle permet de tels changements.