Comment obtenir des points de suspension mathématiques ?#

1.  Avec les commandes de base#

Des points de suspension peuvent être nécessaires dans des formules. Et pas uniquement en version horizontale. De base, en fournit déjà plusieurs :

  • \dots pour des points de suspension positionnés sur la ligne de base ;

  • \cdots pour des points de suspension avec un centrage vertical dans la ligne de texte. Ils sont donc plus hauts que ceux obtenus avec \dots) ;

  • \vdots pour des points de suspension verticaux ;

  • \ddots pour des points de suspension en diagonale.

Voici un exemple les reprenant tous :

\documentclass{article}
  \pagestyle{empty} % N'affiche pas de numéro de page

\begin{document}
Observez bien la différence entre $\dots$ et $\cdots$ ! Cette dernière 
version se trouve souvent dans les tableaux et matrices.
\[
\begin{array}{ccc}
   x_{11} & \cdots & x_{1p} \\
   \vdots & \ddots & \vdots \\
   x_{n1} & \cdots & x_{np}
\end{array}
\]
\end{document}

2.  Avec l’extension graphicx#

En utilisant l’extension graphicx (ou graphics), on peut inverser la diagonale suivie par \ddots, pour écrire les matrices antisymétriques, de cette façon :

\documentclass{article}
  \usepackage{graphics}
  \pagestyle{empty} % N'affiche pas de numéro de page

\begin{document}
$a \reflectbox{$\ddots$} z$
\end{document}

Cette méthode fonctionne, mais elle n’est pas recommandée pour obtenir le résultat souhaité (voir plus bas). Pour répondre aux besoins plus pointus, il existe au moins trois extensions, listées ci-après.

3.  Avec l’extension mathtools#

L’extension mathtools (ou amsmath) fournit une panoplie de points de suspension nommé en fonction de leur usage :

  • \dotsb pour une utilisation entre des paires d’opérateurs binaires,

  • \dotsc pour une utilisation entre des paires de virgules (comma),

  • \dotsi pour une utilisation avec des intégrales,

  • \dotsm pour une utilisation dans un produit (multiplication),

  • \dotso pour les autres cas (other). ``

\documentclass{article}
  \usepackage{mathtools}
  \pagestyle{empty} % N'affiche pas de numéro de page

\begin{document}
Soit la série $A_1, A_2, \dotsc$,
on peut en faire la somme $A_1+A_2 +\dotsb $,
le produit $A_1 A_2 \dotsm $, mais aussi
l'intégrer comme ceci :
\[
\int_{A_1}\int_{A_2}\dotsi
\]
\end{document}

4.  Avec l’extension yhmath#

L’extension yhmath, de Yannis Haralambous, définit une commande \adots, qui est l’analogue de \ddots, mais inclinée vers l’avant plutôt que vers l’arrière. L’extension est fournie avec une police de caractères plutôt intéressante qui étend la police standard cmex ; les détails sont dans la documentation.

5.  Avec l’extension mathdots#

L’extension mathdots est spécialisée dans les points de suspension. En plus de corriger le comportement des \ddots et \vdots de et lorsque la taille de caractère change (voir les tableaux comparatifs ci-dessous), elle fournit des points de suspension en « diagonale inverse », avec \iddots (qui fait donc le même travail que \adots de yhmath, mais en y apportant ses corrections).

Comparaison du rendu :

Avec mathdots :

\documentclass{article}
  \usepackage{lmodern} % Caractères plus lisibles
  \usepackage{mathtools}
  \usepackage{mathdots}
  \pagestyle{empty} % N'affiche pas de numéro de page

\begin{document}
\def\dott#1{$#1$}
\def\dotts#1{$2^{#1}\quad 2^{2^{#1}}$}
\renewcommand\arraystretch{1.4}
\begin{tabular}{c|cccc}
\multicolumn{1}{c}{\textbf{Commande}}%
                 &\textbf{Large}          &\textbf{normal}   &\textbf{scriptsize}          &\textbf{en exposant}\\
\hline
\verb$\ddots$    & \Large\dott{\ddots}    & \dott{\ddots}    & \scriptsize\dott{\ddots}    & \dotts{\ddots}\\
\verb$\vdots$    & \Large\dott{\vdots}    & \dott{\vdots}    & \scriptsize\dott{\vdots}    & \dotts{\vdots}\\
\verb$\iddots$   & \Large\dott{\iddots}   & \dott{\iddots}   & \scriptsize\dott{\iddots}   & \dotts{\iddots}\\
\verb$\dddot{X}$ & \Large\dott{\dddot{X}} & \dott{\dddot{X}} & \scriptsize\dott{\dddot{X}} & \dotts{\dddot{X}}\\
\verb$\ddddot{X}$& \Large\dott{\ddddot{X}}& \dott{\ddddot{X}}& \scriptsize\dott{\ddddot{X}}& \dotts{\ddddot{X}}
\end{tabular}
\end{document}

Sans mathdots :

\documentclass{article}
  \usepackage{lmodern} % Caractères plus lisibles
  \usepackage{mathtools}
  \usepackage{mathdots}
  \usepackage{xcolor} % Pour le gris de l'exemple
  \pagestyle{empty} % N'affiche pas de numéro de page

\begin{document}
\def\dott#1{$#1$}
\def\dotts#1{$2^{#1}\quad 2^{2^{#1}}$}
\renewcommand\arraystretch{1.4}
\begin{tabular}{c|cccc}
\multicolumn{1}{c}{\textbf{Commande}}%
                 &\textbf{Large}           &\textbf{normal}   & \textbf{scriptsize}         & \textbf{en exposant}\\
\hline
\verb$\ddots$    & \Large\dott{\ddots}     & \dott{\ddots}    & \scriptsize\dott{\ddots}    & \dotts{\ddots}\\
\verb$\vdots$    & \Large\dott{\vdots}     & \dott{\vdots}    & \scriptsize\dott{\vdots}    & \dotts{\vdots}\\
\color{black!30!white}\verb$\iddots$ & \multicolumn{4}{c}{\color{black!30!white}Non disponible} \\
\verb$\dddot{X}$ & \Large\dott{\dddot{X}}  & \dott{\dddot{X}} & \scriptsize\dott{\dddot{X}} & \dotts{\dddot{X}}\\
\verb$\ddddot{X}$& \Large\dott{\ddddot{X}} & \dott{\ddddot{X}}& \scriptsize\dott{\ddddot{X}}& \dotts{\ddddot{X}}
\end{tabular}
\end{document}

Astuce

Les commandes \dddot et \ddddot sont fournies par amsmath et corrigées par mathdots. Il vous faut donc charger les deux extensions dans l’ordre suivant pour éviter tout problème :

\usepackage{amsmath}
\usepackage{mathdots}

Sources