Calligraphiques et script

Lorsque vous avez besoin d'une lettre ornementale à l'intérieur d'une formule – le 𝒜 d'une famille d'ensembles, le 𝔤 d'une algèbre Lie, le ℝ d'un ensemble de nombres – cette page vous permet de rechercher rapidement quelle commande et quel package rechercher. Il y en a quatre: la police calligraphique \mathcal, la police de caractères script \mathscr, la police Fraktur \mathfrak et la police de caractères grasse pour tableau noir \mathbb. Pour chacun, nous notons à quoi il ressemble, le package dont il a besoin et la gamme de personnages qu'il couvre. La machinerie de changement de police de caractères elle-même (comment mettre en gras, unicode-math) est laissée sur une autre page – celle-ci sert à rechercher des choses.

Les quatre alphabets décoratifs

Les lettres en mode mathématique sont en italique mathématique par défaut, mais de nombreux domaines mathématiques nécessitent une police ornementale fixe: calligraphie, police de caractères script, Fraktur ou police de caractères gras pour tableau noir. Chacune est une commande qui prend une lettre (ou quelques-unes) comme argument et définit uniquement cette étendue dans une police mathématique différente, comme dans \mathcal{A}. Notez que l'argument est traité comme une suite de symboles mathématiques, et non comme un mot (\mathcal{Hom} est composé de trois lettres ornées d'affilée, pas du mot).

Voici l’ensemble du tableau en un coup d’œil. Le tableau ci-dessous résume les quatre commandes avec le package dont chacune a besoin, la gamme de caractères couvertes et une utilisation typique. Les petits caractères suivent, un alphabet à la fois.

CommandeRegardezForfait nécessaireCouverture
\mathcalCapitales calligraphiques fluidesIntégré (aucun)Majuscules A à Z uniquement
\mathscrUne police de caractères script plus fluidemathrsfs (ou police de caractères euscript)Majuscules uniquement en pratique
\mathfrakLettre noire angulaireamssymb / amsfontsMajuscules et minuscules, chiffres
\mathbbGras à double traitamssymb / amsfontsMajuscules A à Z uniquement

Deux choses ressortent à la fois. Premièrement, seul \mathcal est intégré; les trois autres ont besoin d’un package chargé. Deuxièmement, la plupart sont uniquement en majuscules — les minuscules et les chiffres ne sont pas fournis (dans les polices standard). L'exception est \mathfrak, qui couvre à la fois les majuscules et les minuscules.

Calligraphique \mathcal et police de caractères \mathscr

\mathcal (calligraphique) donne des chapiteaux fluides et ornés. Il est intégré (sans package) et couvre uniquement les majuscules de A à Z. Marqué par des queues et des courbes descendantes décoratives, il est utilisé pour les familles d'ensembles (\mathcal{A}), la transformée de Fourier (\mathcal{F}), les noms de catégories et de faisceaux, et les sigma-algèbres (\mathcal{F}, \mathcal{B}). Passer une lettre minuscule ou un chiffre ne donne pas le glyphe orné que vous attendez (il n'y en a pas dans la police standard), alors gardez l'argument en majuscules.

\mathscr (script typetypeface) est une police encore plus fluide et fortement inclinée que \mathcal. Ce n’est pas intégré; le chargement du package mathrsfs rend la commande \mathscr disponible. Il rappelle le Formal Script de Ralph Smith (RSFS, police rsfs10), une main très oblique et fortement ornée. Par exemple \mathscr{L} donne le L orné utilisé pour la transformée de Laplace. La police RSFS elle-même contient uniquement les lettres majuscules A à Z (aucun glyphe minuscule ou numérique n'existe), conservez donc l'argument en majuscules.

Si RSFS semble trop oblique, le package rsfso propose une version à pente plus douce de la même famille (utilisable comme \mathscr via son option scr). Un autre itinéraire vers \mathscr, issu d’une famille différente, est euscript typetypeface, évoqué dans la section suivante.

document.tex
\usepackage{mathrsfs}   % \mathscr(RSFS)
% ...
\[
  \mathcal{F} \subset \mathcal{P}(X), \qquad
  \mathscr{L}\{f\}(s) = F(s).
\]

Ici, \mathcal{F} et \mathcal{P} sont définis dans la calligraphie intégrée, tandis que \mathscr{L} est la police de caractères de script RSFS la plus fluide. L’utilisation des deux ensemble vous permet de distinguer visuellement un « F calligraphique » d’une « police de caractères script L ».

Les scripts RSFS et Euler sont différents

Il existe plusieurs itinéraires vers \mathscr, et savoir qu'il existe deux familles visuellement distinctes évite toute confusion. L’un est mathrsfs (le script formel de Ralph Smith, RSFS) de la section précédente. L'autre est le package euscript typetypeface, qui appelle Euler Script (police eusm10, dans AMSFonts), conçu par Hermann Zapf. Là où RSFS est une main fortement inclinée et ornée, Euler Script est une police de caractères plus calme, semblable à un manuel scolaire et plus verticale. Le même \mathscr produit des formes de lettres assez différentes.

Le package euscript typetypeface (et son frère eucal) changent de comportement par option. Selon le tableau de la documentation officielle, euscript typetypeface avec l'option mathcal remplace \mathcal par Euler Script, tandis que eucal avec l'option mathscr laisse \mathcal seul et ajoute \mathscr. En bref, l'option vous permet de choisir de « permuter \mathcal en script Euler » ou de « l'ajouter séparément en tant que \mathscr ». (La commande \EuScript nue est une ancienne forme, désormais obsolète.)

Comment le chargerCommande que vous obtenezPolice de caractères
\usepackage{mathrsfs}\mathscrRSFS (fortement incliné, orné)
\usepackage[mathcal]{euscript}\mathcal (remplacé par Euler)Euler Script (police de caractères plus calme)
\usepackage[mathscr]{eucal}\mathscr (\mathcal inchangé)Euler Script (police de caractères plus calme)

Une erreur courante ici est de charger deux packages de polices de caractères de script à la fois et de perdre la trace de celui qui définit \mathscr. Chargez à la fois mathrsfs et eucal (avec l'option mathscr) et celui chargé plus tard écrase \mathscr, donnant une police de caractères involontaire. Il est plus sûr de se contenter d'une seule famille de caractères; si vous voulez deux alphabets ornementaux distinctifs, associez « \mathcal (intégré) avec \mathscr (une seule source). »

Fraktur \mathfrak

\mathfrak (Fraktur) est une police angulaire et ornée issue d'un ancien type allemand. Le chargement de amssymb (ou amsfonts) le rend disponible (en extrayant en interne eufrak, police eufm10). Sa grande distinction par rapport aux trois autres est qu'il couvre à la fois les majuscules et les minuscules, ainsi que les chiffres.

À juste titre, les minuscules jouent souvent le rôle principal. Les algèbres Lie sont écrites en minuscules Fraktur — \mathfrak{g}, \mathfrak{h}, \mathfrak{sl} — pour les distinguer des groupes Lie correspondants définis en majuscules verticales G, H. Les idéaux d'un anneau utilisent également des minuscules: \mathfrak{p} (un idéal premier), \mathfrak{q}, \mathfrak{m} (un idéal maximal). Fraktur majuscule apparaît pour les noms d'ensembles et de champs mathématiques.

document.tex
\usepackage{amssymb}   % \mathfrak(と \mathbb)
% ...
\[
  \mathfrak{g} = \operatorname{Lie}(G), \qquad
  \mathfrak{p} \subset \mathfrak{m} \subset \mathcal{O}.
\]

Ici, \mathfrak{g} est une minuscule angulaire. Fraktur, \mathfrak{p} et \mathfrak{m} sont les lettres minuscules d'un idéal premier et maximal, et \mathcal{O} est une majuscule calligraphique pour un anneau de nombres entiers. Fraktur est occupé et difficile à lire lorsqu'il est petit, alors utilisez-le avec parcimonie là où le type devient petit, comme au fond d'une police d'indice.

Tableau noir en gras \mathbb et jeux de chiffres

\mathbb (police blackboard-gras) est un caractère gras distinctif dont les traits sont doublés. Cela vient de la façon dont on écrit des caractères gras sur un tableau noir en traçant deux fois un trait (car « on ne peut pas obtenir de craie grasse »). Il nécessite amssymb (ou amsfonts) (police msbm10) et couvre uniquement les majuscules A à Z. Son utilisation est quasiment fixe: le nombre fixe.

  • \mathbb{R} — les vrais ℝ.
  • \mathbb{C} — les nombres complexes ℂ.
  • \mathbb{Z} — les entiers ℤ (de l'allemand *Zahlen*).
  • \mathbb{Q} — les rationnels ℚ (de *Quotient*).
  • \mathbb{N} — le ℕ naturel.

\mathbb est uniquement en majuscules, donc une lettre minuscule ou un chiffre ne sortira pas en caractères gras comme sur un tableau noir. La seule exception est que amssymb fournit un k minuscule en gras au tableau noir via une commande dédiée, \Bbbk (pratique pour un champ k). A noter qu'il s'agit de son propre symbole, écrit \Bbbk plutôt que \mathbb{k}.

Pour les autres lettres ou chiffres minuscules (un 1 ou un 2 en gras sur un tableau noir, un h minuscule), utilisez un package de polices distinct. dsfont propose des h et k majuscules, minuscules et le chiffre 1 via \mathds; bbold redéfinit \mathbb pour inclure les minuscules et les chiffres; bbm fournit des minuscules et des chiffres via \mathbbm (les polices fourier incluent également des majuscules en gras, le chiffre 1 et le k minuscule). Sachez cependant que la combinaison d'un tel package avec amssymb peut entrer en conflit avec la définition de \mathbb, alors gardez clair quel package possède quelle commande.

document.tex
\usepackage{amssymb}   % \mathbb と \Bbbk
% ...
\[
  \mathbb{N} \subset \mathbb{Z} \subset \mathbb{Q}
    \subset \mathbb{R} \subset \mathbb{C}, \qquad
  \Bbbk = \overline{\Bbbk}.
\]

Ici, la chaîne ℕ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ est entièrement définie en majuscules en gras sur tableau noir, et le \Bbbk final est la minuscule k en gras sur tableau noir (un champ algébriquement fermé, disons). Soit dit en passant, sur XeLaTeX ou LuaLaTeX avec unicode-math, vous obtenez tous ces alphabets décoratifs à partir d'une seule police mathématique OpenType et utilisez \symbb et les commandes associées à la place de \mathbb — ce mécanisme est couvert sur la page « Polices mathématiques ».