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>
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 05/06/2010 gemaakt, de laatste keer de 08/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/math-rendering.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.