1 / 25

Affichage interactif, bidimensionnel et incrémental de formules mathématiques

Affichage interactif, bidimensionnel et incrémental de formules mathématiques. Hanane Naciri et Laurence Rideau INRIA Sophia Antipolis CARI'2000. Plan. Motivations Fonctionnalités de FIGUE Les formules mathématiques en FIGUE Exemple d’application Migration vers le Web. Motivations.

shiloh
Download Presentation

Affichage interactif, bidimensionnel et incrémental de formules mathématiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Affichage interactif, bidimensionnel et incrémental de formules mathématiques Hanane Naciri et Laurence Rideau INRIA Sophia Antipolis CARI'2000

  2. Plan • Motivations • Fonctionnalités de FIGUE • Les formules mathématiques en FIGUE • Exemple d’application • Migration vers le Web

  3. Motivations • Aide au développement d’interfaces 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

  4. 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

  5. Architecture Interface Graphique Edition Analyseur syntaxique Moteur d’affichage FIGUE Système symbolique Arbre de syntaxe abstraite Arbre de boîtes (représentation) PPML Moyen terme, garder l ’objectif de se rapprocher des editeurs Web Affichage sur écran

  6. Plan • Motivations • Fonctionnalités de FIGUE • Les formules mathématiques en FIGUE • Exemple d’application • Migration vers le Web

  7. Structure de boîtes en FIGUE Affichage Transformation PPML Arbre de boîtes (représentation) Arbre de syntaxe abstraite FIGUE

  8. 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: Règles de transformation PPML(Pretty Printing Meta Language) • Transformation d’un arbre de syntaxe abstraite en un arbre de boîtes Pattern Format a + b plus(*x, *y) [<Row> *x "+" *y] 2a mult(int *i, *y) [<Row> *i *y] a * b mult(*x, *y) [<Row> *x "* " *y]

  9. 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 d’affichage ... Horizontal

  10. Incrémentalité BUT : Minimiser le coût de reformatage dû à la mise à jour ou à la sélection d'une ou plusieurs boîtes Deux éléments touchés Horizontal Zone à reformater

  11. Sélection d'objets structurés

  12. Interaction (PPML) -1 Système symbolique expand((a-b)2) Arbre de syntaxe Arbre de boîtes PPML

  13. Plan • Motivations • Fonctionnalités de FIGUE • Les formules mathématiques en FIGUE • Exemple d’application • Migration vers le Web

  14. Extensibilité de FIGUE pour les formules mathématiques Racine, Puissance, Matrice, Fraction ....

  15. Représentation en boîtes des formules mathématiques Formule mathématique Arbre de boîtes

  16. 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)

  17. 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

  18. Encore d’autres 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

  19. Plan • Motivations • Fonctionnalités de FIGUE • Les formules mathématiques en FIGUE • Exemple d’application • Migration vers le Web

  20. Pcoq: interface graphique pour le système de preuves Coq Notations élaborées Illustrations graphiques Génération automatique de commandes à la souris

  21. Plan • Motivations • Fonctionnalités de FIGUE • Les formules mathématiques en FIGUE • Exemple d’application • Migration vers le Web

  22. Intégrer nos outils d'interface graphique sur le WEB DTD XML + MathML • Deux approches: • Développement en JAVA • Importer et générer du XML contenant du MathML Analyseur Syntaxique Arbre DOM Interface XMLtoFigue Arbre de boîtes FIGUE

  23. Exemple de représentation en MathML <?xml version="1.0" encoding='UTF-8' standalone="no"?> <Facade xmlns:my="http://www-sop.inria.fr/lemme/MathML/extensions" xmlns="http://www-sop.inria.fr/lemme/figue" xmlns:m="http://www.w3.org/1998/Math/MathML"> <Root> <P> <Atom Value= "Exemple"> <Atom Value=  "de"> <Atom Value= "Fraction"> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac> <mrow> <mn>1</mn> <mi>+</mi> <msup><mi>x</mi><mn>2</mn></msup> </mrow> <mn>4</mn> </mfrac> </math> </P> </Root> </Facade>

  24. Perspectives • Bases pour le développement d’un é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

  25. Explications de preuves en langue Arabe

More Related