jeudi 11 août 2011

Comment insérer des équations dans Blogger (Partie 1)?

Certaines personnes m'ont posé des questions qui vont probablement nécessiter d'écrire quelques équations. Le HTML ne permet pas d'écrire des équations aussi facilement que LibreOffice ou Microsoft Word (Word est pénible pour des équations complexes. La notation de LibreOffice est supérieure.). Le site Math in HTML (and CSS) résume bien la situation. Il parle d'un langage d'équations nommé MathML qui permet d'écrire des équations. Voici un exemple d'équation écrite avec MathML:
 a+ß=y (1)  Le code pour cette équation est:
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
 <mtable>
  <mtr>
   <mtd>
    <mrow><mi>a</mi><mo>+</mo>< mi>ß</mi><mo>=</mo><mi>y</mi>
    </mrow>
   </mtd>
   <mtd>(1)
   </mtd>
  </mtr>
 </mtable>
</math>

Ouf!!! C'est vraiment pénible! Par exemple en latex, le code serait:
\begin{equation}
\alpha+\beta=\gamma
\end{equation}

Ce qui est beaucoup plus beau et concis.

Je vais être franc, j'ai triché pour écrire le code en MathML. Je ne connais pas MathML et je n'ai aucune intention de l'apprendre. C'est trop complexe. J'ai utilisé un programme nommé LyX. J'ai exporté en XHTML et copier le code dans Blogger. LyX est un traitement de texte WYSIWYM (What You See Is What You Mean) avec une interface graphique qui montre un résultat approximatif du document. Voici une image de l'écran de LyX:
Interface du programme LyX.
LyX formate le texte avec le langage LaTeX. Les formules sont écrites en entrant les commandes LaTeX appropriées. Pour notre formule, nous choisissons dans le menu Insérer->Maths->Formule hors ligne et  entrons \alpha+\beta=\gamma. Le plus beau avec LyX est qu'il n'est pas nécessaire de connaître le LaTeX pour obtenir de fabuleuses équations. Le menu en bas permet au débutant d'entrer tout les symboles qu'il désire comme avec Microsoft Word. Bien entendu, la connaissance de LaTeX accélère grandement la vitesse de saisi des formules.

Une fois les formules créées. Il faut les exporter en HTML. Dans le menu Fichier, sélectionner Exporter et LyXHTML. LyX va générer un fichier XHTML avec votre formule écrire en MathML!  Ouvrer ce fichier avec votre éditeur de texte favori (dans mon cas Notepad++). Repérer la balise <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> Copier le code à partir du début de cette balise jusqu'à la balise de fermeture </math>. Dans Blogger passer en mode "Modifier le code HTML" et copier le code. Votre formule va apparaître dans votre texte. Cette méthode marche même pour des systèmes d'équations complexes sauf si vous êtes dans Internet Explorer... ou Chrome... Je suis tellement habitué à Firefox que j'oublie les autres fureteurs. IE ne supporte pas par défaut MathML et WebKit le supporte pour les versions 5 et plus. Je dois utiliser des images pour mes équations. Je vais continuer mes recherches et revenir avec une alternative dans le prochain billet.

Anecdote LaTeX.
J'étais au cinéma avec un ami pour voir le film Furtif. Furtif est un film d'action avec Jessica Biel qui raconte l'histoire de trois pilotes choisis pour un programme de développement de drone de combat intelligent. Le drone se nomme E. D. I. Le cerveau d'Edi est une grosse boule censée être un ordinateur quantique. À un moment dans le film, il montre le code source d'Edi. Et quand j'ai reconnu le langage, je me suis mis à rire! J'étais le seul dans la salle à rire et les gens ont dû me trouver étrange. Le langage était LaTeX! Un langage de traitement de texte pour programmer un drone de combat! Oh boy! Pas surprenant qu'Edi soit devenu fou.
Le drone E.D.I., probablement la dactylo la plus chère de l'histoire.

Aucun commentaire:

Enregistrer un commentaire