Salut,
Je viens d'uploader un nouveau raccourci qui, sur le modèle de <math>, permet de coder des formules mathématiques en LaTeX. Mais ce coup-ci, le résultat est affiché en MathML.
Vous pouvez voir un exemple à l'adresse:
http://arno.rezo.net/article.php3?id_article=2491
(en début d'article, un lien vers une page qui explique comment installer le nécessaire pour obtenir un affichage de MathML).
Le raccourci s'utilise très largement: <latex>...</latex>, on peut le mettre autour de plusieurs paragraphes.
A l'intérieur, on code les $formules$ avec les dollars simples, ou
$$centrees$$
avec les dollars doubles (comme dans TeX).
Parmi les (énormes) difficultés rencontrées:
- D'abord, il fallait un convertisseur LaTeX -> MathML en php. Il y en a un qui existe: WeM. Je l'ai déjà un peu complété, notamment parce que la plupart des commandes LaTeX doivent être converties dans leur équivalent MathML. Je me suis donc cogné un gros tableau de correspondance...
Là, il y a beaucoup de travail: le convertisseur est très incomplet, y'a pas mal de choses à retravailler dedans...
Volontairement, je ne passe que les formules par le moulinette: le reste de la mise en page (gestion du texte hors équations), ça reste du ressort de SPIP.
- Le second écueil, c'est l'implémentation totalement délirante que Mozilla a fait de MathML: ils ont tout bonnement décidé que ça ne s'affichait qu'en XHTML strict. Pas seulement dans la forme du document, mais il faut aussi absolument balancer en content-type:xml. Déjà c'est la mort de passer en XHTML strict, surtout dans ce mode, Mozilla se met à fonctionner en "débuggueur" de XML (et pas comme un bon vieux client Web)! C'est délirant de chez délirant: ces connards ont codé un brouteur qui se contente d'afficher une ligne d'erreur quand il trouve une erreur XML dans une page Web. Résultat: c'est totalement inutilisable.
Bon, avec MathPlayer pour MSIE, c'est à peine moins chiant...
Du coup, j'ai finalement trouvé un petit script javascript qui rend le MathML "affichable" sur n'importe quelle page Web. (Ce qui montre qu'on a affaire à des blaireaux intégristes...)
- Troisième écueil. Toujours puristes les connards de Mozilla: seuls les glyphes compris dans le format général de la page sont interprétés (c'est tellement logique que c'est en débile). Et en HTML, visiblement, on n'a pas les mêmes glyphes qu'en XML. Donc la plupart des symboles des équations de MathML ne s'affichaient pas dans Mozilla.
Dans inc_charset, je me suis donc codé à la main une translittération du MathML vers unicode. Résultat, tous les caractères "exotiques" de MathML sont désormais balancés sous forme Unicode (hexadecimal). Et devinez quoi, ça provoque quelques caractères fantômes dans MSIE. Et... il y a des caractères unicode visiblement inaccessibles (je ne comprends pas bien pourquoi: ils sont accessibles par leurs glyples!).