Des figures avec des macros LaTeX: Extension pst-eucl. publié le 24/06/2008 - mis à jour le 12/03/2014
Géométrie euclidienne avec PSTricks
{{{Introduction}}}
- L'extension "{{[pst-eucl->http://www.ctan.org/pkg/pst-eucl]}}" de {{Dominique RODRIGUEZ}} permet de réaliser des figures de géométrie dans un document $\LaTeX$.
- Il est conseillé de se référer à la documentation très complète réalisée par l'auteur qui se trouve sur [CTAN (Comprehensive TEX Archive Network)->http://www.ctan.org/pkg/pst-eucl].
- Cet article regroupe des extraits de code qui permettent largement de démarrer.
- Concrètement, dans le préambule du document, il s'agit de déclarer l'extension "{{pst-eucl}}", puis dans le corps du document, d'écrire les éléments constituant la figure dans l'environnement "{{pspicture}}" comme le montre le code suivant:
\documentclass[a4paper,12pt]{article} % Classe du document
\usepackage{pst-eucl} % Déclaration de l'extension pst-eucl
\begin{document} % Corps du document
Quelle jolie figure~!
\begin{pspicture}(-5,-5)(5,5) % Environnement pspicture
Eléments de la figure
\end{pspicture}
\end{document}
Il est rappelé que ce qui suit le symbole "%" sur une ligne dans un document $\LaTeX$ est un commentaire, ignoré lors de la compilation.
-----
{{{Objets de base}}}
- {{Points}}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle=-45, % Position du nom par rapport au point
PointSymbol=*] % Forme du point
(1.5,-1) % Coordonnées du point
{A} % Nom du point
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle=-45,PointSymbol=*](1.5,-1){A}
\pstGeonode[PosAngle=135,PointSymbol=x](-2,3){B}
\pstSegmentMark[SegmentSymbol=pstslashhh] % Marque sur le segment
{A}{B} % Extrémités du segment
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstTriangle[PointSymbol=none] % Pas de symboles pour les points
(-2,-3){A}(-0.5,4){B}(3,-1){C} % Coordonnées et noms des points
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstTriangle(0,4){A}(-4,0){B}(4,0){C}
\pstRightAngle{B}{A}{C} % Angle droit de sommet A
\pstMarkAngle[Mark=MarkHash] % Marque de l'angle
{C}{B}{A}{$\alpha$} % Angle de sommet B et nom de l'angle
\pstMarkAngle[Mark=MarkHash]{A}{C}{B}{$\beta$}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={-135,45,-45}](-3,-3){A}(4,4){B}(3,-2){C}
\pstLineAB{A}{B} % Segment [AB]
\pstLineAB[nodesepB=-1]{B}{C} % Demi-droite [BC)
\pstLineAB[nodesep=-2]{A}{C} % Droite (AC)
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode(0,0){O}(3,3){A}(-1,-2){B}(1,0){C}
\pstCircleOA{O}{A} % Cercle de centre O passant par A
\pstCircleAB{B}{C} % Cercle de diamètre [BC]
\pstCircleOA[Radius=\pstDistVal{1}]{B}{} % Cercle de centre B et de rayon 1
\pstCircleOA[Diameter=\pstDistAB{O}{B}]{C}{} % Cercle de centre C et de diamètre OB
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={90,0,180,180,0}](0,0){O}(3,3){A}(-3,3){B}(-2,-2){C}(2,-2){D}
\pstArcOAB{0}{A}{B} % Arc de cercle de centre O d'extrémités A et B dans le sens direct
\pstArcnOAB{0}{C}{D} % Arc de cercle de centre O d'extrémités C et D dans le sens indirect
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode{O}(3,0){I}
\pstCircleOA{O}{I}
\pstCurvAbsNode{O}{I}{A}{\pstDistVal{7}} % Le point A est sur le cercle de centre O passant par I et son abscisse (dans le sens direct) sur le cercle à partir de I est de 7 cm.
\pstCurvAbsNode[CurvAbsNeg=true]{O}{I}{B}{\pstDistVal{5}} % Le point B est sur le cercle de centre O passant par I et son abscisse (dans le sens indirect) sur le cercle à partir de I est de 5 cm.
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\psset{CodeFig=true} % Pour avoir les codages automatiquement
\pstGeonode[PosAngle={-90,-135,-45}](0,0){O}(-3,-3){A}(2,-2){B}
\pstSymO[PosAngle={45,135}]{O}{A,B} % Symétriques des points A et B par rapport au point O
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\psset{CodeFig=true}
\pstGeonode[PosAngle={135,-45,135}](-3,-3){A}(2,2){B}(-1,2){C}
\pstLineAB[nodesep=-2]{A}{B}
\pstOrtSym[PosAngle=-45]{A}{B}{C}[D] % Symétrique du point C par rapport à la droite (AB)
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={-45,45}](0,0){O}(3,3){A}
\pstRotation[PosAngle=-135,RotAngle=120,CodeFig=true,TransformLabel=\frac{2\pi}{3}]{O}{A} % Image de A par la rotation de centre O et d'angle 120°
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={-135,135,-45}](-3,-3){A}(-1,2){B}(1,-2){C}
\pstLineAB[arrows=->,arrowscale=2]{A}{B}
\pstTranslation[CodeFig=true,arrowscale=2]{A}{B}{C} % Image du point C par la translation qui transforme A en B
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={-135,-45}](-3,-3){O}(-1,-1){A}
\pstLineAB[arrows=->,arrowscale=2]{O}{A}
\pstHomO[HomCoef=1.5,PosAngle=45]{O}{A} % Image du point A par l'homothétie de centre O et de rapport -1,5
\pstLineAB[arrows=->,arrowscale=2]{O}{A'}
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={-90,-90,90}](-3,-3){A}(2,-1){B}(-1,3){C}
\pstLineAB[nodesep=-1]{A}{B}
\pstProjection[CodeFig=true,PosAngle=-90]{A}{B}{C}[H] % Projeté orthogonal du point C sur la droite (AB)
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstTriangle[PointSymbol=none](-3,-3){A}(-1,2){B}(2,-2){C}
\pstMiddleAB{A}{B}{C'} % Milieu du segment [AB]
\pstMiddleAB{C}{A}{B'}
\pstMiddleAB{B}{C}{A'}
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstTriangle[PointSymbol=none](-3,-3){A}(-1,2){B}(2,-2){C}
\pstCGravABC[CodeFig=true]{A}{B}{C}{G} % Centre de gravité du triangle ABC
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstTriangle[PointSymbol=none](-3,-3){A}(-1,2){B}(2,-2){C}
\pstCircleABC[CodeFig=true]{A}{B}{C}{O} % Centre du cercle circonscrit du triangle ABC
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle=-90](-3,-3){A}(2,2){B}
\pstMediatorAB[PosAngle=-90,nodesep=-1,CodeFig=true]{A}{B}{I}{M_I} % Médiatrice du segment [AB]
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode[PosAngle={180,-90,180}](-3,3){A}(1,-2){B}(2,2){C}
\pstLineAB[nodesepB=-1]{B}{A}
\pstLineAB[nodesepB=-1]{B}{C}
\pstBissectBAC[linecolor=blue,nodesepB=-1]{C}{B}{A}{A'} % Bissectrice intérieure de l'angle de sommet B de côtés [BC) et [BA)
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode(0,-1){A}(3,2){B}(3,0){C}(1,2){D}
\pstInterLL[PointSymbol=none]{A}{B}{C}{D}{E} % Intersection entre les droites (AB) et (CD)
\psset{nodesep=-1}
\pstLineAB{A}{B}
\pstLineAB{C}{D}
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode(0,0){O}(-2,-2){A}(-3,3){B}(1,-2){C}
\pstCircleOA{O}{A}
\pstLineAB[nodesep=-1]{B}{C}
\pstInterLC{B}{C}{O}{A}{D}{E} % Intersection entre la droite (BC) et le cercle de centre O passant par A
\end{pspicture}
\begin{pspicture}(-5,-5)(5,5)
\pstGeonode(0,0){O_1}(-2,-2){A_1}(-1,1){O_2}(1,-2){A_2}
\pstCircleOA{O_1}{A_1}
\pstCircleOA{O_2}{A_2}
\pstInterCC[PosAngleA=-90,PosAngleB=0]{O_1}{A_1}{O_2}{A_2}{I}{J} % Intersection entre le cercle de centre O_1 passant par A_1 et le cercle de centre O_2 passant par A_2
\end{pspicture}