Comment ajuster la longueur d’une flèche par rapport à celle d’un texte ?#
1. Avec l’extension « mathtools »#
1.1. Flèche simple#
La commande \xrightarrow
de l’extension mathtools (qui appelle amsmath) permet de générer des flèches dont la longueur est fonction de celles du texte qui est placé au-dessus et au-dessous (et de la chaîne la plus longue lorsqu’il y a à la fois un texte au-dessus et un autre au-dessous). En voici un exemple :
\documentclass{article}
\usepackage[body={8cm,8cm}]{geometry}
\usepackage{lmodern}
\usepackage{mathtools}
\pagestyle{empty}
\begin{document}
\Large
$\xrightarrow[\text{au-dessous
(plus long)}]{\text{au-dessus}}
\xrightarrow[\text{au-dessous}]{%
\text{au-dessus (pas plus%
court)}}$
\end{document}
Comme vous pouvez l’imaginer, il y a une commande \xleftarrow
équivalente et même une commande \xleftrightarrow
(cette dernière n’existant pas dans amsmath) :
\documentclass{article}
\usepackage[body={8cm,8cm}]{geometry}
\usepackage{lmodern}
\usepackage{mathtools}
\pagestyle{empty}
\begin{document}
\Large
$\xleftarrow[\text{au-dessous}]{%
\text{au-dessus}}
\xleftrightarrow[\text{%
au-dessous}]{\text{au-dessus}}$
\end{document}
1.2. Flèche double#
De la même façon qu’il existe \rightarrow
pour la flèche simple (\(\rightarrow\)) et \Rightarrow
, avec une majuscule, pour la flèche double (\(\Rightarrow\)), vous pouvez imaginer appeler \xRightarrow
pour avoir une flèche double longue. Ceci n’est cependant vrai que pour l’extension mathtools et pas amsmath :
\documentclass{article}
\usepackage[body={8cm,8cm}]{geometry}
\usepackage{lmodern}
\usepackage{mathtools}
\pagestyle{empty}
\begin{document}
\Large
$\xLeftarrow[\text{au-dessous}]{%
\text{au-dessus}}
\xRightarrow[\text{au-dessous}]{%
\text{au-dessus}}
\xLeftrightarrow[\text{au-dessous}]{%
\text{au-dessus}}$
\end{document}
1.3. Flèche à deux pointes#
Pour une flèche à deux pointes, vous devrez écrire vos propres commandes :
\documentclass{article}
\usepackage[body={8cm,8cm}]{geometry}
\usepackage{lmodern}
\usepackage{mathtools}
\newcommand\dhrightarrow{%
\mathrel{\ooalign{$\rightarrow$%
\cr$\mkern3.5mu\rightarrow$}}
}
\newcommand\dhxrightarrow[2][]{%
\mathrel{\ooalign{$\xrightarrow[%
#1\mkern4mu]{#2\mkern4mu}$\cr%
\hidewidth$\rightarrow%
\mkern4mu$}}
}
\pagestyle{empty}
\begin{document}
\begin{alignat*}{3}
A \rightarrow B &&\qquad
A \xrightarrow[C]{D} B &&\qquad
A \xrightarrow{\text{Long texte%
\dots}} B
& \\
A \dhrightarrow B &&\qquad
A \dhxrightarrow[C]{D} B &&\qquad
A \dhxrightarrow{\text{Long texte%
\dots}} B
& \\
\end{alignat*}
\end{document}
Sources