Centre de Recherche et d'Expérimentation pour l'Enseignement des Mathématiques
RAPPEL : pour lire cette page, les
contrôles ActiveX de Geoplan-Geospace et EcritMath doivent être
installés et le navigateur doit être Internet
Explorer.
Introduction
Placer des expressions mathématiques dans une page HTML
n'est pas actuellement simple. Outre celui décrit ici (EcritMath),
il existe divers systèmes que l'on peut trouver sur le web.
La bibliothèque GP32.DLL qui gère les figures-Geoplan contient
un système qui permet d'écrire des expressions, système un peu
rustique sans doute, mais disponible dès que la DLL est dans le
dossier Système, ce qui est le cas quand on veut utiliser des
figures-Geoplan ou des figures-Geospace interactives dans des
documents (contrôles ActiveX GP0 et GE0)
Le contrôle activeX EcritMath est destiné à
être utilisé dans les documents HTML lus par Internet
Explorer (version 4 au moins) pour écrire
les expressions mathématiques. Il doit avoir été installé
sur le PC. Cette page ne peut être lue correctement que si
cette condition est réalisée.
EcritMath possède une propriété publique, nommée
Expression destinée à contenir la chaîne de
caractère à écrire mathématiquement. Chaque expression à écrire
dans le document html l'est par une instance de EcritMath dont la
propriété Expression doit contenir la chaîne de caractères
correspondant à l'expression à écrire suivant la syntaxe décrite
ci-dessous. Ces instances sont très légères et les fichiers restent
de taille modeste.
La police utilisée par EcritMath est Courrier New (taille
recommandée 12 points). Par défaut, les expressions sont écrites en
gras (valeur de la propriété Indictaille à 3) .
La syntaxe dans le contrôle
EcritMath
règle générale La syntaxe d'EcritMath est très proche de celle de
l'écriture en ligne des expressions dans la plupart des langages
classiques de programmation (Pascal, Basic ou autres).
Les expressions à dessiner doivent être encadrées par des symboles
"\".
Exemple pour faire écrire proprement l'expression 1+1/x , il faut
utiliser le texte \1+1/x\.
Ce qui est à l'extérieur des \ est considéré comme du "texte
pur", non interprété et donc rendu à l'identique (mais
en police Courrier New). Pour alléger la lecture les \ ne sont pas
écrits dans ce texte.
Particularités Multiplication La présence du symbole de la multiplication n'est pas
nécessaire sauf bien sûr entre nombres (3 multiplié par 4 s'écrit
3*4). À
l'écriture, les signes '*' sont supprimés par EcritMath
sauf ceux entre nombres qui sont rendus par le signe '×'. Puissance Le symbole pour la puissance est l'accent circonflexe
"^";
exemple: a^n donnera . Indice Le symbole pour mettre en indice est le soulignement
"_";
exemple: u_n donnera . Priorité Les règles de priorités habituelles ont cours mais les
ambiguïtés sont refusées: ainsi 1/2/3 n'est pas accepté. Il faut parenthéser: 1/(2/3) ou (1/2)/3). Il en est de même avec
1/ab ou
2^3^4.
exemple: 1/(2/3) donnera
alors que (1/2)/3 donnera . Parenthèses Les parenthèses inutiles sont systématiquement enlevées
par EcritMath. Pour les conserver, il suffit de les doubler. Ainsi
(a+b)+c
est-il rendu par a+b+c. Si on veut garder les
parenthèses, écrire ((a+b))+c qui sera rendu pas (a+b)+c. De même, le texte f(x) donnera-t-il
fx. Pour obtenir f(x), il faut partir de f((x)). Vecteurs
Pour écrire un vecteur de la géométrie élémentaire, utiliser
vec(). Le nom du vecteur
peut être soit une lettre, soit deux lettres séparées par une
virgule.
exemple: vec(u)donnera et vec(A,B)donnera
Le produit scalaire utilise le symbole "&"; il est rendu par un
gros point.
exemple: vec(A,B)&vec(u) donnera
.
Le produit vectoriel utilise le symbole "§"; exemple: vec(E)§vec(i) donnera
. Fonctions
Les arguments des fonctions doivent être mis entre
parenthèses.
Exemple partir de sin(x) pour obtenir sinx.
Si l'argument est un nombre ou une variable, les parenthèses sont
retirées par EcritMath. Pour obtenir sin(x), il faut donc partir de
sin((x)).
Quand il risque d'y avoir ambiguïté, EcritMath rajoute des
parenthèses.
Ainsi sin(x)cos(y) ne donne-t-il pas
sinxcosy mais (sinx)cosy.
Liste des noms de fonction à une variable numérique: fonctions ordinaires: arccos, arcsin, arctan, abs, cos, sin, tan, exp, int, ln. cas particuliers: sqrt: racine carrée ;
exemple sqrt(1+x) donnera
. bar:
conjugué ; exemple bar(a+ib) donnera
. fleche: la flèche ; exemple
fleche(u((t))) donnera
. hat:
chapeau; exemple hat(z) donnera . arc:
arc; exemple arc(AB) donnera
. arcor:
arc orienté; exemple arcor(AB) donnera
. Liste des noms de fonction à deux variables numériques: les arguments doivent être séparés par une virgule. fonctions ordinaires: min, max. cas particuliers: anp pour les arrangements ;
exemple anp(n,3) donnera
. cnp
pour les combinaisons; exemple cnp(k,7) donnera
.
root pour les racines; exemple root(3,x+1)
donnera . Spécial: sigma exemple: sigma(n=1,10,(1+n)^2)donnera
. prod
exemple: prod(n=1,10,((1+n)))donnera
. Autres: integrale pour l'intégrale;
exemple: integrale(0,1,sin(x)/x,x)donnera
. norm
pour la norme d'un vecteur; exemple norm(vec(u)) donnera
. lim
pour limite; exemple lim(x,0,sin(x)/x)
donnera .
angle pour l'angle de deux vecteurs; exemple angle(vec(U),vec(V))
donnera
µ pour la fonction µ de Geoplan ou Geospace, dont
l'argument est une relation. Chaînes de
caractères Toute chaîne de caractères ne contenant pas le caractère
"\" et écrite entre les
guillemets "«" (Alt 0171) au
début et "»" (Alt 0187) à la
fin est considérée comme une expression numérique
et écrite telle quelle;
exemples: (n(n-1)«..»(n-p+1))/(p(p-1)«..»2*1)
donnera . hat(«AOB»)
donnera . Remarque sur l'analyse syntaxique Les expressions peuvent être de trois types:
numérique, vectoriel ou booléen. En mathématiques (et aussi en
physique), il est parfois nécessaire d'écrire des "choses" qui ne
sont pas de véritables expressions (au sens élémentaire du terme)
comme .
On peut même, pour des raisons didactiques, avoir à écrire des
choses incorrectes comme "l'écriture est incorrecte".
La grammaire de EcritMath ne tolère a priori pas les écritures
incorrectes. Il est cependant possible de simuler ce genre de chose
en utilisant les guillemets et la flèche. Exemple: l'éciture
précédente est réalisée par la chaîne fleche(«AB»)+1/sqrt(2). Utilisation du contrôle
EcritMath
Insertion L'insertion d'un EcritMath se fait comme celle de
n'importe quel contrôle activeX. Elle dépend du logiciel qui sert à
fabriquer les pages. Dans le code html, l'objet est décrit avec ses
propriétés. Position Chaque expression mathématique possède une "ligne"
de base. Pour que cette ligne soit correctement positionnée (ce
n'est pas toujours parfait d'ailleurs), il faut fixer la propriété
"alignement" du contrôle à "milieu absolu". Couleur (propriété couleur) Par défaut, la couleur utilisée est le noir.
On peut en changer suivant le code suivant (le mode par défaut est
noir):
Clair
Blanc
Bleu
Vert
Ciel
Rouge
Rose
Gris
Jaune
Code
15
1
2
3
4
5
6
14
Foncé
Noir
Bleu
Vert
Ciel
Rouge
Rose
Gris
Caca
d'oie
Code
0
11
9
12
10
13
7
8
Taille, inclinaison, graisse (propriété
IndicTaille) La taille est la même pour tous les caractères d'un
même EcritMath. Le texte éventuel (non encadré par des antislashs)
est en maigre droit sauf formatage par le système décrit dans la page Formatage d'un texte.
Par défaut, la taille utilisée est 12 points, les expressions
(entre antislashs) sont en gras droit (IndicTaille=3).
On peut changer la taille et le style (rappel: le style ne
s'applique qu'aux expressions) en modifiant la valeur de
IndicTaille.