Introduction

L'environnement picture, le package PSTricks, et toutes ces choses-là…

Lorsqu'on désire insérer des schémas simples dans un document LaTeX sans recourir à des outils professionnels comme AdobeTM Illustrator ou MacromediaTM Freehand sous Windows/MacOS, ou Xfig et ses variantes sous Unix, on peut utiliser l'environnement picture de LaTeX, éventuellement accompagné des packages PsTricks ou epic/eepic.

L'environnement picture accepte des commandes permettant des dessiner des objects simples (lignes, vecteurs, cercles, boites), mais c'est souvent amplement suffisant. Et l'utilisation des packages eepic ou PsTricks permet de toute façon d'enrichir considérablement la palette d'objets graphiques (sans parler de la couleur, des ombrages, degradés,…).

Un des avantages de l'utilisation de cet environnement est qu'on peut insérer des formules mathématiques ou du texte, intégrer des parties d'un schéma dans une macro, modifier rapidement l'échelle ou l'épaisseur des traits… puisqu'on travaille exlusivement en environnement LaTeX. L'autre avantage, par rapport à l'approche EPS/graphicx, est la compacité des fichiers générés. Avec PsTricks, on peut même combiner les deux approches, en superposant des commandes LaTeX/Pstricks sur une image EPS.

Cet environnement est détaillé dans la documentation de Leslie Lamport.





Exemple de code

...
\unitlength 1mm
% spécifie l'unité
\linethickness 0.15mm
% épaisseur des lignes
\begin{picture}(100,100)
% début d'environnement (taille de la zone dessinable en paramètre)
\put(0,0){\vector(1,0){50}}
% vecteur, d'origine en (0,0), de pente (1,0), donc verticale, et de longueur 50
\put(0,0){\vector(0,1){50}}
% idem, mais horizontal.
\put(10,20){\line(1,4){5}}
% ligne de pente 4, allant du point (10,20) au point (15,40)
\put(20,30){\framebox(10,10){$\frac{x}{y}$}}
% texte entouré d'une boite rectangulaire, de côté (10,10) et dont le coin inférieur gauche est en (20,30)
\put(55,00){\makebox(0,0){$\vec{i}$}}
% idem, mais sans le dessin de la boite (texte seul)
\put(60,5){\dashbox{5}(10,20){$\vec{j}$}}
% boite en trait tireté
\put(0,0){\makebox(0,0)[tr]{0}}
\put(30,30){\circle{10}}
% cercle, de centre (30,30), de diamètre 10
\put(10,30){\circle*{5}}
% idem, mais cercle plein
\qbezier(10,10)(20,0)(30,20)
% courbe de bezier (quadratique)
\end{picture}
...

exemple