SVG Design Tools MathML2SVG François DELESCLUSE Sylvain DEYRIS Sébastien HOSY Frédéric PLANCHON Dominique BROEGLIN Stéphane LAVIROTTE Encadreurs
Des Maths sur le net, comment faire ? Des images Qualité d’affichage Résolution Document « lourd » Statique
Des Maths sur le net, comment faire ? Du texte + HTML Document « léger » Qualité d’affichage Statique
Des Maths sur le net, comment faire ? Des applets Qualité d’affichage Haute intéractivité Format de données propriétaires Logiciels fermés Peu extensibles
MathML ? Langage XML Normalisation du W3C (World Wide Web Consortium) Objectif : Être aux mathématiques ce que HTML est au texte sur internet
MathML ? Langage XML Normalisation du W3C (World Wide Web Consortium) Objectif : Être à l’affichage graphique ce que HTML est au texte sur internet
Convertir Comment faire ? Lib.xml MathML2SVG MathML SVG 1 2 3 Traitement MathML Calcul de affichage Créer SVG
Oui mais dans la boite 1 ? a + b apply plus ci <apply> <ci> a </ci> <ci> b </ci> </apply> Création d ’un arbre de balise MathML
Oui mais dans la boite 2 ? a + b plus <apply> <plus/> ci <apply> <plus/> <ci> a </ci> <ci> b </ci> </apply> Hauteur longueur Calcul récursif des dimensions des fils Le « plus » se calcul en fonction de ses fils
Génération récursive du code SVG Oui mais dans la boite 3 ? a + b Génération récursive du code SVG <g ... </g> Dessin de « a » <g ... </g> Dessin de « + » Dessin de « b »
Et pour la mise à jour ? ... ... ... Entite EntiteFactory TagDIVIDE EnsHSimple EnsTParent EnsSubSup EnsSequence TagPLUS TagMIMUS ... TagPARENT TagLN ... TagSUM TagPRODUCT
Le problème des parenthèses ( )
Le problème de réduction de la taille de caractère Quelle diminution ? Quel placement ? Quelles limites ?
Le problème de réduction de la taille de caractère Diminution de 50% Placement au dessus du caractère de base. Taille limitée Pas de limite sur le nombre d’imbrication