Roman, gras, italique — les commandes qui changent de police dans LaTeX ressemblent au début à un sac à main, mais elles reposent en fait parfaitement sur trois axes indépendants. Une fois que le modèle clique, des combinaisons telles que « gras sans empattement » et le changement d'un paragraphe entier à la fois deviennent évidentes plutôt que fastidieuses. Cette page couvre ce modèle et le choix entre le formulaire de commande \textbf{...} et le formulaire de déclaration {\bfseries ...}.
Une police est constituée de trois axes indépendants
Dans NFSS de LaTeX2e (New Font Selection Scheme), la police de texte actuelle est la combinaison de trois attributs indépendants. Famille est la forme de lettre sous-jacente, série est le poids et forme est l'inclinaison ou la forme des lettres. Le point clé est que chacun peut être commuté individuellement, et ils composent : définissez la famille sur sans-serif et la série sur gras, et vous obtenez du gras sans-serif.
- Famille — roman (serif)
\textrm/\rmfamily, sans-serif\textsf/\sffamily, machine à écrire (monospace)\texttt/\ttfamily. - Série — moyen (le poids par défaut)
\textmd/\mdseries, gras\textbf/\bfseries. - Forme — verticale (valeur par défaut)
\textup/\upshape, italique\textit/\itshape, inclinée\textsl/\slshape, petites majuscules\textsc/\scshape.
La commutation d'un axe laisse les deux autres intacts — c'est l'orthogonalité au cœur de NFSS. Donc, si vous activez le sans-serif avec \textsf et que vous utilisez ensuite \textbf à l'intérieur, vous obtenez du gras *et toujours sans-serif*. Notez que la série combine en réalité le « poids » et la « largeur » sur un seul axe, elle couvre donc également les visages condensés et étendus. Depuis 2020, LaTeX2e fusionne intelligemment les séries actuelles et demandées : si la police est actuellement condensée (c) et que vous demandez du gras (b), elle essaiera du gras-condensé (bc) lorsque cette face existe.
Formulaire de commande vs formulaire de déclaration
Chaque commutateur se présente sous deux formes. Le formulaire de commande, commençant par \text…, prend un argument et affecte uniquement ce qui se trouve entre ses accolades. Le formulaire de déclaration, se terminant par …family / …series / …shape, ne prend aucun argument et reste en vigueur à partir de ce point jusqu'à la fin du groupe ({ }) ou de l'environnement englobant.
% 命令形:短い範囲に / Command form: for short spans
ここは \textbf{太字} で、ここは \textit{イタリック} です。
% 宣言形:グループで範囲を区切る / Declaration form: a group limits the scope
ここは普通。{\bfseries ここから先はずっと太字。} ここで元に戻る。
% 環境全体に効かせる / Apply to a whole environment
\begin{quote}
\itshape この引用は段落全体がイタリックになります。
\end{quote}Une bonne règle de base : pour une courte période de quelques mots maximum, utilisez le formulaire de commande \textbf{...} ; pour un paragraphe ou un environnement entier, utilisez le formulaire de déclaration \bfseries. Lorsque vous souhaitez qu'une déclaration s'applique uniquement localement, n'oubliez pas de l'envelopper dans un groupe — {\bfseries ...} — sinon elle continue pour le reste du document.
Le formulaire de commande présente également un avantage discret mais réel : il insère une correction en italique pour vous (voir la section suivante). Le formulaire de déclaration, en n’ajoutant rien, maintient l’imbrication et l’application groupée prévisibles, c’est pourquoi il est préféré dans le code de classe et de package.
| Clé | Axe / effet | Formulaire de commande (courte portée) | Formulaire de déclaration (portée via groupe) |
|---|---|---|---|
roman | Famille : roman (serif) | \textrm{...} | {\rmfamily ...} |
sans | Famille : sans empattement | \textsf{...} | {\sffamily ...} |
tt | Famille : machine à écrire (monospace) | \texttt{...} | {\ttfamily ...} |
bold | Série : gras | \textbf{...} | {\bfseries ...} |
medium | Série : moyenne (par défaut) | \textmd{...} | {\mdseries ...} |
italic | Forme : italique | \textit{...} | {\itshape ...} |
slanted | Forme : inclinée | \textsl{...} | {\slshape ...} |
smallcaps | Forme : petites majuscules | \textsc{...} | {\scshape ...} |
reset | Réinitialiser tous les axes aux valeurs par défaut | \textnormal{...} | {\normalfont ...} |
Réinitialisation et correction de l'italique
Pour réinitialiser les trois axes aux valeurs par défaut du document en même temps, utilisez \textnormal{...} (formulaire de commande) ou \normalfont (formulaire de déclaration) - pratique lorsque vous voulez un seul mot dans la police par défaut à l'intérieur d'un en-tête sans empattement, par exemple. Pour réinitialiser un seul axe, utilisez la commande par défaut de cet axe : \mdseries (retour au poids moyen), \upshape (retour au droit) ou \rmfamily (retour au roman).
Correction italique \/ ajoute un espace pour compenser le surplomb d'une lettre inclinée, afin que le dernier caractère italique ne s'écrase pas sur le texte vertical qui suit. C'est là que les deux formes divergent. Les formulaires de commande tels que \textit{...} insèrent automatiquement la correction lorsque nécessaire (ils l'ignorent si le caractère suivant est dans \nocorrlist — par défaut un point ou une virgule). Le formulaire de déclaration \itshape ne fait rien, vous devez donc ajouter vous-même \/ à la fin de la travée inclinée.
% 命令形:補正は自動 / Command form: correction is automatic
He was \textit{very} clever.
% 宣言形:末尾に \/ を手で入れる / Declaration form: add \/ by hand
He was {\itshape very\/} clever.
% 自動挿入を止めたいとき / To suppress the automatic correction
\textit{\nocorr text}Pour mettre l'accent, utilisez \emph (et non \textit)
Lorsque votre intention est de « souligner ceci », l'idiome n'est pas le \textit qui corrige l'apparence mais le porteur de sens \emph{...}. L'astuce est que \emph est contextuel : dans le corps du texte vertical, il est en italique, mais utilisé dans un texte déjà en italique, il repasse *en position verticale* pour se démarquer. Imbriqué, il alterne — \emph{start \emph{middle} end} donne l'italique, puis le droit, puis l'italique.
Cela incarne la séparation de la structure et de l'apparence par LaTeX : écrivez uniquement la *signification* « accent » dans le corps, et si vous souhaitez plus tard que l'accent soit rendu en gras ou en couleur, vous modifiez la définition de \emph à un seul endroit (par exemple via \DeclareTextFontCommand) et cela se propage partout. La page dédiée couvre l'accent plus en profondeur.
Les anciennes commandes à éviter
Vous pouvez voir les commandes à deux lettres \bf, \it, \rm, \sf, \tt, \sc, \sl dans d'anciennes publications Web, mais ce sont des reliques de LaTeX 2.09 (avant 1994). Ils fonctionnent toujours, mais ne les utilisent pas. La raison est qu'ils ne sont pas orthogonaux : chacun ignore *tous* les attributs de police actuels, à l'exception de la taille, et le remplace.
Ils refusent donc de s'unir. {\bf\it text} ignore \bf et apparaît uniquement en italique ; {\it\bf text} ignore \it et apparaît en gras ; et en mélangeant l'ancien avec le nouveau, \textbf{\tt text} supprime silencieusement le \textbf. LaTeX2e les a remplacés en 1994 par les commandes composables par axe — \bfseries, \itshape, \rmfamily et leurs partenaires de style \textbf{...}. Utilisez toujours les commandes modernes dans le nouveau code.
Combiner les axes : un exemple concret
Les trois axes étant indépendants, vous pouvez les empiler librement. L'exemple ci-dessous applique simultanément les caractères sans empattement, gras et italique : imbriquez les formulaires de commande ou répertoriez simplement les déclarations dans le même groupe.
\documentclass{article}
\begin{document}
% 命令形を入れ子に / Nest the command forms
\textsf{\textbf{\textit{Bold sans-serif italic}}}
% 宣言形を同じグループに並べる(等価)/ Declarations in one group (equivalent)
{\sffamily\bfseries\itshape Bold sans-serif italic\/}
% 一語だけ標準書体へ戻す / Reset one word to the default font
{\sffamily 見出し調のテキストの中の \textnormal{標準} という語}
\end{document}Le texte japonais (和文) fonctionne un peu différemment. Son axe familial comprend deux membres — mincho \textmc / \mcfamily et gothique \textgt / \gtfamily — un système distinct du roman/sans-serif occidental. Étant donné que la police japonaise par défaut n'a pas de série grasse indépendante, l'application de \textbf au texte japonais met les lettres occidentales en gras mais rend le japonais en gothique en remplacement (comportement par défaut). Mettre l'accent sur le japonais en changeant de famille (mincho ↔ gothique) est l'approche traditionnelle, conceptuellement différente de l'idée occidentale de poids et d'inclinaison.
Une note de clôture : les commandes de haut niveau comme \textbf se développent en interne en NFSS commandes de bas niveau — \fontfamily{...}, \fontseries{...}, \fontshape{...} définissent les attributs et \selectfont les valide. Les valeurs d'attribut de forme sont n (droit), it (italique), sl (incliné) et sc (petites majuscules). Vous touchez rarement ce calque directement, mais c'est ainsi que vous invoquez une police nommée spécifique.
Une politique de travail pour les manuscrits
Dans une thèse ou un document technique, plus vous dispersez les commandes de polices sous forme de petites corrections visuelles, plus le manuscrit est difficile à maintenir. Dans le corps du texte, conservez les commandes de police aux endroits où elles ont un sens. Les règles telles que la mise en gras des titres, les légendes plus petites ou la définition cohérente des termes sans empattement doivent figurer dans la classe, un package ou votre propre macro sémantique, et non dans des commandes \textbf répétées tout au long de la prose.
- Laissez l'accent sur
\emph. Conservez la signification dans le corps afin que l'apparence puisse changer plus tard. - Utilisez le style direct uniquement pour les étiquettes courtes. Les commandes telles que
\textsfou\textttconviennent aux noms d'interface utilisateur, aux noms de clés et aux étiquettes d'avertissement courtes lorsque l'apparence elle-même est importante. - Utilisez des déclarations pour les longues étendues. Pour une citation entière ou une note marginale, déclarez
\itshapeou\smallau début de l'environnement et fermez proprement le groupe. - Ne mélangez pas d'anciennes commandes à deux lettres. Dans les manuscrits collaboratifs, remplacez
\bfou\itpar\bfseries/\itshapeou\textbf/\textitmodernes.
Lire les avertissements de police dans le journal
Si la combinaison demandée n'existe pas dans la police actuelle, LaTeX remplace une police proche et continue. C'est pratique, mais dans un PDF soumis, cela peut signifier « J'ai demandé des petites majuscules en gras, mais cela ressemble à du gras ordinaire ». Lorsque le journal indique Font shape ... undefined ou Font shape ... substituted, ne vérifiez pas seulement l'orthographe de la commande ; vérifiez si la police choisie a réellement cette famille, cette série et cette forme. Même lorsqu'une substitution est acceptable, inspectez-la dans le PDF et enregistrez la décision dans les notes manuscrites.
- Essayez les combinaisons dans un exemple minimal. Avant de les disperser dans le manuscrit, inspectez
\textsf{\textbf{...}}ou\textsc{...}dans un court échantillon. - N'ignorez pas les substitutions. Laissés seuls, les avertissements peuvent donner une apparence différente d'un chapitre à l'autre. Changez la police ou simplifiez la forme demandée.
- Déplacez les utilisations répétées vers des macros sémantiques. Pour les termes, noms d'interface utilisateur et autres rôles récurrents, collectez le style dans une commande telle que
\newcommand{\term}[1]{...}au lieu de répéter les changements de police dans la prose.