Cette page comporte plusieurs objectifs. Tout d'abord elle présente et explique la signification de quelques écritures mathématiques classiques, en particulier celles utilisées sur le site. Ainsi si une certaine notation vous paraît obsure, vous pourrez toujours venir chercher des informations sur cette page de référence. Ensuite elle expose les possibilités du MathML et aide à sa diffusion en encourageant les mathématiciens à utiliser des navigateurs capable de l'interpréter et à employer ce langage pour la rédaction de leurs articles web. Pour les auteurs de site mathématique qui l'utilisent déjà ou veulent l'utiliser, cette page est aussi un tutorial et une base de donnée. Enfin elle sert de « page test » pour connaitre les capacités d'un navigateur en terme d'affichage d'écritures mathématiques.
Le MathML est un langage ayant pour objectif de combler les lacunes du langage HTML dans l'affichage de notations mathématiques. En effet, le HTML n'incorpore que des balises d'exposant et d'indice : des opérations aussi simple que racine ou fraction sont impossibles !
Cela a conduit les auteurs de site à utiliser des polices spéciales (mais cela pose des problèmes de compatibilité, puisque le lecteur doit possèder les polices) lorsqu'il n'y a pas de mise en page complexe ou dans le cas contraire des images (fichier volumineux, page plus longue à charger, non adaptées avec le texte environnant, difficultés d'impression de la page, impossibilité de zoomer, illisible pour les difficients visuels, impossibilité de copier/coller...) générés à partir d'un code source (La)TeX.
Certains pensent résoudre les problèmes de mise en page en utilisant du CSS, mais on est alors confronté à une difficulté d'édition et de plus on perd là la philosophie du "Web sémantique". Le principe est de faire en sorte que les documents web comportent assez d'informations pour pouvoir être compris et manipulés par les machines. On obtient alors de grands bénéfices comme une édition mathématique facilitée, des moteurs de recherche de formules, des synthétiseurs vocaux pour lire les formules aux personnes malvoyantes, une manipulation par les logiciels de calculs formels...
Pour ma part, quand j'ai commencé la partie maths du site le MathML n'était pas très répandu : seul Amaya pouvait le lire alors que presque tout le monde utilisait Internet Explorer. J'avais alors du créé un script php (voir nos programmes) permettant d'afficher des notations spéciales... Depuis la diffusion de Firefox, qui est capable d'interpréter le MathML, je suis revenu à ce langage pour l'affichage d'écritures mathématiques. Vous pouvez voir une page qui explique les raisons d'utiliser MathML (en).
Si vous avez un navigateur utilisant le moteur de rendu Gecko (comme Firefox) vous n'aurez qu'à installer des polices spéciales pour voir le contenu de cette page. Cette étape ne sera plus utile lorsque l'on disposera de polices mathématiques libres
Pour Internet Explorer, il faut télécharger un plugin, mais cela comporte beaucoup de désavantages : impossibilité de lire le XML, impossibilité de zoomer... Je vous recommande donc d'utiliser un navigateur comme Firefox.
MathML étant un langage XML, il faut utiliser un document XHTML. Cela implique des contraintes de rigueur syntaxique du code source. Il est cependant inutile de connaitre la syntaxe, puisque l'éditeur Amaya s'occupe de tout. Regardez toutefois la section sur la compatibilité des navigateurs dans la page d'aide math du logiciel...
Je contribue au développement de l'éditeur du W3C Amaya en complétant son support de MathML et ses outils d'édition. J'ai réalisé un Test MathML (en) qui pourrait être utile aux développeurs.
Voici une liste de symboles mathématiques et le code à utiliser pour les afficher sur une page web. Les codes numériques sont disponibles sur la page du W3C : Characters Ordered by Unicode (en). Souvent, il vaut mieux utiliser ces codes numériques pour les symboles spéciaux plutôt que les entités HTML qui risquent de stopper le chargement des pages xml lorsqu'elles ne sont pas reconnues.
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Négation logique | ¬ | ¬ P | Non P | La proposition P est fausse. |
| Disjonction logique | ∨ | A ∨ B | A ou B | Une des propositions A ou B est vraie, voir les deux. |
| Conjonction logique | ∧ | A ∧ B | A et B | Les propositions A et B sont toutes les deux vraies. |
| Symbole d'implication | ⇒ | A ⇒ B | A implique B ; Si A alors B ; B est nécessaire à A ; A est suffisant pour B | Ce symbole est censé exprimer l'idée que A est vraie entraîne que B aussi. Si A est vraie, l'implication est donc vraie si B est vraie, et fausse sinon. Si A est fausse, on prend pour convention que l'implication est toujours vraie. |
| Symbole d'équivalence | ⇔ | A ⇔ B ; A ssi B | A équivaut à B ; A si et seulement si B | Il s'agit d'une implication dans les deux sens : A implique B et B implique A. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Quantificateur universel | ∀ | ∀x P(x) | Quel que soit x ; pour tout x... | La propriété P(x) est vérifiée pour tout x. |
| Quantificateur existentiel | ∃ | ∃x P(x) | Il existe x tel que... | La propriété P(x) est vérifiée pour au moins un x. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Symbole d'appartenance | ∈ | x ∈ E | x appartient à E ; x est élément de E ; E contient x | Pour un ensemble E donné, ce symbole signifie qu'il contient l'élément x. |
| Symbole de non-appartenance | ∉ | x ∉ E | x n'appartient pas à E | Négation de l'appartenance de x à E. |
| Symbole d'inclusion | ⊂ | A ⊂ B | A est inclus dans B ; A est un sous-ensemble de B ; A est une partie de B ; B contient A | Pour deux ensembles A et B donnés, ce symbole signifie que tous les éléments de A sont éléments de B. |
| Symbole de non-inclusion | ⊄ | A ⊄ B | A n'est pas inclus dans B | Négation de l'inclusion de A dans B, c'est-à-dire qu'il existe au moins un élément de A qui n'appartient pas à B. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Ensemble vide | ∅ | ∅ ; {} | Ensemble vide | Ensemble qui ne comporte aucun élément. |
| Singleton, paire, ensembles finis | Au clavier | {x} ; {x, y} ; {x1, x2 ... xn} | Singleton x ; Paire x y ; Ensemble x1, x2... xn | Ensemble dont l'unique élément est x ; dont les seuls éléments sont x et y ; dont les n éléments sont x1, x2 ... xn. |
| Couple, Triplet, n-uplet | Au clavier | (x, y) ; (x, y, z) ; (x1, x2 ... xn) | Couple x y ; Triplet x y z ; n-uplet x1, x2 ... xn. | Représentation d'une collection d'objets occupant chacun une place précise, au sens où contrairement à un ensemble finis, l'ordre et la répétition des objets n'est pas anodine. |
| Ensemble des parties | ℘ | ℘(E) | Ensembles des parties de E | Pour un ensemble E donné, il s'agit de l'ensemble dont les éléments sont tous les sous-ensembles de E. |
| Réunion | ⋃ | A ⋃ B | A union B ; réunion de A et B | Ensemble contenant les éléments de A ou B et seulement ceux-là. |
| Intersection | ⋂ | A ⋂ B | A inter B ; intersection de A et B | Ensemble contenant les éléments en communs de A et B et seulement ceux-là. |
| Différence ensembliste | Au clavier | A \ B | A privé de B | Ensemble des éléments de A qui n'appartiennent pas à B |
| Complémentaire | ∁ | ∁E A ; ∁A | Complémentaire de A (dans E) | Pour E est un ensemble de référence et A un sous-ensemble de E, il s'agit de E \ A. On peut aussi omettre le E en indice lorsque l'on sait quel est l'ensemble de référence. On le note aussi . |
| Produit cartésien | × | A × B | Produit cartésien de A par B ; A fois B | Ensemble dont les éléments sont les couples dont le premier objet est dans A et le second dans B. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Aleph | ℵ | ℵ0 ; ℵα | Aleph zéro ; Aleph alpha | Symbole représentant le cardinal des ensembles infinis c'est-à-dire leur « taille ». ℵ0 est le cardinal des ensembles dénombrables, c'est-à-dire en bijection avec l'ensemble des entiers naturels. Les autres alephs sont définies par induction ordinale : pour un ordinal α, ℵα + 1 est le successeur de ℵα tandis que pour un ordinal λ limite, ℵλ est la borne supérieur des ℵα avec α < λ. |
| Omega | ω | ω0 ; ωα | Omega zéro ; Omega alpha | Plus petit ordinal (infini) de cardinalité ωα. En plus de la « taille de l'ensemble » la notion d'ordinal tient compte de la « manière dont est rangé l'ensemble » et est définie comme l'unique ensemble transitif bien ordonné par la relation d'appartenance auquel il est isomorphe. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Ensemble des applications | ℱ | ℱ(E, F) | f de E dans F | Si E et F sont deux ensembles, il s'agit de l'ensemble des applications de E dans F. |
| Image | Au clavier | f(x) | f de x | Image de x par f. |
| Flèche | → | f : E → F | f est une fonction de E dans F | Il s'agit de la définition |
| Flèche à talon | ↦ | x ↦ f(x) | qui à tout x associe f de x | d'une fonction. Utiliser le MathML pour une meilleur présentation. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Ensembles des entiers naturels | ℕ | ℕ | N | Ensemble des nombres entiers positifs {0, 1, 2, 3, 4, 5, 6, 7... } |
| Ensembles des entiers relatifs | ℤ | ℤ | Z | Ensemble des nombres entiers (positifs ou négatifs) {... -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, ... } |
| Ensembles des nombres rationnels | ℚ | ℚ | Q | Ensemble des fractions, c'est-à-dire de la forme avec p,q ℚ ℚ et q non nul. |
| Ensembles des nombres réels | ℝ | ℝ | R | Ensemble des nombres réels, c'est-à-dire limite finie d'une suite de rationnels. On peut se représenter géométriquement cet ensemble comme une droite : si on la munie d'une origine, chaque réel est l'abscisse d'un certain point (et réciproquement). |
| Ensemble des nombres complexes | ℂ | ℂ | C | Ensemble des nombres complexes, c'est-à-dire de la forme a + ib avec a,b ∈ ℂ et i un nouveau nombre que l'on pose tel que i2 = -1. La encore il existe une représentation géométrique, sous forme d'un plan muni d'un repère orthonormé : à chaque complexe a + ib on associe le point de coordonnées (a, b). |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Addition | Au clavier | x + y | x plus y | Somme de x et y. |
| Opposé ; Soustraction | − | −x ; x − y | moins x ; x moins y | L'opposé de x est le nombre qui ajouté à x donne 0. Effectuer la différence x − y revient à additionner x par l'opposé de y. On peut aussi utiliser le symbole « - » du clavier. |
| Produit | × | x × y | x fois y | Produit de x et y. |
| Inverse | cf paragraphe notation | x-1 | inverse de x ; x (puissance) moins un | Pour x non nul, il s'agit du nombre qui multiplié par x donne 1. On peut aussi utiliser la notation fractionnaire avec 1 pour numérateur et x pour dénominateur. |
| Division | ÷ | x ÷ y | x divisé par y | Division de x par y (y non nul). Il s'agit du produit de x par l'inverse de y. En général on utilise la notation fractionnaire, qui peut être rendu en MathML par la balise frac. |
| Factorielle | Au clavier | n! | factorielle n | Pour un nombre entier naturel n, il s'agit du produit 1 × 2 × 3 ... × n. Pour n = 0, on prend pour convention 0! = 1 |
| Puissance | cf paragraphe notation | x2 ; x3 ; xy | x au carré ; x au cube ; x puissance y | Pour x donné, x au carré est le produit x × x, x au cube le produit x × x × x, et pour n entier naturel non nul, x puissance n est le produit x × x × ... × x où x est écrit n fois. On prend pour convention x0 = 1 pour tout x non nul. Parfois on étend cela en posant 00 = 1. Si x est non nul et n est un entier strictement négatif, xn est l'inverse de xn (ce qui justifie l'écriture x-1 pour l'inverse d'un nombre). Les fonctions exponentielle et logarithme permettent de prolonger l'opération puissance pour tout réel x strictement positif et tout exposant y : xy = exp(ln(x) × y). On peut utiliser les balises sup ou msup. |
| Radical | √ | √x ; 3√x ; n√x | racine carré de x ; racine cubique de x ; racine n-ième de x | Pour un nombre réel positif, la racine carré de x est le nombre positif qui élevé au carré donne x. De même pour la racine cubique de x il s'agit du nombre y tel que y3 = x. Notons alors que dans ce cas x peut aussi être négatif. D'une manière générale, si n est un entier naturel non nul, la racine n-ième est définie pour tout réel x si n est impair et pour tout réel positif si n est pair. Il s'agit du nombre y du signe de x tel que yn = x. Si vous codez en MathML, il est cependant préférable d'utiliser les balises msqrt ou mroot plutôt que le code du symbole. |
| Valeur absolue ; Module | Au clavier | |x| ; |z| | valeur absolue de x ; module de z | Pour x un réel, sa valeur absolue vaut x si x est positif et -x dans le cas contraire. On étend cela pour un nombre complexe z = a + ib en définissant le module de z par . |
| Conjuguaison | cf paragraphe notation | conjugué de z ; z barre | Pour un nombre complexe z = a + ib, on définit le conjugué de z comme le complexe a - ib. On doit utiliser du MathML ou du css pour obtenir ce rendu. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Egalité | Au clavier | x = y | x égal y | Exprime le fait que les objets x et y sont identiques. |
| Non-égalite | ≠ | x ≠ y | x n'est pas égal à y ; x est différent de y | Négation de l'égalité entre x et y. |
| Environ égal | ≃ | ≃ 0,333 | x est environ égal à y | Utilisé pour lors d'applications numériques pour signifier que l'on effectue un arrondi. |
| Inférieur à | ≤ | x ≤ y | x inférieur à y ; x plus petit que y ; x inférieur ou égal à y ; x plus petit ou égal à y | Utilisé pour représenter une relation d'ordre sur un ensemble, par exemple de nombres réels. Un ordre correspond à un « rangement » et ce symbole signifie que l'on « range » x avant y. |
| Strictement inférieur à | < | x < y | x strictement inférieur à y ; x strictement plus petit que y | Idem mais on demande de plus que x et y ne soient pas égaux. |
| Supérieur à | ≥ | x ≥ y | x supérieur à y ; x plus grand que y ; x supérieur ou égal à y ; x plus grand ou égal à y | Idem en inversant l'ordre. |
| Strictement supérieur à | > | x > y | x strictement supérieur à y ; x strictement plus grand que y | Idem en inversant l'ordre et en prenant x et y distincts. |
| Symbole de congruence | ≡ | x ≡ y mod a ; x ≡ y [a] | x est congru à y modulo a | Pour deux nombres réels x, y et a, cela signfie qu'il existe un entier relatif k tel que x = y + ak. Cela est en particulier utilisé avec a multiple de ≡, ou en arithmétique en prenant x, y et a entiers. |
| Isomorphe | ≅ | (A, a) ≅ (B, b) ; A ≅ B | A muni de a est isomorphe à B muni de b ; A est isomorphe à B | Pour deux ensembles A et B muni de structure (algébrique, d'ordre...) a et b, cela signifie qu'il existe une bijection de A dans B qui permette de conserver les propriétés de la structure par passage biunivoque entre A à B au sens où toutes propositions ne mettant en jeu que la structure a et des éléments de A, à la même valeur de vérité en remplaçant A par B et a par b (et réciproquement). Ainsi même si A et B sont distincts, ils sont cependant « égaux » au sens de la structure considérée, et on peut indifféremment travailler avec l'un où l'autre. |
| Nom du symbole | Code pour l'afficher | Exemple d'utilisation | Comment le lire | Explication sommaire |
|---|---|---|---|---|
| Intégrale | ∫ | ∫ f(x) dx | intégrale (pour x allant de borne inférieure à borne supérieure) de F de x D x | Pour f fonction intégrable (par exemple continue), il s'agit d'une primitive de f (on peut avoir plus de précision avec les bornes), c'est-à-dire une fonction qui a pour dérivée f. Il est conseillé d'utiliser la balise MathML msubsup si on veut indiquer les bornes. |
| Infini | ∞ | ]-∞ ; +∞[ ; | l'intervalle moins l'infini plus l'infini | Éléments ajoutés à l'ensemble des réels avec pour propriété d'être plus grand (respectivement plus petit) que tous les réels. En plus de l'ordre, on prolonge aussi les opérations + et ×. Ils interviennent dans l'écriture d'intervalles de réels et dans le calcul de limite d'une suite ou d'une fonction. |
| Flèche | → | x → x0 ; f(x) → L | x tend vers L | Pour x0 et L des constantes (pouvant être infinies), x une variable et f(x) une fonction dépendant de x, la première partie signifie que l'on fait tendre x vers x0 (on « le rapproche de plus en plus ») et la deuxième partie signifie qu'en conséquence f(x) tend vers la limite L. Là encore pour un rendu complet de l'écriture, il vaut mieux utiliser du MathML. |