Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
3_composition:texte:renvois:underscore_dans_un_label [2021/01/26 19:19]
bdumont
3_composition:texte:renvois:underscore_dans_un_label [2021/05/06 23:00] (Version actuelle)
bdumont Correction d'un lien cassé
Ligne 1: Ligne 1:
-====== Comment utiliser un tiret bas dans le texte hors du mode mathématique ? ======+====== Comment utiliser un tiret bas dans le texte hors du mode mathématique?​ ======
  
 ===== Problème ===== ===== Problème =====
  
-Par défaut, le tiret bas (''​_''​) se voit attribuer le //catcode// 8, [[1_generalites:​catcodes:​liste_des_catcodes|qui introduit les indices en mode mathématique]]. Si vous l'​utilisez tel quel dans votre document, il est fort probable que vous obteniez une [[1_generalites/​erreurs:​m:​missing_dollar_inserted|erreur ​''​Missing $ inserted''​]].+Par défaut, le tiret bas (''​_''​) se voit attribuer le //catcode// 8, [[2_programmation:​syntaxe:​catcodes:​liste_des_catcodes|qui introduit les indices en mode mathématique]]. Si vous l'​utilisez tel quel dans votre document, il est fort probable que vous obteniez une [[2_programmation:​erreurs:​m:​missing_dollar_inserted|erreur ​Missing $ inserted]].
  
-===== Exceptions ​=====+===== 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'​extensions ​====
  
-Le tiret bas est considéré par défaut comme un caractère normal dans les arguments ​de :+Le tiret bas est considéré par défaut comme un caractère normal dans les arguments ​de :
   * ''​\label''​   * ''​\label''​
   * ''​\ref''​   * ''​\ref''​
Ligne 36: Ligne 38:
 \section{Hello World} \section{Hello World}
 \label{sec_hello} \label{sec_hello}
-See section ​\ref{sec_hello}. +See section ​1.
-\end{document} +
-</​latexdoc>​ +
-</​WRAP>​ +
-<WRAP clear /> +
- +
-Même le package [[ctanpkg>​babel]],​ qui utilise des substitutions de symboles +
-pour rendre des caractères actifs, ne pose pas de problème,​ +
-car il patche les commandes du système ''​\label''/''​\ref''​ +
-pour supporter les substitutions. +
- +
-<WRAP column 40ex> +
-<code latex> +
-\documentclass{article} +
-\usepackage[french]{babel} +
-\begin{document} +
-\section{Bonjour tout le monde} +
-\label{sec_bonjour} +
-Voir section \ref{sec_bonjour}. +
-\end{document} +
-</​code>​ +
-</​WRAP>​ +
-<WRAP column 30ex> +
-<​latexdoc>​ +
-\documentclass{article} +
-\usepackage[french]{babel} +
-\pagestyle{empty} +
-\begin{document} +
-\section{Bonjour tout le monde} +
-\label{sec_bonjour} +
-Voir section \ref{sec_bonjour}.+
 \end{document} \end{document}
 </​latexdoc>​ </​latexdoc>​
Ligne 74: Ligne 46:
 Si vous rencontrez quand même le message d'​erreur indiqué quand vous utilisez un tiret bas dans un de ces cas, Si vous rencontrez quand même le message d'​erreur indiqué quand vous utilisez un tiret bas dans un de ces cas,
 vous utilisez sans doute vous utilisez sans doute
-une extension qui modifie le comportement du tiret bas. Dans ce cas, vous devez appliquer l'une des solutions suivantes.+une extension qui modifie le comportement du tiret bas (autre que [[ctanpkg>​babel]],​ qui ne pose pas de problèmes) 
 +Dans ce cas, vous devez appliquer l'une des solutions suivantes.
  
-===== Comment faire pour le tiret bas soit traité comme un caractère normal ===== 
  
 ==== Solution simple et généralement suffisante ==== ==== Solution simple et généralement suffisante ====
Ligne 86: Ligne 58:
  
 Dans la plupart des cas, cela correspond à l'​effet souhaité. Cependant, la redéfinition du tiret bas par [[ctanpkg>​underscore]] a pour conséquence Dans la plupart des cas, cela correspond à l'​effet souhaité. Cependant, la redéfinition du tiret bas par [[ctanpkg>​underscore]] a pour conséquence
-qu'il n'est plus considéré comme un caractère normal [[2_composition:​texte:​renvois:​underscore_dans_un_label#​exceptions|dans les cas où il devrait être considéré comme tel]]. Ce problème est résolu en grande partie si vous chargez [[ctanpkg>​babel]],​+qu'il n'est plus considéré comme un caractère normal [[3_composition:​texte:​renvois:​underscore_dans_un_label#​cas_ou_le_tiret_bas_est_considere_comme_un_caractere_normal_sans_ajout_d_extensions|dans les cas où il devrait être considéré comme tel]]. Ce problème est résolu en grande partie si vous chargez [[ctanpkg>​babel]],​
 ou de manière plus limitée en utilisant l'​options ''​[strings]''​ de [[ctanpkg>​underscore]]. Pour plus de détails, veuillez vous référer à la [[texdoc>​underscore|documentation]],​ particulièrement p. 2. ou de manière plus limitée en utilisant l'​options ''​[strings]''​ de [[ctanpkg>​underscore]]. Pour plus de détails, veuillez vous référer à la [[texdoc>​underscore|documentation]],​ particulièrement p. 2.
  
Ligne 130: Ligne 102:
  
  
-==== Solution plus souple ​et plus complexe ====+==== Solution plus souple ​mais plus complexe ====
  
-Si les effets du tiret bas ont été redéfinis par d'​autres extensions avec lesquelles l'​extension ​''​underscore'' ​interfère,  +Si les effets du tiret bas ont été redéfinis par d'​autres extensions avec lesquelles l'​extension ​[[ctanpkg>​underscore]] interfère,  
-on peut, au lieu de charger l'​extension ​'''​underscore''​,  utiliser ponctuellement la commande ''​\string'',​+on peut, au lieu de charger l'​extension ​[[ctanpkg>​underscore]],  utiliser ponctuellement la commande ''​\string'',​
 qui indique que le caractère qui suit immédiatement doit être traité comme un caractère normal qui indique que le caractère qui suit immédiatement doit être traité comme un caractère normal
 (plus précisément,​ de la catégorie 12). (plus précisément,​ de la catégorie 12).
Ligne 177: 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}
 </​code>​ </​code>​
Ligne 188: Ligne 160:
 \pagestyle{empty} \pagestyle{empty}
 \begin{document} \begin{document}
-\section{Hello World}+\section{Bonjour !}
 \label{hello} \label{hello}
-See section 1.+Voir section 1.
 \end{document} \end{document}
 </​latexdoc>​ </​latexdoc>​
Ligne 198: Ligne 170:
  
 ----- -----
-//Source:// [[https://​tex.stackexchange.com/​questions/​121416/​putting-an-underscore-in-a-label]],​ [[texdoc>​underscore|documentation de l'​extension underscore]]+//Sources:// 
 +  * [[https://​tex.stackexchange.com/​questions/​121416/​putting-an-underscore-in-a-label|Putting an underscore in a “\label”]], 
 +  * [[texdoc>​underscore|documentation de l'​extension underscore]].
  
-{{htmlmetatags>​metatag-keywords=(LaTeX,​références,​underscore,​trait de soulignement,​underscore dans les étiquettes,​caractères actifs dans les étiquettes) +{{htmlmetatags>​metatag-keywords=(LaTeX,​références,​underscore,​trait de soulignement, tiret bas, underscore dans les étiquettes,​caractères actifs dans les étiquettes, commande \string
-metatag-og:​title=(Comment utiliser un underscore ​dans un \label ?)+metatag-og:​title=(Comment utiliser un tiret bas dans le texte hors du mode mathématique)
 metatag-og:​site_name=(FAQ LaTeX francophone) metatag-og:​site_name=(FAQ LaTeX francophone)
 }} }}
 +
3_composition/texte/renvois/underscore_dans_un_label.1611685150.txt.gz · Dernière modification: 2021/01/26 19:19 par bdumont
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0