Catégorie : Bureautique     Tags :      0 Commentaire

    Retrouvez cet article dans : Linux Pratique Hors série 9

    L’insertion de formules mathématiques et/ou chimiques dans un compte-rendu, ou toute autre production écrite, s’avère assez complexe. En effet, il n’est pas toujours aisé d’écrire correctement des équations, de façon claire et lisible, d’aligner chiffres et symboles, sans compter que certaines formules nécessitent plusieurs lignes... Heureusement, OpenOffice.org dispose d’un module spécialisé dans l’écriture de formules :
    il s’agit de Math.

    Math dans son environnement

    OpenOffice.org (OOo) possède un éditeur d’équations : Math. Celui-ci peut être autonome, mais sert surtout à insérer des équations dans Writer, le traitement de texte de la suite OOo. Nous allons donc considérer que nous sommes dans ce cas de figure. Commençons par ouvrir l’éditeur d’équations par la manipulation suivante : menu Insertion -> Objet -> Formule (raccourcis clavier [Alt]+[I] [J] [F]).
    Si nous sommes fans de la souris et que nous devons souvent recourir à cette manipulation, alors nous ajouterons l’icône Insertion formule dans la barre d'outils. Soit nous ajoutons la barre de menu " Insérer ", via le menu Affichage -> Barres d’outils -> Insérer, soit nous ajoutons l’icône " Équations " dans une barre d’outils déjà présente pour ne pas surcharger l’écran, via le menu Affichage -> Barres d’outils -> Personnaliser... (Fig. 1) (cliquez sur le bouton Ajouter, puis choisissez la Catégorie " Insérer " et la Commande " Formule " ; cliquez enfin sur Ajouter pour valider). Maintenant que nous savons ouvrir l’éditeur d’équations à partir de Writer, nous allons pouvoir l’utiliser.

    /img-articles/lphs/9/art-9/fig-1.jpg
    Fig-1

    Les méthodes de saisie d’équations

    Le principal intérêt de Math est de proposer deux méthodes de saisie que nous pouvons utiliser simultanément. La première méthode consiste à utiliser la fenêtre Commandes, que vous pouvez visualiser au bas de la figure 2, pour saisir le code de l’équation sous forme littérale comme f(x)=2 sqrt x. La formule (ici /img-articles/lphs/9/art-9/i1.jpg) sera alors insérée dans le texte. L’autre méthode est plus graphique avec souris et boîte de dialogue intitulée " Sélection " (Fig. 2).

    Saisie du code de l’équation

    La première méthode, bien que plus rébarbative à première vue, offre beaucoup plus de possibilités. Elle s’avère aussi beaucoup plus rapide pour qui doit souvent utiliser l’éditeur d’équations : nous rentrons le code de l’équation à afficher dans un langage assez naturel, quoique anglais, sans perdre de temps avec le maniement de la souris. Le principal inconvénient de cette méthode est que nous devons connaître tous les mots-clefs des opérateurs, symboles et regroupements. Ces termes sont tous répertoriés dans un how-to disponible sur le site officiel : http://fr.openoffice.org/ (rubrique " Documentation "). Celui qui contient tous ces mots-clefs est le how-to de Math.
    L’actualisation de l’édition d’équations n’est pas automatique : soit nous la forçons par appui sur la touche [F9], soit nous continuons et nous attendons, car elle est automatiquement effectuée à intervalles réguliers par l’application. De toute façon, l’affichage est actualisé lorsque nous sortons de l’éditeur en cliquant dans la zone de texte ou en appuyant sur la touche [Échap].
    Lors de l’actualisation d’une formule, il est possible que des " ? " apparaissent sur notre formule. Ce caractère montre qu’il manque des opérandes à des opérateurs ou que des regroupements (accolades, parenthèses, crochets...) sont mal agencés.
    Si nous avons oublié un mot-clef ou que nous ne le connaissons pas, rassurons-nous, la plupart des mots-clefs importants sont disponibles avec la seconde méthode qui reste utilisable à tout moment. Nous pouvons aussi accéder à un menu contextuel (Fig. 3) qui offre tous ces choix par un clic droit sur le fond de la fenêtre d’édition.

    /img-articles/lphs/9/art-9/fig-2.jpg/img-articles/lphs/9/art-9/fig-3.jpg

    Fig. 2 : Math, l'éditeur d'équations de la suite OpenOffice.org
    Fig. 3 : Dans la zone de saisie du code, le menu contextuel permet d'accéder rapidement à tous les outils de Math.

    Saisie graphique

    Les opérateurs

    La seconde méthode consiste à utiliser la fenêtre de sélection (voir Fig. 2). La fenêtre sélection n’est peut-être pas active. Nous pouvons en effet l’activer ou la désactiver, lorsqu’on est en mode édition d’équations, en passant par le menu Affichage -> Sélection. C’est une option à activer ou à désactiver.
    Dans cette fenêtre, nous sélectionnons la catégorie de la fonction souhaitée dans la partie du haut et ensuite la fonction elle-même dans la partie du bas. Lorsque la souris survole la fenêtre de sélection, des info-bulles apparaissent pour guider l’utilisateur.
    À chaque sélection, le dessin s’affiche sur la formule et le code correspondant s’affiche dans la fenêtre de commandes. Chaque nouvelle apparition d’un opérateur est accompagnée de l’affichage de la place des opérandes dont il a besoin dans les deux fenêtres : des carrés qui attendent un clic souris dans la formule, suivi de l’entrée de l’opérande et des <?> qui attendent d’être remplacés par les valeurs utiles dans la fenêtre de commandes (Fig. 2). Sur cette illustration, nous voyons même que le numérateur de la fraction
    est sélectionné, car, d'un part, le carré du numérateur de l'affichage de la formule est encadré et, d'autre part, le <?> de la fenêtre d’édition est sélectionné.
    La fenêtre de sélection est de plus en plus complète au fur et à mesure de l’apparition des nouvelles versions d’OOo. Elle ne pourra cependant jamais contenir tous les mots-clefs et combinaisons disponibles avec la première méthode, tellement les possibilités sont nombreuses (surtout avec les regroupements). Ce n’est pas si grave, nous pouvons utiliser à tout moment la première méthode pour affiner notre équation.
    Les caractères alphanumériques sont, bien sûr, saisis au clavier, mais il existe des caractères spéciaux ou des symboles qui sont insérés via un outil dédié.

    Les symboles

    Pour insérer des symboles, on appelle le menu Outil -> Catalogue. Une fenêtre " Symboles " apparaît à l'écran (Fig. 2). Dans cette fenêtre, nous pouvons choisir le jeu de symboles, insérer un symbole, mais aussi éditer la table des symboles afin d’en rajouter à notre convenance. Un symbole, dans la fenêtre de commandes, est précédé du caractère %, comme dans %oméga, ce qui donne : /img-articles/lphs/9/art-9/i2.jpg.
    Ce codage est francisé, mais l’ouverture du document dans une autre langue traduit le codage. Le code reste donc lisible. Comme pour les mots-clefs, le how-to de Math contient la liste complète des symboles prédéfinis dans la version française d’OOo.

    Formatage des cellules

    Plusieurs effets de style sont possibles. Certains s’appliquent à la formule entière, d’autres à des parties de la formule. Nous allons décrire ceux qui affectent toute la formule, puis ceux qui modifient une partie de la formule seulement.

    Formatage d’une formule complète

    Nous y accédons par le menu Format (Fig. 4) alors qu’on est en mode édition d’équations.

    /img-articles/lphs/9/art-9/fig-4.jpg

    Fig. 4 : Le menu Format de Math offre diverses options pour optimiser l'apparence de vos équations.

    Le premier élément de ce menu Polices... permet de modifier les polices de caractères attribuées par défaut aux variables, nombres, fonctions et texte et aussi de modifier les trois types de styles disponibles : serif, sans et fixe. Par le bouton Modifier, nous choisissons l’élément à mettre en forme. Une boîte de dialogue s’ouvre alors dans laquelle la police de caractères sélectionnée s’affiche. Il suffit alors de la choisir. Nous pouvons aussi imposer la nouvelle configuration à toutes les nouvelles équations que nous allons créer en cliquant sur le bouton Défaut. Pour sortir de la fenêtre ou annuler les modifications, nous actionnons les boutons OK ou Annuler.
    Le second élément de ce menu est Tailles de
    polices... qui permet de définir la taille de base des caractères de l’équation. Comme pour l’élément précédent, on peut choisir de conserver ce réglage pour toutes les formules qui seront créées par la suite. Ce menu permet aussi de choisir la taille relative des textes, index, fonctions opérateurs et limites par rapport à la taille de base précédemment choisie.
    L’élément suivant Espacement..., permet de choisir différents espacements plus techniques entre les lignes, les fonctions et les exposants, les longueurs de traits de fractions, etc. À tester pour appréhender l’étendue des possibilités...
    Voici deux exemples avec la même équation dont le code est nroot{3}{x} over {x+3} newline f’(x)=arccos^2(x) :

    /img-articles/lphs/9/art-9/i3.jpg

    /img-articles/lphs/9/art-9/i4.jpg

    L’avant-dernier élément, Alignement... permet de choisir... l’alignement ! Voici, appliquées à la même formule, les trois possibilités qui sont offertes. En premier, centré (par défaut), ensuite aligné à gauche et finalement aligné à droite :

    /img-articles/lphs/9/art-9/i5.jpg

    /img-articles/lphs/9/art-9/i6.jpg

    /img-articles/lphs/9/art-9/i7.jpg

    Le code de cette formule est le même dans les 3 cas :

    left lbrace binom{x=3t+8}{y=cos t - 9} right none

    La dernière entrée du menu Format, Mode texte, permet de diminuer la taille d’une formule pour qu’elle s’insère dans le texte :

    /img-articles/lphs/9/art-9/i8.jpg

    donne /img-articles/lphs/9/art-9/i9.jpg grâce à l’activation de cette option.

    Formatage particulier

    On peut définir des tailles particulières, des couleurs, avec les codes suivants :
    phantom a (aucun caractère n'apparaît)

    /img-articles/lphs/9/art-9/i10.jpg : bold a (nbold pour annuler bold)

    /img-articles/lphs/9/art-9/i11.jpg : ital 1

    /img-articles/lphs/9/art-9/i12.jpg  : size 20{a}

    /img-articles/lphs/9/art-9/i13.jpg : size +20{a}

    /img-articles/lphs/9/art-9/i14.jpg  : size -4{a}

    /img-articles/lphs/9/art-9/i15.jpg : size *2{a}

    /img-articles/lphs/9/art-9/i16.jpg  : size /2{a}

    /img-articles/lphs/9/art-9/i17.jpg  : font fixed a

    /img-articles/lphs/9/art-9/i18.jpg : color green a

    Certains codes sont surprenants comme phantom qui n’affiche pas les caractères. Ce code permet en fait de réserver de la place pour assurer un alignement. Il faut aussi signaler une syntaxe particulière pour size avec OOo1 dont le paramètre doit être collé au regroupement qu’il affecte. Nous pouvons accéder à certains de ces paramètres par l’intermédiaire du menu  /img-articles/lphs/9/art-9/i19.jpg de la fenêtre sélection.

    Les couleurs disponibles sont white, black, cyan, magenta, red, blue, green, yellow. En français, ce sont respectivement les couleurs blanche, noire, cyan, magenta, rouge, bleu, vert et jaune.
    Voici un exemple haut en couleurs et variations :

    /img-articles/lphs/9/art-9/i20.jpg

    qui est donné par :

     left rbrace binom{ color red {size *2{x^3} = bold { color blue {2y+ nbold {5z}} -ital{52} } + size -2{6x}} }{ phantom  size *2{x^3} = color green { font fixed {3y+font serif {8z} - 83 + font sans {z^2} } }} right lbrace

    Ce code montre aussi bien les possibilités de formatage local (couleur, taille, effets de caractère), l’utilisation forcée des trois polices de caractères définies pour toute la formule, mais aussi les possibilités de regroupement : changement d’un attribut de couleur au milieu de la zone rouge, imposition d’un non gras au milieu de la zone en gras. Le phantom du début, appliqué au X3 de la seconde ligne force l’alignement des deux signes " = " grâce à l’alignement à gauche imposé à toute la formule.
    L’alignement gauche/centre/droit peut aussi être défini sur une partie de la formule en passant par le menu /img-articles/lphs/9/art-9/i21.jpg de la fenêtre de sélection. Ce menu offre aussi deux espaces : une espace normale et une plus petite. Voici ce qui est faisable avec ces derniers :

    /img-articles/lphs/9/art-9/i22.jpg

     alignl a over {a`+`b + d~+~c}  +  {alignr b} over {a~+~b + d’+’c}

    Nous remarquons bien ici la différence entre l’alignement gauche et l’alignement droit, ainsi qu'entre les différents espacements : bien qu’il y ait des espaces dans
    la formule autour du " + " central (entre les accolades), le b et le d le collent à l'affichage ; le ~ (tilde) affiche une espace plus large que le ’ (apostrophe).

    Les regroupements

    Les regroupements sont une notion importante de toute écriture mathématique et de toute programmation. Je me souviens de ma première année d’enseignement, quand une fille trop sérieuse m’a rendu un devoir à la maison où le tracé de la fonction /img-articles/lphs/9/art-9/i23.jpg s’est trouvé être une droite horizontale.
    En effet, sur sa calculette graphique, elle avait tout simplement rentré la fonction 1-x/x+1 ce qui donne après simplifications 1-1+1=1...
    Il ne faut pas oublier que le module Math de OOo utilise lui aussi l’ordre de priorité des opérations, comme on le fait en mathématiques et que, lui aussi, sans regroupement, générerait un affichage mathématiquement correct pour un code faux 1-x over x+1 (qui donne donc 1). Il faut saisir le code {1-x} over {x+1} pour avoir l’expression souhaitée :

    /img-articles/lphs/9/art-9/i24.jpg

      1-x over x+1~ou~{1-x} over {x+1}

    Le module Math d’OOo regroupe naturellement les {}, les ( ) et les [ ] par ordre d’arrivée, c’est-à-dire qu’après un " [ ", il attend obligatoirement un " ] " pour fermer le regroupement et qu’avant un ), il doit y avoir obligatoirement un (. Les {} étant des opérateurs de regroupement invisibles, ils ne génèrent aucun affichage. Des regroupements mal faits génèrent des formules qui ne seront pas les formules souhaitées ou pas comprises par OOo. Un [a+(b-c]+d) génère /img-articles/lphs/9/art-9/i25.jpg qui signale tout simplement une erreur...
    Il va de soit que si nous n’utilisons que la saisie graphique, les équations sont normalement correctement codées, mais nous n'accédons pas à toutes les possibilités. Et, à mon avis, nous allons moins vite.
    Avec de telles restrictions, nous pourrions dire que certaines choses sont donc infaisables comme l’affichage d’un segment ouvert : ]A,B[. Heureusement, il existe plusieurs possibilités ! Une de ces possibilités consiste à utiliser les codes left et right comme dans mon exemple de formatage ou dans l’exemple suivant :

    /img-articles/lphs/9/art-9/i26.jpg

     left rdbracket binom A B right (

    Les attributs de left ou right ne peuvent être que des codes de regroupement visibles : [ ],( ),lbrace,... ou le code invisible none ainsi que tous les autres codes disponibles avec le menu /img-articles/lphs/9/art-9/i27.jpg de la fenêtre sélection.

    Ces codes left ou right permettent aussi d’adapter les ( ) ou [ ] à la taille du regroupement qu’ils entourent. Sans ces codes, ces regroupements conservent une hauteur de 1 caractère, ce qui n’est pas suffisant pour encadrer une fraction, par exemple :

    /img-articles/lphs/9/art-9/i28.jpg

    donné par

     ( a over b )~et~left ( a over b right )

    Les codes adaptés à la taille du regroupement sont situés en bas de la fenêtre sélection de regroupement, mais toujours par paire naturelle. Les paires dépareillées doivent, elles, être générées dans la fenêtre commande.
    Nous pouvons aussi avoir des regroupements non naturels en transformant les (, ), [ ou ] en chaîne de caractères si nous les encadrons par des guillemets : "]"AB"[" donnera /img-articles/lphs/9/art-9/i29.jpg.
    Un regroupement permet aussi de simuler la présence d’un opérateur fictif quand celui-ci est obligatoire dans l’utilisation de l’opérateur. Je donnerais par exemple ce composant chimique : /img-articles/lphs/9/art-9/i30.jpg généré par SO_4^{2-{}}

    Adaptation des équations dans un texte

    Une équation dans le texte se comporte comme un dessin. Par exemple, suite à un clic droit sur une équation, nous ouvrons le même menu contextuel que celui du dessin. Par contre, l’ancrage, contrairement au dessin, est prévu par défaut comme caractère. Ceci est tout à fait normal, car une équation est souvent une partie du texte quand on fait des mathématiques. Mais elle peut aussi être là pour illustrer le texte, la page, d’où l'intérêt de pouvoir changer ce réglage.

    /img-articles/lphs/9/art-9/fig-5.jpg

    Fig. 5 : Lors de l'insertion d'une formule dans un texte, il est possible de définir l'espace entre le cadre de la formule et le texte.

    Comme pour un dessin, il est aussi possible de définir le cadre qui peut entourer une équation. Menu contextuel, Objet..., l’onglet Adaptation du texte permet par exemple de définir l’espace entre le cadre de la formule et le texte (Fig. 5). L’espacement entre la formule et le cadre se fait, lui, par le menu déjà vu
    précédemment Format -> Espacement...  En sélectionnant l’onglet Bordure, de cette même boîte de dialogue, nous pouvons, comme pour un dessin, définir un cadre avec ou sans ombre à notre équation.
    Sur la figure 5, les options Définitions sont désactivées tout simplement, car l'ancrage est prévu au caractère. Il suffit de changer le mode d'ancrage pour accéder à ces menus.
    Il y a aussi le styliste auquel on accède par une pression sur la touche [F11], lorsque nous ne sommes plus en mode d’édition d’équation. Nous obtenons alors une même interface graphique, mais cette fois pour configurer toutes les équations. Pour accéder au style des équations, on passe par le troisième élément en haut à gauche Styles de cadre -> Formule -> Modifier. Cette fois, nous interviendrons sur toutes les formules.
    Le principal problème, c’est la mise en ligne de l’équation. En effet, l’équation étant considérée comme un dessin, il n’y a pas de notion d’alignement horizontal entre le texte et la ligne principale de l’équation. L’alignement par défaut est centré, c’est-à-dire que si notre équation contient plus de hauteur en dessus de la ligne de base, elle se trouve placée trop bas, comme ceci :

    /img-articles/lphs/9/art-9/i31.jpg

    On peut tout de même l’aligner à la main

    /img-articles/lphs/9/art-9/i32.jpg

    comme ici en modifiant son emplacement à la souris.

    Code de la fraction :

    f(x)={3 over {x^2+1}} over {7x+27}

    Import-export d’équations

    L’import/export est paramétrable. Il est en effet possible d’exporter les équations d’OOo vers Microsoft Office Word sous forme d’équations qui seront modifiables aussi sous Word. De même, il est possible de récupérer les équations incorporées à des documents Microsoft Office dans le format OOo Math. Ceci se paramètre via le menu Outils -> Options... Là, on sélectionne dans l’arborescence de gauche Chargement/Enregistrement -> Microsoft Office et, sur la fenêtre de droite, on définit les modalités d’import/export avec le format Microsoft Office.

    Il est tout à fait envisageable de convertir aussi bien à l’import qu’à l’export, la conversion étant de bonne qualité. Par contre, si on ne convertit pas, on peut se retrouver avec des équations non modifiables, comme par exemple quand on réalise une exportation en HTML, format qui ne maîtrise pas complètement les équations sous une forme autre que des dessins.

    Des exemples d’équations

    1 Vous pourrez trouver d’autres formules sur le site de l'auteur http://troumad.info/Math/index.html (TD ou DS).

    Des exemples d’équations avec leur code sont indispensables pour mieux comprendre 1. Les exemples fournis ici utilisent les principaux codes du module Math d’OOo. Je ne pense pas qu’il soit utile d’en fournir un très grand nombre, car la saisie graphique est presque suffisante. Je ne pense pas non plus qu’une liste d’opérateurs seuls soit importante, car c’est leur utilisation groupée qui est utile.
    Vous trouverez ci-après suffisamment d’exemples pour illustrer les possibilités offertes par l’outil Math et les astuces qui les accompagnent :

    left lbrace matrix {x={} # 3t # +8 ## y={} # cos t # - 9}  right none

    /img-articles/lphs/9/art-9/i33.jpg

    Dans cette équation de courbe paramétrée, afin de forcer l’alignement vertical, j’ai généré une matrice de 2 lignes et 3 colonnes.

    lim csub {x rightarrow + infinity} {{2x^7+4x^4+2} over {98x^6+43}}=+infinity

    /img-articles/lphs/9/art-9/i34.jpg

    P(x) = Sum from {i=0} to n {a rSub i x^i}

    /img-articles/lphs/9/art-9/i35.jpg

    (forme générique d’un polynôme)

     D=int from 0 to {+infinity} left( 1 over {x+1} - 1 over {x+3} right) dx = left [ ln lline x+1 rline -ln lline x+3 rline right ] _0 ^{+infinity}= left [ln lline {x+1} over {x+3} rline right ] _0 ^{+infinity}=-ln 1 over 3 = ln 3

    /img-articles/lphs/9/art-9/i36.jpg

    Remarquons, dans cette formule, l’adaptation des crochets lorsqu’ils sont présents. Nous ferons également des révisions sur les intégrales généralisées !

    CH_4+2O_2 toward CO_2 + 2 H_2 O

    /img-articles/lphs/9/art-9/i37.jpg

    Nous remarquons qu’on peut générer des équations chimiques...

    /img-articles/lphs/9/art-9/i38.jpg,U lsub 92 lsup 238, l’uranium avec les numéros atomiques.

    f "<<" csub a g dlrarrow f "=" csub a o(g) {{}dlrarrow{}} csup {"def"} exists %epsilon : V rightarrow setR ~ t.q. ~ f=%epsilon cdot g ~ et ~ lim csub a %epsilon = 0
    /img-articles/lphs/9/art-9/i39.jpg

    Remarquons ici l’utilisation de "<<" pour créer un opérateur.

     Retrouvez cet article dans : Linux Pratique Hors série 9

    Posté par (La rédaction) | Signature : Bernard SIAUD | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.