Transcript
Page 1: 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

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

H.Naciri 2

Plan

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

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

H.Naciri 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

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

H.Naciri 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 AMAYAMoyen terme, garder

l ’objectif de se rapprocher

des editeurs Web

Moyen terme, garder l ’objectif de se

rapprocher

des editeurs Web

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

H.Naciri 5

Architecture

Arbre de syntaxe abstraite

Système symbolique

Analyseur syntaxique

Edition

Arbre de boîtes

(représentation)

PPML Affichage sur écran

Moteur d’affichage 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

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

H.Naciri 6

Plan

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

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

H.Naciri 7

Structure de boîtes en FIGUE

FIGUEArbre

de syntaxe abstraite

Arbre de boîtes

(représentation)

TransformationPPML

Affichage

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

H.Naciri 8

Règles de transformation PPML(Pretty Printing Meta Language)

Pattern Format

plus(*x, *y) [<Row> *x "+" *y]

mult(int *i, *y) [<Row> *i *y]

mult(*x, *y) [<Row> *x "* " *y]

Transformation d’un arbre de syntaxe abstraite en un arbre de boîtes

a + b

2a

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:soubra:

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

H.Naciri 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

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

H.Naciri 10

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

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

H.Naciri 11

Sélection d'objets structurés

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

H.Naciri 12

Interaction

Arbre de boîtesArbre de syntaxeSystèmesymbolique

expand((a-b)2)

(PPML) -1

PPML

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

H.Naciri 13

Plan

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

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

H.Naciri 14

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

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

H.Naciri 15

Représentation en boîtes des formules mathématiques

Formule mathématique

Arbre de boîtes

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

H.Naciri 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)

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

H.Naciri 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 ?

0...3...1

...5...4

0...2...

w

wz

yxExemple: la disposition correcte des éléments d'une matrice requiert un algorithme de formatage en plusieurs passes

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

H.Naciri 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

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

H.Naciri 19

Plan

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

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

H.Naciri 20

Pcoq: interface graphique pour le système de preuves Coq

Notations élaborées

Illustrations graphiques

Génération automatique de commandes à la souris

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

H.Naciri 21

Plan

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

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

H.Naciri 22

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

AnalyseurSyntaxique

ArbreDOM

Arbrede boîtes

Interface XMLtoFigue

FIGUE

DTD

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

H.Naciri 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>

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

H.Naciri 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

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

H.Naciri 25

Explications de preuves en langue Arabe