Cahiers. JPDRAW, UN ÉDITEUR DE DESSINS POUR LAT E X SUR SUN Jean-Pierre Merlet. Cahiers GUTenberg, no 2 (1989), p. 54-62.



Documents pareils
Réalisation de cartes vectorielles avec Word

Prise en main du logiciel. Smart BOARD Notebook 10

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Initiation au dessin Bitmap

Un exemple avec WORKSPACE d'interwrite

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Prise en main du logiciel Smart BOARD

modélisation solide et dessin technique

Interwrite Workspace version 8 avec le projecteur Epson

Infolettre #18 : Les graphiques avec Excel 2010

Créer un modèle Impress

Leçon 18 Coupes et sections

Utilisation du logiciel GALAAD

Introduction : Cadkey

Utilisation d'interwrite avec un vidéoprojecteur interactif EPSON

Manuel utilisateur Netviewer one2one

Publication Assistée par Ordinateur

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

31. OOo Draw Réglages propres à Draw

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

Le cas «BOURSE» annexe

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

PR OC E D U RE S D E B A S E

GIMP. Le traitement d'images libre INSTALLATION SUR WINDOWS

Le cas «BOURSE» annexe

COMMENCER AVEC VUE. Chapitre 1

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Utilisation de XnView

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

Présentation du tableau blanc interactif Interwrite

Open Office - Présentation

Premiers pas sur e-lyco

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

Tutoriel TYPO3 pour les rédacteurs

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

LES TOUT PREMIERS PAS

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

Algorithmique avec Algobox

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

La C.A.O (Conception Assistée par Ordinateur). Le logiciel de C.A.O.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Utilisation du logiciel Epson Easy Interactive Tools

OpenOffice.org IMPRESS. Notes de cours Novembre 2005 Version 1.0

Découverte et prise en main de SWEET HOME 3D

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

< _17_0>

Dessiner dans Galaad FRANÇOIS PALLUT

TRAVAUX DIRIGES D'INFORMATIQUE INITIATION A LA MANIPULATION DE WINDOWS 98

Assemblage couleur & trait en InDesign pour fichier Acrobat - 1

CHAPITRE IX : Les appareils de mesures électriques

VOS PREMIERS PAS AVEC TRACENPOCHE

Cours Excel : les bases (bases, texte)

L espace de travail de Photoshop

Monter une photo en médaillon

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor

Tutoriel : logiciel de présentation Openoffice Impress

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

TBI-DIRECT. Bridgit. Pour le partage de votre bureau. Écrit par : TBI Direct.

PowerPoint offre trois modes d affichage principaux : le mode Normal, le mode Trieuse de diapositives et le mode Diaporama

Support de formation Notebook

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

Comment utiliser le logiciel Interwrite Workspace?

L alternative, c est malin 1. Comment faire plein de choses pour pas cher sur MacIntosh

UTILISATION D'UN RADIOCHRONOMETRE POUR DATER DES GRANITES

Dispositif Technique

Créer un premier document avec Pages

Utilisation de l'outil «Open Office TEXTE»

Freeway 7. Nouvelles fonctionnalités

Manuel de dessin Floorplanner. Floorplanner. Manuel de dessin. Page. Sujet. Sujet. Page Floorplanner Avancé. 1.

Le générateur d'activités

Niveau 1. Atelier d'initiation à l'ordinateur ... Fondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Utiliser le logiciel Photofiltre Sommaire

v7.1 SP2 Guide des Nouveautés

MANUEL TBI - STARBOARD

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

Manuel d utilisation NETexcom

Fonctionnement général de Tiny ERP

Mon aide mémoire traitement de texte (Microsoft Word)

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Compression - Décompression avec 7-Zip. Georges Silva

REALISATION D UN MAILLAGE

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés


Tutoriel. Votre site web en 30 minutes

Premiers Pas avec OneNote 2013

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

@telier d'initiation

Création d'une interface graphique

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Transcription:

Cahiers GUTenberg GUT JPDRAW, UN ÉDITEUR DE DESSINS POUR LAT E X SUR SUN Jean-Pierre Merlet Cahiers GUTenberg, no 2 (1989), p. 54-62. <http://cahiers.gutenberg.eu.org/fitem?id=cg_1989 2_54_0> Association GUTenberg, 1989, tous droits réservés. L accès aux articles des Cahiers GUTenberg (http://cahiers.gutenberg.eu.org/), implique l accord avec les conditions générales d utilisation (http://cahiers.gutenberg.eu.org/legal.html). Toute utilisation commerciale ou impression systématique est constitutive d une infraction pénale. Toute copie ou impression de ce fichier doit contenir la présente mention de copyright.

( 'aliiors (!\)'\ <:n\><:rg n 2 Mai 1980 JPdraw, un éditeur de dessins pour L^TgX sur SUN Jean-Pierre MERLET INRIA Centre de Sophia-Antipolis 2004 Route des Lucioles 06565 Valbonne E-mail:merlet@alioth. inria.fr Abstract Nous décrivons l'utilisation d'un éditeur de dessins fonctionnant sur SUN dans l'environnement suntools. Le but premier de cet éditeur est de générer des fichiers pour l'éditeur de texte I^T]?X sous la forme d'un environnement «picture». Mais il est aussi possible de sauver les dessins en Postscript ou sous la forme d'images, ou enfin sous forme d'instructions pour un {em plotter de type Hewlett-Packard pour la création de transparents couleurs. JPdraw permet la manipulation à la souris de primitives géométriques variées (lignes, textes, rectangles, polygones, ellipses, ovales, courbes quelconques) de manière similaire au Macdraw de Mac-Intosh. Mais il dispose aussi d'un méta-langage pour la description de dessins permettant ainsi une interface commode entre un programme utilisateur (par exemple CAO, traitement d'image) et latgx. 1. Introduction L'insertion de dessins dans un source L<Tj?X est un problème bien connu des utilisateurs de ce logiciel. Elle peut s'effectuer de diverses manières. La première, sans doute encore la plus courante, est à la main et au ciseau, source fréquente d'énervement. La deuxième, pour les mutants de l'informatique, consiste à réaliser soimême son dessin en Postscript, merveilleux langage, mais dont la complexité pour le commun des mortels complique l'utilisation et à insérer le programme Postscript dans le source WTjtX. La troisième est fournie par latgx lui-même qui met à la disposition de l'utilisateur néophite un environnement «picture» permettant la description de dessins composés de primitives géométriques simples comme des lignes, des cercles ou des rectangles. Cette fonctionnalité de 1ATj?X est cependant hypothéquée par deux types de contraintes imposées par l'environnement «picture» que nous allons illustrer sur un exemple. Supposons que nous voulions créer un dessin simple comme celui de la figure 1. Figure 1 : U11 exemple d'utilisation de l'environnement «picture» Le code L^T]?X correspondant s'écrit sous la forme suivante. \begin{picture}(3.8,1.6)(1.3,9.8) \put( 1.28,10. 56) Aline (1,0) {2.45}} \put(3.74,9.77){\framebox(l.36,1.60){}} \end{picture} On décrit ici simplement en coordonnées absolues les différentes primitives du dessin. On place donc en ( 1.28,10.56) une 54

JPdraw, éditeur de dessins pour latpx sur SUN ligne dont la pente selon x vaut 1 et 0 selon y (donc un segment horizontal). Le calcul de la position des primitives en coordonnées absolues et assez fastidieux et les sources d'erreur assez nombreuses. La deuxième contrainte est liée à latgx lui-même qui impose des régies sévéres sur les primitives. Par exemple les pentes des lignes sont contraintes à être des rapports de nombres premiers entre eux et compris entre ±6. Les primitives se limitent à du texte, des lignes, des cercles, des ovales et des rectangles (figure 2). composée de trois éléments principaux (figure 15) : un tableau d'icône. Ces icônes permettent de choisir le type de primitives que l'on va créer et d'effectuer quelques manipulations sur celles-ci. un tableau de menus. Ces menus contiennent les commandes de manipulation des primitives, des fichiers, de mise en page. un canevas : une surface où apparaît le dessin. 2.2. Création de primitives des cercles Figure 2 : Les primitives du mode «picture» de IAT EX Le principe de création est identique à celui de Macdraw. Par exemple pour créer une ligne on clique tout d'abord sur l'icône «ligne» puis en plaçant la souris dans le canevas on clique au point de départ de la ligne et on déplace 1a, souris en maintenant le bouton appuyé jusqu'à ce que la souris occupe la position finale désirée. Cette exemple de création à la souris est intéressant dans la mesure où la pente de la ligne sera rarement compatible avec les régies imposées par Jâ-TjrX. Il existe cependant un mode de JPdraw où l'on force les primitives crées à être compatibles avec ces régies. Dans le cas inverse les primitives seront définies par des commandes Mj?X qui feront appel à des programmes Postscript pour générer les figures désirées. jpdraw permet de supprimer la première contrainte et la deuxième peut être surpassée en faisant appel à des primitives Postscript. 2. JPdraw 2.1. Présentation Après invocation du programme dans l'environnement suntools apparaît une fenêtre 2.3. JPdraw et Postscript Les régies imposées par L^Tj?X sont bien sûr incompatibles avec la création des dessins un peu complexes. On peut dépasser ce problème en ajoutant au document I^TjX un fichier de commande (que l'on appelle un fichier d'extension) qui va contenir la définition de nouvelle commande latpx pour l'environnement «picture» correspondant soit à de nouveaux

Jean-Pierre M e rie t types de primitives (par exemple les ellipses) soit à la manipulation des primitives (par exemple la rotation de primitives). Ceci est possible car dans ces nouvelles commandes on va faire appel à des programmes Postscript dont les ordres seront simplement rajoutés au fichier généré après passage du.dvi au.ps. Pour disposer de ces fonctionnalités il est donc nécessaire de disposer d'une imprimante Postscript. polygone ou ligne polygonale 2.4. Les primitives de JPdraw On dispose, outre les primitives standards de latgx, des primitives suivantes (figure 3) ellipses arcs de cercle polygones ou lignes polygonales splines, bsplines courbes polynomiales paraboles tracés à la main On dispose aussi de quatre styles de trait pour chaque primitive : fin, épais, épais pointillé, fin pointillé. On peut de plus régler à sa convenance l'épaisseur des traits épais. Enfin on dispose aussi des tracés de vecteur simple ou double (c'est-à-dire avec des flèches aux deux extrémités). Remarquons aussi que la création des primitives peut se faire parfois de manière variée. Ainsi, par exemple, les cercles peuvent être crée soit en indiquant le centre puis un point sur le cercle, soit l'inverse, soit en donnant trois points sur le cercle. Figure 3 : Les primitives supplémentaires définies dans JPdraw 3. Les manipulations de primitives 3.1. Sélection et association Il est possible manipuler une primitive après sa création en 1a, sélectionnant. Cette opération s'effectue simplement en cliquant à la frontière de la primitive, qui clignote alors pendant un court instant. On peut parfois souhaiter effectuer une manipulation sur un ensemble de primitives, donc en en sélectionnant plusieurs : c'est l'association. L'association peut se faire de trois manières : association de toutes les primitives contenues dans un rectangle association de toutes les primitives successivement sélectionnées association des primitives de même type (par exemple tous les textes). 56

JPdraw, éditeur de dessins pour TATj?X sur SUN Figure 4 : Les styles de trait de JPdraw Figure 5 : Exemple de rotation Toutes les primitives associées subissent en général la même transformation que celle à laquelle une d'entre elles est soumise. 3.2. Les manipulations Les manipulations décrites dans cette section sont valables aussi bien pour une primitive isolée que pour un ensemble de primitives. 3.2.1. Translation On peut translater une primitive de trois manières. Tout d'abord à la souris, la primitive sélectionnée suivant les déplacements de la souris, ou bien en indiquant la nouvelle position d'un point donné de la primitive. Enfin, pour les manipulations fines, à l'aide de touche fonction du clavier on peut déplacer les primitives d'un pixel sur l'écran. 3.2.2. Rotation Toutes les primitives de JPdraw peuvent être soumises à une rotation (y compris les textes), autour d'un point quelconque (figure 5). 3.2.3. Miroirs On peut transformer une primitive en son image vue dans un miroir (figure 6), le miroir étant placé en diverses positions par rapport à la primitive. 3.2.4 Changement de taille Les dimensions des primitives peuvent être changées à volonté. Pour les textes les changements de taille consistent soit à modifier le style et la taille des caractères, soit à éditer le texte lui même. 3.2.5. Copier On peut dupliquer une primitive pour créer un primitive identique à la primitive initiale (éventuellement à un facteur d'homothétie près). 3.2.6. Destruction On peut détruire une primitive qui reste cependant présente dans les structures de données de JPdraw. Ceci permet par la suite de récupérer une primitive malencontreusement détruite. 3.2.7. Zoom On peut zoomer le dessin ou une partie du dessin soit dans les deux dimensions, soit selon une direction (figure 7). 4. Quelques utilitaires 4.1. Régies et quadrillages On peut faire apparaître à l'écran des régies graduées en pixel ou en centimètre ainsi qu'un quadrillage complet de l'écran. 0 /

J can-pierre Merlet original zoom en x de 30 % zoom de 30 % zoom en y de 30 % Figure 6 : Exemple de miroir 4.2. Réglures magnétiques La réglure magnétique est un quadrilllage invisible du canevas qui attire irrésistiblement les primitives. Elle permet d'assurer la connection des primitives de façon parfaite. L'alignement des primitives sur la réglures peut se faire a postériori. 5. Textures Les textures en JPdraw sont de deux natures : soit avec des lignes, soit en niveau de gris. 5.1. Texture de lignes On peut texturer toute primitive à l'aide de lignes dont on contrôle l'écartement, le style et la pente. On dispose de la possibilité de ne pas texturer des primitives internes à la primitive texturée. La figure 8 montre quelques exemples de textures possibles. 5.2. Texture à niveau de gris On peut aussi texturer les primitives en niveau de gris. On dispose de 15 niveaux o zoom sur un détail Figure 7 : Exemple de zoom de gris. Une caractéristique intéressante des textures à niveau de gris est qu'elle masque les primitives ou parties de primitive qui sont sous la surface texturée. En utilisant ainsi la texture blanche on peut donc masquer une partie d'une primitive existante. Ainsi sur la figure 9 la partie manquante de l'ellipse a été recouverte par un rectangle que l'on a texturé en blanc. 6. Les fichiers 6.1. Sauver dans un fichier Les dessins fait en Jfiiraw sont sauvés sous un format interne dans un fichier dont l'extension est.maedraw. La commande sauver place dans un fichier dont le nom est donné par l'utilisateur (par défaut xx.ltex) l'environnement «picture» décrivant le dessin. Pour inclure le dessin dans un source L^Tj?X il suffit de placer un \input {xx.ltex} dans le source IATgX. Une possibilité intéressante pour les gros dessins est de sauver le dessin en partie en Postscript (tout sauf les textes) et en par- 58

Jl'draw, éditeur de dessins pour latgx sur SUN Figure 9 : Exemple de texture à niveau de gris 6.2. Charger et Album Figure 8 : Exemple de texture à base de ligne tie en (les textes). Ceci permet de garder la puissance de 1M? X pour le traitement du texte (par exemple pour les mathématiques) et d'avoir le dessin en postscript. Dans ce cas JPdraw généré un troisième fichier d'extension.ps qui contient la description du dessin. Par exemple pour le dessin 3 sauvé dans ce mode JPdraw généré un fichier latgx qui est : \begin{picture}(5.6,8.2)(0.2,5.1) \scriptsize \put(0.57,12.75){ellipse} \put(0.42,11.85){polygone ou ligne > \put(0.19,11.43){polygonale} \put(0.38,7.66){trac\'e Va la main } \put(l.38,5.74){spline,bspline} \put(3.00,6.54){parabole} \put(0.2, 5.1) {\special{ps:plotfile fig3.ps}} \end{picture} Le fichier fig3.ps contient simplement le dessin. Pour l'utilisateur le mode d'inclusion du dessin dans le source BTgX reste transparent. JPdraw ne peut recharger que des fichiers au format.sacdraw. On peut donner un nom de fichier au lancement du programme ou bien utiliser la commande charger de JPdraw. La commande album permet de charger un dessin sans détruire le dessin courant. 7. Le méta-language de JPdraw Dans les sections précédentes nous venons de décrire les possibilités de JPdraw sur des primitives qui sont crées à la souris. Cependant on pourrait désirer créer ces primitives non plus à la souris mais à l'aide de commandes décrites dans un fichier. Par exemple un expérimentateur ayant dans un fichier les coordonnées des points d'une fonction pourrait désirer créer le tracé de sa fonction en utilisant directement ce fichier sans reprendre à la main les points de la fonction. Ceci est possible en utilisant le méta-language de JPdraw. Ce language est basé sur la notion de mode qui décrit soit une primitive soit une manière de connecter des points. Par 59

J can-pierre Merlet exemple le mode connecté décrit le fait que tous les points définis dans la suite du fichier doivent être connectés par des segments de droites. C'est ce mode qui a été utilisé pour le tracé de fonction de la figure 13. Dans le fichier initial nous avions simplement placé le texte suivant : mode connecte suivi des coordonnées x,y de la fonction. JPdraw généré alors automatiquement le tracé de la fonction dans le rectangle défini par l'utilisateur. En option on peut postérieurement tracer automatiquement les échelles comme cela a été fait dans cette figure. Donnons maintenant un exemple simple d'utilisation basé sur l'utilisation d'un système de CAO. On amodélisé un cube avec ce système qui écrit à la demande un fichier dans le méta-language de JPdraw. On peut alors récupérer une vue 3D de ce cube en IATj?X. Ici on utilise le mode deconnecte où les paires de points indiquent les coordonnées de début et de fin d'un segment. Le fichier en métalanguage s'écrit : Figure 10 : Un exemple d'utilisation du méta-language de JPdraw 8. Autour de JPdraw Différent utilitaires gravitent autour de JPdraw permettant la conversion d'un environnement «picture» en format macdraw, la conversion (partielle) d'un fichier postscript au format macdraw ou bien la création d'un code exécutable par un plotter de type Hewlett-Packard à partir d'un dessin JPdraw pour la création de transparents couleurs. mode deconnecte -0,.00683-0..00532 0.00183-0.,00703 0.00183-0..00703 0.00183 0.00236 0.00183 0,.00236-0..00683 0.00407-0..00683 0.00407-0..00683-0..00532 0,.00183-0.,00703 0.00683-0..00407 0.00683-0.,00407 0,.00683 0..00532 0,.00683 0..00532 0,.00183 0,.00236 0,.00683 0..00532-0. 00183 0.,00703-0..00683 0..00407-0..00183 0.,00703 et permet de créer le dessin de la figure 10. 9. Quelques exemples On donne dans cette section quelques exemples de dessins crées soit à la souris soit à l'aide du méta-language. 9.1. CAO Voici un exemple d'utilisation d'un système de CAO interface avec JPdraw. Le texte a été rajouté à la main 9.2. Satellite Ce dessin a été crée à la souris. On a tout d'abord crée la Terre et une orbite avec le cône d'observation du satellite. Ces deux élément ont été copiés, associés, puis soumis à une rotation autour du centre de la Terre. Des polygones textures ont 60

Jl'draw, éditeur de dessins pour latgx sur SUN 0.21 DYNAMIQUE 0.20 moteurs f 5 segment 3 -h segment 2 "segment J base detail M(q)q +N(q)(q,q) + F(q) = r Figure 11 : CAO permis ensuite de créer les continents et de masquer les parties d'orbite derrière la Terre. 0.18 0.15 0.00 35.24 Figure 13 : Tracé de fonction 10. Conclusion u JPdraw est un outil sans ambition qui permet la création de manière relativement simple de dessin dans l'environnement L^TgX. Son développement a été assuré pour faciliter la création immédiate de dessins à partir de résultats expérimentaux. L'exécutable est disponible librement (sous réserve d'une mise à disposition pour les utilisateurs nonuniversitaires). Figure 12 : Satellite 9.3. Tracé de fonction On a simplement utilisé les résultats d'une expérience de robotique qui avait permis la création d'un fichier de points de la fonction. Le quadrillage est placé automatiquement par JPdraw. 9.4. Une pince Voici un exemple d'utilisation des polygones avec des textures à niveau de gris. Le modèle est issu directement d'un système de CAO. Figure 14: La pince 61

J can-pierre Merlet ES3 T-reTgTFgü fflchiehi [EBJ'llflM) ( 5IVLL [ÜARAI!l'. ( Talìì; ) IAHHULEKDCHUlkHOKDHF) fsklllïï Texte gris rg P^T] ififakkuleb) Texte a oui qnoh a cadre Texte encadre : NON Info 1 : Inf* 2 : J I i, *J> ; * *3 * s * } " Ï * k ' Figure 15 : La fenêtre JPdraw 62