Accents et lettres spéciales

\'e donne é, \"o donne ö. Les commandes d’accent de LaTeX — aigu, tréma, tilde, caron — portent un nom d’un seul caractère, et ce caractère est un signe de ponctuation. Rien d’autre dans LaTeX ne se nomme ainsi. C’est un choix hérité d’une époque où aucun clavier ne produisait é directement ; dessous se trouve la primitive \accent que Knuth a écrite dans plain TeX. Cette page sert à retrouver ce que chaque commande imprime réellement : les seize commandes d’accent en mode texte, les lettres qui ne sont pas des accents (\ss, \ae, \oe, \aa, \l), les formes sans point \i et \j, et les accents mathématiques \hat, \bar, \vec et \dot. Elle aborde aussi ce qu’un tableau ne montre pas : choisir T1 dans fontenc change non seulement les signes disponibles mais la possibilité même de couper un mot accentué, ce qui est ici mesuré plutôt qu’affirmé.

Les seize commandes d’accent et ce que chacune produit

Le mode texte compte seize accents, et chacun prend une seule lettre en argument. \'o et \'{o} donnent le même caractère ; les accolades sont facultatives. Les onze signes placés au-dessus de la lettre — aigu, grave, circonflexe, tréma, tilde, macron, point, brève, caron, double aigu, rond — viennent tels quels du plain TeX de Knuth et sont composés avec la primitive \accent. Ceux qui se placent dessous (\c cédille, \d point souscrit, \b barre souscrite), celui qui couvre deux lettres (\t tirant) et \k (ogonek) fonctionnent autrement.

CommandeRésultatNomRemarques
\'oóaccent aiguOT1 et T1
\`oòaccent gravebarre oblique inverse suivie d’un accent grave
\^oôaccent circonflexeles â ê î ô û du français
\"oötrémaallemand ä ö ü, français ë ï
\~nñtildeespagnol ñ, portugais ã õ
\=oōmacronvoyelles longues en translittération
\.oȯpoint suscritpolonais ż, lituanien
\u oŏbrèveroumain ă, notation prosodique
\v cčcaron / háčektchèque č š ž
\H oődouble accent aiguhongrois ő ű, le « tréma hongrois »
\r orond en chef\r a donne å, le même caractère que \aa
\c cçcédille (souscrite)français ç, turc ç ş
\d opoint souscritconstruit par surimpression, pas un glyphe unique
\b obarre souscriteégalement surimprimé ; pour la translittération
\t ooo͡otirant sur deux lettresseul accent pris dans TS1/OML ; prend deux lettres
\k aąogonek (crochet souscrit)seulement en T1 ; polonais ą ę
latex
% braces are optional for a single letter, required for a command
r\'esum\'e, na\"ive, se\~nor, G\"odel, \c{c}a va, \H{o}r\'an
% two-letter argument: the tie accent
t\t{oo}k

Command \k unavailable in encoding OT1 : ce que change [T1]{fontenc}

Ce message signifie que l’accent demandé n’existe pas dans le codage de fonte en vigueur. pdfLaTeX utilise encore OT1 par défaut, un codage des années 1980, et \k (ogonek) n’y figure pas. La correction tient en une ligne du préambule : \usepackage[T1]{fontenc}. D’autres commandes échouent pareillement : sur TeX Live 2024, \dj et \DJ (croate đ), \th et \TH (islandais þ), \dh et \DH (ð), \ng et \NG (ŋ) s’arrêtent avec exactement le même texte.

document.tex
\documentclass{article}
\usepackage[T1]{fontenc}   % without this, \k \dj \th \dh \ng all error
\begin{document}
Polish: j\k{e}zyk. \quad Croatian: \dj\ \quad Icelandic: \th\ \dh
\end{document}

Le vrai coût ne vient pourtant pas des commandes qui échouent mais de celles qui n’échouent pas. OT1 ne contient pas de é en un seul caractère : LaTeX en fabrique un avec \accent, en posant un aigu sur un e. Or, pour TeX, \accent est une frontière où s’arrête la chaîne des ligatures et des crénages. Mesuré : en OT1, AV fait 13,8889 pt tandis que \'AV (un Á suivi de V) fait 15,00003 pt — les 1,11113 pt de crénage entre A et V ont entièrement disparu. En T1, où Á est un glyphe unique, AV et \'AV mesurent tous deux 13,8855 pt.

La coupure de mots est plus parlante encore. \showhyphens{universit\'e r\'esum\'e} répond, en OT1, uni-ver-sité résumérésumé n’obtient aucun point de coupure. La même entrée compilée en T1 donne uni-ver-sité ré-sumé. Lorsqu’un document riche en mots accentués — français, polonais, tchèque, ou un article anglais dont les seuls accents sont dans les noms propres — produit sans cesse des lignes trouées, la cause est presque toujours là. Autrement dit : pour composer du texte occidental sous pdfLaTeX, \usepackage[T1]{fontenc} n’est pas un raffinement mais une nécessité.

\i et \j : les formes sans point ne servent que pour sept des seize

Réponse courte : on n’a presque jamais besoin d’écrire \"{\i}. La lecture de ot1enc.def et t1enc.def montre que pour cinq accents — aigu, grave, circonflexe, tréma et point suscrit — LaTeX remplace déjà lui-même le i par un i sans point, via \DeclareTextComposite ou \DeclareTextCompositeCommand. Sur TeX Live 2024, \"i et \"{\i} donnent le même ï, à 3,33252 pt tous les deux. Les sept cas où il faut fournir \i soi-même sont les autres : \~, \=, \u, \v, \H, \r et \k.

latex
% the dot is removed automatically for these five
na\"ive \quad \'idem \quad \`ile \quad \^ile \quad \.i
% here you must ask for the dotless letter yourself
\v{\i} \quad \u{\i} \quad \={\i} \quad \~{\i} \quad \H{\j}

\i et \j ne font pas partie d’un accent : ce sont des lettres à part entière. Elles occupent les positions 16 et 17 en OT1, 25 et 26 en T1, et \i seul imprime ı, un i sans point. Dans une langue comme le turc, où le i sans point est une lettre distincte, ce n’est pas un ornement mais de l’orthographe. En mode mathématique, les équivalents portent d’autres noms et relèvent d’un autre mode : \imath et \jmath.

\ss, \ae, \oe, \o, \aa, \l : des lettres, pas des accents

Ce groupe ne prend pas d’argument, car ß, æ, ø et ł ne sont pas des voyelles accentuées mais des lettres à part entière dans leurs langues. Les capitales s’obtiennent en mettant le nom en majuscule : \AE, \OE, \O, \AA, \L. \SS fait exception : sur TeX Live 2024, en OT1 comme en T1, il imprime les deux lettres « SS » et non un ß capital (la valeur par défaut du noyau dans latex.ltx est littéralement \DeclareTextCommandDefault{\SS}{SS}). Pour le eszett capital allemand ẞ, la voie sûre passe par une fonte qui le contient, sur un moteur Unicode.

CommandeRésultatLangueRemarques
\ssßallemand\SS donne les deux lettres SS, pas ẞ
\aeædanois, vieil anglaiscapitale \AE
\oeœfrançaiscœur, sœur ; capitale \OE
\oødanois, norvégiencapitale \O ; à distinguer de \emptyset
\aaåsuédois, norvégienmême caractère que \r a ; capitale \AA
\lłpolonaisdessiné à la main en OT1 ; seul T1 a un vrai glyphe
\djđcroate, vietnamienexige T1 ; capitale \DJ
\thþislandaisexige T1 ; \dh donne ð et \ng donne ŋ
\ijijnéerlandaisla ligature ij ; capitale \IJ

Le traitement de \l est la seule différence de cette section qui atteint le contenu du PDF. En OT1, \l n’est pas un vrai ł mais une composition obtenue en superposant un court trait à un l ; passer le PDF produit par TeX Live 2024 dans pdftotext en extrait un simple l. En T1, le vrai ł occupe la position 170, et la recherche comme le copier-coller fonctionnent. Il en va de même pour les accents souscrits \d et \b : \d o (ọ) ressort du PDF sous la forme o.. Pour du texte courant, l’apparence suffit souvent ; pour des données bibliographiques et des termes indexés, non.

\hat{x} dans le texte donne ! Missing $ inserted. : les accents mathématiques sont un autre jeu

Les accents de texte et ceux de mathématiques sont séparés par le nom comme par la mise en œuvre, et franchir la frontière échoue dans les deux sens — avec des formulations différentes, ce qui rend le message utile au diagnostic. \hat{x} dans le texte courant donne ! Missing $ inserted. ; $\'e$ dans une formule donne ! Please use \mathaccent for accents in math mode. (les deux vérifiés sur TeX Live 2024). Le premier est TeX qui tente obligeamment d’ouvrir le mode mathématique et échoue ; le second nomme le problème sans détour : cet accent relève du texte.

CommandeApparenceUsage typiqueRemarques
\hat{x}un circonflexeestimateurs, vecteurs unitairesla forme extensible est \widehat
\tilde{x}un tildeapproximations, quantités transforméesla forme extensible est \widetilde
\bar{x}une barre courtemoyennes empiriques, conjugués complexessur toute une expression, \overline
\vec{v}une petite flèche vers la droitegrandeurs vectorielles\vec{AB} ne s’étire pas ; utiliser \overrightarrow
\dot{x}un pointdérivée temporelle premièrela notation de la mécanique depuis Newton
\ddot{x}deux pointsdérivée temporelle secondeaccélération
\dddot{x}trois pointsdérivée temporelle troisièmeexige amsmath ; \ddddot en donne quatre
\acute{x}un aigulinguistique, parfois en mathsla même forme que le \' du texte
\grave{x}un gravelinguistique, parfois en mathsla même forme que le grave du texte
\check{x}une forme en v (caron)marques en géométrie et algèbrecomme la cohomologie de Čech
\breve{x}une forme de coupe (brève)marques en géométrie et algèbresouvent apparié à \check
\mathring{x}un petit rondsymboles de géométrie, intérieurle pendant mathématique de \r
latex
\usepackage{amsmath}   % \dddot, \ddddot
\[
  \dot{x}, \quad \ddot{x}, \quad \bar{x}, \quad \hat{p},
  \quad \tilde{a}, \quad \vec{v}, \quad \check{s}, \quad \mathring{r},
  \quad \hat{\imath}, \quad \vec{\jmath}
\]

Deux précautions pratiques. D’abord, les accents ne s’empilent pas proprement : superposer deux niveaux, comme dans \hat{\vec{x}}, laisse souvent la marque supérieure flottante ou décentrée. Si l’on veut seulement plus de points, on prend \ddot / \dddot / \ddddot ; si l’on veut vraiment des couches, on les construit explicitement avec \overset, traité sur la page des décorations. Ensuite, le \dddot d’amsmath ne rétrécit pas en exposant. Mesuré, $x^{\ddot a}$ fait 10,55292 pt tandis que $x^{\dddot a}$ fait 16,21565 pt : les trois points restent à la taille du texte. Charger le package mathdots corrige ce point.

Taper \'e ou taper directement é ?

Si T1 est chargé, la sortie est identique dans les deux cas. Mesuré, \'e, \'{e} et un é saisi directement font tous 4,44336 pt et se résolvent en un même glyphe unique ; de plus, depuis 2018 LaTeX lit l’UTF-8 par défaut, aucune ligne inputenc n’est nécessaire. Pour un fichier source lisible, la saisie directe l’emporte. La notation par commande subsiste surtout dans trois cas : des consignes de soumission exigeant de l’ASCII, les noms propres dans les fichiers .bib, et l’environnement tabbing. Là, \' est accaparé par la commande « aller au taquet », si bien que les accents y prennent la forme dédiée \a' — la même commande précédée de \a.

latex
% inside tabbing, \' means "go to a tab stop" — use \a' for the accent
\begin{tabbing}
  caf\a'e \= au lait \\
  th\a'e   \> vert
\end{tabbing}
  • Pour composer du texte occidental avec pdfLaTeX, toujours ajouter \usepackage[T1]{fontenc}. Coupure, crénage et recherche dans le PDF sont réglés d’une seule ligne
  • Saisir les lettres accentuées directement dans le corps ; suivre les règles de la revue pour le .bib. Ne pas mélanger les deux notations dans un même projet
  • \i n’est nécessaire que pour sept d’entre eux : \~ \= \u \v \H \r \k. LaTeX se charge des cinq autres
  • \SS donne SS, pas ẞ. Pour un eszett capital, passer à un moteur Unicode et à une fonte qui le contient
  • \hat relève des mathématiques, \^ du texte. Le texte de l’erreur indique de quel côté on se trouve : ! Missing $ inserted. ou ! Please use \mathaccent …