LaTeX: Dessin géométrique en LaTeX avec PSTricks
Pour les utilisateurs de LaTeX qui sont ennuyés par l'inclusion d'images PNG ou JPEG. Le langage PSTricks permet de dessiner des figures en les décrivant au moyen d'un code spécifique. J'en présente ici les commandes de base pour un premier contact.
Ce n'est qu'une introduction incomplète et perfectible, que les puristes ne soient pas trop sévères !
Resumé
On suppose que le lecteur dispose d’une distribution LATEX et en connaît l’utilisation habituelle.
L’inclusion dans les documents LATEX d’images obtenues par captures d’ecran de logiciels de dessin à la souris n’est absolument pas satisfaisante. L’extension PSTricks de T. Van Zandt permet de réaliser des figures simples en géométrie plane, en les decrivant par la saisie d’un code directement dans le fichier .tex. Ce document présente différentes commandes de cette extension, sans prétention car ce ne sont pas, loin s’en faut, les seules possibilités de celle-ci !
Deux documents viendront en complément, l’un abordant les courbes et les noeuds en pstricks, l’autre consacré à l’extraordinaire extension pst-eucl.
Genéralités
L’extension est appelée dans le préambule du document par \usepackage{pst-all}.
La compilation doit se faire en LATEX (et pas en pdfLATEX), le .dvi étant converti en .ps (le .ps est éventuellement converti en .pdf) pour la visualisation des figures : il faut penser à régler la construction rapide notamment avec Kile, TeXmaker ou TeXnicCenter.
La description des figures se fait généralement au moyen des coordonnées cartésiennes notées conventionnellement – le séparateur est ici la virgule, les décimaux étant saisis à la façon anglosaxonne.
La place pour une figure sur le document est réservée avec l’environnement pspicture.
1. Grille [grid].
Les coordonnées indiquent le coin inférieur gauche et le coin supérieur droit :
Grille : effet des options
Le quadrillage, les nombres (étiquettes) sur les axes, la couleur, etc. sont paramétrables :
Dans la suite, je laisse apparaître une grille sur les figures pour faciliter la lecture du repérage ; par contre je n’indique plus les
\begin{pspicture}(a,b)(x,y) \psgrid \end{pspicture}
pour ne pas surcharger le code.
Des options globales sont fixées par :
\psset{showpoints=true, % affichage des points
dotstyle=*, % style de point
dotsize=3pt, % taille de point
linewidth=0.8pt, % épaisseur des traits
subgriddiv=1, % grille divisée aux unités
griddots=10, % nombre de points sur le côté du carreau
gridlabels=6pt, % taille des étiquettes
gridwidth=0.5pt, % épaisseur du trait de quadrillage
xunit=0.5, % facteur d’unité en abscisse
yunit=0.5, % facteur d’unité en ordonnée
runit=0.5, % facteur d’unité en radial
gridcolor=lightgray} % couleur de la grille
2. Axes.
Avec les mêmes conventions que pour la grille :
Axes : effet des options
3. Point [dot].
4. Etiquette.
Pour attacher un texte à un point : donner un nom, placer une légende sur une figure...
-
: paramètre d'espacement (labelsep) entre et le nom ;
-
: paramètre obligatoire de direction autour de pour le nom ;
-
: paramètre de rotation du nom.
Le paramètre de direction peut être un angle (en degrés, sens trigo) ou bien une combinaison de :
-
pour up
-
pour left
-
pour down
-
pour right
5. Ligne brisée [line].
On énumère les coordonnées des points à relier dans l'ordre voulu.
6. Polygone [polygon].
Même syntaxe que la précédente ; la commande ferme automatiquement la ligne brisée.
Polygone : effet des options
Cas particulier : rectangle [frame]
7. Cercle [circle].
Cas particulier : arc de cercle
8. Placement, rotation.
On peut placer n’importe quel objet sur la feuille, en lui faisant éventuellement subir une rotation, par rapport à .
Le code précédent donne une translation du rectangle initial.
Les codes précédents donnent une rotation du rectangle initial.
Les deux derniers codes donnent un quart de tour et le demi-tour. Le résultat peut surprendre lorsque le centre ou le coin inférieur gauche du rectangle n’est pas : il y a d’abord une translation, puisque le \psframe est défini à partir du du \rput.
9. Homothétie.
10. Outils d’ébauche.
Les logiciels Dr Geo et PST+ permettent de se décharger de la partie
fastidieuse du travail en générant l’essentiel du code pstricks, que l’on peut ajuster ensuite au besoin.
Dr Geo ne fonctionne que sous Linux à ce que je sache. C’est un logiciel de dessin à la souris disposant d’une fonction « Exporter la figure en LATEX ».
PST+ fonctionne sous XP et sous Linux. Ce logiciel permet d’obtenir la génération du code pstricks et la prévisualisation de la figure qui est décrite au moyen d’un langage relativement intuitif.
Le code de la figure ci-dessous a été généré pour l'essentiel avec PST+. Sans cela, l’obtention de certaines coordonnées précises au dix-millième aurait été difficile.
L’un des inconvénients est de devoir donner un grand nombre de coordonnées, ce qui complique les modifications ultérieures de la figure dès que le code dépasse quelques lignes. C'est cette limitation que les noeuds ou l'extension pst-eucl permettent de dépasser.
Note : L'affichage avec foxit reader pose un problème sur la figure de l'exemple 17 : l'arc de cercle ne devrait pas s'afficher en pointillés, et deux flèches devraient apparaître aux extrémités.