Notations mathématiques sur le Web
Cette page sert de test pour les différents moteurs de rendu pour les expressions mathématiques. Pour l'instant, ce n'est vraiment pas le top...
Le principe
Pour ne pas devoir se tracasser de la manière dont nous allons afficher les formules, je ne m'occupe que de leur sémantique au moment ce la conception de la page. Au début de la page, un appel est fait à la méthode statique getInstance() de la classe BrolMath, qui me retourne un un objet (par exemple une instance de BrolMathML, ou de BrolMathHTML).
Toutes les méthodes de génération des différents éléments de la formule sont des méthodes abstraites définies dans la classe BrolMath, et implémentées dans une des classes concrètes.
Dans le cas d'une instance de BrolMathHTML, le code généré utilise simplement des balises (X)HTML. Une feuille de style permet de définir comment ces éléments sont affichés, mais certaines balises influencent directement la présentation (comme par exemple la balise sub), alors que le rendu MathML est plus indépendant de l'affichage.
Si l'option allowAlternate est activée, un message apparaît en bas de page, permettant de sélectionner un autre moyen d'affichage. Dans le cas où une option est sélectionnée, un message apparaît en haut de page pour signaler le type de rendu utilisé, et éventuellement d'autres informations en fonction du type d'affichage.
Le mode texte permet l'affichage des formules en pseudo-code, normalement plus facile à lire pour un non-mathématicien.
Exemples
Vous pouvez consulter la page d'explications sur programmation déclarative pour tester les affichages alternatifs.
Ci-dessous, différents exemples et le code généré :
Symboles HTML (type html)
Une substitution est un ensemble de la forme σ = { X1 / t1, ..., Xn / tn } tel que
∀ i ∈ { 1, ..., n } Xi ∈ V
∀ i ∈ { 1, ..., n } ti ∈ T ... ceci est un extrait, et non la définition complète
Soit σ = { X1 / t1, ..., Xn / tn } une substitution, nous avons
dom(σ) = { X1, ..., Xn } et codom(σ) = var(t1, ..., tn)
Tests des ensembles :
ℕ, ℤ, ℚ, ℝ, ℂ;
α, Α, β, Β, γ, Γ, δ, Δ, ε, Ε, θ, Θ, ϑ, λ, μ, ξ, Ξ, π, ρ, σ, Σ, ς, φ, Φ, ψ, ω, Ω, ϒ; ...
A ⊂ B, A ⊆ B, A ⊃ B, A ⊇ B
substitution, division, fraction :
X / 1, X ÷ 1, X/1
Code généré
Code HTML (214 lignes)
<var>σ <var>X <sub>1 </sub> <var>t <sub>1 </sub> </var>, ..., <var>X <sub> <var>n </var> </sub> <var>t <sub> <var>n </var> </sub> </span> tel que <br /> <br /> <var>i </var> <var>n </span> <var>X <sub> <var>i </var> </sub> </var> ∈ <var>V </var> </span> <br /> <var>i </var> <var>n </span> <var>t <sub> <var>i </var> </sub> </var> ∈ <var>T </var> </span> ... </span> <br /> <br />Soit <var>σ <var>X <sub>1 </sub> <var>t <sub>1 </sub> </var>, ..., <var>X <sub> <var>n </var> </sub> <var>t <sub> <var>n </var> </sub> </span> une substitution, nous avons <br /> <var>σ </var>) <var>X <sub>1 </sub> </var>, ..., <var>X <sub> <var>n </var> </sub> </span> et <var>σ </var>) <var>t <sub>1 </sub> </var>, ..., <var>t <sub> <var>n </var> </sub> </var>) </span> </span> </p> <br /> <br /> <var>α </var>, <var>Α </var>, <var>β </var>, <var>Β </var>, <var>γ </var>, <var>Γ </var>, <var>δ </var>, <var>Δ </var>, <var>ε </var>, <var>Ε </var>, <var>θ </var>, <var>Θ </var>, <var>ϑ </var>, <var>λ </var>, <var>μ </var>, <var>ξ </var>, <var>Ξ </var>, <var>π </var>, <var>ρ </var>, <var>σ </var>, <var>Σ </var>, <var>ς </var>, <var>φ </var>, <var>Φ </var>, <var>ψ </var>, <var>ω </var>, <var>Ω </var>, <var>ϒ </var>; ... <br /> <var>A </var> ⊂ <var>B </var>, <var>A </var> ⊆ <var>B </var>, <var>A </var> ⊃ <var>B </var>, <var>A </var> ⊇ <var>B </var> </span> </p> <br /> <var>X <var>X </var> ÷ 1, <var>X </var>/1 </span> </p>
Symboles MathML (type xml)
Une substitution est un ensemble de la forme tel que
Soit
Tests des ensembles :
substitution, division, fraction :
Code généré
Code XML (394 lignes)
<p class="pf">Une substitution est un ensemble de la forme <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>σ </mi> <mo>= </mo> <mrow> <mo>{ </mo> <mrow> <mi> <msub>X <mn>1 </mn> </msub> </mi> <mo>/ </mo> <mi> <msub>t <mn>1 </mn> </msub> </mi> </mrow>, ..., <mrow> <mi> <msub>X <mi>n </mi> </msub> </mi> <mo>/ </mo> <mi> <msub>t <mi>n </mi> </msub> </mi> </mrow> <mo>} </mo> </mrow> </math> tel que <br /> <br /> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>∀ <mi>i </mi> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>∈ <mrow> <mo>{ </mo> <mn>1 </mn>, ..., <mi>n </mi> <mo>} </mo> </mrow> </mrow> </math> </mrow> <mi> <msub>X <mi>i </mi> </msub> </mi> <mrow>∈ <mi>V </mi> </mrow> </math> <br /> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>∀ <mi>i </mi> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>∈ <mrow> <mo>{ </mo> <mn>1 </mn>, ..., <mi>n </mi> <mo>} </mo> </mrow> </mrow> </math> </mrow> <mi> <msub>t <mi>i </mi> </msub> </mi> <mrow>∈ <mi>T </mi> </mrow> </math> ... <span class="info">ceci est un extrait, et non la définition complète </span> <br /> <br />Soit <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>σ </mi> <mo>= </mo> <mrow> <mo>{ </mo> <mrow> <mi> <msub>X <mn>1 </mn> </msub> </mi> <mo>/ </mo> <mi> <msub>t <mn>1 </mn> </msub> </mi> </mrow>, ..., <mrow> <mi> <msub>X <mi>n </mi> </msub> </mi> <mo>/ </mo> <mi> <msub>t <mi>n </mi> </msub> </mi> </mrow> <mo>} </mo> </mrow> </math> une substitution, nous avons <br /> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>dom <mo>( </mo> <mi>σ </mi> <mo>) </mo> </mrow> <mo>= </mo> <mrow> <mo>{ </mo> <mi> <msub>X <mn>1 </mn> </msub> </mi>, ..., <mi> <msub>X <mi>n </mi> </msub> </mi> <mo>} </mo> </mrow> </math> et <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>codom <mo>( </mo> <mi>σ </mi> <mo>) </mo> </mrow> <mo>= </mo> <mrow>var <mo>( </mo> <mi> <msub>t <mn>1 </mn> </msub> </mi>, ..., <mi> <msub>t <mi>n </mi> </msub> </mi> <mo>) </mo> </mrow> </math> </p> <p class="pn">Tests des ensembles : <br /> <math xmlns="http://www.w3.org/1998/Math/MathML">ℕ <mtext>, </mtext>ℤ <mtext>, </mtext>ℚ <mtext>, </mtext>ℝ <mtext>, </mtext>ℂ <mtext>; <br /> </mtext> <mi>α </mi> <mtext>, </mtext> <mi>Α </mi> <mtext>, </mtext> <mi>β </mi> <mtext>, </mtext> <mi>Β </mi> <mtext>, </mtext> <mi>γ </mi> <mtext>, </mtext> <mi>Γ </mi> <mtext>, </mtext> <mi>δ </mi> <mtext>, </mtext> <mi>Δ </mi> <mtext>, </mtext> <mi>ε </mi> <mtext>, </mtext> <mi>Ε </mi> <mtext>, </mtext> <mi>θ </mi> <mtext>, </mtext> <mi>Θ </mi> <mtext>, </mtext> <mi>ϑ </mi> <mtext>, </mtext> <mi>λ </mi> <mtext>, </mtext> <mi>μ </mi> <mtext>, </mtext> <mi>ξ </mi> <mtext>, </mtext> <mi>Ξ </mi> <mtext>, </mtext> <mi>π </mi> <mtext>, </mtext> <mi>ρ </mi> <mtext>, </mtext> <mi>σ </mi> <mtext>, </mtext> <mi>Σ </mi> <mtext>, </mtext> <mi>ς </mi> <mtext>, </mtext> <mi>φ </mi> <mtext>, </mtext> <mi>Φ </mi> <mtext>, </mtext> <mi>ψ </mi> <mtext>, </mtext> <mi>ω </mi> <mtext>, </mtext> <mi>Ω </mi> <mtext>, </mtext> <mi>ϒ </mi> <mtext>; ... <br /> </mtext> <mi>A </mi> ⊂ <mi>B </mi> <mtext>, </mtext> <mi>A </mi> ⊆ <mi>B </mi> <mtext>, </mtext> <mi>A </mi> ⊃ <mi>B </mi> <mtext>, </mtext> <mi>A </mi> ⊇ <mi>B </mi> </math> </p> <p class="pn">substitution, division, fraction : <br /> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>X </mi> <mo>/ </mo> <mn>1 </mn> <mtext>, </mtext> <mi>X </mi> ÷ <mn>1 </mn> <mtext>, </mtext> <mfrac> <mi>X </mi> <mn>1 </mn> </mfrac> </math> </p>
Symboles texte (type html)
Une substitution est un ensemble de la forme sigma = { X1 est SUBSTITUE par t1, ..., Xn est SUBSTITUE par tn } tel que
( POUR TOUT i est INCLU dans { 1, ..., n } ) Xi est INCLU dans V
( POUR TOUT i est INCLU dans { 1, ..., n } ) ti est INCLU dans T ... ceci est un extrait, et non la définition complète
Soit sigma = { X1 est SUBSTITUE par t1, ..., Xn est SUBSTITUE par tn } une substitution, nous avons
une FONCTION dom(AVEC sigma COMME ARGUMENTS) = { X1, ..., Xn } et une FONCTION codom(AVEC sigma COMME ARGUMENTS) = une FONCTION var(AVEC t1, ..., tn COMME ARGUMENTS)
Tests des ensembles :
Ensemble_des_entiers_naturels, Ensemble_des_entiers_relatifs, Ensemble_des_nombres_rationnels, Ensemble_des_nombres_réels, Ensemble_des_nombres_complexes;
alpha, Alpha, beta, Beta, gamma, Gamma, delta, Delta, epsilon, Epsilon, theta, Theta, thetasym, lambda, mu, xi, Xi, pi, rho, sigma, Sigma, sigmaf, phi, Phi, psi, omega, Omega, upsih; ...
(A est un SOUS-ENSEMBLE de B) , (A est EGAL ou est un SOUS-ENSEMBLE de B) , (A CONTIENT B) , (A est EGAL ou CONTIENT B)
substitution, division, fraction :
X est SUBSTITUE par 1, (X DIVISE PAR 1) , ( FRACTION de X sur 1)
Code généré
Code HTML (380 lignes)
<sub>1 </sub> </var> </span> <sub>1 </sub> </var>, ..., <sub> </var> </sub> </var> </span> <sub> </var> </sub> </span> tel que <br /> <br /> </span> </span> </var> </span> </span> <sub> </var> </sub> </var> </span> </var> </span> <br /> </span> </span> </var> </span> </span> <sub> </var> </sub> </var> </span> </var> </span> ... </span> <br /> <br />Soit <sub>1 </sub> </var> </span> <sub>1 </sub> </var>, ..., <sub> </var> </sub> </var> </span> <sub> </var> </sub> </span> une substitution, nous avons <br /> </span>dom( </span> </var> <sub>1 </sub> </var>, ..., <sub> </var> </sub> </span> et </span>codom( </span> </var> </span>var( </span> <sub>1 </sub> </var>, ..., <sub> </var> </sub> </var> </span>) </span> </p> <br /> </span> </span> </span> </span> </span> </span> </span> </span> </span> <br /> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> </span> </var> <br /> </span> </span> </var> </span> </var> </span> </span> </span> </var> </span> </var> </span> </span> </span> </var> </span> </var> </span> </span> </span> </var> </span> </var> </span> </span> </p> <br /> </var> </span>1 </span> </span> </var> </span>1 </span> </span> </span> </span> </var> </span>1 </span> </span> </p>
Fraction simple avec HTML (type html)
a0 + 1/xCode généré
Fraction simple avec MathML (type xml)
Code généré
Code XML (16 lignes)
<math xmlns="http://www.w3.org/1998/Math/MathML"> <msub> <mi>a </mi> <mn>0 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <mi>x </mi> </mfrac> </math>
Fractions multiples avec HTML (type html)
a4 + 1/a3 + 1/a2 + 1/a1 + 1/a0 + 1/xCode généré
Fractions multiples avec MathML (type xml)
Code généré
Code XML (64 lignes)
<math xmlns="http://www.w3.org/1998/Math/MathML"> <msub> <mi>a </mi> <mn>4 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>3 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>2 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>1 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>0 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <mi>x </mi> </mfrac> </mfrac> </mfrac> </mfrac> </mfrac> </math>
Superpositions avec HTML (type html)
Test 3-1
The quick brown fox jumps over |
the lazy dog |
Test 3-2
base |
under |
Test 3-3
over |
base |
under |
Test 3-4
over |
base |
under |
base |
under |
Code généré
Code HTML (106 lignes)
<section> <section> </span>Test 3-1 </h4> <tr> <td>The quick brown fox jumps over </td> </tr> <tr> <td>the lazy dog </td> </tr> </table> </span> </section> <section> </span>Test 3-2 </h4> <tr> <td>base </td> </tr> <tr> <td>under </td> </tr> </table> </span> </section> <section> </span>Test 3-3 </h4> <tr> <td>over </td> </tr> <tr> <td>base </td> </tr> <tr> <td>under </td> </tr> </table> </span> </span> </section> <section> </span>Test 3-4 </h4> <tr> <td>over </td> </tr> <tr> <td>base </td> </tr> <tr> <td>under </td> </tr> <tr> <td>base </td> </tr> <tr> <td>under </td> </tr> </table> ∧ <var>a </var> <sub>2 <var>a </var> <sub>1 <var>a </var> <sub>0 <var>x </var> </span>
Superpositions avec MathML (type xml)
Test 3-1
Test 3-2
Test 3-3
Test 3-4
Code généré
Code XML (110 lignes)
<section> <section> <h4 id="test9-1-t"> <span id="test9-1" class="brol-scrollfix toc-c"> </span>Test 3-1 </h4> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover> <mtext>the lazy dog </mtext> <mtext>The quick brown fox jumps over </mtext> </mover> </math> </section> <section> <h4 id="test9-2-t"> <span id="test9-2" class="brol-scrollfix toc-c"> </span>Test 3-2 </h4> <math xmlns="http://www.w3.org/1998/Math/MathML"> <munder> <mtext>base </mtext> <mtext>under </mtext> </munder> </math> </section> <section> <h4 id="test9-3-t"> <span id="test9-3" class="brol-scrollfix toc-c"> </span>Test 3-3 </h4> <math xmlns="http://www.w3.org/1998/Math/MathML"> <munderover> <mtext>base </mtext> <mtext>under </mtext> <mtext>over </mtext> </munderover> </math> <math xmlns="http://www.w3.org/1998/Math/MathML"> </math> </section> <section> <h4 id="test9-4-t"> <span id="test9-4" class="brol-scrollfix toc-c"> </span>Test 3-4 </h4> <math xmlns="http://www.w3.org/1998/Math/MathML"> <munderover> <mtext>base </mtext> <mtext>under </mtext> <mtext>over </mtext> </munderover> <mo>+ </mo> <mrow> <munder> <mtext>base </mtext> <mtext>under </mtext> </munder> ∧ <msub> <mi>a </mi> <mn>2 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>1 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <msub> <mi>a </mi> <mn>0 </mn> </msub> <mo>+ </mo> <mfrac> <mn>1 </mn> <mi>x </mi> </mfrac> </mfrac> </mfrac> </mrow> </math>
Exemples MathML
Code généré
Code XML (47 lignes)
<p> <math display="block"> <semantics> <mrow> <munderover> <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mo>+</mo> <mn>∞</mn> </mrow> </munderover> <mfrac> <msup> <mi>x</mi> <mi>n</mi> </msup> <mrow> <mi>n</mi> <mo>!</mo> </mrow> </mfrac> </mrow> <annotation encoding="TeX">\sum_{n=0}^{+\infty} rac{x^n}{n!} </annotation> </semantics> </math> </p> <p> <math> <mfrac> <mi>a</mi> <msqrt> <mn>2</mn> </msqrt> </mfrac> <mo>+</mo> <msup> <mi>x</mi> <mn>3</mn> </msup> </math> </p>
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 05/06/2010, last modified the 08/03/2020
Source of the printed document:https://www.gaudry.be/en/math-rendering.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.