LaTeX possède dix caractères que l’on ne peut pas simplement taper en espérant les voir apparaître : # $ % & _ { } ~ ^ \. Chacun est réservé à une fonction spéciale : commencer un commentaire, passer en mode mathématique, débuter une commande, etc. Cette page explique le rôle de chacun et comment imprimer le caractère lui-même quand on le veut vraiment.
Les dix caractères réservés
Un caractère réservé est un caractère que LaTeX utilise comme partie de sa syntaxe ; le taper dans le texte déclenche donc un comportement au lieu de l’imprimer. Tapez % et le reste de la ligne disparaît en commentaire ; tapez $ et vous passez en mode mathématique. Pour qu’un tel caractère apparaisse comme lui-même sur la page, il faut ajouter un petit traitement.
Voici le rôle de chacun. # représente un argument dans une définition de macro ; $ commence et termine le mode mathématique ; % commence un commentaire (le reste de la ligne est ignoré) ; & sépare les colonnes ou cellules d’un tableau ou d’un alignement. _ et ^ introduisent un indice et un exposant en mathématiques ; { et } délimitent un argument ou un groupe. ~ produit un espace insécable entre mots, et \ (barre oblique inverse) commence chaque commande.
| Caractère | Rôle spécial |
|---|---|
# | Argument dans une définition de macro (#1, #2, …) |
$ | commence et termine le mode mathématique |
% | commence un commentaire (reste de la ligne ignoré) |
& | séparateur de colonnes ou cellules dans les tableaux et alignements |
_ | indice en mode mathématique |
^ | exposant en mode mathématique |
{ | ouvre un argument ou un groupe |
} | ferme un argument ou un groupe |
~ | espace insécable entre mots |
\ | commence une commande |
Imprimer le caractère lui-même
Sept des dix sont simples : il suffit de mettre une barre oblique inverse devant. On obtient \#, \$, \%, \&, \_, \{, \}. Par exemple, taper \$1.23 imprime $1.23. La barre oblique inverse signale que « le caractère suivant est lui-même, pas le début d’une commande ».
Les trois autres sont plus délicats. Imprimez ~ avec \textasciitilde (ou \~{}), et ^ avec \textasciicircum (ou \^{}). Écrits seuls, \~ et \^ sont des commandes d’*accent* qui placeraient un tilde ou un accent circonflexe sur la lettre suivante ; ajouter des {} vides ne donne rien à accentuer, ce qui laisse le symbole nu.
Enfin, la barre oblique inverse elle-même : imprimez-la avec \textbackslash. N’utilisez pas \\ : ce ne sont pas deux barres obliques inverses, mais la commande de saut de ligne. C’est un piège très courant.
| Vous tapez | Vous obtenez | Notes |
|---|---|---|
\# | # | une seule barre oblique inverse devant |
\$ | $ | idem |
\% | % | idem |
\& | & | idem |
\_ | _ | idem |
\{ | { | idem |
\} | } | idem |
\textasciitilde | ~ | \~{} fonctionne aussi ; \~ seul est un accent |
\textasciicircum | ^ | \^{} fonctionne aussi ; \^ seul est un accent |
\textbackslash | \ | Pas \\, qui est un saut de ligne |
Les commandes \textbackslash, \textasciitilde et \textasciicircum font partie du noyau LaTeX actuel et ne nécessitent aucun paquet supplémentaire (historiquement, elles venaient de textcomp). Notez que certaines polices de texte n’ont pas de glyphe autonome pour le tilde ou le caret dans la fonte courante ; avec ces polices, ces commandes de symboles de texte sont la méthode fiable.
Exemple
Imprimons une phrase remplie de caractères réservés, comme 100% & $5 cost #1. Chacun de %, &, $, # est échappé avec une barre oblique inverse initiale.
100\% \& \$5 cost \#1
% backslash, tilde and caret need their own commands:
A path: C:\textbackslash Users \\
Math symbols out of math: \textasciitilde{} and \textasciicircum{}La première ligne se compose en 100% & $5 cost #1. En dessous, un chemin de style Windows utilise une barre oblique inverse (\textbackslash), et un tilde et un caret autonomes utilisent \textasciitilde{} et \textasciicircum{} (le \\ en fin de ligne est la commande qui coupe la ligne de sortie ; il n’imprime pas une barre oblique inverse).
Quand il y a beaucoup de spéciaux, ou une URL
Échapper un fragment de code ou une suite de symboles dense caractère par caractère est pénible. Le mécanisme verbatim aide dans ce cas. En ligne, écrivez \verb|...|, en encadrant le texte par un caractère qui n’apparaît pas à l’intérieur (ici |) ; son contenu est composé tel quel en police machine à écrire, avec toutes les significations spéciales désactivées. Pour plusieurs lignes, utilisez l’environnement verbatim.
Use \verb|a_b^c & d%| to show specials literally.
\begin{verbatim}
foo_bar = 100% & #1 % all printed as-is
\end{verbatim}Pour les chaînes qui contiennent souvent ~, #, % ou _, surtout les URL, utilisez \url{...} du paquet url (ou hyperref). Il gère automatiquement les caractères réservés à l’intérieur, les compose en chasse fixe et coupe la ligne à des endroits appropriés, ce qui évite l’échappement manuel.
\usepackage{hyperref}
% ...
See \url{https://example.com/path?id=1#sec_2~ok}En résumé : échappez les symboles ponctuels comme dans la table, confiez les fragments denses à \verb/verbatim, et laissez \url{} gérer les URL. La logique générale de la syntaxe est traitée dans « Règles de syntaxe », et les nombreux symboles utilisables dans le corps du texte se trouvent dans la page « Symboles de texte ».
Séparer d’abord les entrées à risque
Dans les rapports et documents techniques, les échecs viennent souvent moins de la prose que des noms de fichiers, URL, noms de types et cellules de tableau contenant _, % ou &. Au début d’un manuscrit, séparez trois sortes de contenu : le texte à lire comme prose, le code à montrer littéralement, et les liens à traiter comme liens. Une fois cela fait, la stratégie d’échappement devient évidente.
| Situation | Outil | Décision |
|---|---|---|
price | Échappements ponctuels comme \$ et \% | À utiliser quand le texte doit se lire comme de la prose ordinaire |
code | \verb ou verbatim | Afficher littéralement du code source, une sortie de terminal ou un court chemin |
url | \url{...} (souvent avec hyperref) | Composer une longue URL comme lien sécable |
Les tableaux demandent une attention particulière : comme & sépare les cellules, une esperluette non échappée dans un nom d’entreprise ou un titre d’article décale le nombre de colonnes. Quand vous collez des données de tableau depuis ailleurs, cherchez d’abord & et %, décidez pour chacun s’il relève de la prose ou de la syntaxe LaTeX, puis seulement compilez. Cela évite des ruptures de tableau mystérieuses.
Nettoyer les données externes avant collage
Dans les manuscrits réels, les caractères spéciaux arrivent souvent non pas parce qu’on les a tapés, mais parce qu’ils viennent d’un fichier CSV, d’une page web, d’un courriel ou d’un PDF. Il est plus rapide et plus fiable de décider de la forme d’accueil avant de coller que de poursuivre les erreurs après coup. Échappez seulement les caractères nécessaires dans la prose, placez le code et les journaux dans des environnements de type verbatim, et mettez les URL dans \url{...}.
% 表へ貼る前に、データ中の & と % を確認する
% before pasting into a table, inspect & and % in the data
\begin{tabular}{ll}
Smith \& Wesson & company name \\
95\% & reported rate \\
\end{tabular}
% URL は手で _ や # を逃がさず \url に任せる
\url{https://example.com/report?id=95#table_1}Si un tableau se décale d’une colonne, si la seconde moitié d’une ligne disparaît ou si Missing $ inserted apparaît soudain, le coupable est souvent &, % ou _. Cherchez d’abord uniquement dans la zone collée, puis classez chaque cas : échappez en \&, \% ou \_ s’il s’agit de prose ; laissez tel quel s’il s’agit de syntaxe LaTeX ; utilisez \url pour les liens ; et un affichage verbatim pour le code.