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 d´ecrivant 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´en´eralement au moyen des coordonnées cartésiennes notées conventionnellement (x,y)(x,y) – 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 (a,b)(a,b) indiquent le coin inférieur gauche et (x,y)(x,y) le coin supérieur droit :

image

Grille : effet des options

Le quadrillage, les nombres (étiquettes) sur les axes, la couleur, etc. sont paramétrables :

image

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 :

image

Axes : effet des options

image

3. Point [dot].

image

4. Etiquette.

Pour attacher un texte à un point (x,y)(x,y) : donner un nom, placer une légende sur une figure...

  • ss : paramètre d'espacement (labelsep) entre (x,y)(x,y) et le nom ;

  • dd : paramètre obligatoire de direction autour de (x,y)(x,y) pour le nom ;

  • rr : 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 :

  • uu pour up

  • ll pour left

  • dd pour down

  • rr pour right

image

5. Ligne brisée [line].

On énumère les coordonnées des points à relier dans l'ordre voulu.

image

6. Polygone [polygon].

Même syntaxe que la précédente ; la commande ferme automatiquement la ligne brisée.

image

Polygone : effet des options

image

Cas particulier : rectangle [frame]

image

7. Cercle [circle].

image

Cas particulier : arc de cercle

image

8. Placement, rotation.

On peut placer n’importe quel objet sur la feuille, en lui faisant éventuellement subir une rotation, par rapport à (x,y)(x,y).

image

Le code précédent donne une translation du rectangle initial.


image

Les codes précédents donnent une rotation du rectangle initial.


image

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 (0,0)(0, 0) : il y a d’abord une translation, puisque le \psframe est défini à partir du (x,y)(x,y) du \rput.

9. Homothétie.

image
image

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.

image

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.


Posez vos questions

D'autres interrogations sur ce cours ? Démarrez une discussion et obtenez des réponses à des exercices pratiques.

Accéder au forum


Progressez plus vite en maths

Boostez votre moyenne en mathématiques et découvrez les outils de soutien scolaire que nous avons sélectionné pour vous : cours particulier, chatbot, soutien scolaire... vous trouverez le service qui vous correspond !

Boostez votre moyenne