diff options
author | Peter Bengtsson <mail@peterbe.com> | 2021-05-12 16:47:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-12 16:47:27 -0400 |
commit | e14ce0e618256e1999a16635c9970397384ccefb (patch) | |
tree | 1533c08226d837eb5e726f865d702b27fe5800ec /files/fr/web | |
parent | 3b2844271afa7954bac6f260644ef5580cd42402 (diff) | |
download | translated-content-e14ce0e618256e1999a16635c9970397384ccefb.tar.gz translated-content-e14ce0e618256e1999a16635c9970397384ccefb.tar.bz2 translated-content-e14ce0e618256e1999a16635c9970397384ccefb.zip |
fix external image and flaws on Web/MathML/Authoring (fr) (#842)
* fix external image and flaws on Web/MathML/Authoring
* UPDT: Updating, Cleaning, Typos/Sentences fix
Co-authored-by: tristantheb <tristantheb@users.noreply.github.com>
Diffstat (limited to 'files/fr/web')
-rw-r--r-- | files/fr/web/mathml/authoring/index.html | 440 | ||||
-rw-r--r-- | files/fr/web/mathml/authoring/openoffice.png | bin | 0 -> 12489 bytes |
2 files changed, 218 insertions, 222 deletions
diff --git a/files/fr/web/mathml/authoring/index.html b/files/fr/web/mathml/authoring/index.html index e3ae53fc5c..781d48a0a0 100644 --- a/files/fr/web/mathml/authoring/index.html +++ b/files/fr/web/mathml/authoring/index.html @@ -2,253 +2,256 @@ title: Éditer du MathML slug: Web/MathML/Authoring tags: - - Débutant - - HTML - - LaTeX + - Beginner - MathML - - Mathématiques - - Projet MathML - - wysiwyg + - MathML Project translation_of: Web/MathML/Authoring --- -<p>Cette page explique comment écrire des formules mathématiques en utilisant le langage MathML. À l'instar du HTML, le MathML est décrit par des balises et des attributs. Le code source HTML devient lourd lorque votre document contient des structures avancées telles que des listes ou tableaux mais heureusement il existe plusieurs générateurs de HTML à partir de notations simples, des éditeurs WYSIWYG ainsi que des systèmes de gestions de contenu (CMS) qui aide à l'écriture de page Web.</p> +<p>Cette page explique comment écrire des formules mathématiques en utilisant le langage MathML. À l'instar du HTML, le MathML est décrit par des balises et des attributs. Le code source HTML devient lourd lorsque votre document contient des structures avancées telles que des listes ou tableaux mais heureusement il existe plusieurs générateurs de HTML à partir de notations simples, des éditeurs WYSIWYG ainsi que des systèmes de gestions de contenu (CMS) qui aide à l'écriture de page Web.</p> -<p>Les notations mathématiques sont encore plus complexes, avec des structures telles que les fractions, les racines carrées ou les matrices qui sont susceptibles de nécessiter leur propres balisage. Par conséquent, de bons outils d'édition MathML sont encore plus importants et nous en décrivons quelques-uns ci-dessous. En particulier, l'équipe MathML de Mozilla a développé <a href="https://github.com/fred-wang/TeXZilla/">TeXZilla</a>, un convertisseur Javascript de LaTeX vers MathML compatible avec Unicode, dont le but est d'être utilisé dans divers scenari décrits ici. Bien sûr, la liste n'est pas exhaustive et vous êtes invité à jeter un œil à la <a class="external" href="http://www.w3.org/Math/Software/">liste du W3C des logiciels MathML (en)</a> où vous pouvez trouver divers outils.</p> +<p>Les notations mathématiques sont encore plus complexes, avec des structures telles que les fractions, les racines carrées ou les matrices qui sont susceptibles de nécessiter leur propre balisage. Par conséquent, de bons outils d'édition MathML sont encore plus importants et nous en décrivons quelques-uns ci-dessous. En particulier, l'équipe MathML de Mozilla a développé <a href="https://github.com/fred-wang/TeXZilla/">TeXZilla</a>, un convertisseur Javascript de LaTeX vers MathML compatible avec Unicode, dont le but est d'être utilisé dans divers scénarios décrits ici. Bien sûr, la liste n'est pas exhaustive et vous êtes invité à jeter un œil à la <a href="https://www.w3.org/Math/Software/">liste du W3C des logiciels MathML (en)</a> où vous pouvez trouver divers outils.</p> -<p>Notez que MathML est conçu pour être bien intégré au HTML5 et en particulier vous pouvez utiliser les concepts Web usuels tels que CSS, DOM, Javascript ou SVG. Cela ne rentre pas dans le cadre de ce document mais n'importe qui avec les connaissances de base des langages Web pourra facilement mélanger ceux-ci avec le MathML. Allez voir <a href="/en-US/docs/Mozilla/MathML_Project#Sample_MathML_Documents" title="/en-US/docs/Mozilla/MathML_Project#Sample_MathML_Documents">nos démonstrations</a> et la <a href="https://developer.mozilla.org/en-US/docs/Web/MathML" title="en/MathML/Element">référence MathML</a> pour plus de détails.</p> +<p>Notez que MathML est conçu pour être bien intégré au HTML5 et en particulier vous pouvez utiliser les concepts Web usuels tels que CSS, DOM, Javascript ou SVG. Cela ne rentre pas dans le cadre de ce document mais n'importe qui avec les connaissances de base des langages Web pourra facilement mélanger ceux-ci avec le MathML. Allez voir <a href="/fr/docs/Mozilla/MathML_Project#sample_mathml_documents">nos démonstrations</a> et la <a href="/fr/docs/Web/MathML">référence MathML</a> pour plus de détails.</p> -<h2 id="Utiliser_MathML">Utiliser MathML</h2> +<h2 id="using_mathml">Utiliser MathML</h2> -<h4 id="Example_in_HTML5_texthtml" name="Example_in_HTML5_(text/html)">MathML dans les pages HTML</h4> +<h4 id="example_in_html5_texthtml">MathML dans les pages HTML</h4> <p>Vous pouvez utiliser du MathML de présentation au sein des documents HTML5 :</p> -<pre class="brush: html notranslate"><!DOCTYPE html> +<pre class="brush: html"><!DOCTYPE html> <html> - <head> - <title>MathML dans HTML5</title> - </head> - <body> - <h1>MathML dans HTML5</h1> - - <p> - Racine carrée de 2 : - <math> - <msqrt> - <mn>2</mn> - </msqrt> - </math> - </p> - </body> + <head> + <title>MathML en HTML5</title> + </head> + <body> + + <h1>MathML en HTML5</h1> + + <p> + Racine carrée de deux : + <math> + <msqrt> + <mn>2</mn> + </msqrt> + </math> + </p> + + </body> </html></pre> -<p>Le MathML de contenu n'est pas supporté par les navigateurs. Il vous est alors recommandé de convertir votre arborescence de MathMLde contenu en du MathML de présentation avant de le publier, par exemple à l'aide de la feuille de style <a class="external" href="http://code.google.com/p/web-xslt/source/browse/trunk/#trunk/ctop">ctop.xsl</a>. Les outils mentionnés sur cette page génèrent du MathML de présentation.</p> +<p>Le MathML de contenu n'est pas supporté par les navigateurs. Il vous est alors recommandé de convertir votre arborescence de MathMLde contenu en du MathML de présentation avant de le publier, par exemple à l'aide de la feuille de style <a href="https://code.google.com/p/web-xslt/source/browse/trunk/#trunk/ctop">ctop.xsl</a>. Les outils mentionnés sur cette page génèrent du MathML de présentation.</p> -<h4 id="Alternative_pour_les_navigateurs_sans_support_de_MathML">Alternative pour les navigateurs sans support de MathML</h4> +<h4 id="fallback_for_browsers_without_mathml_support">Alternative pour les navigateurs sans support de MathML</h4> <p>Malheureusement, certains navigateurs sont incapables de rendre des équations avec MathML ou en ont seulement un support limité. Par conséquent, vous devrez utiliser un émulateur de MathML pour fournir un rendu alternatif. Si vous n'avez besoin que de constructions mathématiques basiques telles que celles utilisées dans cet article alors une simple feuille de style <a href="https://github.com/fred-wang/mathml.css">mathml.css</a> devrait suffire. Pour l'utiliser, insérez cette ligne dans votre document HTML :</p> -<pre class="brush: html language-html notranslate"><code class="language-html"><span class="script token"><span class="tag token"><span class="tag token"><span class="punctuation token"><</span>script</span> <span class="attr-name token">src</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://fred-wang.github.io/mathml.css/mspace.js<span class="punctuation token">"</span></span><span class="punctuation token">></span></span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>script</span><span class="punctuation token">></span></span></span></code></pre> +<pre class="brush: html"><script src="https://fred-wang.github.io/mathml.css/mspace.js"></script></pre> -<p>Si vous avez besoin de constructions plus complexes, vous devrez alors envisager d'utiliser la bibliothèque <a href="http://www.mathjax.org" title="http://www.mathjax.org">MathJax</a> comme émulateur de MathML :</p> +<p>Si vous avez besoin de constructions plus complexes, vous devrez alors envisager d'utiliser la bibliothèque <a href="https://www.mathjax.org" title="http://www.mathjax.org">MathJax</a> comme émulateur de MathML :</p> -<pre class="brush: html language-html notranslate"><code class="language-html"><span class="script token"><span class="tag token"><span class="tag token"><span class="punctuation token"><</span>script</span> <span class="attr-name token">src</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://fred-wang.github.io/mathjax.js/mpadded.js<span class="punctuation token">"</span></span><span class="punctuation token">></span></span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>script</span><span class="punctuation token">></span></span></span></code></pre> +<pre class="brush: html"><script src="https://fred-wang.github.io/mathjax.js/mpadded.js"></script></pre> -<p>Notez que ces deux scripts assurent la détection des fonctionnalités des éléments <a href="https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace">mspace</a> ou <a href="https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded">mpadded</a> (renseignez-vous sur la table de compatibilité des navigateurs au pied de cet article).</p> +<p>Notez que ces deux scripts assurent la détection des fonctionnalités des éléments <a href="/fr/docs/Web/MathML/Element/mspace">mspace</a> ou <a href="/fr/docs/Web/MathML/Element/mpadded">mpadded</a> (renseignez-vous sur la table de compatibilité des navigateurs au pied de cet article). Il existe également un script similaire permettant d'afficher un avertissement en haut de la page pour les navigateurs ne prenant pas bien en charge MathML et de laisser les utilisateurs choisir entre l'une des solutions de repli ci-dessus :</p> -<p>Si vous ne souhaitez pas utiliser ce lien vers GitHub mais préférez intégrer ces émulateurs ou d'autres dans votre projet, vous pourriez avoir besoin des scripts de détection pour vérifer le niveau de support de MathML par votre navigateur. Par exemple la fonction suivante vérifie le support de MathML en essayant l'élément mspace (vous pourriez remplacer <code>mspace</code> par <code>mpadded</code>):</p> +<pre class="brush: html"><script src="https://fred-wang.github.io/mathml-warning.js/mpadded-min.js"></script></pre> -<pre class="brush: js language-js notranslate"><code class="language-js"><span class="keyword token">function</span> <span class="function token">supporteMathML<span class="punctuation token"> (</span></span><span class="punctuation token">)</span> <span class="punctuation token">{</span> - let div <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">createElement<span class="punctuation token">(</span></span><span class="string token">"div"</span><span class="punctuation token">)</span><span class="punctuation token">,</span> box<span class="punctuation token">;</span> - div<span class="punctuation token">.</span>innerHTML <span class="operator token">=</span> <span class="string token">"<math><mspace height='23px' width='77px'/></math>"</span><span class="punctuation token">;</span> - document<span class="punctuation token">.</span>body<span class="punctuation token">.</span><span class="function token">appendChild<span class="punctuation token">(</span></span>div<span class="punctuation token">)</span><span class="punctuation token">;</span> - let box <span class="operator token">=</span> div<span class="punctuation token">.</span>firstChild<span class="punctuation token">.</span>firstChild<span class="punctuation token">.</span><span class="function token">getBoundingClientRect<span class="punctuation token">(</span></span><span class="punctuation token">)</span><span class="punctuation token">;</span> - document<span class="punctuation token">.</span>body<span class="punctuation token">.</span><span class="function token">removeChild<span class="punctuation token">(</span></span>div<span class="punctuation token">)</span><span class="punctuation token">;</span> -<span class="keyword token"> return</span> Math<span class="punctuation token">.</span><span class="function token">abs<span class="punctuation token">(</span></span>box<span class="punctuation token">.</span>height <span class="operator token">-</span> <span class="number token">23</span><span class="punctuation token">)</span> <span class="operator token"><</span><span class="operator token">=</span> <span class="number token">1</span> <span class="operator token">&&</span> Math<span class="punctuation token">.</span><span class="function token">abs<span class="punctuation token">(</span></span>box<span class="punctuation token">.</span>width <span class="operator token">-</span> <span class="number token">77</span><span class="punctuation token">)</span> <span class="operator token"><</span><span class="operator token">=</span> <span class="number token">1</span><span class="punctuation token">;</span> -<span class="punctuation token">}</span></code></pre> +<p>Si vous ne voulez pas utiliser ce lien vers GitHub mais plutôt intégrer ces polyfills ou d'autres dans votre propre projet, vous pourriez avoir besoin des scripts de détection pour vérifier le niveau de support MathML. Par exemple, la fonction suivante vérifie le support MathML en testant l'élément mspace (vous pouvez remplacer <code>mspace</code> par <code>mpadded</code>) :</p> -<p>Alternativement, la chaîne de caractères d'agent utilisateur suivante va permettre la détection des moteurs de rendu avec support natif de MathML (Gecko et WebKit) :</p> +<pre class="brush: js">function supporteMathML () { + let div = document.createElement("div"), box; + div.innerHTML = "<math><mspace height='23px' width='77px'/></math>"; + document.body.appendChild(div); + let box = div.firstChild.firstChild.getBoundingClientRect(); + document.body.removeChild(div); + return Math.abs(box.height - 23) <= 1 && Math.abs(box.width - 77) <= 1; +}</pre> -<pre class="brush: js language-js notranslate"><code class="language-js"><span class="keyword token">var</span> ag_ut <span class="operator token">=</span> navigator<span class="punctuation token">.</span>userAgent<span class="punctuation token">;</span> -<span class="keyword token">var</span> isGecko <span class="operator token">=</span> ag_ut<span class="punctuation token">.</span><span class="function token">indexOf<span class="punctuation token">(</span></span><span class="string token">"Gecko"</span><span class="punctuation token">)</span> <span class="operator token">></span> <span class="operator token">-</span><span class="number token">1</span> <span class="operator token">&&</span> ag_ut<span class="punctuation token">.</span><span class="function token">indexOf<span class="punctuation token">(</span></span><span class="string token">"KHTML"</span><span class="punctuation token">)</span> <span class="operator token">==</span><span class="operator token">=</span> <span class="operator token">-</span><span class="number token">1</span> <span class="operator token">&&</span> ag_ut<span class="punctuation token">.</span><span class="function token">indexOf<span class="punctuation token">(</span></span><span class="string token">'Trident'</span><span class="punctuation token">)</span> <span class="operator token">==</span><span class="operator token">=</span> <span class="operator token">-</span><span class="number token">1</span><span class="punctuation token">;</span> -<span class="keyword token">var</span> isWebKit <span class="operator token">=</span> ag_ut<span class="punctuation token">.</span><span class="function token">indexOf<span class="punctuation token">(</span></span><span class="string token">'AppleWebKit'</span><span class="punctuation token">)</span> <span class="operator token">></span> <span class="operator token">-</span><span class="number token">1</span> <span class="operator token">&&</span> ag_ut<span class="punctuation token">.</span><span class="function token">indexOf<span class="punctuation token">(</span></span><span class="string token">'Chrome'</span><span class="punctuation token">)</span> <span class="operator token">==</span><span class="operator token">=</span> <span class="operator token">-</span><span class="number token">1</span><span class="punctuation token">;</span></code></pre> +<p>Alternativement, la chaîne de caractères d'agent utilisateur suivante va permettre la détection des moteurs de rendu avec support natif de MathML (Gecko et WebKit) :</p> -<p>Notez que cette chaîne de détection n'est pas la méthode la plus fiable et pourrait dysfonctionner d'une version à une autre.</p> +<pre class="brush: js">var ag_ut = navigator.userAgent; +var isGecko = ag_ut.indexOf("Gecko") > -1 && ag_ut.indexOf("KHTML") === -1 && ag_ut.indexOf('Trident') === -1; +var isWebKit = ag_ut.indexOf('AppleWebKit') > -1 && ag_ut.indexOf('Chrome') === -1;</pre> -<h4 id="Les_fontes_mathématiques">Les fontes mathématiques</h4> +<h4 id="mathematical_fonts">Les fontes mathématiques</h4> -<p>Afin d'obtenir une bonne mise en page ou pour permettre différents mise en style, il est important d'avoir des fontes mathématiques disponibles. Vous pouvez ainsi fournir à vos visiteurs un lien vers les <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts">Instructions sur les fontes de MDN</a>, de telle manière qu'ils puissent vérifier s'ils ont les fontes appropriées installées sur leur système ou non. Il est tout aussi bon de prévoir une alternative avec les fontes Web.</p> +<p>Afin d'obtenir une bonne mise en page ou pour permettre différents mise en style, il est important d'avoir des fontes mathématiques disponibles. Vous pouvez ainsi fournir à vos visiteurs un lien vers les <a href="/fr/docs/Mozilla/MathML_Project/Fonts">Instructions sur les fontes de MDN</a>, de telle manière qu'ils puissent vérifier s'ils ont les fontes appropriées installées sur leur système ou non. Il est tout aussi bon de prévoir une alternative avec les fontes Web.</p> -<p>Avant Gecko 31.0 {{GeckoRelease("31.0")}}, il était quelque peu fastidieux d'installer des fontes mathématiques, lisez à ce propos les <a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/FontsMozilla2.0#MathML_Font_Selection_with_CSS">instructions pour Mozilla 2.0</a>. Depuis Gecko 31.0 {{GeckoRelease("31.0")}}, c'est beaucoup plus simple et compatible avec tout moteur de rendu Web ayant un support de MathML. Par exemple, voyez-ci une feuille de style minimale pour utiliser la fonte Latin Modern pour les textes et Latin Modern Math pour les expressions mathématiques :</p> +<p>Avant Gecko 31.0, il était quelque peu fastidieux d'installer des fontes mathématiques, lisez à ce propos les <a href="/fr/docs/Mozilla/MathML_Project/FontsMozilla2.0#mathml_font_selection_with_css">instructions pour Mozilla 2.0</a>. Depuis Gecko 31.0, c'est beaucoup plus simple et compatible avec tout moteur de rendu Web ayant un support de MathML. Par exemple, voyez-ci une feuille de style minimale pour utiliser la fonte Latin Modern pour les textes et Latin Modern Math pour les expressions mathématiques :</p> -<pre class="brush: css line-numbers language-css notranslate"><code class="language-css"><span class="atrule token"><span class="rule token">@namespace</span> <span class="token url">url('http://www.w3.org/1999/xhtml')</span><span class="punctuation token">;</span></span> -<span class="atrule token"><span class="rule token">@namespace</span> m <span class="token url">url('http://www.w3.org/1998/Math/MathML')</span><span class="punctuation token">;</span></span> +<pre class="brush: css">@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); -<span class="selector token">body, m|mtext </span><span class="punctuation token">{</span> - <span class="property token">font-family</span><span class="punctuation token">:</span> Latin Modern<span class="punctuation token">;</span> -<span class="punctuation token">}</span> -<span class="selector token">m|math </span><span class="punctuation token">{</span> - <span class="property token">font-family</span><span class="punctuation token">:</span> Latin Modern Math<span class="punctuation token">;</span> -<span class="punctuation token">}</span></code></pre> +body, m|mtext { + font-family: Latin Modern; +} +m|math { + font-family: Latin Modern Math; +}</pre> -<p>En fin vous pouvez utiliser la règle <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face">@font-face</a> comme usuellement pour founir une alternative WOFF pour les fontes Latin Modern et Latin Modern Math. Regardez ce <a href="https://github.com/fred-wang/MathFonts">dépôt GitHub pour obtenir des fontes WOFF et des échantillons de feuilles de style CSS</a> à utiliser sur votre site ainsi que <a href="http://fred-wang.github.io/MathFonts/">sa page d'essai</a>.</p> +<p>En fin vous pouvez utiliser la règle <a href="/fr/docs/Web/CSS/@font-face">@font-face</a> comme usuellement pour fournir une alternative WOFF pour les fontes Latin Modern et Latin Modern Math. Regardez ce <a href="https://github.com/fred-wang/MathFonts">dépôt GitHub pour obtenir des fontes WOFF et des échantillons de feuilles de style CSS</a> à utiliser sur votre site ainsi que <a href="http://fred-wang.github.io/MathFonts/">sa page d'essai</a>.</p> -<h4 id="MathML_dans_les_documents_XML_XHTML_EPUB_etc">MathML dans les documents XML (XHTML, EPUB, etc)</h4> +<h4 id="mathml_in_xml_documents_xhtml_epub_etc">MathML dans les documents XML (XHTML, EPUB, etc)</h4> -<p>Si pour quelque raison vous avez besoin de MathML au sein de documents XML, soyez sûr de satisfaire aux exigences usuelles : document valide, usage d'un type MIME correct et espaces de noms MathML <code>"http://www.w3.org/1998/Math/MathML"</code> sur les racines <code><math></code>. Par exemple, la version XHTML de l'exemple précèdent ressemble à ceci :<br> - </p> +<p>Si pour quelque raison vous avez besoin de MathML au sein de documents XML, soyez sûr de satisfaire aux exigences usuelles : document valide, usage d'un type MIME correct et espaces de noms MathML <code>"http://www.w3.org/1998/Math/MathML"</code> sur les racines <code><math></code>. Par exemple, la version XHTML de l'exemple précèdent ressemble à ceci :</p> -<pre class="brush: xml notranslate"><?xml version="1.0" encoding="UTF-8"?> +<pre class="brush: xml"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" - "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"> + "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>XHTML avec un exemple MathML</title> - </head> - <body> - <h1>XHTML avec un exemple MathML</h1> - - <p> - Racine carrée de 2 : - <math xmlns="http://www.w3.org/1998/Math/MathML"> - <msqrt> - <mn>2</mn> - </msqrt> - </math> - </p> - </body> -</html> </pre> + <head> + <title>XHTML avec un exemple MathML</title> + </head> + <body> + <h1>XHTML avec un exemple MathML</h1> + + <p> + Racine carrée de 2 : + <math xmlns="http://www.w3.org/1998/Math/MathML"> + <msqrt> + <mn>2</mn> + </msqrt> + </math> + </p> + </body> +</html></pre> -<h4 id="MathML_dans_les_méls_et_clients_de_messagerie_instantanée">MathML dans les méls et clients de messagerie instantanée</h4> +<h4 id="mathml_in_email_and_instant_messaging_clients">MathML dans les courriels et clients de messagerie instantanée</h4> -<p>Les clients méls modernes peuvent envoyer et recevoir des méls au format HTML5 et donc y insérer des expressions MathML. Soyez sûrs dans ce cas d'avoir activé les options "envoyez en tant que HTML" et "visionner en tant que HTML". Dans Thunderbird, vous pouvez utiliser la fonctionnalité "Insérer du HTML" pour coller votre code HTML + MathML. <a href="http://disruptive-innovations.com/zoo/MathBird/" title="http://disruptive-innovations.com/zoo/MathBird/">MathBird</a> est une extension de Thunderbird pratique pour insérer des expressions MathML en utilisant la syntaxe d'insertion d'AsciiMath. À nouveau, la manière dont MathML est géré et la qualité du rendu de MathML <a href="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121" title="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121">dépend des clients méls</a>. Même si votre navigateur supporte le MathML, votre fournisseur mél Web pourrait vous empêcher de recevoir ou d'envoyer des méls contenant du MathML.</p> +<p>Les clients courriels modernes peuvent envoyer et recevoir des courriels au format HTML5 et donc y insérer des expressions MathML. Soyez sûrs dans ce cas d'avoir activé les options "envoyez en tant que HTML" et "visionner en tant que HTML". Dans Thunderbird, vous pouvez utiliser la fonctionnalité "Insérer du HTML" pour coller votre code HTML + MathML. <a href="http://disruptive-innovations.com/zoo/MathBird/">MathBird</a> est une extension de Thunderbird pratique pour insérer des expressions MathML en utilisant la syntaxe d'insertion d'AsciiMath. À nouveau, la manière dont MathML est géré et la qualité du rendu de MathML <a href="http://www.maths-informatique-jeux.com/blog/frederic/?post/2012/11/14/Writing-mathematics-in-emails#c121">dépend des clients courriels</a>. Même si votre navigateur supporte le MathML, votre fournisseur courriel Web pourrait vous empêcher de recevoir ou d'envoyer des courriels contenant du MathML.</p> -<p>En théorie, les clients de messagerie instantanée basés sur Gecko peuvent intégrer un des convertisseurs tirés de Javascript de texte en MathML mentionnés ci-après et rendre les expressions MathML. Il y a par exemple une <a href="https://addons.instantbird.org/en-US/instantbird/addon/340" title="https://addons.instantbird.org/en-US/instantbird/addon/340">extension InstantBird</a> pour gérer les expressions LaTeX.</p> +<p>En théorie, les clients de messagerie instantanée basés sur Gecko peuvent intégrer un des convertisseurs tirés de Javascript de texte en MathML mentionnés ci-après et rendre les expressions MathML. Il y a par exemple une <a href="https://addons.instantbird.org/fr/instantbird/addon/340">extension InstantBird</a> pour gérer les expressions LaTeX.</p> -<h2 id="Conversion_depuis_une_syntaxe_simple">Conversion depuis une syntaxe simple</h2> +<h2 id="conversion_from_a_simple_syntax">Conversion depuis une syntaxe simple</h2> <p>Il y a de nombreuses notations simples (par exemple les syntaxes wiki ou markdown) pour générer des pages HTML. De fait, cela est aussi vrai pour MathML: par exemple les syntaxes ASCII telles qu'utilisées dans les calculatrices ou le plus puissant langage LaTeX, très populaire dans la communauté scientifique. Dans cette section, nous présenterons quelques-uns de ces outils pour convertir du texte respectant une certaine syntaxe en MathML.</p> <ul> - <li>Avantages : - <ul> - <li>Écrire des expressions mathématiques peut ne nécessiter qu'un éditeur de texte standard.</li> - <li>De nombreux outils sont disponibles et certains sont compatibles avec le convertisseur LaTeX-to-PDF.</li> - <li>Cela donne accès à des fonctionnalités avancées de LaTeX comme les macros.</li> - </ul> - </li> - <li>Inconvénients : - <ul> - <li>Ce peut être plus difficile à utiliser : il faut apprendre la syntaxe, une erreur dans le code amène facilement à une erreur de conversion ou de rendu etc</li> - <li>L'interface n'est pas conviviale : l'on n'a accès qu'à un éditeur de code sans rendu en direct de l'expression mathématique.</li> - <li>Aucune des syntaxes n'a été standardisée, rendant la compatibilité entre convertisseurs difficile. Par exemple, le langage populaire LaTeX continue de recevoir de nouveaux paquets et tous les convertisseurs ne sont pas à jour.</li> - </ul> - </li> + <li>Avantages : + <ul> + <li>Écrire des expressions mathématiques peut ne nécessiter qu'un éditeur de texte standard.</li> + <li>De nombreux outils sont disponibles et certains sont compatibles avec le convertisseur LaTeX-to-PDF.</li> + <li>Cela donne accès à des fonctionnalités avancées de LaTeX comme les macros.</li> + </ul> + </li> + <li>Inconvénients : + <ul> + <li>Ce peut être plus difficile à utiliser : il faut apprendre la syntaxe, une erreur dans le code amène facilement à une erreur de conversion ou de rendu etc</li> + <li>L'interface n'est pas conviviale : l'on n'a accès qu'à un éditeur de code sans rendu en direct de l'expression mathématique.</li> + <li>Aucune des syntaxes n'a été standardisée, rendant la compatibilité entre convertisseurs difficile. Par exemple, le langage populaire LaTeX continue de recevoir de nouveaux paquets et tous les convertisseurs ne sont pas à jour.</li> + </ul> + </li> </ul> -<h3 id="Conversion_côté_client">Conversion côté client</h3> +<h3 id="client-side_conversion">Conversion côté client</h3> <p>Dans un environnement web, la plus évidente méthode pour convertir un texte brut respectant une syntaxe en une arborescence DOM est d'utiliser Javascript. De fait, de nombreuses bibliothèques ont été développées pour accomplir cette tâche.</p> <ul> - <li>Avantages : - <ul> - <li>Mise en place aisée : seulement un peu de Javascript et de CSS.</li> - <li>C'est une solution purement basée Web : tout est fait par les navigateurs et non par d'autres programmes nécessitant une installation.</li> - </ul> - </li> - <li>Inconvénients : - <ul> - <li>Cela ne fonctionnera pas si l'utilisateur a désactivé Javascript.</li> - <li>Le code MathML n'est pas présenté aux robots d'indexation (par exemple ceux des moteurs de recherche mathématique ou les agrégateurs de contenu).</li> - <li>La conversion doit être faite à chaque chargement de page, pouvant amener à un ralentissement du chargement ou à des conflits avec l'analyse HTML (par exemple "<" pour les balises)</li> - <li>Vous devez synchroniser le convertisseur Javascript avec les autres programmes Javascript sur votre page.</li> - </ul> - </li> + <li>Avantages : + <ul> + <li>Mise en place aisée : seulement un peu de Javascript et de CSS.</li> + <li>C'est une solution purement basée Web : tout est fait par les navigateurs et non par d'autres programmes nécessitant une installation.</li> + </ul> + </li> + <li>Inconvénients : + <ul> + <li>Cela ne fonctionnera pas si l'utilisateur a désactivé Javascript.</li> + <li>Le code MathML n'est pas présenté aux robots d'indexation (par exemple ceux des moteurs de recherche mathématique ou les agrégateurs de contenu).</li> + <li>La conversion doit être faite à chaque chargement de page, pouvant amener à un ralentissement du chargement ou à des conflits avec l'analyse HTML (par exemple "<" pour les balises)</li> + <li>Vous devez synchroniser le convertisseur Javascript avec les autres programmes Javascript sur votre page.</li> + </ul> + </li> </ul> <p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a> a un élément HTML personnalisé <a href="https://github.com/fred-wang/x-tex"><x-tex></a> pouvant être utilisé pour écrire des expressions telles que :</p> -<pre class="notranslate"><span class="brush: html"><<span class="start-tag">x-tex</span>></span><span>\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1</span><span class="brush: html"></<span class="end-tag">x-tex</span>></span></pre> - -<p>Et l'obtenir automatiquement converti en MathML. C'est une technologie toujours en développement, mais qui pourra être améliorée à l'avenir au moyen des composants Web et du shadow DOM. Alternativement, vous pouvez utiliser la traditionnelle <a href="https://github.com/fred-wang/TeXZilla/wiki/Advanced-Usages#parsing-tex-expressions-in-your-web-page">analyse Javascript des expressions au chargement</a> comme tout les autres outils de cette section font.</p> +<pre class="brush: html"><x-tex>\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1</x-tex></pre> -<p>Un autre outil de conversion, simple et côté client, est <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" title="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>. Il vous suffit de télécharger le script <a href="http://mathcs.chapman.edu/~jipsen/mathml/ASCIIMathML.js" title="http://mathcs.chapman.edu/~jipsen/mathml/ASCIIMathML.js">ASCIIMathML.js</a> et de le copier dans votre dossier de site web, puis d'ajouter une balise <code><script></code> sur chaque page pour charger le script ASCIIMathML. Toute expression mathématique délimitée au moyen <code>`</code> (accent grave) sera automatiquement analysée et convertie en MathML:</p> +<p>Et l'obtenir automatiquement converti en MathML. C'est une technologie toujours en développement, mais qui pourra être améliorée à l'avenir au moyen des composants Web et du shadow DOM. Alternativement, vous pouvez utiliser la traditionnelle <a href="https://github.com/fred-wang/TeXZilla/wiki/Advanced-Usages#parsing-tex-expressions-in-your-web-page">analyse Javascript des expressions au chargement</a> comme tous les autres outils de cette section font.</p> -<pre class="brush: html notranslate"><html> - <head> - ... - <script src="ASCIIMathML.js"></script> - ... - </head> - <body> - ... - <p>Lorem `x^2 + y^2 = r^2` ipsum ... - ... -</pre> - -<p><a href="http://math.etsu.edu/LaTeXMathML/" title="http://math.etsu.edu/LaTeXMathML/">LaTeXMathML</a> est un script similaire d'analyser plus de commandes LaTeX. Son installation est semblable : copiez <a href="http://math.etsu.edu/LaTeXMathML/LaTeXMathML.js" title="http://math.etsu.edu/LaTeXMathML/LaTeXMathML.js">LaTeXMathML.js</a> et <a href="http://math.etsu.edu/LaTeXMathML/LaTeXMathML.standardarticle.css" title="http://math.etsu.edu/LaTeXMathML/LaTeXMathML.standardarticle.css">LaTeXMathML.standardarticle.css</a> dans votre dossier, ajoutez des liens vers ces fichiers dans vos documents et les contenus LaTeX de vos pages web, si marqués par la classe "LaTeX", seront automatiquement analysés et convertis en HTML et MathML:</p> +<p>Un autre outil de conversion, simple et côté client, est <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>. Il vous suffit de télécharger le script <a href="https://mathcs.chapman.edu/~jipsen/mathml/ASCIIMathML.js">ASCIIMathML.js</a> et de le copier dans votre dossier de site web, puis d'ajouter une balise <code><script></code> sur chaque page pour charger le script ASCIIMathML. Toute expression mathématique délimitée au moyen <code>`</code> (accent grave) sera automatiquement analysée et convertie en MathML:</p> -<pre class="brush: html notranslate"><span><<span class="start-tag">head</span>></span> -<span> ... - <<span class="start-tag">script</span> <span class="attribute-name">src</span>="<a class="attribute-value">LaTeXMathML.js</a>"></<span class="end-tag">script</span>><span> -</span> <<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">stylesheet</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>" <span class="attribute-name">href</span>="<a class="attribute-value">LaTeXMathML.standardarticle.css</a>" <span>/</span>></span><span> +<pre class="brush: html"><html> + <head> ... -</span><span></<span class="end-tag">head</span>></span><span> - -</span><span><<span class="start-tag">body</span>></span><span> + <script src="ASCIIMathML.js"></script> + ... + </head> + <body> + ... + <p>Lorem `x^2 + y^2 = r^2` ipsum ... ... - </span><div class="LaTeX"> - \documentclass[12pt]{article} - \begin{document} - \title{LaTeXML Example} - \maketitle - \begin{abstract} - This is a sample LaTeXML document. - \end{abstract} - \section{First Section} - $$ \sum_{n=1}^{+\infty} \frac{1}{n^2} = \frac{\pi^2}{6} $$ - \end{document} - </div> - ...</pre> - -<p><a href="http://mathscribe.com/author/jqmath.html" title="http://mathscribe.com/author/jqmath.html">jqMath</a> est un autre script pour analyser une expression utilisant une syntaxe simplifiée proche de LaTeX mais supportant en plus les caractères non-ASCII comme <code>√{∑↙{n=1}↖{+∞} 6/n^2} = π²</code> pour rendre <math> <mrow> <msqrt> <mrow class="ma-repel-adj"> <munderover> <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>+</mo> <mi>∞</mi> </mrow> </munderover> <mfrac> <mn>6</mn> <msup> <mi>n</mi> <mn>2</mn> </msup> </mfrac> </mrow> </msqrt> <mo>=</mo> <mi>π²</mi> </mrow> </math>. Son installation se fait de la même manière : copiez ses fichiers <a href="http://mathscribe.com/downloads/mathscribe-unix-0.4.0.zip" title="http://mathscribe.com/downloads/mathscribe-unix-0.4.0.zip">Javascript et CSS</a> dans votre dossier de site web et référencez-les dans vos pages (regardez le fichier <code>COPY-ME.html</code> de l'archive zip pour lire un exemple). L'un des avantages de jqMath par rapport aux scripts précédents est qu'il ajoutera automatiquement quelques règles CSS pour faire l'affichage mathématique et rendre les formules lisibles sur des navigateurs avec un support limité de MathML.</p> - -<h3 id="Programmes_en_ligne_de_commande">Programmes en ligne de commande</h3> +</pre> + +<p><a href="https://math.etsu.edu/LaTeXMathML/">LaTeXMathML</a> est un script similaire d'analyser plus de commandes LaTeX. Son installation est semblable : copiez <a href="https://math.etsu.edu/LaTeXMathML/LaTeXMathML.js">LaTeXMathML.js</a> et <a href="https://math.etsu.edu/LaTeXMathML/LaTeXMathML.standardarticle.css">LaTeXMathML.standardarticle.css</a> dans votre dossier, ajoutez des liens vers ces fichiers dans vos documents et les contenus LaTeX de vos pages web, si marqués par la classe "LaTeX", seront automatiquement analysés et convertis en HTML et MathML:</p> + +<pre class="brush: html"><head> + ... + <script type="text/javascript" src="LaTeXMathML.js"></script> + <link rel="stylesheet" type="text/css" href="LaTeXMathML.standardarticle.css" /> + ... + </head> + + <body> + ... + + <div class="LaTeX"> + \documentclass[12pt]{article} + + \begin{document} + + \title{Exemple LaTeXML} + \maketitle + + \begin{abstract} + Il s'agit d'un exemple de document LaTeXML. + \end{abstract} + + \section{Première section} + + $$ \sum_{n=1}^{+\infty} \frac{1}{n^2} = \frac{\pi^2}{6} $$ + + \end{document} + </div> + ...</pre> + +<p><a href="https://mathscribe.com/author/jqmath.html">jqMath</a> est un autre script pour analyser une expression utilisant une syntaxe simplifiée proche de LaTeX mais supportant en plus les caractères non-ASCII comme <code>√{∑↙{n=1}↖{+∞} 6/n^2} = π²</code> pour rendre <math> <mrow> <msqrt> <mrow class="ma-repel-adj"> <munderover> <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>+</mo> <mi>∞</mi> </mrow> </munderover> <mfrac> <mn>6</mn> <msup> <mi>n</mi> <mn>2</mn> </msup> </mfrac> </mrow> </msqrt> <mo>=</mo> <mi>π²</mi> </mrow> </math>. Son installation se fait de la même manière : copiez ses fichiers <a href="https://mathscribe.com/downloads/mathscribe-unix-0.4.0.zip">Javascript et CSS</a> dans votre dossier de site web et référencez-les dans vos pages (regardez le fichier <code>COPY-ME.html</code> de l'archive zip pour lire un exemple). L'un des avantages de jqMath par rapport aux scripts précédents est qu'il ajoutera automatiquement quelques règles CSS pour faire l'affichage mathématique et rendre les formules lisibles sur des navigateurs avec un support limité de MathML.</p> + +<h3 id="command-line_programs">Programmes en ligne de commande</h3> <p>Un moyen alternatif est de convertir les expressions LaTeX avant de publier votre site web. Vous pouvez utiliser des programmes en ligne de commande pour générer et publier ces pages statiques sur votre serveur.</p> <ul> - <li>Avantages : - <ul> - <li>L'on obtient des pages web statiques : le code source en LaTeX ne nécessite pas d'être converti à chaque chargement, le code MathML est exposé aux robots d'indexation et l'on peut ajouter le code MathML aisément sur tout serveur web.</li> - <li>Des programmes binaires peuvent s'exécuter plus vite que des programmes Javascript et être plus sophistiqués, c'est-à-dire avoir un support LaTeX plus complet ou générer d'autres formats comme l'EPUB.</li> - <li>Vous pouvez assurer la compatibilité avec d'autres outils pour générer un PDF, c'est-à-dire que vous pouvez utiliser le même fichier source .tex pour à la fois faire du LaTeX et du LaTeXML.</li> - </ul> - </li> - <li>Inconvénients : - <ul> - <li>Cela requiert d'installer des programmes sur son ordinateur, ce qui peut être plus compliqué ; et ces programmes peuvent être indisponibles sur certaines plates-formes.</li> - <li>Vous devez exécuter ces programmes sur votre ordinateur et avoir un flux de travail pour obtenir vos pages web à la fin ; cela peut s'avérer quelque peu fastidieux.</li> - <li>Les programmes binaires ne sont pas appropriés dans une extension Mozilla ou une application XUL.</li> - </ul> - </li> + <li>Avantages : + <ul> + <li>On obtient des pages web statiques : le code source en LaTeX ne nécessite pas d'être converti à chaque chargement, le code MathML est exposé aux robots d'indexation et l'on peut ajouter le code MathML aisément sur tout serveur web.</li> + <li>Des programmes binaires peuvent s'exécuter plus vite que des programmes Javascript et être plus sophistiqués, c'est-à-dire avoir un support LaTeX plus complet ou générer d'autres formats comme l'EPUB.</li> + <li>Vous pouvez assurer la compatibilité avec d'autres outils pour générer un PDF, c'est-à-dire que vous pouvez utiliser le même fichier source.tex pour à la fois faire du LaTeX et du LaTeXML.</li> + </ul> + </li> + <li>Inconvénients : + <ul> + <li>Cela requiert d'installer des programmes sur son ordinateur, ce qui peut être plus compliqué ; et ces programmes peuvent être indisponibles sur certaines plates-formes.</li> + <li>Vous devez exécuter ces programmes sur votre ordinateur et avoir un flux de travail pour obtenir vos pages web à la fin ; cela peut s'avérer quelque peu fastidieux.</li> + <li>Les programmes binaires ne sont pas appropriés dans une extension Mozilla ou une application XUL.</li> + </ul> + </li> </ul> <p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a> peut être utilisé <a href="https://github.com/fred-wang/TeXZilla/wiki/Using-TeXZilla#usage-from-the-command-line">depuis la ligne de commande</a> et a essentiellement le même support qu'itex2MML, décrit précédemment. Toutefois, le comportement de filtre de flux n'est pas encore implémenté.</p> -<p>Si vous souhaitez seulement convertir de simples expressions mathématiques LaTeX, vous pourriez vouloir essayer des outils tels que <a href="http://golem.ph.utexas.edu/~distler/blog/itex2MML.html" title="http://golem.ph.utexas.edu/~distler/blog/itex2MML.html">itex2MML</a> ou <a href="http://gva.noekeon.org/blahtexml/" title="http://gva.noekeon.org/blahtexml/">Blahtex</a>. Ce dernier est souvent disponible sous les distributions Linux. Le premier a été originellement écrit par Paul Gartside au début du projet MathML de Mozilla et a été maintenu par Jacques Distler depuis. C'est un petit filtre de flux écrit en C/C++ et généré avec flex et bison ; qui a la particularité d'être très rapide. Installez simplement flex/bison de même que le compilateur classique et vous pourrez vous en servir. Sur Unix, vous pouvez télécharger itex2MML, le compiler et l'instaler :</p> +<p>Si vous souhaitez seulement convertir de simples expressions mathématiques LaTeX, vous pourriez vouloir essayer des outils tels que <a href="https://golem.ph.utexas.edu/~distler/blog/itex2MML.html">itex2MML</a> ou <a href="http://gva.noekeon.org/blahtexml/">Blahtex</a>. Ce dernier est souvent disponible sous les distributions Linux. Le premier a été originellement écrit par Paul Gartside au début du projet MathML de Mozilla et a été maintenu par Jacques Distler depuis. C'est un petit filtre de flux écrit en C/C++ et généré avec flex et bison ; qui a la particularité d'être très rapide. Installez simplement flex/bison de même que le compilateur classique et vous pourrez vous en servir. Sur Unix, vous pouvez télécharger itex2MML, le compiler et l'installer :</p> -<pre class="brush: bash notranslate">wget http://golem.ph.utexas.edu/~distler/blog/files/itexToMML.tar.gz; \ +<pre class="brush: bash">wget http://golem.ph.utexas.edu/~distler/blog/files/itexToMML.tar.gz; \ tar -xzf itexToMML.tar.gz; \ cd itex2MML/itex-src; make -sudo make install -</pre> +sudo make install</pre> -<p>Supposons maintenant que nous avons un document HTML avec des parties en LaTeX délimitiés par le symbole '$' :</p> +<p>Supposons maintenant que nous avons un document HTML avec des parties en LaTeX délimitées par le symbole '$' :</p> -<pre class="brush: html notranslate">input.html +<pre class="brush: html">input.html ... </head> @@ -256,87 +259,80 @@ sudo make install <p>$\sqrt{a^2-3c}$</p> <p>$$ {\sum_{i=1}^N i} = \frac{N(N+1)}{2} $$</p> </body> -</html> -</pre> +</html></pre> <p>Alors pour générer à partir de la page input.html la page output.html en remplaçant les expressions TeX par leurs équivalents MathML, entrez simplement :</p> -<pre class="notranslate">cat input.html | itex2MML > output.html</pre> +<pre>cat input.html | itex2MML > output.html</pre> <p>Il y a des outils encore plus sophistiqués pour convertir des documents arbitraires LaTeX en HTML et MathML. Par exemple <a href="https://www.tug.org/tex4ht/">TeX4ht</a> est souvent inclus dans les distributions TeX et a une option pour utiliser MathML plutôt que des images PNG. Cette commande générera un document en XHTML et MathML du nom de foo.xml à partir d'un fichier source LaTeX foo.tex :</p> -<pre class="notranslate"> mk4ht mzlatex foo.tex # Linux / MacOS - mzlatex foo.tex # Windows +<pre>mk4ht mzlatex foo.tex # Linux / MacOS +mzlatex foo.tex # Windows </pre> -<p><a href="http://dlmf.nist.gov/LaTeXML/">LaTeXML</a> est un autre outil toujours activement développé mais sa dernière version sortie est assez vieille, donc vous devriez plutôt <a href="https://github.com/KWARC/LaTeXML">installer la version en développement</a>. En particulier, cette version peut générer des documents HTML5 et EPUB. Voici la commande à exécuter pour créer un fichier foo.html à partir d'un fichier source LaTeX foo.tex :</p> +<p>Notez que <a href="https://github.com/michal-h21/tex4ebook">tex4ebook</a> s'appuie sur TeX4ht pour générer des documents EPUB.</p> -<pre class="notranslate"> latexml --dest foo.xml foo.tex - latexmlpost --dest foo.html --format=html5 foo.xml -</pre> - -<p>Si vous voulez avoir MathJax comme alternative pour les navigateurs autres que Gecko, copier <a href="#mathjax-fallback">les lignes de JavaScript données précédemment</a> dans un fichier <code>mathjax.js</code> et utiliser le paramètre <code>--javascript</code> pour indiquer à LaTeXML d'inclure ce fichier :</p> +<p><a href="https://dlmf.nist.gov/LaTeXML/" name="LaTeXML">LaTeXML</a> est un autre outil qui permet de générer des documents HTML5 et EPUB. Les utilisateurs de Windows peuvent regarder ce <a href="https://www.youtube.com/watch?v=Dg881w2e-lI">tutoriel vidéo</a>. Étant donné un fichier LaTeX foo.tex, vous pouvez utiliser ces simples commandes :</p> -<pre class="notranslate"> latexmlpost --dest foo.html --format=html5 --javascript=mathjax.js foo.xml -</pre> +<pre>latexml --dest foo.xml foo.tex +latexmlpost --dest foo.html --format=html5 foo.xml</pre> -<p>Si votre document LaTeX est lourd, vous pourriez vouloir le séparer en plusieurs pages plus petites plutôt que de laisser sur une seule page. C'est d'autant plus le cas si vous utilisez l'alternative MathJax puisque, dans ce cas, MathJax sera lent à afficher les équations dans les navigateurs autres que Gecko. Utilisez le paramètre <code>--splitat</code> prévu à cet effet. Par exemple, cette commande séparera les pages au niveau des <code>\section</code> :</p> +<p>Pour gérer le cas des navigateurs ne supportant pas MathML, vous pouvez utiliser le paramètre <code>--javascript</code> pour indiquer à LaTeXML d'inclure l'un des <a href="#fallback_for_browsers_without_mathml_support">scripts de substitution</a> :</p> -<pre class="notranslate"> latexmlpost --dest foo.html --format=html5 --splitat=section foo.xml +<pre>latexmlc --dest foo.html --javascript=https://fred-wang.github.io/mathml.css/mspace.js foo.tex # Add the CSS fallback +latexmlc --dest foo.html --javascript=https://fred-wang.github.io/mathjax.js/mpadded-min.js foo.tex # Add the MathJax fallback </pre> -<p>Enfin, pour générer un document EPUB, vous pouvez faire :</p> +<p>Si votre document LaTeX est volumineux, vous pouvez vouloir le diviser en plusieurs petites pages plutôt que de tout mettre dans une seule grande page. Par exemple, ceci va diviser les pages au niveau de la <code>\section</code> :</p> -<pre class="notranslate"> latexmlc --dest foo.epub --splitat=section foo.xml -</pre> +<pre>latexmlc --dest foo.html --splitat=section foo.tex</pre> -<h3 id="Conversion_côté_serveur">Conversion côté serveur</h3> +<h3 id="server-side_conversion">Conversion côté serveur</h3> <ul> - <li>Avantages : - <ul> - <li>La conversion est faite côté serveur et le rendu MathML peut être mis en cache, ce qui es plus efficace et propre qu'une conversion côté serveur.</li> - </ul> - </li> - <li>Inconvénients : - <ul> - <li>Ce pourrait être plus difficile à mettre en œuvre puisque vous pourrivez avoir besoin de droits d'administrateur sur le serveur.</li> - </ul> - </li> + <li>Avantages : + <ul> + <li>La conversion est faite côté serveur et le rendu MathML peut être mis en cache, ce qui est plus efficace et propre qu'une conversion côté serveur.</li> + </ul> + </li> + <li>Inconvénients : + <ul> + <li>Ce pourrait être plus difficile à mettre en œuvre puisque vous pourriez avoir besoin de droits d'administrateur sur le serveur.</li> + </ul> + </li> </ul> -<p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a> can be <a href="https://github.com/fred-wang/TeXZilla/wiki/Advanced-Usages#using-texzilla-as-a-web-server">used as a Web server</a> in order to perform server-side LaTeX-to-MathML conversion. <a href="http://dlmf.nist.gov/LaTeXML/">LaTeXML</a> can also be used as a deamon to run server-side. <a href="https://github.com/gwicke/mathoid">Mathoid</a> is another tool based on MathJax that is also able to perform additional MathML-to-SVG conversion.</p> +<p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a>, <a href="https://dlmf.nist.gov/LaTeXML/">LaTeXML</a> et <a href="https://github.com/gwicke/mathoid">Mathoid</a> peuvent être utilisés pour effectuer une conversion LaTeX vers MathML côté serveur. <a href="http://instiki.org/show/HomePage">Instiki</a> et <a href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> sont deux moteurs de wiki qui prennent en charge la conversion LaTeX vers MathML.</p> -<p><a href="http://instiki.org/show/HomePage">Instiki</a> is a Wiki that integrates itex2MML to do server-side conversion. In future versions, <a href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> will support server-side conversion too.</p> +<h2 id="graphical_interface">Interface graphique</h2> -<h2 id="Graphical_Interface">Graphical Interface</h2> +<h3 id="input_box">Boîte de saisie</h3> -<h3 id="Input_Box">Input Box</h3> +<p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a> possède plusieurs interfaces, notamment une <a href="https://ckeditor.com/addon/texzilla">fiche CKEditor</a> utilisé sur MDN, une <a href="https://fred-wang.github.io/TeXZilla/">démo en ligne</a>, un <a href="https://addons.mozilla.org/en-US/firefox/addon/texzilla/">module de Firefox</a> ou encore une <a href="https://marketplace.firefox.com/app/texzilla-1/">application web FirefoxOS</a>. Il est également intégré à <a href="https://www.seamonkey-project.org/">SeaMonkey</a> depuis la version 2.28 et à <a href="https://www.mozilla.org/thunderbird/">Thunderbird</a> depuis la version 31. <a href="http://abisource.org/">Abiword</a> contient un petit éditeur d'équations, basé sur itex2MML. Enfin,<a href="http://www.bluegriffon.com/"> Bluegriffon</a> possède un module complémentaire permettant d'insérer des formules MathML dans votre document, en utilisant une syntaxe de type ASCII/LaTeX.</p> -<p><a href="https://github.com/fred-wang/TeXZilla">TeXZilla</a> has several interfaces, including a <a href="http://ckeditor.com/addon/texzilla">CKEditor plugin</a> used on MDN, an <a href="http://fred-wang.github.io/TeXZilla/">online demo</a>, a <a href="https://addons.mozilla.org/en-US/firefox/addon/texzilla/">Firefox add-on</a> or a <a href="http://r-gaia-cs.github.io/TeXZilla-webapp/">FirefoxOS Webapp</a>. <a href="http://abisource.org/">Abiword</a> contains a small equation editor, based on itex2MML.<a href="http://www.bluegriffon.com/"> Bluegriffon</a> is a mozilla-based Wysiwyg HTML editor and has an add-on to insert MathML formulas in your document, using ASCII/LaTeX-like syntax.</p> +<p style="text-align: center;"><img alt="BlueGriffon" src="mathml-shot1.png"></p> -<p style="text-align: center;"><img alt="BlueGriffon" src="http://www.bluegriffon.com/public/shots/mathml-shot1.png" style="height: 467px; width: 358px;"></p> +<h3 id="wysiywg_editors">Éditeur WYSIYWG</h3> -<h3 id="WYSIYWG_Editors">WYSIYWG Editors</h3> +<p><a href="https://www.firemath.info/">Firemath</a> est une extension pour Firefox qui fournit un éditeur MathML WYSIWYG (« <i>what you see is what you get</i> » qui signifie « <i>ce que vous voyez est ce que vous obtenez</i> »). Un aperçu de la formule est affiché en utilisant le moteur de rendu de Mozilla. Le code MathML généré est disponible en bas. Utilisez le champ de texte pour les éléments symboliques et les boutons pour réaliser des constructions avancées. Une fois que vous avez terminé, vous pouvez enregistrer votre document en tant que page XHTML.</p> -<p><a href="http://www.firemath.info/">Firemath</a> is an extension for Firefox that provides a WYSIWYG MathML editor. A preview of the formula is displayed using the rendering engine of Mozilla. The generated MathML code is available at the bottom. Use the text field for token elements and buttons to build advanced constructions. Once you are done, you can save your document as a XHTML page.</p> +<p><a href="https://www.lyx.org/">LyX</a> est un éditeur graphique LaTeX, qui dispose d'un support intégré pour l'exportation XHTML+MathML et peut être configuré pour utiliser des convertisseurs LaTeX-to-(X)HTML similaires. Vous pouvez par exemple le configurer pour <a href="https://github.com/brucemiller/LaTeXML/wiki/Integrating-LaTeXML-into-TeX-editors#lyx">utiliser l'exportation LaTeXML HTML5/EPUB</a>.</p> -<p><a href="http://www.openoffice.org/">OpenOffice</a> and <a href="http://libreoffice.org/">LibreOffice</a> have an equation editor (File → New → Formula). It is semi-WYSIWYG: you enter the source of the formula using the equation panel/keyboard and a preview of the formula is regularly refreshed. The editor uses its own syntax "StarMath" for the source but MathML is also generated when the document is saved. To get the MathML code, save the document as mml and open it with any text editor. Alternatively, you can extract the odf file (which is actually a zip archive) and open an xml file called <code>content.xml</code>.</p> +<p><a href="https://www.openoffice.org/">OpenOffice</a> et <a href="https://libreoffice.org/">LibreOffice</a> disposent d'un éditeur d'équations (Fichier → Nouveau → Formule). Il est semi-WYSIWYG : vous saisissez la source de la formule à l'aide du panneau/clavier d'équation et un aperçu de la formule est régulièrement rafraîchi. L'éditeur utilise sa propre syntaxe "StarMath" pour la source mais le code MathML est également généré lors de l'enregistrement du document. Pour obtenir le code MathML, enregistrez le document au format mml et ouvrez-le avec n'importe quel éditeur de texte. Vous pouvez également extraire le fichier odf (qui est en fait une archive zip) et ouvrir un fichier xml appelé <code>content.xml</code>.</p> -<p style="text-align: center;"><img alt="Open Office Math" src="/@api/deki/files/4261/=openoffice.png" style="height: 527px; width: 483px;"></p> +<p style="text-align: center;"><img alt="Open Office Math" src="openoffice.png"></p> -<p><a href="http://www.w3.org/Amaya/">Amaya</a> is the W3C's web editor, which is able to handle MathML inside XHTML documents. Use the Elements and the Special Chars panels to create various advanced mathematical constructs. Simple text such as <code>a+2</code> is automatically parsed and the appropriate MathML markup is generated. Once you are done, you can directly save your XHTML page and open it in Mozilla.</p> +<p><a href="https://www.w3.org/Amaya/">Amaya</a> est l'éditeur web du W3C, qui est capable de gérer le MathML à l'intérieur des documents XHTML. Utilisez les panneaux Éléments et Caractères spéciaux pour créer diverses constructions mathématiques avancées. Un texte simple tel que <code>a+2</code> est automatiquement analysé et le balisage MathML approprié est généré. Une fois que vous avez terminé, vous pouvez directement enregistrer votre page XHTML et l'ouvrir dans Mozilla.</p> -<h2 id="Optical_Character_Handwriting_Recognition">Optical Character & Handwriting Recognition</h2> +<h2 id="optical_character_handwriting_recognition">Caractère optique & Reconnaissance de l'écriture manuscrite</h2> -<p><a href="http://www.inftyreader.org/">Inftyreader</a> is able to perform some Optical Character Recognition, including translation of mathematical equations into MathML. Other tools can do handwriting recognition such as the <a href="http://windows.microsoft.com/en-za/windows7/use-math-input-panel-to-write-and-correct-math-equations">Windows Math Input Panel</a> or the online converter <a href="http://webdemo.visionobjects.com/" title="http://webdemo.visionobjects.com/portal.html">Web Equation</a>.</p> +<p><a href="https://www.inftyreader.org/">Inftyreader</a> est capable d'effectuer une certaine reconnaissance optique des caractères, notamment la traduction d'équations mathématiques en MathML. D'autres outils peuvent faire de la reconnaissance d'écriture, comme le <a href="https://docs.microsoft.com/fr-fr/windows/win32/win7devguide/handwriting-and-ink?redirectedfrom=MSDN">Panneau de saisie mathématique de Windows</a> ou le convertisseur en ligne <a href="https://webdemo.myscript.com/views/math.html">Equation Web</a>.</p> -<div class="originaldocinfo"> -<h3 id="Informations_sur_le_document_original">Informations sur le document original</h3> +<h3 id="original_document_information">Informations sur le document original</h3> <ul> - <li>Auteur(s): Frédéric Wang</li> - <li>Autres contributeurs: Florian Scholz</li> - <li>Informations de droits d'auteur : des parties de ce contenu sont © 2010 par des contributeurs mozilla.org individuels ; contenu disponible sous licence Creative Commons | <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">Détails</a>.</li> + <li>Auteur(s) : Frédéric Wang</li> + <li>Autres contributeurs : Florian Scholz</li> + <li>Informations sur les droits d'auteur : Certaines parties de ce contenu sont © 2010 par les contributeurs individuels de mozilla.org ; contenu disponible sous une licence Creative Commons | <a href="https://www.mozilla.org/foundation/licensing/website-content.html">Détails</a>.</li> </ul> -</div> diff --git a/files/fr/web/mathml/authoring/openoffice.png b/files/fr/web/mathml/authoring/openoffice.png Binary files differnew file mode 100644 index 0000000000..4876bc83df --- /dev/null +++ b/files/fr/web/mathml/authoring/openoffice.png |