Comment placer du texte dans des mathématiques ?#

Lorsque nous saisissons des mathématiques dans ou les lettres à partir desquelles nous composons du texte ordinaire prennent une signification particulière : elles deviennent toutes des noms de variables à une seule lettre. Si les lettres apparaissent en italique, il ne s’agit pas du même italique que celui du texte ordinaire : une série de lettres mathématiques semble étrangement maladroite par rapport au mot écrit en italique texte.

\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page

\begin{document}
Voici le texte \emph{mode mathématique} passé\dots en mode mathématique :
\[  mode mathématique  \]
\end{document}

Vous pourrez noter que :

  • le texte en italique est créné pour que les lettres s’emboîtent bien, tandis que les lettres mathématiques sont configurées pour donner l’impression que vous multipliez les lettres entre elles ;

  • les espaces ne sont pas pris en compte dans le mode mathématique. Au mieux pouvons-nous écrire de simples mots isolés ;

  • les lettres accentuées sont également assez mal gérées.

Aussi, si vous voulez avoir un beau texte au sein des mathématiques que vous écrivez, vous devez prendre des précautions particulières. Si vous utilisez ce qui suit devrait vous aider.

1.  Avec des commandes de base#

Le plus simple est d’utiliser \mbox ou \textrm (ou \textit si vous souhaitez un texte en italique) :

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page

\begin{document}
$  e = mc^2 \mbox{ et hop !}  $
\end{document}

Cependant, avec ces commandes, la taille du texte reste celle du texte environnant, de sorte qu’il est tout à fait possible de tomber sur ce résultat disgracieux.

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page

\begin{document}
$  z = a_{\mbox{de l'autre bout}}  $
\end{document}

Vous pouvez corriger ce problèmes avec les sélecteurs de taille présentés à la question « Comment changer la taille d’une police ? », comme :

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page

\begin{document}
$  z = a_{\mbox{\scriptsize de l'autre bout}}  $
\end{document}

Ceci fonctionne si votre texte environnant est à la taille de document par défaut, mais vous donne une taille erronée dans le cas contraire. La question « Comment modifier la taille des indices et exposants ? » montre une autre utilisation de cette méthode.

2.  Avec l’extension mathtools#

Recourir à la commande \mbox est (à peu près) raisonnable pour une utilisation occasionnelle, mais des textes mathématiques longs demandent une technique plus efficace pour éviter au rédacteur d’incessantes corrections. L’extension mathtools (ou amsmath) fournit ici le nécessaire avec la commande \text.

Pour être exact, la commande est en fait fournie par l’extension amstext, mais l’extension mathtools charge amsmath qui, elle-même, charge amstext.

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{mathtools}

\begin{document}
$  z = a_{\text{de l'autre bout}}  $
\end{document}

Le texte sera à la bonne taille et dans la même police que le texte environnant. L’extension amstext corrige également la commande \textrm… mais \text est plus facile à taper que \textrm.

3.  Cas des textes intercalés dans des formules#

L’extension mathtools, par le biais de l’extension amsmath, prévoit également des commentaires positionnés au milieu d’une de ces structures d’affichage multi-lignes, via la commande \intertext. Par exemple :

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{mathtools}

\begin{document}
\begin{align}
  A_1 & =N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\
  A_2 & =\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\
  \intertext{et}
  A_3 & =\mathcal{N}(\lambda;\omega).
\end{align}
\end{document}

Cette commande place le texte « et » sur une ligne séparée avant la dernière ligne de l’affichage. Si le texte intercalé est court ou si les équations elles-mêmes sont légères, vous constaterez peut-être que \intertext laisse trop d’espace. La commande \shortintertext (propre à mathtools) est un peu moins gourmande en espace :

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{mathtools}

\begin{document}
\begin{align}
  a =& b
  \shortintertext{ou}
  c =& b
\end{align}
\end{document}

Pour avoir le texte sur la même ligne que la deuxième équation, vous pouvez utiliser l’environnement flalign (de mathtools ou amsmath) avec des équations factices (représentées par le double &&) :

\documentclass{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{mathtools}

\begin{document}
\begin{flalign}
            && a =& b && \\
  \text{ou} && c =& b &&
\end{flalign}
\end{document}