Sommes, intégrales et grands opérateurs

La somme Σ, l’intégrale ∫, l’union d’ensembles ⋃ : ce sont des symboles spéciaux, composés en grand dans une formule et portant une plage (limites) au-dessus, au-dessous ou à côté. LaTeX appelle cette famille les opérateurs de taille variable (grands opérateurs) et les produit avec des commandes comme \sum, \int et \bigcup. Le mécanisme commun : l’indice _ et l’exposant ^ deviennent les limites de l’opérateur ; en formule affichée elles se placent au-dessus et au-dessous du symbole, tandis qu’en ligne elles restent à sa droite. Cette page explique l’attachement des limites, le contrôle de leur position (\limits, \nolimits), les indices multilignes et la définition de vos propres opérateurs.

Ce que sont les opérateurs de taille variable

Les symboles mathématiques se répartissent en deux types : ceux de taille fixe, qui tiennent dans la hauteur des lettres (+, =, \cup, …), et les opérateurs de taille variable, qui changent de taille selon le contexte de composition. Les exemples principaux sont la somme \sum, le produit \prod, l’intégrale \int et l’union d’ensembles \bigcup. Ils sont grands en style affiché et compacts en style texte, et chacun traite indice et exposant de façon spéciale, comme des limites.

Par “limites”, on entend les indices qui expriment la plage d’une somme ou d’une intégrale. Écrire \sum_{i=1}^{n} fait de i=1 la limite inférieure et de n la limite supérieure. Ce n’est pas traité comme un indice ou exposant ordinaire (placé en haut ou en bas à droite, comme dans x_i ou x^2) : un script attaché à un opérateur de taille variable peut être placé directement sous et au-dessus du symbole. Le choix dépend du style de composition et du type de symbole ; c’est le sujet de la section suivante.

Les membres de base sont intégrés au LaTeX standard (en fait au TeX sous-jacent) et ne demandent aucun paquet supplémentaire. Les intégrales multiples \iint et \iiint, l’indice multiligne \substack ci-dessous et la définition d’opérateurs \DeclareMathOperator exigent tous le paquet amsmath. Comme amsmath est le standard de fait, il est judicieux d’ajouter \usepackage{amsmath} au préambule dès que vous composez sérieusement des mathématiques.

Sommes, produits et placement des limites

La somme est \sum, le produit \prod et le coproduit \coprod. La plage se donne avec l’indice _ et l’exposant ^. Dans \sum_{k=0}^{n} a_k, par exemple, une formule affichée compose le signe Σ en grand, avec k=0 directement en dessous et n directement au-dessus. La même formule en ligne garde Σ petit pour ne pas perturber la hauteur de ligne, et place k=0 et n en petit à la droite du symbole, l’un au-dessus de l’autre.

latex
別行立て:
\[
  \sum_{k=0}^{n} a_k = a_0 + a_1 + \dots + a_n,
  \qquad \prod_{k=1}^{n} k = n!
\]

本文中: 級数 $\sum_{k=0}^{n} a_k$ は行内に収まる。

Ce basculement dessus/dessous contre côté est le comportement par défaut lié au style. Les symboles de classe somme - somme, produit, coproduit, etc. - empilent leurs limites au-dessus et au-dessous en style affiché, mais les placent sur le côté en style texte ; amsmath appelle ce schéma displaylimits (limites dessus/dessous seulement en affichage). C’est un défaut raisonnable qui évite d’élargir inutilement l’interligne du texte.

Lorsque la plage n’a qu’une seule partie, écrivez simplement ce script. On peut aussi mettre une condition en limite inférieure, comme \sum_{i \in S} ; en formule affichée, i ∈ S se place directement sous Σ. Si un script couvre plusieurs tokens, entourez-le toujours de { } (comme k=1 dans \sum_{k=1}). Si vous l’oubliez et écrivez \sum_k=1, seul k devient un indice et =1 se retrouve à droite du symbole.

Intégrales — limites sur le côté

Le signe intégral est \int, et sa plage (les bornes d’intégration) se donne elle aussi par indice et exposant. Écrire \int_a^b f(x)\,dx produit une intégrale définie de borne inférieure a et supérieure b. Le point important est que les intégrales n’ont pas le même comportement par défaut que les sommes. Les symboles de classe intégrale comme \int placent leurs limites à la droite du symbole même en formule affichée. Cela suit la convention typographique mathématique : la définition de \int contient en interne \nolimits (placement latéral).

latex
\[
  \int_{0}^{\infty} e^{-x}\,dx = 1,
  \qquad \oint_{C} \mathbf{F}\cdot d\mathbf{r}
\]

Même en formule affichée, cet exemple place 0 en bas à droite et en haut à droite de ∫ (là où une somme les empilerait dessus et dessous). Le \, (espace fine) entre l’intégrande et dx est le petit espace conventionnel en typographie mathématique. Une intégrale de contour (sur une courbe fermée) est \oint, qui dessine un petit cercle sur le ∫.

On peut composer une intégrale multiple en répétant le signe, \int\int, mais l’espacement entre les signes devient souvent maladroit. En chargeant amsmath, on dispose de commandes dédiées à l’espacement optimisé : l’intégrale double \iint, triple \iiint, quadruple \iiiint, et l’intégrale multiple pointée \idotsint (qui place des points entre deux signes intégrale, comme ∫⋯∫). L’espacement est ajusté en ligne comme en affichage.

latex
\[
  \iint_{D} f(x,y)\,dx\,dy,
  \qquad \iiint_{V} f\,dV,
  \qquad \idotsint_{A} f\,dV
\]

Si vous avez besoin des signes d’intégrale fermée courants en physique - intégrales de contour doubles et triples sur surfaces et volumes -, le paquet esint fournit \oiint, \oiiint, etc. Par défaut, seul \oint est disponible.

Changer la position des limites (\limits / \nolimits)

Deux commandes permettent de remplacer le placement par défaut. Mettez \limits immédiatement après un opérateur pour forcer ses limites au-dessus et au-dessous, ou \nolimits pour les forcer sur le côté. Pour placer la plage d’une somme au-dessus et au-dessous dans le texte courant, écrivez par exemple \sum\limits_{k=1}^{n} ; inversement, pour empiler les bornes d’une intégrale affichée, écrivez \int\limits_0^1.

latex
本文中で上下に: $\sum\limits_{k=1}^{n} k$

別行立ての積分を上下に:
\[
  \int\limits_{0}^{1} x^2\,dx = \frac{1}{3}
\]

Ce qui compte ici est l’emplacement. \limits et \nolimits doivent venir juste après l’opérateur auquel ils s’appliquent (avant les scripts). Les placer après les scripts, comme dans \sum_{k=1}\limits, est une erreur. Si plusieurs \limits, \nolimits ou \displaylimits se suivent, le dernier l’emporte.

Pour revenir au comportement par défaut lié au style (le displaylimits de la classe somme), utilisez \displaylimits. Le tableau suivant résume le défaut de chaque type de symbole et l’effet des commandes de remplacement.

Symbole / commandeStyle affichéStyle en ligne
\sum, \prod, \bigcup …empilé dessus/dessousà droite
\int, \oint, \iint …à droiteà droite
\limits(作用素の直後)empilé (forcé)empilé (forcé)
\nolimits(作用素の直後)sur le côté (forcé)sur le côté (forcé)
\displaylimitsempilé dessus/dessousà droite

Limites et bornes (famille \lim)

\lim (limite), \limsup (limite supérieure) et \liminf (limite inférieure) sont des opérateurs composés droits (romains) comme des noms de fonctions, mais leurs scripts suivent le comportement de la classe somme : en affichage, l’indice se place directement dessous, et en ligne il se place en bas à droite. \limsup et \liminf se composent comme deux mots, “lim sup” et “lim inf”, avec l’espace correct entre eux.

latex
\[
  \lim_{n \to \infty} \frac{1}{n} = 0,
  \qquad \limsup_{n \to \infty} a_n \ge \liminf_{n \to \infty} a_n
\]

Comme il s’agit d’une formule affichée, n→∞ est placé directement sous lim. La même formule en ligne met n→∞ en petit en bas à droite de lim. \sup, \inf, \max et \min appartiennent à la même famille et placent l’indice dessous (ils sont aussi regroupés dans la section des noms de fonctions de “Math mode basics”). La flèche est \to, et l’infini est \infty.

Grands opérateurs (n-aires)

Les opérateurs n-aires utilisés en théorie des ensembles, logique et algèbre ont eux aussi des versions “grandes” de taille variable, comme \sum. La commande est le nom de l’opérateur binaire correspondant précédé de big. Ainsi, pour l’union binaire \cup (A ∪ B), la version de taille variable est \bigcup. Tous ces symboles sont de classe somme : ils empilent leurs limites en affichage et les placent sur le côté en ligne.

CommandeSensOpérateur binaire correspondant
\bigcupUnion (n-aire)\cup (∪)
\bigcapIntersection (n-aire)\cap (∩)
\bigsqcupUnion carrée (disjointe)\sqcup (⊔)
\biguplusUnion de multiensembles\uplus (⊎)
\bigveeOU logique / join\vee (∨)
\bigwedgeET logique / meet\wedge (∧)
\bigoplusSomme directe (+ cerclé)\oplus (⊕)
\bigotimesProduit tensoriel (× cerclé)\otimes (⊗)
\bigodotPoint cerclé (n-aire)\odot (⊙)
latex
\[
  \bigcup_{i=1}^{n} A_i, \qquad
  \bigcap_{i \in I} A_i, \qquad
  V = \bigoplus_{k} V_k
\]

Comme il s’agit d’une formule affichée, \bigcup_{i=1}^{n} empile i=1 directement sous le grand ⋃ et n au-dessus. \bigoplus_{k} place k sous un ⊕ agrandi, exprimant la somme directe V = V₁ ⊕ V₂ ⊕ … avec un seul symbole. En ligne, chacune de ces limites se place en petit à droite du symbole.

Indices multilignes (\substack et subarray)

On veut souvent écrire une condition sur plusieurs lignes sous une somme ou un grand opérateur (par exemple “0 ≤ i ≤ m et 0 < j < n”). Avec \substack{…} de amsmath, chaque ligne séparée par \\ devient un indice empilé et centré. Notez que l’on place tout le \substack{…} à la position de l’indice.

latex
\[
  \sum_{\substack{0 \le i \le m \\ 0 < j < n}} P(i,j)
\]

En affichage, cela empile “0 ≤ i ≤ m” et “0 < j < n” sur deux lignes directement sous Σ, chaque ligne centrée. Le \\ dans \substack sépare les lignes et ne se met pas après la dernière.

Pour aligner les lignes à gauche, utilisez l’environnement plus général subarray. Le {l} dans \begin{subarray}{l} … \end{subarray} indique l’alignement à gauche ({c} centrerait), et les lignes se coupent avec \\ comme dans \substack. C’est plus lisible lorsque l’on veut aligner le début des conditions.

latex
\[
  \sum_{\begin{subarray}{l} i \in \Lambda \\ 0 < j < n \end{subarray}} P(i,j)
\]

Définir des opérateurs (\DeclareMathOperator*)

Lorsque vous avez besoin d’un nom d’opérateur absent de la liste, composé droit et avec son indice directement dessous - comme argmax, argmin ou esssup -, utilisez \DeclareMathOperator de amsmath. Déclarez-le une fois dans le préambule, puis appelez-le comme une courte commande dans le corps. Pour placer la limite directement dessous (le comportement de classe somme de \lim), le point clé est la forme étoilée \DeclareMathOperator*. Sans étoile, l’indice se place en bas à droite du nom.

latex
% プリアンブルで:
\usepackage{amsmath}
\DeclareMathOperator*{\argmax}{arg\,max}
\DeclareMathOperator{\rank}{rank}

% 本文で:
\[
  \hat{\theta} = \argmax_{\theta} L(\theta),
  \qquad \rank A \le n
\]

Ici, \argmax est défini avec l’étoile, donc une formule affichée place θ directement sous arg max (en bas à droite en ligne). Le \, dans le texte du nom est une espace fine entre mots qui sépare joliment “arg max”. En revanche, \rank n’a pas d’étoile : \rank A est composé comme rank A, droit et correctement espacé, avec tout indice en bas à droite. Pour un usage ponctuel, on peut aussi écrire directement \operatorname{rank} sans déclaration (ou \operatorname*{…} pour placer la limite dessous).

Le texte du nom suit des conventions particulières : un trait d’union - est composé comme un trait d’union de texte ordinaire (pas comme un signe moins), et un astérisque * comme un astérisque de texte relevé (pas comme l’étoile binaire centrée). Les noms de fonctions doivent être composés avec \DeclareMathOperator ou \mathrm, pas avec \text{…} ; ainsi l’espacement autour d’eux est ajusté automatiquement et ils restent droits même dans un contexte italique comme un environnement de théorème.

Astuce liée : pour placer des scripts aux quatre coins d’un symbole de classe somme - par exemple un prime (′) sur une somme -, amsmath propose \sideset. Écrire \sideset{}{'}\sum_{n} a_n ajoute un prime en haut à droite de Σ tout en conservant la limite dessous. \sideset ne vaut que pour les symboles de classe somme ; son premier argument règle les coins de gauche et le second ceux de droite. Dans chaque argument, on écrit séparément le coin inférieur et supérieur sous la forme _{lo}^{hi} ; ainsi \sideset{_a^b}{_c^d}\sum place un script différent à chacun des quatre coins (les limites ordinaires _ et ^ s’attachent toujours normalement).