Conversion LaTeX vers MathML

Eléphant du PHP | 209 Messages

19 août 2009, 18:55

Bonjour tout le monde.

Je viens de mettre en ligne une version pre-alpha de ma classe nommée LaTeX2MathML (0.1-a pour le coup).
Cette classe permet la conversion de formules de math de type LaTeX2e vers du mathml de présentation.
Il y a aussi la possibilité d'ajouter ses propres commandes, via une classe newcommand, et ses propres
symboles avec une classe config.

Comme il s'agit d'une version pre-alpha toutes les fonctionnalités ne sont pas encore disponibles (et oui, le
LaTeX c'est vaste !). Mais je pense qu'à ce stade la classe est déjà utilisable...

Une démo ici : http://www.freewebmaster.fr/l2xml/LaTeX ... /demo.html
(Voir le torture test et comparer avec ça : http://www.mozilla.org/projects/mathml/ ... smml.xhtml )

Le contenu est disponible sous licence BSD et téléchargeable ici : http://sourceforge.net/projects/latex2mathml/

Le but est de rendre plus pratique l'intégration du mathml sur le web. En particulier, parce que le peu de
programmes que j'ai trouvé n'étaient pas adaptés au web ou ne respectaient pas la syntaxe de
LaTeX (utilisation de iTeX à la place etc...).
Bref, j'ai pris mon temps afin de bien faire, mais c'est loin d'être fini, au programme : les over(under)braces, les
polices mathématiques (mathbb, mathfrak, etc), les tableaux, et enfin, toutes vos suggestions.

J'attends avec impatience vos avis, vos critiques et vos conseils.

Jérémy.
Modifié en dernier par SpintroniK le 03 juin 2010, 11:46, modifié 1 fois.

Mammouth du PHP | 2937 Messages

19 août 2009, 22:50

J'ai une suggestion : ajouter au code MathML généré le doctype de MathML, ce qui est utile pour vérifier la validité syntaxique, comme ci-dessous :

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <!-- Le reste du code MathML --> </math>
Je me suis amusé à ajouter ce doctype aux différents codes sources générés sur ta page de démo afin d'en vérifier la validité avec le validateur du W3C : ils sont tous valides MathML 2.0. =D> :pouce:

Eléphant du PHP | 209 Messages

20 août 2009, 16:24

Ah oui tiens !
C'est pas bête.
Par contre, je mettrai ça sous forme d'option car si jamais ça doit être inclus dans un forum en tant que plugin par exemple, on en aura pas forcément besoin...
Du coup ça me donne aussi l'idée de passer l'option display de type block ou display...
En tout cas, merci.

Mammouth du PHP | 2937 Messages

20 août 2009, 16:36

Par contre, je mettrai ça sous forme d'option car si jamais ça doit être inclus dans un forum en tant que plugin par exemple, on en aura pas forcément besoin...
Quand je suggère l'ajout du doctype, c'est en pensant à la génération d'un fichier MathML, sans rien d'autre que le code MathML. Bien entendu, si le code doit être inséré dans du XML ou du (X)HTML, il est hors de question d'injecter un doctype en plein milieu de document, sous peine de l'invalider. ;)

En tout cas, j'espère que ta classe permettra de promouvoir, voire de populariser le MathML. :)

Eléphant du PHP | 209 Messages

20 août 2009, 18:20

On est parfaitement d'accord, et c'est bien comme ça que je l'avais compris :wink:
En tout cas, j'espère que ta classe permettra de promouvoir, voire de populariser le MathML. :)
C'est le but. Et quand ça sera un peu plus avancé je ferai de la pub un peu partout où le mathml pourrait être utile :P .