Affichage interactif, bidimensionnel et incrémental de formules mathématiques Hanane Naciri et Laurence Rideau INRIA Sophia Antipolis CARI'2000
H.Naciri 1 Plan Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple dapplication Migration vers le Web
H.Naciri 2 Motivations Aide au développement dinterfaces homme-machine pour les systèmes symboliques Améliorer la qualité des interfaces Manipuler des objets structurés hétérogènes texte, formules mathématiques, images... Outils de formatage Bidimensionnels Interactifs Incrémentaux
H.Naciri 3 Applications visées Editeurs d'objets structurés pour le calcul symbolique Systèmes de preuves Systèmes de calcul formel Migration vers des éditeurs Web exemple AMAYA Moyen terme, garder l objectif de se rapprocher des editeurs Web Moyen terme, garder l objectif de se rapprocher des editeurs Web
H.Naciri 4 Architecture Arbre de syntaxe abstraite Système symbolique Analyseur syntaxique Edition Arbre de boîtes (représentation) PPML Affichage sur écran Moteur daffichage FIGUE Interface Graphique Moyen terme, garder l objectif de se rapprocher des editeurs Web Moyen terme, garder l objectif de se rapprocher des editeurs Web
H.Naciri 5 Plan Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple dapplication Migration vers le Web
H.Naciri 6 Structure de boîtes en FIGUE FIGUE Arbre de syntaxe abstraite Arbre de boîtes (représentation) Transformation PPML Affichage
H.Naciri 7 Règles de transformation PPML (Pretty Printing Meta Language) Pattern Format plus(*x, *y) [ *x "+" *y] mult(int *i, *y) [ *i *y] mult(*x, *y) [ *x "* " *y] Transformation dun arbre de syntaxe abstraite en un arbre de boîtes a + b 2a2a a * b Une specification ppml est une suite de regles on parciurs l arbe de syntaxe et pour chaque nœud on cherche la premiere regle qui peut etre appliquee par exemple pour a+b, la premiere regle sera appliquee et qui va associe a l arbre plus a b, le vecteur Row qui a trois fils a, la chaine +, et b l ordre de l ecriture de ces regles est tres important, on commance par les regles les plus specifiques vers les moins specifiques Une specification ppml est une suite de regles on parciurs l arbe de syntaxe et pour chaque nœud on cherche la premiere regle qui peut etre appliquee par exemple pour a+b, la premiere regle sera appliquee et qui va associe a l arbre plus a b, le vecteur Row qui a trois fils a, la chaine +, et b l ordre de l ecriture de ces regles est tres important, on commance par les regles les plus specifiques vers les moins specifiques soubra:
H.Naciri 8 Formatage et affichage bidimensionnels Constructeurs graphiques de base en FIGUE Atome Horizontal Vertical Paragraphe Algorithme de formatage Origine, Taille, Alignement, Contexte graphique, Paramètres de zone daffichage... Horizontal
H.Naciri 9 Incrémentalité BUT : Minimiser le coût de reformatage dû à la mise à jour ou à la sélection d'une ou plusieurs boîtes Zone à reformater Deux éléments touchés Horizontal
H.Naciri 10 Sélection d'objets structurés
H.Naciri 11 Interaction Arbre de boîtesArbre de syntaxe Système symbolique expand((a-b) 2 ) (PPML) -1 PPML
H.Naciri 12 Plan Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple dapplication Migration vers le Web
H.Naciri 13 Extensibilité de FIGUE pour les formules mathématiques Racine, Puissance, Matrice, Fraction....
H.Naciri 14 Représentation en boîtes des formules mathématiques Formule mathématique Arbre de boîtes
H.Naciri 15 Algorithmes de formatage 2D pour les formules mathématiques Chaque constructeur a son propre algorithme pour disposer ses fils Affichage des boîtes formatées en fonction de leur contexte graphique (police de caractères, couleur, coordonnées)
H.Naciri 16 Quelques problèmes à résoudre... Besoin des algorithmes de formatage Efficaces Incrémentaux Quels sont les éléments à reformater si on change un élément de la formule ? Exemple: la disposition correcte des éléments d'une matrice requiert un algorithme de formatage en plusieurs passes
H.Naciri 17 Encore dautres problèmes !! La complexité des règles typographiques Gestion des grandes formules Affichage à échelle réduite de l'expression Césure Elision Fragmentation de l'expression en sous-expressions de tailles plus raisonnables dessin des symboles mathématiques de taille variable Esthétique Cohérence avec le contexte graphique
H.Naciri 18 Plan Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple dapplication Migration vers le Web
H.Naciri 19 Pcoq: interface graphique pour le système de preuves Coq Notations élaborées Illustrations graphiques Génération automatique de commandes à la souris
H.Naciri 20 Plan Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple dapplication Migration vers le Web
H.Naciri 21 Intégrer nos outils d'interface graphique sur le WEB Deux approches: Développement en JAVA Importer et générer du XML contenant du MathML XML + MathML Analyseur Syntaxique Arbre DOM Arbre de boîtes Interface XMLtoFigue FIGUE DTD
H.Naciri 22 Exemple de représentation en MathML <Facade xmlns:my=" xmlns=" xmlns:m=" 1 + x 2 4
H.Naciri 23 Perspectives Bases pour le développement dun éditeur MathML Utiliser notre expérience de FIGUE dans les éditeurs Web Supporter l'affichage bi-directionnel (droite-gauche et gauche-droite) explications de preuves en langue arabe
H.Naciri 24 Explications de preuves en langue Arabe