Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| composition:texte:renvois:underscore_dans_un_label [2020/04/17 20:39] – Traduction en français. Compilation des exemples. jejust | 3_composition:texte:renvois:underscore_dans_un_label [2022/07/12 13:57] (Version actuelle) – [Solution simple et généralement suffisante] '\' → ''\'' dbitouze | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Comment utiliser un underscore | + | ====== Comment utiliser un tiret bas dans le texte hors du mode mathématique? ====== |
| - | Normalement, le trait de soulignement | + | ===== Problème ===== |
| - | ne pose pas de problème si on l'utilise | + | |
| - | comme nom d'étiquette, malgré son catcode 8 | + | Par défaut, le tiret bas ('' |
| - | ([[generalites: | + | |
| + | ===== Comment faire pour le tiret bas soit traité comme un caractère normal ===== | ||
| + | |||
| + | ==== Cas où le tiret bas est considéré comme un caractère normal sans ajout d' | ||
| + | |||
| + | Le tiret bas est considéré par défaut comme un caractère normal dans les arguments de : | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * compteurs | ||
| + | * paramètres de placement | ||
| Par exemple: | Par exemple: | ||
| Ligne 25: | Ligne 38: | ||
| \section{Hello World} | \section{Hello World} | ||
| \label{sec_hello} | \label{sec_hello} | ||
| - | See section | + | See section |
| \end{document} | \end{document} | ||
| </ | </ | ||
| Ligne 31: | Ligne 44: | ||
| <WRAP clear /> | <WRAP clear /> | ||
| - | Même avec le package | + | Si vous rencontrez quand même le message d' |
| - | pour rendre des caractères actifs, | + | vous utilisez sans doute |
| - | car il patche les commandes du système | + | une extension qui modifie le comportement du tiret bas (autre que [[ctanpkg> |
| - | pour supporter les // | + | Dans ce cas, vous devez appliquer l'une des solutions suivantes. |
| - | <WRAP column | + | |
| + | ==== Solution simple et généralement suffisante ==== | ||
| + | |||
| + | L' | ||
| + | * En mode mathématique, | ||
| + | * Dans le corps du texte, affiche un tiret bas ; | ||
| + | * S'il est précédé du caractère '' | ||
| + | |||
| + | Dans la plupart des cas, cela correspond à l' | ||
| + | qu'il n'est plus considéré comme un caractère normal [[3_composition: | ||
| + | ou de manière plus limitée en utilisant l' | ||
| + | |||
| + | <WRAP column | ||
| <code latex> | <code latex> | ||
| \documentclass{article} | \documentclass{article} | ||
| + | |||
| \usepackage[french]{babel} | \usepackage[french]{babel} | ||
| + | \usepackage{underscore} | ||
| + | |||
| \begin{document} | \begin{document} | ||
| - | \section{Bonjour tout le monde} | + | |
| - | \label{sec_bonjour} | + | \section{Le fichier test_tiret-bas.pdf} |
| - | Voir section \ref{sec_bonjour}. | + | \label{sec_tiret} |
| + | Nous étudions ici le fichier test_tiret-bas.pdf. | ||
| + | |||
| + | \section{Autre section} | ||
| + | Voir la section \ref{sec_tiret}. | ||
| \end{document} | \end{document} | ||
| </ | </ | ||
| Ligne 50: | Ligne 83: | ||
| < | < | ||
| \documentclass{article} | \documentclass{article} | ||
| + | |||
| \usepackage[french]{babel} | \usepackage[french]{babel} | ||
| + | \usepackage{underscore} | ||
| + | |||
| \pagestyle{empty} | \pagestyle{empty} | ||
| \begin{document} | \begin{document} | ||
| - | \section{Bonjour tout le monde} | + | \section{Le fichier test\string_tiret-bas.pdf} |
| - | \label{sec_bonjour} | + | \label{sec_hello} |
| - | Voir section | + | Nous étudions ici le fichier test\string_tiret-bas.pdf. |
| + | |||
| + | \section{Autre section} | ||
| + | Voir la section 1. | ||
| \end{document} | \end{document} | ||
| </ | </ | ||
| Ligne 61: | Ligne 100: | ||
| <WRAP clear /> | <WRAP clear /> | ||
| - | ===== Quand l' | ||
| - | Si vous rencontrez quand même des problèmes, c'est que vous utilisez sans doute | + | |
| - | un package qui rend l' | + | ==== Solution plus souple mais plus complexe ==== |
| - | Une façon | + | |
| - | pour faire que l' | + | Si les effets du tiret bas ont été redéfinis par d'autres extensions avec lesquelles |
| + | on peut, au lieu de charger l'extension [[ctanpkg> | ||
| + | qui indique | ||
| + | (plus précisément, | ||
| <code latex> | <code latex> | ||
| Ligne 73: | Ligne 114: | ||
| </ | </ | ||
| - | Le nom de l' | + | Comme le nom de l' |
| - | et relu à la fin du document. | + | il faut assigner au tiret bas la catégorie (//catcode//) 12 lors de la lecture de ce fichier |
| - | À ce moment, il faut rétablir le catcode : | + | |
| <code latex> | <code latex> | ||
| Ligne 82: | Ligne 122: | ||
| </ | </ | ||
| - | Si le package | + | Si l' |
| avant le '' | avant le '' | ||
| pendant la lecture du fichier '' | pendant la lecture du fichier '' | ||
| Ligne 93: | Ligne 133: | ||
| </ | </ | ||
| - | Voice le code complet de l' | + | Voici le code complet de l' |
| <WRAP column 45ex> | <WRAP column 45ex> | ||
| Ligne 109: | Ligne 149: | ||
| \fi | \fi | ||
| \begin{document} | \begin{document} | ||
| - | \section{Hello World} | + | \section{Bonjour !} |
| - | \label{sec\string_hello} | + | \label{sec\string_bonjour} |
| - | See section \ref{sec\string_hello}. | + | Voir section \ref{sec\string_bonjour}. |
| \end{document} | \end{document} | ||
| </ | </ | ||
| Ligne 118: | Ligne 158: | ||
| < | < | ||
| \documentclass{article} | \documentclass{article} | ||
| - | |||
| - | \catcode`\_=\active | ||
| - | \def_{\textunderscore} | ||
| - | |||
| - | \usepackage{atveryend} | ||
| - | \AfterLastShipout{\catcode`\_=12\relax} | ||
| - | \ifnum\catcode`\_=\active | ||
| - | \catcode`\_=12\relax | ||
| - | \AtBeginDocument{\catcode`\_=\active}% | ||
| - | \fi | ||
| \pagestyle{empty} | \pagestyle{empty} | ||
| \begin{document} | \begin{document} | ||
| - | \section{Hello World} | + | \section{Bonjour !} |
| - | \label{sec\string_hello} | + | \label{hello} |
| - | See section | + | Voir section |
| \end{document} | \end{document} | ||
| </ | </ | ||
| Ligne 138: | Ligne 168: | ||
| <WRAP clear /> | <WRAP clear /> | ||
| - | |||
| - | ===== Avec le package underscore ===== | ||
| - | |||
| - | En fonction du package qui rend l' | ||
| - | et de la définition de l' | ||
| - | |||
| - | Par exemple, le package [[ctanpkg> | ||
| - | le système des '' | ||
| - | donc il suffit de charger //babel// pour que tout rentre dans l' | ||
| - | |||
| - | <WRAP column 40ex> | ||
| - | <code latex> | ||
| - | \documentclass{article} | ||
| - | |||
| - | \usepackage[english]{babel} | ||
| - | \usepackage{underscore} | ||
| - | |||
| - | \begin{document} | ||
| - | \section{Hello World} | ||
| - | \label{sec_hello} | ||
| - | See section \ref{sec_hello}. | ||
| - | \end{document} | ||
| - | </ | ||
| - | </ | ||
| - | <WRAP column 30ex> | ||
| - | < | ||
| - | \documentclass{article} | ||
| - | |||
| - | \usepackage[english]{babel} | ||
| - | \usepackage{underscore} | ||
| - | |||
| - | \pagestyle{empty} | ||
| - | \begin{document} | ||
| - | \section{Hello World} | ||
| - | \label{sec_hello} | ||
| - | See section \ref{sec_hello}. | ||
| - | \end{document} | ||
| - | </ | ||
| - | </ | ||
| - | <WRAP clear /> | ||
| ----- | ----- | ||
| - | //Source:// [[https:// | + | //Sources:// |
| + | * [[https:// | ||
| + | * [[texdoc> | ||
| - | {{htmlmetatags> | + | {{htmlmetatags> |
| - | metatag-og: | + | metatag-og: |
| metatag-og: | metatag-og: | ||
| }} | }} | ||

