summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-18 21:48:17 +0000
committerKarl Berry <karl@freefriends.org>2014-05-18 21:48:17 +0000
commitf478b27f4c3e827a33448774c884200ea9bcbbd9 (patch)
tree16f9425f85e4080762d553e40165e75999989871 /Master
parent2ddd4d3dcf4a1d8efc9177207e878137e6aa056f (diff)
pst-eucl (18may14)
git-svn-id: svn://tug.org/texlive/trunk@34104 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Changes1
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur_in.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/angle.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/angle_in.tex11
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/arc.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/arc_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/astro.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/astro_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec_in.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc_in.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle_in.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.pdfbin6349 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex_in.tex50
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype_in.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.pdfbin5113 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cycloO.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo_in.tex28
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/delto.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/droite.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/droite_in.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi_in.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse_in.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/euler.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/euler_in.tex28
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom_in.tex13
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss_in.tex15
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss_in.tex49
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur_in.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper_in.tex38
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode_in.tex13
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra_in.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/grav.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/grav_in.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie_in.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole_in.tex54
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/hypocyclo.tex21
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_bis_in.tex13
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_in.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC_in.tex15
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD_in.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC_in.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL_in.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator_in.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu_in.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/oij.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/oij_in.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper_in.tex16
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole_in.tex24
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/projection.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/projection_in.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat_in.tex17
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq_in.tex26
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation_in.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark_in.tex9
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale_in.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c_in.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c_in.tex18
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/translation.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/translation_in.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.ps1423
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle_in.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/euclide-english.tex1177
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/euclide.sty138
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/euclide_english.ist10
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist33
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.bib121
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdfbin336649 -> 500461 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex2040
-rw-r--r--Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex374
-rw-r--r--Master/texmf-dist/tex/latex/pst-eucl/pst-eucl.sty5
111 files changed, 2406 insertions, 3829 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Changes b/Master/texmf-dist/doc/generic/pst-eucl/Changes
index 9c62a622188..9ea58ab5be3 100644
--- a/Master/texmf-dist/doc/generic/pst-eucl/Changes
+++ b/Master/texmf-dist/doc/generic/pst-eucl/Changes
@@ -4,6 +4,7 @@ pst-eucl.pro --------
pst-eucl.tex --------
+1.51 2014/05/17 - added two new functions for angles and distances
1.50 2014/04/05 - added MarkHashLength|Sep (hv)
1.49 2014/03/17 - allow algebraic mode for interlines (hv)
1.48 2013/05/02 - take \MarkAngle into account (hv)
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur.tex
deleted file mode 100644
index 9e41c7b183a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-2.5,-2.5)(2.5,2.5)%\psgrid%
-\input{Exemples/abscur_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur_in.tex
deleted file mode 100644
index ddb433970a7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/abscur_in.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\pstGeonode{O}(2,0){A}
-\pstCircleOA{O}{A}
-\pstCurvAbsNode{O}{A}{M_1}{\pstDistVal{5}}
-\pstCurvAbsNode[CurvAbsNeg=true]{O}{A}{M_2}{\pstDistAB{A}{M_1}}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle.tex
deleted file mode 100644
index 22856df59d4..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/angle_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle_in.tex
deleted file mode 100644
index c3ec42b5481..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/angle_in.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-\psset{PointSymbol=none}
-\pstTriangle(2;15){A}(2;85){B}(2;195){C}
-\psset{PointName=none}
-\pstTriangle[PointNameA=default](2;-130){B'}(2;15){A'}(2;195){C'}
-\pstTriangle[PointNameA=default](2;-55){B''}(2;15){A''}(2;195){C''}
-\pstRightAngle[linecolor=red]{C}{B}{A}
-\pstRightAngle[linecolor=blue, RightAngleType=suisseromand]{A}{B'}{C}
-\pstRightAngle[linecolor=magenta, RightAngleType=german]{A}{B''}{C}
-\psset{arcsep=\pslinewidth}
-\pstMarkAngle[linecolor=cyan, Mark=MarkHash]{A}{C}{B}{$\theta$}
-\pstMarkAngle[linecolor=red, arrows=->]{B}{A}{C}{$\gamma$} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc.tex
deleted file mode 100644
index 2679d767050..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/arc_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc_in.tex
deleted file mode 100644
index 48d4ec1112a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/arc_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\pstGeonode[PosAngle={180,0}](1.5;24){A}(1.8;-31){B}
-\pstGeonode{O}
-\psset{arrows=->, arrowscale=2}
-\pstArcOAB[linecolor=red, linewidth=1.5\pslinewidth]{O}{A}{B}
-\pstArcOAB[linecolor=blue, linewidth=1.5\pslinewidth]{O}{B}{A}
-\pstArcnOAB[linecolor=green]{O}{A}{B}
-\pstArcnOAB[linecolor=magenta]{O}{B}{A}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro.tex
deleted file mode 100644
index 745b2cae546..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}[shift=*](-4.5,-4)(4.5,4.5)%\psgrid
- \input{Exemples/astro_in}
-\end{pspicture} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro_in.tex
deleted file mode 100644
index 00e490b4aaa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/astro_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\HypoCyclo[4]{4}{1}{27}
-\psset{linecolor=blue, linewidth=1.5\pslinewidth}
-%% il est préférable de mettre les quatre branches séparément à cause
-%% des points de rebroussement
-\pstGenericCurve[GenCurvFirst=P]{N}{1}{7}
-\pstGenericCurve{N}{7}{14}\pstGenericCurve{N}{14}{21}
-\pstGenericCurve[GenCurvLast=P]{N}{21}{27}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec.tex
deleted file mode 100644
index b9107309c36..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(6,6)\psgrid
- \input{Exemples/bissec_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec_in.tex
deleted file mode 100644
index 31b8a33b525..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/bissec_in.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-\psset{CurveType=polyline,linecolor=red}
-\pstGeonode[PosAngle={180,-75,45}](1,4){B}(4,1){A}(5,4){C}
-\pstBissectBAC[linecolor=blue]{C}{A}{B}{A'}
-\pstOutBissectBAC[linecolor=green, PosAngle=180]
- {C}{A}{B}{A''}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc.tex
deleted file mode 100644
index fe62b0dd64b..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(6,6)\psgrid
- \input{Exemples/ccirc_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc_in.tex
deleted file mode 100644
index c1017a79b25..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ccirc_in.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\pstTriangle[PointSymbol=none](4,1){A}(1,3){B}(5,5){C}
-\pstCircleABC[CodeFig=true, CodeFigColor=blue,
- linecolor=red, PointSymbol=none]{A}{B}{C}{O}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle.tex
deleted file mode 100644
index 57db2620e46..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}[shift=*](-4,-4)(5,3)\psgrid%
- \input{Exemples/cercle_in.tex}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle_in.tex
deleted file mode 100644
index ca1a3f1b369..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cercle_in.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\psset{linewidth=2\pslinewidth}
-\pstGeonode[PosAngle={0,-135,90},PointSymbol={*,*,square}](1,0){A}(-2,-1){B}(0,1){C}
-\pstCircleOA[linecolor=red]{A}{B}
-\pstCircleOA[linecolor=green, DistCoef=2 3 div, Radius=\pstDistAB{A}{C}]{A}{}
-\pstCircleOA[linecolor=blue, Radius=\pstDistAB{B}{C}]{A}{}
-\pstCircleOA[linecolor=Sepia, Radius=\pstDistAB{A}{C}]{B}{}
-\pstCircleOA[linecolor=Aquamarine, Diameter=\pstDistAB{A}{C}]{B}{}
-\pstCircleAB[linecolor=RoyalBlue]{B}{C} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.pdf b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.pdf
deleted file mode 100644
index d31dec7c843..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.tex
deleted file mode 100644
index 011b1332038..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-6,-5)(11,15)%\psgrid
- \input{Exemples/cinscex_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex_in.tex
deleted file mode 100644
index f437305fbfa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cinscex_in.tex
+++ /dev/null
@@ -1,50 +0,0 @@
-\psset{PointSymbol=none}
-%\psframe(-6,-5)(11,15)
-\pstTriangle[linewidth=2\pslinewidth, linecolor=red]
- (4,1){A}(0,3){B}(5,5){C}
-\psset{linecolor=blue}
-\pstBissectBAC[PointSymbol=none, PointName=none]{C}{A}{B}{AB}
-\pstBissectBAC[PointSymbol=none, PointName=none]{A}{B}{C}{BB}
-\pstBissectBAC[PointSymbol=none, PointName=none]{B}{C}{A}{CB}
-\pstInterLL{A}{AB}{B}{BB}{I}
-\psset{linecolor=magenta, linestyle=dashed}
-\pstProjection{A}{B}{I}[I_C]
-\pstLineAB{I}{I_C}\pstRightAngle[linestyle=solid]{A}{I_C}{I}
-\pstProjection{A}{C}{I}[I_B]
-\pstLineAB{I}{I_B}\pstRightAngle[linestyle=solid]{C}{I_B}{I}
-\pstProjection[PosAngle=80]{C}{B}{I}[I_A]
-\pstLineAB{I}{IA}\pstRightAngle[linestyle=solid]{B}{I_A}{I}
-\pstCircleOA[linecolor=yellow, linestyle=solid]{I}{I_A}
-%% BISSECTRICES EXTÉRIEURES
-\psset{linecolor=magenta, linestyle=none}
-\pstOutBissectBAC[PointSymbol=none, PointName=none]{C}{A}{B}{AOB}
-\pstOutBissectBAC[PointSymbol=none, PointName=none]{A}{B}{C}{BOB}
-\pstOutBissectBAC[PointSymbol=none, PointName=none]{B}{C}{A}{COB}
-\pstInterLL[PosAngle=-90]{A}{AOB}{B}{BOB}{I_1}
-\pstInterLL{A}{AOB}{C}{COB}{I_2}
-\pstInterLL[PosAngle=90]{C}{COB}{B}{BOB}{I_3}
-\psset{linecolor=magenta, linestyle=dashed}
-\pstProjection[PointName=I_{1C}]{A}{B}{I_1}[I1C]
-\pstLineAB{I_1}{I1C}\pstRightAngle[linestyle=solid]{I_1}{I1C}{A}
-\pstProjection[PointName=I_{1B}]{A}{C}{I_1}[I1B]
-\pstLineAB{I_1}{I1B}\pstRightAngle[linestyle=solid]{A}{I1B}{I_1}
-\pstProjection[PointName=I_{1A}]{C}{B}{I_1}[I1A]
-\pstLineAB{I_1}{I1A}\pstRightAngle[linestyle=solid]{I_1}{I1A}{C}
-\pstProjection[PointName=I_{2B}]{A}{C}{I_2}[I2B]
-\pstLineAB{I_2}{I2B}\pstRightAngle[linestyle=solid]{A}{I2B}{I_2}
-\pstProjection[PointName=I_{2C}]{A}{B}{I_2}[I2C]
-\pstLineAB{I_2}{I2C}\pstRightAngle[linestyle=solid]{I_2}{I2C}{A}
-\pstProjection[PointName=I_{2A}]{B}{C}{I_2}[I2A]
-\pstLineAB{I_2}{I2A}\pstRightAngle[linestyle=solid]{C}{I2A}{I_2}
-\pstProjection[PointName=I_{3A}]{C}{B}{I_3}[I3A]
-\pstLineAB{I_3}{I3A}\pstRightAngle[linestyle=solid]{C}{I3A}{I_3}
-\pstProjection[PointName=I_{3C}]{A}{B}{I_3}[I3C]
-\pstLineAB{I_3}{I3C}\pstRightAngle[linestyle=solid]{A}{I3C}{I_3}
-\pstProjection[PointName=I_{3B}]{C}{A}{I_3}[I3B]
-\pstLineAB{I_3}{I3B}\pstRightAngle[linestyle=solid]{I_3}{I3B}{A}
-\psset{linecolor=yellow, linestyle=solid}
-\pstCircleOA{I_1}{I1C}
-\pstCircleOA{I_2}{I2B}
-\pstCircleOA{I_3}{I3A}
-\psset{linecolor=red, linestyle=solid, nodesepA=-1, nodesepB=-1}
-\pstLineAB{I1B}{I3B}\pstLineAB{I1A}{I2A}\pstLineAB{I2C}{I3C} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype.tex
deleted file mode 100644
index a86b641f8d1..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-5,-5)(10,5)\psgrid
- \input{Exemples/curvetype_in.tex}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype_in.tex
deleted file mode 100644
index 90d34f4e345..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/curvetype_in.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\pstGeonode{O}
-\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C}
- (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}}
-\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}}
-\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G}
-\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q}
-\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'}
-\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'}
-\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''}
- {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G'''] \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.pdf b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.pdf
deleted file mode 100644
index 3a5e9f3cdd8..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.tex
deleted file mode 100644
index 80694c50326..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-2,0)(13,3)%\psgrid%
- \input{Exemples/cyclo_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "~/TeX/Inputs/Doc/Euclide/euclide"
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cycloO.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cycloO.tex
deleted file mode 100644
index bb8ef2b8baa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cycloO.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\documentclass{minimal}
-\usepackage{pst-eucl}
-\begin{document}
-\begin{pspicture}(-2,0)(13,3)%\psgrid%
- \input{Exemples/cyclo_in}
-\end{pspicture}
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo_in.tex
deleted file mode 100644
index 101c88a1b0b..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/cyclo_in.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\providecommand\NbPt{11}
-\psset{linewidth=1.2\pslinewidth}
-\pstGeonode[PointSymbol={*,none}, PointName={default,none}, PosAngle=180]{M}(0,1){O}
-%% 4*pi=12.5663706144
-\pstGeonode(12.5663706144,0){A}
-\pstTranslation[PointSymbol=none, PointName=none]{M}{A}{O}[B]
-\multido{\nA=1+1}{\NbPt}{%
- \pstHomO[HomCoef=\nA\space \NbPt\space 1 add div,
- PointSymbol=none, PointName=none]{O}{B}[O\nA]
- \pstProjection[PointSymbol=none, PointName=none]{M}{A}{O\nA}[P\nA]
- %\pstCircleOA[linestyle=dashed, linecolor=red]{O\n}{P\n}
- \pstCurvAbsNode[PointSymbol=square, PointName=none,CurvAbsNeg=true]%
- {O\nA}{P\nA}{M\nA}{\pstDistAB{O}{O\nA}}
- \ifnum\nA=2 %affichage du second cercle
- \bgroup
- \pstCircleOA{O\nA}{M\nA}
- \psset{linecolor=magenta, linewidth=1.5\pslinewidth}
- \pstArcnOAB{O\nA}{P\nA}{M\nA}
- \ncline{O\nA}{M\nA}\ncline{P\nA}{M}
- \egroup
- \fi
- }% fin du multido
-\psset{linecolor=blue, linewidth=1.5\pslinewidth}
-\pstGenericCurve[GenCurvFirst=M]{M}{1}{6}
-\pstGenericCurve[GenCurvLast=A]{M}{6}{\NbPt}
-%% juste pour la vérification
-%\parametricplot[linecolor=green, linewidth=.5\pslinewidth]{0}{12.5663706144}
-% {t t 3.1415926 div 180 mul sin sub 1 t 3.1415926 div 180 mul cos sub}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/delto.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/delto.tex
deleted file mode 100644
index 7cd379570eb..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/delto.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%
-\begin{pspicture}[shift=*](-3.5,-4)(3.5,4)%\psgrid
- \HypoCyclo[3]{3}{1}{17}
- \psset{linecolor=blue, linewidth=1.5\pslinewidth}
- %% il est préférable de mettre les trois branches séparément à cause
- %% des points de rebroussement
- \pstGenericCurve[GenCurvFirst=P]{N}{1}{6} \pstGenericCurve{N}{6}{12}
- \pstGenericCurve[GenCurvLast=P]{N}{12}{17}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite.tex
deleted file mode 100644
index 19595b78b30..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/droite_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite_in.tex
deleted file mode 100644
index 0fe249534ca..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/droite_in.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\pstGeonode(1,1){A}(-1,-1){B}
-\pstLineAB[nodesepA=-.4, nodesepB=-1, linecolor=green]{A}{B}
-\pstLineAB[nodesep=.4, linecolor=red]{A}{B} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi.tex
deleted file mode 100644
index 146be669a2e..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-6,-6)(3.5,6)%\psgrid
- \input{Exemples/envcardi_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi_in.tex
deleted file mode 100644
index 80f9058ea5e..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envcardi_in.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\psset{linewidth=0.4\pslinewidth,PointSymbol=x,
- nodesep=0,linecolor=magenta}
-\pstGeonode[PointName=none]{O}(2,0){O'}
-\pstCircleOA[linecolor=black]{O}{O'}
-\multido{\n=5+5}{72}{%
- \pstGeonode[PointSymbol=none, PointName=none]
- (2;\n){M_\n}
- \pstCircleOA{M_\n}{O'}} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse.tex
deleted file mode 100644
index 3576839e86e..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture*}(-6,-6)(6,6)
- \input{Exemples/envellipse_in.tex}
-\end{pspicture*}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse_in.tex
deleted file mode 100644
index 84fa7313884..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/envellipse_in.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\psset{linewidth=0.4\pslinewidth,PointSymbol=none, PointName=none}
-\pstGeonode[PosAngle=-90, PointSymbol={none,*,none}, PointName={none,default,none}]
- {O}(4;132){A}(5,0){O'}
-\pstCircleOA{O}{O'}
-\multido{\n=5+5}{72}{%
- \pstGeonode(5;\n){M_\n}
- \pstMediatorAB[nodesep=-15,linecolor=magenta]
- {A}{M_\n}{I}{J}}% fin multido
-
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler.tex
deleted file mode 100644
index 971aa290bf8..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\begin{pspicture}(-3,-1.5)(3,2.5)%\psgrid
- \psframe(-3,-1.5)(3,2.5)
- \input{Exemples/euler_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler_in.tex
deleted file mode 100644
index c96bf0c0675..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/euler_in.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\psset{PointSymbol=none}
-\pstTriangle(-2,-1){A}(1,2){B}(2,-1){C}
-{% encapsulation de modif paramètres
- \psset{linestyle=none, PointSymbolB=none, PointNameB=none}
- \pstMediatorAB{A}{B}{K}{KP}
- \pstMediatorAB{C}{A}{J}{JP}
- \pstMediatorAB{B}{C}{I}{IP}
-}% fin
-\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O}
-{% encapsulation de modif paramètres
- \psset{nodesep=-.8, linecolor=green}
- \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K}
-}% fin
-\psdot[dotstyle=square](O)
-\pstProjection{B}{A}{C}
-\pstProjection{B}{C}{A}
-\pstProjection{A}{C}{B}
-\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'}
-\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H}
-% le cercle d'Euler (centre au milieu de [OH])
-\pstMiddleAB[PointSymbol=o, PointName=\omega]{O}{H}{omega}
-\pstCircleOA[linecolor=Orange, linestyle=dashed, dash=5mm 1mm]{omega}{B'}
-\psset{PointName=none}
-% il passe par le milieu des segments joignant l'orthocentre et les sommets
-\pstMiddleAB{H}{A}{AH}\pstMiddleAB{H}{B}{BH}\pstMiddleAB{H}{C}{CH}
-\pstSegmentMark{H}{AH}\pstSegmentMark{AH}{A}
-\psset{SegmentSymbol=wedge}\pstSegmentMark{H}{BH}\pstSegmentMark{BH}{B}
-\psset{SegmentSymbol=cup}\pstSegmentMark{H}{CH}\pstSegmentMark{CH}{C}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom.tex
deleted file mode 100644
index f8119481bc3..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\begin{pspicture}(-2.8,-3)(2.8,3)
- \psset{linewidth=.05\pslinewidth}
- \input{Exemples/fracthom_in}
-\end{pspicture}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom_in.tex
deleted file mode 100644
index 70507b1e97a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/fracthom_in.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\pstGeonode[PosAngle={0,90}](2,2){A_0}(-2,2){B_0}%
-\psset{RotAngle=90}
-\pstRotation[PosAngle=270]{A_0}{B_0}[D_0]
-\pstRotation[PosAngle=180]{D_0}{A_0}[C_0]
-\pspolygon(A_0)(B_0)(C_0)(D_0)%
-\psset{PointSymbol=none, PointName=none, HomCoef=.2}
-\multido{\n=1+1,\i=0+1}{20}{%
- \pstHomO[PosAngle=0]{B_\i}{A_\i}[A_\n]
- \pstHomO[PosAngle=90]{C_\i}{B_\i}[B_\n]
- \pstHomO[PosAngle=180]{D_\i}{C_\i}[C_\n]
- \pstHomO[PosAngle=270]{A_\i}{D_\i}[D_\n]
- \pspolygon(A_\n)(B_\n)(C_\n)(D_\n)}% fin multido
-
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss.tex
deleted file mode 100644
index a53481d9b34..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-\bgroup\psset{unit=.9}
-\begin{pspicture}(-1,-1)(5,5)%\psgrid
- \input{Exemples/gal_biss_in.tex}
-\end{pspicture}
-\egroup \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss_in.tex
deleted file mode 100644
index 34637a4e337..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gal_biss_in.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\psset{PointSymbol=none}
-\pstGeonode[PosAngle={180,130,-90}, PointSymbol={default,none}]
- (2,0){B}(0,1){O}(1,4){A}
-\pstLineAB[nodesepB=-1, linecolor=red]{O}{A}
-\pstLineAB[nodesepB=-1, linecolor=red]{O}{B}
-\pstInterLC[PointSymbolA=none, PosAngleB=-45]{O}{B}{O}{A}{G}{C}
-\psset{arcsepA=-1, arcsepB=-1}
-\pstArcOAB[linecolor=green, linestyle=dashed]{O}{C}{A}
-\pstInterCC[PointSymbolB=none, PointNameB=none, PosAngleA=100]{A}{O}{C}{O}{O'}{OO}
-\pstArcOAB[linecolor=blue, linestyle=dashed]{A}{O'}{O'}
-\pstArcOAB[linecolor=blue, linestyle=dashed]{C}{O'}{O'}
-\pstLineAB[nodesepB=-1, linecolor=cyan]{O}{O'}
-\psset{arcsep=\pslinewidth, linecolor=magenta, Mark=MarkHash}
-\pstMarkAngle{C}{O}{O'}{}
-\pstMarkAngle[MarkAngleRadius=.5]{O'}{O}{A}{} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss.tex
deleted file mode 100644
index c86a0577cf8..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-%% Polygone à 17 côtés
-\begin{pspicture}(-5.5,-5.5)(5.5,6)%\psgrid
- \input{Exemples/gauss_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss_in.tex
deleted file mode 100644
index 683cae02da0..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gauss_in.tex
+++ /dev/null
@@ -1,49 +0,0 @@
- \pstGeonode[PosAngle={-90,0}]{O}(5;0){P_1}
- \pstCircleOA{O}{P_1}
- \pstSymO[PointSymbol=none, PointName=none, CodeFig=false]{O}{P_1}[PP_1]
- \ncline[linestyle=solid]{PP_1}{P_1}
- \pstRotation[RotAngle=90, PosAngle=90]{O}{P_1}[B]
- \pstRightAngle[linestyle=solid]{B}{O}{PP_1}\ncline[linestyle=solid]{O}{B}
- \pstHomO[HomCoef=.25]{O}{B}[J]
- \ncline{J}{P_1}
- \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{P_1}{PE1}
- \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{PE1}{PE2}
- \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PE2}{E}
- \pstRotation[PosAngle=-90, RotAngle=-45, PointSymbol=none, PointName=none]{J}{E}[PF1]
- \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PF1}{F}
- \pstMiddleAB[PointSymbol=none, PointName=none]{F}{P_1}{MFP1}
- \pstCircleOA{MFP1}{P_1}
- \pstInterLC[PointSymbolA=none, PointNameA=none]{O}{B}{MFP1}{P_1}{H}{K}
- \pstCircleOA{E}{K}
- \pstInterLC{O}{P_1}{E}{K}{N_6}{N_4}
- \pstRotation[RotAngle=90, PointSymbol=none, PointName=none]{N_6}{E}[PP_6]
- \pstInterLC[PosAngleA=90, PosAngleB=-90, PointNameB=P_{13}]
- {PP_6}{N_6}{O}{P_1}{P_6}{P_13}
- \pstSegmentMark[SegmentSymbol=wedge]{N_6}{P_6}
- \pstSegmentMark[SegmentSymbol=wedge]{P_13}{N_6}
- \pstRotation[RotAngle=90, PointSymbol=none, PointName=none]{N_4}{E}[PP_4]
- \pstInterLC[PosAngleA=90, PosAngleB=-90, PointNameB=P_{15}]
- {N_4}{PP_4}{O}{P_1}{P_4}{P_15}
- \pstSegmentMark[SegmentSymbol=cup]{N_4}{P_4}
- \pstSegmentMark[SegmentSymbol=cup]{P_15}{N_4}
- \pstRightAngle[linestyle=solid]{P_1}{N_6}{P_6}
- \pstRightAngle[linestyle=solid]{P_1}{N_4}{P_4}
- \pstBissectBAC[PosAngle=90, linestyle=none]{P_4}{O}{P_6}{P_5}
- %\pstOrtSym[PosAngle=-90, PointName=P_{14}]{O}{P_1}{P_5}[P_14]
- \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_4}{P_5}{H}{P_3}
- %\pstOrtSym[PosAngle=-90, SegmentSymbol=pstslash, PointName=P_{16}]
- % {O}{P_1}{P_3}[P_16]
- \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_3}{P_4}{H}{P_2}
- %\pstOrtSym[PosAngle=-90, SegmentSymbol=pstslashslashslash,
- % PointName=P_{17}]{O}{P_1}{P_2}[P_17]
- \pstInterCC[PosAngleA=90, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_6}{P_5}{P_7}{H}
- \pstInterCC[PosAngleA=100, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_7}{P_6}{P_8}{H}
- \pstInterCC[PosAngleA=135, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_8}{P_7}{P_9}{H}
- \pstOrtSym[PosAngle={-90,-90,-90,-100,-135}, %SegmentSymbol={default,pstslash,pstslashhh,circ,times,equiv},
- PointName={P_{17},P_{16},P_{14},P_{12},P_{11},P_{10}}]
- {O}{P_1}{P_2,P_3,P_5,P_7,P_8,P_9}[P_17,P_16,P_14,P_12,P_11,P_10]
- %\pstOrtSym[PosAngle=-100, SegmentSymbol=times, PointName=P_{11}]{O}{P_1}{P_8}[P_11]
- %\pstOrtSym[PosAngle=-135, SegmentSymbol=equiv,PointName=P_{10}]{O}{P_1}{P_9}[P_10]
- \pspolygon[linecolor=green, linestyle=solid, linewidth=2\pslinewidth]
- (P_1)(P_2)(P_3)(P_4)(P_5)(P_6)(P_7)(P_8)(P_9)
- (P_10)(P_11)(P_12)(P_13)(P_14)(P_15)(P_16)(P_17) \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur.tex
deleted file mode 100644
index 8e87479865f..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-2.5,-2.5)(2.5,1)%\psgrid%
-\input{Exemples/gencur_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur_in.tex
deleted file mode 100644
index 8adebdf17dc..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/gencur_in.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-\psset{unit=.00625}
-\pstGeonode{A}
-\multido{\n=20+20}{18}{\pstGeonode[PointName=M_{\n}](\n;\n){M_\n}}
-\pstGenericCurve[GenCurvFirst=A, GenCurvInc=20,
- linecolor=blue, linewidth=.5\pslinewidth]{M_}{20}{360} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper.tex
deleted file mode 100644
index 7f54846c252..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-5,-5)(5,5)
- \input{Exemples/geohyper_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper_in.tex
deleted file mode 100644
index cbd8887dfa7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geohyper_in.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\psclip{\pscircle(0,0){4}}%\psgrid
- %\newlength{\radius}\setlength{\radius}{0cm}
- %\newcounter{rapport}\setcounter{i}{1}
- %\whiledo{\value{i}<100}{
- % \setlength{\radius}{4cm*\value{i}}
- % \setcounter{rapport}{\value{i}+1}
- % \divide\radius by \arabic{rapport}
- % \pscircle[linestyle=dotted, linecolor=gray]%
- % (0, 0){\radius}
- % \setcounter{i}{\value{i}*2}
- % }
- \pstGeonode(1, 2){M}\pstGeonode(-2,2){N}\pstGeonode(0,-2){P}%
- \psset{DrawCirABC=false, PointSymbol=none, PointName=none}%
- \pstGeonode(0,0){O}\pstGeonode(4,0){A}\pstCircleOA{O}{A}%
- \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{M} sub
- \pstDistAB{O}{M} div]{O}{M}[M']%
- \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{P} sub
- \pstDistAB{O}{P} div]{O}{P}[P']%
- \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{N} sub
- \pstDistAB{O}{N} div]{O}{N}[N']%
- \psset{linecolor=green, linewidth=1.5pt}%
- \pstCircleABC{M}{N}{M'}{OmegaMN}\pstArcOAB{OmegaMN}{N}{M}%
- \pstCircleABC{M}{P}{M'}{OmegaMP}\pstArcOAB{OmegaMP}{M}{P}%
- \pstCircleABC{N}{P}{P'}{OmegaNP}\pstArcOAB{OmegaNP}{P}{N}%
- \psset{linecolor=blue}
- %% la hauteur issue de M
- \pstHomO[HomCoef=\pstDistAB{OmegaNP}{N} 2 mul \pstDistAB{OmegaNP}{M} sub
- \pstDistAB{OmegaNP}{M} div]{OmegaNP}{M}[MH']
- \pstCircleABC{M}{M'}{MH'}{OmegaMH}\pstArcOAB{OmegaMH}{MH'}{M}
- %% la hauteur issue de N
- \pstHomO[HomCoef=\pstDistAB{OmegaMP}{M} 2 mul \pstDistAB{OmegaMP}{N} sub
- \pstDistAB{OmegaMP}{N} div]{OmegaMP}{N}[NH']
- \pstCircleABC{N}{N'}{NH'}{OmegaNH}\pstArcOAB{OmegaNH}{N}{NH'}
- %% la hauteur issue de P
- \pstHomO[HomCoef=\pstDistAB{OmegaMN}{M} 2 mul \pstDistAB{OmegaMN}{P} sub
- \pstDistAB{OmegaMN}{P} div]{OmegaMN}{P}[PH']
- \pstCircleABC{P}{P'}{PH'}{OmegaPH}\pstArcOAB{OmegaPH}{P}{PH'}
-\endpsclip \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode.tex
deleted file mode 100644
index 8250e34620a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-2,-2)(3,3)\psgrid
- \input{Exemples/geonode_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode_in.tex
deleted file mode 100644
index 18442d60d66..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/geonode_in.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\pstGeonode{A}
-\pstGeonode[PosAngle=-135, PointNameSep=1.3](0,3){B_1}
-\pstGeonode[PointSymbol=pentagon, dotscale=2, fillstyle=solid,
- fillcolor=OliveGreen, PtNameMath=false,
- PointName=$B_2$, linecolor=red](-2,1){B2}
-\pstGeonode[PosAngle={90,0,-90}, PointSymbol={*,o},
- linestyle=dashed, CurveType=polygon,
- PointNameSep={1em,2em,3mm}]
- (1,2){M_1}(2,1){M_2}(1,0){M_3}
-\pstGeonode[PosAngle={50,100,90}, PointSymbol={*,x,default},
- PointNameSep=3mm, CurveType=curve,
- PointName={\alpha,\beta,\gamma,default}]
- (-2,0){alpha}(-1,-2){beta}(0,-1){gamma}(2,-1.5){T} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra.tex
deleted file mode 100644
index 7932e69964a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(0,1)(5,6)%\psgrid
- \input{Exemples/german_ra_in.tex}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra_in.tex
deleted file mode 100644
index 44c7f732198..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/german_ra_in.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\pstTriangle(1,2){A}(4,2){B}(1,5){C}
-\pstMarkAngle[MarkAngleRadius=.5, LabelSep=.3]
- {B}{A}{C}{\boldmath$\cdot$}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav.tex
deleted file mode 100644
index 943eaaee0cd..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-3,-2)(2,2)\psgrid
- \input{Exemples/grav_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav_in.tex
deleted file mode 100644
index af1f1612b88..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/grav_in.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-\pstTriangle[PointSymbol=none](1,1){A}(-1,-1){B}(-2,1){C}
-\pstCGravABC{A}{B}{C}{G}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie.tex
deleted file mode 100644
index f6c46d21708..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid%
- \input{Exemples/homothetie_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie_in.tex
deleted file mode 100644
index 9d35f3d848a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/homothetie_in.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-\pstGeonode[PosAngle={0,-45}](.5,1){O}(-1.5,-1.2){A}(.5,-.8){B}
-\pstHomO[HomCoef=.62, PosAngle=-45]{O}{A,B}[C,D]
-\psset{linecolor=green, nodesep=-1}
-\pstLineAB{A}{O}\pstLineAB{B}{O}
-\psset{linecolor=red, nodesep=-.5}
-\pstLineAB{A}{B}\pstLineAB{C}{D}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole.tex
deleted file mode 100644
index d872d9c9475..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\begin{pspicture}(-4,-4)(4,4)%\psgrid
- \psframe(-4,-4)(4,4)
- \input{Exemples/hyperbole_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole_in.tex
deleted file mode 100644
index 2f8dfa13a27..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hyperbole_in.tex
+++ /dev/null
@@ -1,54 +0,0 @@
-\newcommand{\Sommet}{1.4142135623730951}
-\newcommand{\PosFoyer}{2}
-\newcommand{\HypAngle}{0}
-\setcounter{i}{1}
-\newcounter{CoefDiv}\setcounter{CoefDiv}{20}
-\newcounter{Inc}\setcounter{Inc}{2}
-\newcounter{n}\setcounter{n}{2}
-%% rayon des cercles successifs utilisés pour trouver les points de H
-%% on choisit \Rii=\Ri+2\Sommet (définition de l'hyperbole)
-\newcommand{\Ri}{% c'est du postscript
- \PosFoyer\space\Sommet\space sub \arabic{i}\space\arabic{CoefDiv}\space div add}
-\newcommand{\Rii}{\Ri\space\Sommet\space 2 mul add}
-\pstGeonode[PosAngle=90]{O}(\PosFoyer;\HypAngle){F}
-\pstSymO[PosAngle=180]{O}{F}\pstLineAB{F}{F'}
-%% TRACÉ DES ASYMPTOTES
-\pstCircleOA{O}{F}
-%% positionnement des deux sommets de H
-\pstGeonode[PosAngle=-135](\Sommet;\HypAngle){S}
-\pstGeonode[PosAngle=-45](-\Sommet;\HypAngle){S'}
-%% l'intersection de la droite perpendiculaire à (FF') passant par S,
-%% coupe les asymptotes sur le cercle de diamètre [FF'] (cette droite est une tangente)
-\pstRotation[RotAngle=90, PointSymbol=none]{S}{O}[B]
-\pstInterLC[PosAngleA=90, PosAngleB=-90]{S}{B}{O}{F}{A_1}{A_2}
-\pstLineAB[nodesepA=-3,nodesepB=-5]{A_1}{O}
-\pstLineAB[nodesepA=-3,nodesepB=-5]{A_2}{O}
-%% cos(\Psi)=OS/OF (c-a-d \Sommet/\PosFoyer)
-%% ici \sqrt(2)/2, donc \Psi=45 => hyperbole équilatère
-\pstMarkAngle[LabelSep=.8, MarkAngleRadius=.7, arrows=->,
- LabelSep=1.1]{F}{O}{A_1}{$\Psi$}
-\ncline[linecolor=red]{A_1}{A_2}
-\pstRightAngle[RightAngleSize=.15]{A_1}{S}{O}
-\psset{PointName=none}
-\whiledo{\value{n}<8}{%
- \psset{RadiusA=\pstDistVal{\Ri},RadiusB=\pstDistVal{\Rii},PointSymbol=none}
- \pstInterCC{F}{}{F'}{}{M\arabic{n}}{P\arabic{n}}
- \pstInterCC{F'}{}{F}{}{M'\arabic{n}}{P'\arabic{n}}
- %% bcp de points au début, moins ensuite
- %% n -> numéro du point, i -> taille des cercles
- %% Inc -> incrément variable de i (2^n)
- \stepcounter{n}\addtocounter{i}{\value{Inc}}
- \addtocounter{Inc}{\value{Inc}}}%% fin de whiledo
-\psset{linecolor=blue}
-%% tracé des quatres 1/2 branches de l'hyperbole
-\pstGenericCurve[GenCurvFirst=S]{M}{2}{7}
-\pstGenericCurve[GenCurvFirst=S]{P}{2}{7}
-\pstGenericCurve[GenCurvFirst=S']{M'}{2}{7}
-\pstGenericCurve[GenCurvFirst=S']{P'}{2}{7}
-%% pour vérif le trace paramètrique
-%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1}
-% {t dup tx@EcldDict begin sh exch ch end \Sommet\space mul exch
-% \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul}
-%\parametricplot[linecolor=black, linewidth=.25\pslinewidth]{-1}{1}
-% {t dup tx@EcldDict begin sh exch ch end neg \Sommet\space mul exch
-% \PosFoyer\space dup mul \Sommet\space dup mul sub sqrt mul}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hypocyclo.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/hypocyclo.tex
deleted file mode 100644
index f221a5f5153..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/hypocyclo.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\newcommand{\HypoCyclo}[4][100]{%
- \def\R{#2}\def\petitR{#3}\def\NbPt{#4}% définitions locales pour lisibilité
- %% Selon la valeur de R sur petitR :
- %% 4 une astroïde -- 3 une deltoïde -- 2 un diamètre (!)
- \def\Anglen{\n\space 360 \NbPt\space 1 add div mul}
- \psset{PointSymbol=none,PointName=none}
- \pstGeonode[PointSymbol={*,none},PointName={default,none}, PosAngle=0]{O}(\R;0){P}
- \pstCircleOA{O}{P}
- \pstHomO[HomCoef=\petitR\space\R\space div]{P}{O}[M]
- \multido{\n=1+1}{\NbPt}{%
- \pstRotation[RotAngle=\Anglen]{O}{M}[M\n]
- \rput(M\n){\pstGeonode(\petitR;0){Q}}
- \pstRotation[RotAngle=\Anglen]{M\n}{Q}[N]
- \pstRotation[RotAngle=\n\space -360 \NbPt\space 1 add div
- mul \R\space\petitR\space div mul, PointSymbol=*, PointName=none]%
- {M\n}{N}[N\n]
- \ifnum\n=#1
- \pstCircleOA{M\n}{N\n}\ncline{M\n}{N\n}%
- {\psset{linecolor=red, linewidth=2\pslinewidth}
- \pstArcOAB{M\n}{N\n}{N}\pstArcOAB{O}{P}{N}}
- \fi}}%fin multido-newcommand
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC.tex
deleted file mode 100644
index ccd47eccfe2..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(0,-1)(4,3)\psset{dash=2mm 2mm}\psgrid
- \input{Exemples/interCC_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_bis_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_bis_in.tex
deleted file mode 100644
index 2d289f26564..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_bis_in.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-\pstGeonode[PointName={\Omega,O}](3,-1){Omega}(1,-1){O}
-\pstGeonode[PointSymbol=square, PosAngle={-90,90}](0,3){A}(2,2){B}
-\psset{PointSymbol=o}
-\pstCircleOA[linecolor=red, DistCoef=1 3 10 div add, Radius=\pstDistAB{A}{B}]{O}{}
-\pstCircleOA[linecolor=Orange, Diameter=\pstDistAB{A}{B}]{O}{}
-\pstCircleOA[linecolor=Violet, Radius=\pstDistAB{A}{B}]{Omega}{}
-\pstCircleOA[linecolor=Purple, Diameter=\pstDistAB{A}{B}]{Omega}{}
-\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B},
- DistCoef=none, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{D}{E}
-\pstInterCC[DiameterA=\pstDistAB{A}{B}, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{F}{G}
-\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B},
- DistCoef=none, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{H}{I}
-\pstInterCC[DiameterA=\pstDistAB{A}{B}, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{J}{K}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_in.tex
deleted file mode 100644
index 6e4f376a05d..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interCC_in.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\rput{10}{%
- \pstGeonode[PosAngle={0,-90,-90,90}]
- (1,-1){O}(2,1){A}(2,0.1){B}(2.5,1){C}}
-\pstCircleOA[linecolor=red]{C}{B}
-\pstInterCC[PosAngleA=135, CodeFigA=true, CodeFigAarc=false,
- CodeFigColor=magenta]{O}{A}{C}{B}{D}{E}
-\pstInterCC[PointSymbolB=none, PointNameB=none,
- PosAngleA=170, CodeFigA=true, CodeFigAarc=false,
- CodeFigColor=green]{B}{E}{C}{B}{F}{G}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC.tex
deleted file mode 100644
index 8049edefa99..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-3,-2)(4,4)\psgrid%
- \input{Exemples/interDC_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC_in.tex
deleted file mode 100644
index f9fc5cfd7ac..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDC_in.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-\pstGeonode[PosAngle={-135,80,0}](-1,0){B}(3,-1){C}(-.9,.5){O}(0,2){A}
-\pstGeonode(-2,3){I}
-\pstCircleOA[linecolor=red]{O}{A}
-\pstInterLC[PosAngle=-80]{C}{B}{O}{A}{D}{E}
-\pstInterLC[PosAngleB=60, Radius=\pstDistAB{O}{D}]
- {I}{C}{O}{}{F}{G}
-\pstInterLC[PosAngleB=180, DistCoef=1.3,
- Diameter=\pstDistAB{O}{D}]
- {I}{B}{O}{}{H}{J}
-\pstCircleOA[linecolor=red, DistCoef=1.3,
- Diameter=\pstDistAB{O}{D}]{O}{}
-\psset{nodesep=-1}
-\pstLineAB[linecolor=green]{E}{C}
-\pstLineAB[linecolor=cyan]{I}{C}
-\pstLineAB[linecolor=magenta]{J}{I}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD.tex
deleted file mode 100644
index 8c8b90667aa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-1,-2)(4,3)\psset{unit=.8}\psgrid
- \input{Exemples/interDD_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD_in.tex
deleted file mode 100644
index 321bbaa82f3..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interDD_in.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\pstGeonode(0,-1){A}(3,2){B}(3,0){C}(1,2){D}
-\pstInterLL[PointSymbol=square]{A}{B}{C}{D}{E}
-\psset{linecolor=blue, nodesep=-1}
-\pstLineAB{A}{B}\pstLineAB{C}{D}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC.tex
deleted file mode 100644
index b61b6c5c03b..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\psset{unit=.8}
-\begin{pspicture}[shift=*](-3,-4)(3,4)%\psgrid
- \input{Exemples/interFC_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC_in.tex
deleted file mode 100644
index 3c473da4ee7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFC_in.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\def\F{x 180 mul 3.1415926 div cos 2 mul}
-\pstGeonode(0.3,-1){O}(2,.5){M}
-\ncline[linecolor=blue, arrowscale=2]{->}{O}{M}
-\psaxes{->}(0,0)(-3,-3)(3,4)
-\psplot[linewidth=2\pslinewidth, linecolor=gray]{-3.14}{3.14}{\F}
-\psset{PointSymbol=*}
-\pstCircleOA{O}{M}
-\psset{PointSymbol=o}
-\pstInterFC{\F}{O}{M}{1}{N_0}
-\pstInterFC{\F}{O}{M}{-1}{N_1}
-\pstInterFC{\F}{O}{M}{-2}{N_2}
-\pstInterFC{\F}{O}{M}{2}{N_3}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF.tex
deleted file mode 100644
index cff4ced517b..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\begin{pspicture}[shift=*](-3,-1)(2,4)
- \input{Exemples/interFF_in}
-\end{pspicture}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF_in.tex
deleted file mode 100644
index c05b27959ea..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFF_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\psaxes{->}(0,0)(-2,0)(2,4)
-\psset{linewidth=2\pslinewidth}
-\psplot[linecolor=gray]{-2}{2}{x 2 exp}
-\psplot{-2}{2}{2 x 2 div sub}
-\psset{PointSymbol=o}
-\pstInterFF{2 x 2 div sub}{x 2 exp}{1}{M_1}
-\pstInterFF{2 x 2 div sub}{x 2 exp}{-2}{M_0}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL.tex
deleted file mode 100644
index a900ddd0ceb..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\psset{unit=.8}
-\begin{pspicture}(-3,-1.5)(3,4)%\psgrid
- \input{Exemples/interFL_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL_in.tex
deleted file mode 100644
index 85a05562651..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/interFL_in.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\def\F{x 3 exp 3 div x sub 2 3 div add .0001 add}
-\psaxes{->}(0,0)(-3,-1)(3,4)
-\psplot[linewidth=2\pslinewidth, linecolor=gray]{-2.5}{2.5}{\F}
-\psset{PointSymbol=*}
-\pstGeonode[PosAngle={-45,0}](0,-.2){N}(2.5,1){M}
-\pstLineAB[nodesepA=-3cm]{N}{M}
-\psset{PointSymbol=o}
-\pstInterFL{\F}{N}{M}{2}{A}
-\pstInterFL[PosAngle=90]{\F}{N}{M}{0}{A'}
-\pstInterFL{\F}{N}{M}{-2}{A''} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator.tex
deleted file mode 100644
index 9a3e17deda0..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\begin{pspicture}(6,6)\psgrid
- \input{Exemples/mediator_in}
-\end{pspicture}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator_in.tex
deleted file mode 100644
index efc7c53eaa6..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/mediator_in.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\pstTriangle[PointSymbol=none](3.5,1){A}(1,4){B}(5,4.2){C}
-\psset{linecolor=red, CodeFigColor=red, nodesep=-1}
-\pstMediatorAB[PointSymbolA=none]{A}{B}{I}{M_I}
-\psset{PointSymbol=none, PointNameB=none}
-\pstMediatorAB[CodeFig=true]
- {A}{C}{J}{M_J}
-\pstMediatorAB[PosAngleA=45, linecolor=blue]
- {C}{B}{K}{M_K}
-
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu.tex
deleted file mode 100644
index 02687041b3c..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-3,-2)(2,2)\psgrid
- \input{Exemples/milieu_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu_in.tex
deleted file mode 100644
index f4d9ae815db..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/milieu_in.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\pstTriangle[PointSymbol=none](1,1){A}(-1,-1){B}(-2,1){C}
-\pstMiddleAB{A}{B}{C'}
-\pstMiddleAB{C}{A}{B'}
-\pstMiddleAB{B}{C}{A'}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij.tex
deleted file mode 100644
index 82379389f36..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-{\psset{unit=.7}
-\begin{pspicture*}(-4,-4)(4,4)%\psgrid
- \input{Exemples/oij_in}
-\end{pspicture*}
-} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij_in.tex
deleted file mode 100644
index 9fb0c9c59a6..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/oij_in.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\pstGeonode[PosAngle={-135,-90,180}]{O}(1,0.5){I}(0.5,2){J}
-\pstLineAB[nodesep=10]{O}{I}
-\pstLineAB[nodesep=10]{O}{J}
-\multips(-5,-2.5)(1,0.5){11}{\psline(0,-.15)(0,.15)}
-\multips(-2,-8)(0.5,2){9}{\psline(-.15,0)(.15,0)}
-\psset{linestyle=dotted}%
-\multips(-5,-2.5)(1,0.5){11}{\psline(-10,-40)(10,40)}
-\multips(-2,-8)(0.5,2){9}{\psline(-10,-5)(10,5)}
-\psset{PointSymbol=x, linestyle=solid}
-\pstOIJGeonode[PosAngle={-90,0}, CurveType=curve,
- linecolor=red]
- (3,1){A}{O}{I}{J}(-2,1){B}(-1,-1.5){C}(2,-1){D}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre.tex
deleted file mode 100644
index 8263598c070..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-2,-2)(3.5,2)\psset{CodeFig=true, unit=.75}\psgrid
- \input{Exemples/orthocentre_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre_in.tex
deleted file mode 100644
index 9dddcf7ac65..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthocentre_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\psset{CodeFig=true, PointSymbol=none}
-\pstTriangle[PosAngleA=180](-1,0){A}(3,-1){B}(3,2){C}
-\pstProjection[PosAngle=-90]{B}{A}{C}
-\pstProjection{B}{C}{A}
-\pstProjection[PosAngle=90]{A}{C}{B}
-\pstInterLL[PosAngle=135, PointSymbol=square]
- {A}{A'}{B}{B'}{H}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper.tex
deleted file mode 100644
index 7ebbbf6e642..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-11,-10)(11,10)\psframe(-11,-10)(11,10)%\psgrid
- \input{Exemples/orthoethyper_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper_in.tex
deleted file mode 100644
index fcb7a737be0..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/orthoethyper_in.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\psset{linecolor=blue, linewidth=2\pslinewidth}
-\psplot{-10}{-.1}{1 x div}
-\psplot{.1}{10}{1 x div}
-\psset{PointSymbol=none, linewidth=.5\pslinewidth}
-\pstTriangle[linecolor=magenta, PosAngleB=-85, PosAngleC=-90](.2,5){A}(1,1){B}(10,.1){C}
-%\pstTriangle[linecolor=magenta, PosAngleB=-135](.2, 5){A}(-1,-1){B}(10,.1){C}
-\psset{linecolor=magenta, CodeFig=true, CodeFigColor=red}
-\pstProjection{B}{A}{C}
-\ncline[nodesepA=-1, linestyle=dashed, linecolor=magenta]{C'}{B}
-\pstProjection{B}{C}{A}
-\ncline[nodesepA=-1, linestyle=dashed, linecolor=magenta]{A'}{B}
-\pstProjection{A}{C}{B}
-\pstInterLL[PosAngle=135, PointSymbol=square]{A}{A'}{B}{B'}{H}
-\psset{linecolor=green, nodesep=-1}
-\pstLineAB{A}{H}\pstLineAB{B'}{H}\pstLineAB{C}{H}
-\psdot[dotstyle=square](H)
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole.tex
deleted file mode 100644
index 094b6ca2efd..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\begin{pspicture}[shift=*](0,.5)(11,10.5)%\psgrid
- \psframe(0,.5)(11,10.5)
- \input{Exemples/parabole_in.tex}
-\end{pspicture} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole_in.tex
deleted file mode 100644
index 172fb51e113..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/parabole_in.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-\psset{linewidth=1.2\pslinewidth}\renewcommand{\NbPt}{11}
-\pstGeonode[PosAngle={0,-90}](5,4){O}(1,2){A}(9,1.5){B}
-\newcommand{\Parabole}[1][100]{%
- \pstLineAB[nodesep=-.9, linecolor=green]{A}{B}
- \psset{RotAngle=90, PointSymbol=none, PointName=none}
- \multido{\n=1+1}{\NbPt}{%
- \pstHomO[HomCoef=\n\space \NbPt\space 1 add div]{A}{B}[M\n]
- \pstMediatorAB[linestyle=none]{M\n}{O}{M\n_I}{M\n_IP}
- \pstRotation{M\n}{A}[M\n_P]
- \pstInterLL[PointSymbol=square, PointName=none]{M\n_I}{M\n_IP}{M\n}{M\n_P}{P_\n}
- \ifnum\n=#1
- \bgroup
- \pstRightAngle{A}{M\n}{M\n_P}
- \psset{linewidth=.5\pslinewidth, nodesep=-1, linecolor=blue}
- \pstLineAB{M\n_I}{P_\n}\pstLineAB{M\n}{P_\n}
- \pstRightAngle{P_\n}{M\n_I}{M\n}
- \psset{linecolor=red}\pstSegmentMark{M\n}{M\n_I}\pstSegmentMark{M\n_I}{O}
- \egroup
- \fi}}%fin multido-newcommand
-\Parabole[2]\pstGenericCurve[linecolor=magenta]{P_}{1}{\NbPt}
-%% Nouvelle parabole avec un nouveau point B
-\pstGeonode[PointSymbol=*, PosAngle=-90](10,3.5){B}
-\psset{linestyle=dashed}
-\Parabole\pstGenericCurve[linecolor=magenta]{P_}{1}{\NbPt}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection.tex
deleted file mode 100644
index c5b56aaf7e7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-3,-2)(2,2)\psgrid
- \input{Exemples/projection_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection_in.tex
deleted file mode 100644
index 1db01dec23a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/projection_in.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-\psset{PointSymbol=none,CodeFig=true, CodeFigColor=red}
-\pstTriangle(1,1){A}(-2,1){C}(-1,-1){B}
-\pstProjection{A}{B}{C}[I]
-\pstProjection{A}{C}{B}[J]
-\pstProjection{C}{B}{A}[K]
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat.tex
deleted file mode 100644
index dea19de574a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-7,-6)(5,5)%\psgrid
- \input{Exemples/ptfermat_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat_in.tex
deleted file mode 100644
index bc4754b3f70..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/ptfermat_in.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\psset{PointSymbol=none, PointName=none}
-\pstTriangle[PosAngleA=-160, PosAngleB=90, PosAngleC=-25]%
- (-3,-2){B}(0,3){A}(2,-1){C}%
-\psset{RotAngle=-60}
-\pstRotation[PosAngle=-90]{B}{C}[A']
-\pstRotation{C}{A}[B']
-\pstRotation[PosAngle=160]{A}{B}[C']
-\pstLineAB{A}{B'}
-\pstLineAB{C}{B'}
-\pstLineAB{B}{A'}
-\pstLineAB{C}{A'}
-\pstLineAB{B}{C'}
-\pstLineAB{A}{C'}
-\pstCircleABC[linecolor=red]{A}{B}{C'}{O_1}
-\pstCircleABC[linecolor=blue]{A}{C}{B'}{O_2}
-\pstCircleABC[linecolor=Aquamarine]{A'}{C}{B}{O_3}
-\pstInterCC[PointSymbolA=none]{O_1}{A}{O_2}{A}{E}{F}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq.tex
deleted file mode 100644
index 5f25c33e1a3..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\begin{pspicture}(-3,-2)(3,3)%\psgrid
- \input{Exemples/remarq_in}
-\end{pspicture}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "~/TeX/Inputs/Doc/Euclide/euclide"
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq_in.tex
deleted file mode 100644
index 333a7a23e1a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/remarq_in.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\psset{PointSymbol=none}
-\pstTriangle[PointSymbol=none](-2,-1){A}(1,2){B}(2,0){C}
-% les médiatrices
-{% encapsulation de modif paramètres
- \psset{linestyle=none, PointNameB=none}
- \pstMediatorAB{A}{B}{K}{KP}
- \pstMediatorAB[PosAngleA=-40]{C}{A}{J}{JP}
- \pstMediatorAB[PosAngleA=75]{B}{C}{I}{IP}
-}% fin
-\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O}
-{% encapsulation de modif paramètres
- \psset{nodesep=-.8, linecolor=green}
- \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K}
-}% fin
-\pstCircleOA[linecolor=red]{O}{A}
-% pour que le symbol de O soit sur et non sous les droites
-\psdot[dotstyle=square](O)
-% les hauteurs et l'orthocentre
-\pstProjection{B}{A}{C}
-\pstProjection{B}{C}{A}
-\pstProjection{A}{C}{B}
-\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'}
-\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H}
-% les médianes et le centre de gravité
-\psset{linecolor=magenta}\ncline{A}{I}\ncline{C}{K}\ncline{B}{J}
-\pstCGravABC[PointSymbol=square, PosAngle=95]{A}{B}{C}{G}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation.tex
deleted file mode 100644
index 8c6e75d59c4..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid%
- \input{Exemples/rotation_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation_in.tex
deleted file mode 100644
index aa94079d041..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/rotation_in.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\psset{arrowscale=2}
-\pstGeonode[PosAngle=-135](-1.5,-.2){A}(.5,.2){B}(0,-2){D}
-\pstRotation[PosAngle=90, RotAngle=60, CodeFig=true,
- CodeFigColor=blue,
- TransformLabel=\frac{\pi}{3}]{A}{B}[C]
-\pstRotation[AngleCoef=.5, RotAngle=\pstAngleAOB{B}{A}{C},
- CodeFigColor=red, CodeFig=true,
- TransformLabel=\frac{1}{2}\widehat{BAC}]{A}{D}[E] \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark.tex
deleted file mode 100644
index 13820387da8..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/segmentmark_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark_in.tex
deleted file mode 100644
index ef41b925093..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/segmentmark_in.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-\rput{18}{%
- \pstGeonode[PosAngle={0,90,180,-90}](2,0){A}(2;72){B}
- (2;144){C}(2;216){D}(2;288){E}}
-\pstSegmentMark{A}{B}
-\pstSegmentMark[linecolor=green]{B}{C}
-\psset{linewidth=2\pslinewidth}
-\pstSegmentMark[linewidth=2\pslinewidth]{C}{D}
-\pstSegmentMark{D}{E}
-\pstSegmentMark{E}{A} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale.tex
deleted file mode 100644
index 25b895898a4..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/symcentrale_in}
-\end{pspicture} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale_in.tex
deleted file mode 100644
index 3b593412700..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symcentrale_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\psset{CodeFig=true}
-\pstGeonode[PosAngle={20,90,0}]{O}(-.6,1.5){A}(1.6,-.5){B}
-\pstSymO[CodeFigColor=blue, PosAngle={-90,180}]{O}{A, B}[C, D]
-%\pstSymO[SegmentSymbol=pstslash, PosAngle=180]
-% {O}{B}{D}
-\pstLineAB{A}{B}\pstLineAB{C}{D}
-\pstLineAB{A}{D}\pstLineAB{C}{B}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale.tex
deleted file mode 100644
index 66d51da160e..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\psset{unit=.6}%
-\begin{pspicture}(0,-2)(8,7)\psgrid
- \input{Exemples/symorthogonale_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale_in.tex
deleted file mode 100644
index ce41b552ffa..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/symorthogonale_in.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\pstTriangle(1,3){B}(5,5){C}(4,1){A}
-\pstOrtSym{A}{B}{C}[D]
-\psset{CodeFig=true}
-\pstOrtSym[dash=2mm 2mm, CodeFigColor=red]
- {C}{B}{A}
-\pstOrtSym[SegmentSymbol=pstslash, linestyle=dotted,
- dotsep=3mm, CodeFigColor=blue]
- {C}{A}{B}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c.tex
deleted file mode 100644
index 80c5c562820..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(15,10)%\psgrid
- \input{Exemples/tg1c_in.tex}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c_in.tex
deleted file mode 100644
index 9b934d0e80b..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg1c_in.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\pstGeonode(5, 5){O}(14,2){M}
-\pstCircleOA[Radius=\pstDistVal{4}]{O}{}
-\pstMiddleAB[PointSymbol=none, PointName=none]{O}{M}{O'}
-\pstInterCC[RadiusA=\pstDistVal{4}, DiameterB=\pstDistAB{O}{M},
- CodeFigB=true, CodeFigColor=magenta, PosAngleB=45]
- {O}{}{O'}{}{A}{B}
-\psset{linecolor=red, linewidth=1.3\pslinewidth, nodesep=-2}
-\pstLineAB{M}{A}\pstLineAB{M}{B}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c.tex
deleted file mode 100644
index 9b02a99bd37..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\begin{pspicture}(-2,0)(13,9)%\psgrid
- \input{Exemples/tg2c_in}
-\end{pspicture}
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c_in.tex
deleted file mode 100644
index 53015c9f722..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/tg2c_in.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\pstGeonode(9,3){O}(3,6){O'}\psset{PointSymbol=none, PointName=none}
-\pstCircleOA[Radius=\pstDistVal{3}]
- {O}{}\pstCircleOA[Radius=\pstDistVal{1}]{O'}{}
-\pstInterLC[Radius=\pstDistVal{3}]{O}{O'}{O}{}{M}{toto}
-\pstInterLC[Radius=\pstDistVal{1}]{O}{O'}{O'}{}{M'}{toto}
-\pstRotation[RotAngle=30]{O}{M}[N]
-\pstRotation[RotAngle=30]{O'}{M'}[N']
-\pstInterLL[PointSymbol=default, PointName=\Omega]{O}{O'}{N}{N'}{Omega}
-\pstMiddleAB{O}{Omega}{I}
-\pstInterCC{I}{O}{O}{M}{A}{B}
-\psset{nodesepA=-1, nodesepB=-3, linecolor=blue, linewidth=1.3\pslinewidth}
-\pstLineAB[nodesep=-2]{A}{Omega}\pstLineAB[nodesep=-2]{B}{Omega}
-\pstRotation[RotAngle=-150]{O'}{M'}[N'']
-\pstInterLL[PointSymbol=default, PointName=\Omega']{O}{O'}{N}{N''}{Omega'}
-\pstMiddleAB{O}{Omega'}{J}
-\pstInterCC{J}{O}{O}{M}{A'}{B'}
-\psset{nodesepA=-1, nodesepB=-3, linecolor=red}
-\pstLineAB{A'}{Omega'}\pstLineAB{B'}{Omega'}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation.tex
deleted file mode 100644
index 1e71eece32a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid%
- \input{Exemples/translation_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation_in.tex
deleted file mode 100644
index a35bd545b00..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/translation_in.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-\psset{linecolor=green, nodesep=-1, PosAngle=90,arrowscale=2}
-\pstGeonode(-1.5,-1.2){A}(.5,-.8){B}(.5,1){C}(-1,0){D}(-2,-2){E}
-\pstTranslation{B}{A}{C}
-\psset{CodeFig=true, TransformLabel=default}
-\pstTranslation{A}{B}{D}
-\pstTranslation[DistCoef=1.5]{A}{B}{E}
-\pstLineAB{A}{B}\pstLineAB{C}{C'}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.ps b/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.ps
deleted file mode 100644
index 8e69bb05ea6..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.ps
+++ /dev/null
@@ -1,1423 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software
-%%Title: triangle.dvi
-%%Pages: 1
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 595 842
-%%DocumentFonts: CMMI10 CMR10
-%%DocumentPaperSizes: a4
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips triangle.dvi
-%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2005.10.05:2257
-%%BeginProcSet: tex.pro 0 0
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: pstricks.pro 0 0
-%!
-% PostScript prologue for pstricks.tex.
-% Version 1.00, 2005/09/18
-% For distribution, see pstricks.tex.
-%
-/tx@Dict 200 dict def tx@Dict begin
-/ADict 25 dict def
-/CM { matrix currentmatrix } bind def
-/SLW /setlinewidth load def
-/CLW /currentlinewidth load def
-/CP /currentpoint load def
-/ED { exch def } bind def
-/L /lineto load def
-/T /translate load def
-/TMatrix { } def
-/RAngle { 0 } def
-/Atan { /atan load stopped { pop pop 0 } if } def
-/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
-/Div { dup 0 eq { pop } { div } ifelse } def % control the division
-/NET { neg exch neg exch T } def % change coordinate system to the negative one
-/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, epects 2 parameter
-/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
-%----------------- hv added 20050516 ---------------
-/Pi 3.14159265359 def
-/TwoPi 6.28318530718 def
-/Euler 2.71828182846 def
-/RadtoDeg { 180 mul Pi div } def % convert from radian to degrees
-/DegtoRad { Pi mul 180 div } def % viceversa
-%----------------- hv end---------------------------
-/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
-/PathLength { flattenpath /z 0 def
- { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
- }{ /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }
- /pathforall load stopped { pop pop pop pop } if z } def
-/STP { .996264 dup scale } def
-/STV { SDict begin normalscale end STP } def
-%
-%%-------------- DG begin patch 15 ---------------%%
-%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
-%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
-%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
-%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
-%0 } ifelse setdash stroke } def
-/DashLine {
- dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse
- /b ED /x1 ED /y1 ED /x ED /y ED
- /z y x add y1 add x1 add def
- /Coef b a .5 sub 2 mul y mul sub z Div round
- z mul a .5 sub 2 mul y mul add b exch Div def
- /y y Coef mul def
- /x x Coef mul def
- /y1 y1 Coef mul def
- /x1 x1 Coef mul def
- x1 0 gt y1 0 gt or x 0 gt or y 0 gt and
- { [ y x y1 x1 ] 1 a sub y mul }
- { [ 1 0 ] 0 } ifelse
- setdash stroke
-} def
-%%-------------- DG end patch 15 ---------------%%
-/DotLine {
- /b PathLength def
- /a ED /z ED /y CLW def
- /z y z add def
- a 0 gt {
- /b b a div def
- }{
- a 0 eq {
- /b b y sub def
- }{ a -3 eq {
- /b b y add def } if
- } ifelse
- } ifelse
- [ 0 b b z Div round Div dup 0 le { pop 1 } if ]
- a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
- setdash 1 setlinecap stroke
-} def
-%
-/LineFill { % hv ------------ patch 7 -------------
- gsave
- abs /hatchWidthInc ED
- abs /hatchSepInc ED
- abs CLW add /a ED
- a 0 dtransform round exch round exch
- 2 copy idtransform
- exch Atan rotate
- idtransform pop /a ED
- .25 .25 itransform pathbbox
- /y2 ED
- a Div ceiling cvi /x2 ED /y1 ED
- a Div cvi /x1 ED /y2 y2 y1 sub def
- clip
- newpath
- 2 setlinecap
- systemdict
- /setstrokeadjust known { true setstrokeadjust } if
- x2 x1 sub 1 add {
- x1 a mul y1 moveto 0 y2 rlineto stroke
- /x1 x1 1 add
- hatchWidthInc 0 gt { CLW add } if
- def
- hatchSepInc 0 gt hatchWidthInc 0 gt or {
- /a a hatchSepInc add def
- CLW hatchWidthInc add SLW
- } if
- } repeat
- grestore
- pop pop } def
-%
-%gsave abs CLW add /a ED a 0 dtransform round exch round exch
-%2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
-%% DG/SR modification begin - Dec. 12, 1997 - Patch 2
-%%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
-%itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
-%% DG/SR modification end
-%Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
-%/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
-%% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
-%% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
-%% def
-%a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
-%pop pop } def
-%% DG/SR modification end
-%
-/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg
-exch 3 index sub exch Atan rotate newpath } def
-/EndArrow { @mtrx setmatrix CP grestore end } def
-/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1
-scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill
-grestore } def
-/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0
-CLW moveto } def
-/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2
-div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0
-CLW moveto } def
-/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW
-2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0
-curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }
-def
-/SD { 0 360 arc fill } def
-/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS
-CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def
-/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
-/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
-load } if ] cvx newpath 3 1 roll T exec } def
-/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch
-cvi def } def
-/NArray { % holds the coordinates and on top of stack the showpoints boolean
- /f ED
- counttomark 2 div dup cvi /n ED
- n eq not { exch pop } if
- f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
-} def
-/Line {
- NArray n 0 eq not
- { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
- n { Lineto } repeat
- CP 4 2 roll ArrowB L pop pop
- } if
-} def
-/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }
- ifelse { pop } repeat a } def
-/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
- and { pop pop /n n 1 sub def } if } def
-/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
- repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
- ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
- moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
- Lineto pop pop closepath } ifelse } def
-/Diamond {
- /mtrx CM def
- T rotate
- /h ED
- /w ED
- dup 0 eq { pop } { CLW mul neg
- /d ED
- /a w h Atan def
- /h d a sin Div h add def
- /w d a cos Div w add def } ifelse
- mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
- /ArrowA { moveto } def
- /ArrowB { } def
- false Line
- closepath mtrx setmatrix } def
-% DG modification begin - Jan. 15, 1997
-%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
-%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
-%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
-%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
-%setmatrix } def
-/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup
-CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
-div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0
-d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
-% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
-% setmatrix } def
-setmatrix pop } def
-% DG/SR modification end
-/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
-def } def
-/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
-def } def
-/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1
-def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp
-mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos
-abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def
-/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul
-m mul neg def } def
-/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }
-ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }
-def
-/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
-/NC { CC x1 y1 x2 y2 x y curveto } def
-/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
-/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
-/NAC { x2 y2 x y curveto CC x1 y1 } def
-/EAC { x2 y2 x y ArrowB curveto pop pop } def
-/OpenCurve {
- NArray n 3 lt
- { n { pop pop } repeat }
- { BOC /n n 3 sub def n { NC } repeat EOC } ifelse
-} def
-/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload
-/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop
-pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def
-/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {
-CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }
-repeat closepath pop pop } ifelse } def
-/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
-/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
-/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }
-def
-/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix
-rotate matrix concatmatrix exch findfont exch makefont setfont } def
-/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto
-x1 y1 lineto closepath } def
-/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1
-y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div
-exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse
-/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto
-x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }
-ifelse } def
-/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add
-/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {
-pop pop Rect } { OvalFrame } ifelse } def
-/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop
-} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]
-aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
-/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6
-2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }
-ifelse } def
-/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {
-6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def
-/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1
-sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }
-def
-/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1
-sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA
-x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0
-y0 x0 2 mul x1 sub y1 ] def } def
-/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }
-if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if
-/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div
-round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div
-round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub
-0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def
-/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }
-if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }
-{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
-exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n
-div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1
-dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {
-dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {
-pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup
-stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}
-{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i
-w add def } repeat grestore gsave n 0 gt
-% DG/SR modification begin - Nov. 7, 1997 - Patch 1
-%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
-{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
-% DG/SR modification end
-{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul
-n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n
-div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop
-1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs
-dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt
-{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g
-exch t L stroke /i i h add def } repeat grestore } def
-/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0
-1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add
-exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
-mul neg d } def
-/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def
-%
-/ArcAdjust {
-% given a target length (targetLength) and an initial angle (angle0) [in the stack],
-% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
-% This computes an angle t such that (x0,y0) is at distance targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
-% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
-% contrary to TvZ's code.
-% To achieve, this, one iterates the following process: start with some angle t,
-% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
-% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
-%
-% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
-% the value of d = add/sub is used to know on which side we have to move.
-% It is only used in the initialisation of the angle before the iteration.
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Input stack: 1: target length 2: initial angle
-% variables used : rx, ry, d (=add/sub)
-%
- /targetLength ED /angle0 ED
- /x0 rx angle0 cos mul def
- /y0 ry angle0 sin mul def
-% we are looking for an angle t such that (x0,y0) is at distance targetLength from the point M(t)=(rx*cos(t),ry*sin(t)))
-%initialisation of angle (using 1st order approx = TvZ's code)
- targetLength 57.2958 mul
- angle0 sin rx mul dup mul
- angle0 cos ry mul dup mul
- add sqrt div
-% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
-% (if the ellipse is very curved at the point where we draw the arrow, the value can be much more than 360 degrees !)
-% this should avoid going on the wrong side (more than 180 degrees) or go near
-% a bad attractive point (at 180 degrees)
- dup 90 ge { pop 90 } if
- angle0 exch d
-% maximum number of times to iterate the iterative procedure:
- 30
-% iterative procedure: takes an angle t on top of stack, computes a better angle (an put it on top of stack)
- { dup
-% compute distance D between (x0,y0) and M(t)
- dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
-% if D almost equals targetLength, we stop
- dup targetLength sub abs 1e-5 le { pop exit } if
-% stack now contains D t
-% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
-% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
- exch dup cos rx mul x0 sub exch sin ry mul y0 sub
-% stack contains: y(t)-y0, x(t)-x0, d
- 2 index Div targetLength mul y0 add ry Div exch
- 2 index Div targetLength mul x0 add rx Div
-% stack contains x(t')/rx , y(t')/ry , d
-% now compute t', and remove D from stack
- atan exch pop
- } repeat
-% we don't look at what happened... in particular, if targetLength is greater than the diameter of the ellipse...
-% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
-%after iteration, stack contains an angle t such that M(t) is the tail of the arrow
-% to give back the result as a an angle relative to angle0 we could add the following line:
-% angle0 sub 0 exch d
-%
-} def
-%
-/EllipticArcArrow {
- /d ED % add/sub
- /b ED % arrow procedure
- /a1 ED % angle
- gsave
- newpath
- 0 -1000 moveto
- clip % Set clippath far from arrow.
- newpath
- 0 1 0 0 b % Draw arrow to determine length.
- grestore
-% Length of arrow is on top of stack. Next 3 numbers are junk.
-%
- a1 exch ArcAdjust % Angular position of base of arrow.
- /a2 ED
- pop pop pop
- a2 cos rx mul x add
- a2 sin ry mul y add
- a1 cos rx mul x add
- a1 sin ry mul y add
-% Now arrow tip coor and base coor are on stack.
- b pop pop pop pop % Draw arrow, and discard coordinates.
- a2 CLW 8 div
-% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
- 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
- ArcAdjust
-% resets original value of d
- 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
-} def
-%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
-%
-/Rot { CP CP translate 3 -1 roll neg rotate NET } def
-/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }
-def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle
-dup a add ] cvx def } def
-/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]
-cvx def } def
-/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
-/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
-/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
-/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s
-abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b
-div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {
-h1 abs h sub dup s mul abs } ifelse } def
-/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s
-mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q
-{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add
-exch } def
-/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible
-/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def
-} if } ifelse } def
-/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
-/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit
-neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def
-/IfVisible true def } def
-end
-% END pstricks.pro
-
-%%EndProcSet
-%%BeginProcSet: pst-dots.pro 0 0
-%!PS-Adobe-2.0
-%%Title: Dot Font for PSTricks
-%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>
-%%Creation Date: May 7, 1993
-%% Version 97 patch 1, 99/12/16
-%% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999
-%% to add /Diamond, /SolidDiamond and /BoldDiamond
-10 dict dup begin
- /FontType 3 def
- /FontMatrix [ .001 0 0 .001 0 0 ] def
- /FontBBox [ 0 0 0 0 ] def
- /Encoding 256 array def
- 0 1 255 { Encoding exch /.notdef put } for
- Encoding
- dup (b) 0 get /Bullet put
- dup (c) 0 get /Circle put
- dup (C) 0 get /BoldCircle put
- dup (u) 0 get /SolidTriangle put
- dup (t) 0 get /Triangle put
- dup (T) 0 get /BoldTriangle put
- dup (r) 0 get /SolidSquare put
- dup (s) 0 get /Square put
- dup (S) 0 get /BoldSquare put
- dup (q) 0 get /SolidPentagon put
- dup (p) 0 get /Pentagon put
- dup (P) 0 get /BoldPentagon put
-% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
- dup (l) 0 get /SolidDiamond put
- dup (d) 0 get /Diamond put
- (D) 0 get /BoldDiamond put
-% DG/SR modification end
- /Metrics 13 dict def
- Metrics begin
- /Bullet 1000 def
- /Circle 1000 def
- /BoldCircle 1000 def
- /SolidTriangle 1344 def
- /Triangle 1344 def
- /BoldTriangle 1344 def
- /SolidSquare 886 def
- /Square 886 def
- /BoldSquare 886 def
- /SolidPentagon 1093.2 def
- /Pentagon 1093.2 def
- /BoldPentagon 1093.2 def
-% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
- /SolidDiamond 1008 def
- /Diamond 1008 def
- /BoldDiamond 1008 def
-% DG/SR modification end
- /.notdef 0 def
- end
- /BBoxes 13 dict def
- BBoxes begin
- /Circle { -550 -550 550 550 } def
- /BoldCircle /Circle load def
- /Bullet /Circle load def
- /Triangle { -571.5 -330 571.5 660 } def
- /BoldTriangle /Triangle load def
- /SolidTriangle /Triangle load def
- /Square { -450 -450 450 450 } def
- /BoldSquare /Square load def
- /SolidSquare /Square load def
- /Pentagon { -546.6 -465 546.6 574.7 } def
- /BoldPentagon /Pentagon load def
- /SolidPentagon /Pentagon load def
-% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
- /Diamond { -428.5 -742.5 428.5 742.5 } def
- /BoldDiamond /Diamond load def
- /SolidDiamond /Diamond load def
-% DG/SR modification end
- /.notdef { 0 0 0 0 } def
- end
- /CharProcs 20 dict def
- CharProcs begin
- /Adjust {
- 2 copy dtransform floor .5 add exch floor .5 add exch idtransform
- 3 -1 roll div 3 1 roll exch div exch scale
- } def
- /CirclePath { 0 0 500 0 360 arc closepath } def
- /Bullet { 500 500 Adjust CirclePath fill } def
- /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath
- eofill } def
- /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath
- eofill } def
- /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def
- /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto
- closepath } def
- /SolidTriangle { TrianglePath fill } def
- /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def
- /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def
- /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto
- -450 -450 lineto closepath } def
- /SolidSquare { SquarePath fill } def
- /Square { SquarePath .89 .89 scale SquarePath eofill } def
- /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def
- /PentagonPath {
- -337.8 -465 moveto
- 337.8 -465 lineto
- 546.6 177.6 lineto
- 0 574.7 lineto
- -546.6 177.6 lineto
- closepath
- } def
- /SolidPentagon { PentagonPath fill } def
- /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def
- /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def
-% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
- /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto
- 428.5 0 lineto closepath } def
- /SolidDiamond { DiamondPath fill } def
- /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def
- /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def
-% DG/SR modification end
- /.notdef { } def
- end
- /BuildGlyph {
- exch
- begin
- Metrics 1 index get exec 0
- BBoxes 3 index get exec
- setcachedevice
- CharProcs begin load exec end
- end
- } def
- /BuildChar {
- 1 index /Encoding get exch get
- 1 index /BuildGlyph get exec
- } bind def
-end
-/PSTricksDotFont exch definefont pop
-%END pst-dots.pro
-
-%%EndProcSet
-%%BeginProcSet: pst-node.pro 0 0
-%!
-% PostScript prologue for pst-node.tex.
-% Version 97 patch 1, 97/05/09.
-% For distribution, see pstricks.tex.
-%
-/tx@NodeDict 400 dict def tx@NodeDict begin
-tx@Dict begin /T /translate load def end
-/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }
-if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end
-grestore } def
-/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def
-} def
-/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch
-Sin mul } def } def
-/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def
-} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def }
-ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx
-dup Sin mul Cos Div } ifelse } def
-/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub
-/u ED /NodePos { GetRnodePos } def } def
-/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
-Cos mul exch Sin mul } def
-/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h
-mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul
-} ifelse } def
-/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d
-ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d
-sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan
-sin def /NodePos { TriNodePos } def } def
-/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos
-hh mul Atan dup cos ww mul exch sin hh mul } def
-/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
-/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist
-Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }
-{ 0 Dist Sin mul } ifelse } ifelse Do } def
-/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform
-exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx
-dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop
-XYPos } ifelse } def
-/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1
-roll sin mul sub exch } ifelse } def
-/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA
-AddOffset yA add /yA1 ED xA add /xA1 ED } def
-/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB
-AddOffset yB add /yB1 ED xB add /xB1 ED } def
-/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA
-AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED
-ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED
-} ifelse } def
-/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB
-AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED
-ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED
-} ifelse } def
-/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED
-/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b
-known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA
-ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def
-/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub
-mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def
-/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt
-{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop
-} repeat LPutLine cleartomark } def
-/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED
-/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3
-mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx
-sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul
-add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add
-y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul
-mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def
-/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
-} def
-/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
-/NAngle yyB yyA sub xxB xxA sub Atan def } def
-/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
-/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
-} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
-} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
-} def
-/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
-} def
-/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
-/NAngle yyB yyA sub xxB xxA sub Atan def } def
-/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
-/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
-} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
-exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
-VPosEnd } def
-/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
-roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
-def grestore exec /LPutVar /SaveLPutVar load def } def
-/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
-GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
-LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
-LPutVar VPutLine } def LPutVar } def
-/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop
-end } def
-/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub
-Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan
-/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1
-yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {
-LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
-ifelse } def
-/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
-roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
-GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
-begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
-cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
-} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
-/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
-def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx
-itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2
-yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1
-yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def
-/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def
-/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2
-yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
-/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1
-tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]
-cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
-VPutLines } def } def
-/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def
-xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx
-transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }
-{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB
-0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict
-begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx
-def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
-VPutLines } def } def
-/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if
-xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end
-/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
-LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
-def
-/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
-GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin
-false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
-LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
-def
-/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
-def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2
-mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3
-mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2
-xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false
-Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]
-cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
-VPutLines } def } def
-% DG/SR modification begin - May 9, 1997 - Patch 1
-%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
-%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
-%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
-%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
-/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r
-r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
-exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
-mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
-% DG/SR modification end
-} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add
-AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r
-Div def /y ED /x ED } def
-/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB
-180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos
-mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def
-/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy
-add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos
-{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar
-tx@Dict begin false Polygon end } def
-/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan
-def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2
-mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
-/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div
-def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def
-GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul
-sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0
-eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }
-{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def
-0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2
-roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0
-0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2
-roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }
-ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos
-{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {
-r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }
-{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add
-add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub
-mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t
-sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse
-y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {
-LPutPos } def } def
-/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
-sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
-ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
-w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
-{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
-{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
-def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
-/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
-/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg
-exch X sub neg exch moveto setmatrix CP grestore } def
-/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0
-def } ifelse LPutCoor } def
-/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }
-if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }
-ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }
-def
-/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if
-r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }
-ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }
-def
-end
-% END pst-node.pro
-
-%%EndProcSet
-%%BeginProcSet: pst-eucl.pro 0 0
-%!
-% PostScript prologue for pst-eucl.tex.
-% Version 2001, 2001/12/09
-% For distribution, see pstricks.tex.
-%
-/tx@EcldDict 400 dict def tx@EcldDict begin
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Pi
-/Pi 3.14159265359 def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% e
-/E 2.718281828459045 def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x -> true (if |x| < 1E-10)
-/ZeroEq { abs 1E-10 lt } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x1 y1 x2 y2 -> a b c (ax+by+c=0)
-/EqDr {
- 4 copy 3 -1 roll sub 7 1 roll exch sub 5 1 roll 4 -1 roll
- mul 3 1 roll mul exch sub } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% orthogonal projection of M1 onto (OM2)
-%% x1 y1 x2 y2 -> x3 y3
-/Project {
- 2 copy dup mul exch dup mul add 5 1 roll 2 copy 5 -1 roll mul exch
- 5 -1 roll mul add 4 -1 roll div dup 4 -1 roll mul exch 3 -1 roll mul
-} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a b c (ax2+bx+c=0) -> x1 y1
-/SolvTrin {
- /c exch def /b exch def /a exch def
- b dup mul a c mul 4 mul sub dup 0 lt
- { pop 0 0 } %% no solutions
- {sqrt dup b neg add a 2 mul div exch b add neg 2 a mul div }
- ifelse } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x1 y1 x2 y2 -> Dist
-/ABDist { 3 -1 roll sub dup mul 3 1 roll sub dup mul add sqrt } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x1 y1 x2 y2 -> x1-x2 y1-y2
-/ABVect { 3 -1 roll exch sub 3 1 roll sub exch } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x1 y1 x2 y2 x3 y3 x4 y4 -> x y
-/InterLines {
- EqDr /D1c exch def /D1b exch def /D1a exch def
- EqDr /D2c exch def /D2b exch def /D2a exch def
- D1a D2b mul D1b D2a mul sub dup ZeroEq
- { pop pop pop 0 0 }
- {
- /Det exch def
- D1b D2c mul D1c D2b mul sub Det div
- D1a D2c mul D2a D1c mul sub Det div
- }
- ifelse } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a b c R -> x1 y1 x2 y2
-/InterLineCircle {
- /CR exch def /Dc exch def /Db exch def /Da exch def
- Db Da dup ZeroEq { pop Dc dup ZeroEq { pop 1 } if } if div abs
- 0.0005 lt { InterLineCirclebnull } { InterLineCircleGal }
- ifelse
- %%dup 3 index lt { 4 2 roll } if
- } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% case where the line is parallel to (oy)
-/InterLineCirclebnull {
- Dc Da div neg dup dup mul CR dup mul exch sub dup
- 0 lt
- { pop pop 0 0 0 0 } { sqrt dup 3 1 roll exch dup 4 1 roll exch neg }
- ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% general case
-/InterLineCircleGal {
- Da dup mul Db dup mul add -2 Dc mul Da mul Dc dup mul CR dup mul Db dup
- mul mul sub SolvTrin dup neg exch Da Db div mul Dc Db
- div exch sub 3 -1 roll
- dup neg exch Da Db div mul Dc Db div exch sub
-} bind def
-/Glbx 0 def /Glby 0 def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% R R' OO' -> x1 y1 x2 y2
-/InterCircles {
- /OOP exch def /CRP exch def /CR exch def
- OOP dup mul CRP dup mul sub CR dup mul add OOP div 2 div
- dup dup mul CR dup mul exch sub dup
- 0 lt { pop pop 0 0 0 0 } { sqrt 2 copy neg } ifelse
-} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x y theta -> x' y' (rotation of theta)
-/Rotate {
- dup sin /sintheta exch def cos /costheta exch def /y exch def /x exch def
- x costheta mul y sintheta mul sub
- y costheta mul x sintheta mul add
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% N -> x y
-/GetNode {
- tx@NodeDict begin
- tx@NodeDict 1 index known { load GetCenter } { pop 0 0 } ifelse
- end
-} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x -> ch(x)
-/ch { dup Ex exch neg Ex add 2 div } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x -> sh(x)
-/sh { dup Ex exch neg Ex sub 2 div } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% x -> e^(x)
-/Ex { E exch exp } bind def
-end
-% END ps-euclide.pro
-
-%%EndProcSet
-%%BeginProcSet: texps.pro 0 0
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginProcSet: special.pro 0 0
-%!
-TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
-/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
-/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
-/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
-/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
-X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
-/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
-/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
-{userdict/md get type/dicttype eq{userdict begin md length 10 add md
-maxlength ge{/md md dup length 20 add dict copy def}if end md begin
-/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
-atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
-itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
-transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
-curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
-pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
-if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
--1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
-get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
-yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
-neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
-noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
-90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
-neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
-1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
-2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
--1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
-TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
-Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
-}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
-save N userdict maxlength dict begin/magscale true def normalscale
-currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
-/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
-psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
-psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
-TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
-@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
-newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
-closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
-/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
-currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
-N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
-neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
-rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
-scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
-lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
-ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
-/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
-pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
-restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
-/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
-setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
-moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
-matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
-savematrix setmatrix}N end
-
-%%EndProcSet
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 49 /one put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E
-4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099
-E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634
-5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721
-639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB0342893C0BBC0A879
-B7220832FB50103F72F8B5D98CF223DB1D0EE09EE454D9496C392F12478835E1
-762DF62F2BCF601F3355828AB3963623C4B9BDBBC761B9DE9EDE67C74277FECB
-B3AAEE9240011A2BC34C4879B3673E7EEB374A3FB8ED01FB5FB85AFBC1F7299A
-8371255D51560E1946A50092C8E48F3BF180229FF21A1A79020E4BEB512EABF1
-02AA111461557961E3B891E4FC323C61D497CCCE9D2586EB93DE4D6FB682B960
-B36D5C4AB832F0F8D8CFBA86753A9A919B814D506A80B2A8399C9396D9C94C4B
-74FD9890373C583561A49FBED4F520EFC18DBA2E1BFE377A7B11B3684EFA80F5
-E9122A94423BC3A5B27D8A4FC17EE6DD29
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
-990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
-6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
-DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
-59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
-D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
-8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
-6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
-1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
-03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
-95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
-74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
-3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
-47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
-AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
-42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
-40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
-B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
-9560176671A33FC55340CD04C2DE46FD812FC2711A85D778F691ED261C6E4CC8
-83D1C2D972559E1FF9342B428DD3C5C2FB88B68D19E3784E9E517C0F8FCCD25C
-CB0ADAD7857DDF51CAEE898B5DBC00B9A7FD8A4BEDB26AAACCDA563B112F3E26
-50C1F6B1900BD478E0CBBEFFF13CC3D9B16F254D9EB2733B2B49D439DE6A54A8
-68DB85E0A7F7F007E39A39F929F747B013920F848917433987A6B0F823923AC2
-B22D97AA5D4378DCECF5601F6CE78B5E6867D17DCD42AB76DD58883F03C5D8B0
-B6DC4CD14BE55FB8CE16F6A3583FCE7A6B5705406EDD911C656C73E0116FA869
-6DD716DF9EB842D2C1870BBEC58AE344B8034C6F7DB10B2C1C9B20B842085408
-B0F14CEB23E547AEAA968F0104C96B9D96C922A0EE3635C998B75C64C45A6402
-3BAD86772B7DDDBB4A0D09037815FF3B905500DE32EFB97F7DEBF660DAF37A33
-4DB103A1124DA59B0267EFFDC6C9973747F95038DB72CE0AF4FFCCECEB20C71F
-2E03B82AC8034BB4DEC02FF448024362736B322A57D0626036FC820288AD9D54
-17E1B493512EDD3BAD2283D06F36365E02DFACA42B38C9BC783BB60777B1E4FC
-DE4E5AAB49E0370CCAF61C1378FE6D544F83BE6B054FE95E8BFA83FF9729C5E8
-CA3164CBF45BD6C2B9B28FA366336E5A1E284DE3EA7E18DF14C30F5E4C993AA6
-510174F9FC7943AF5B14997493AA46A7E32E85B05F50AACB93577255EC2D7D98
-644E90F6871A48DFFE92F79056DE4C257A4E0B33B61026F083AA239E1C0E7376
-8C53AC6EECCB11A752AA8451D714983A0810A64626440EFF140C7560809B063B
-8EDE3AB67214110CFD47EBE42950518F56D5B36F69CEFC2C37043D6D9822DCE1
-029423A1C873D5E04A9267A294AB230C0834076C5F9DEA602FF900CDE323F633
-5B8BD1D7F76D8D2CF9586CD073B9E11C04777860A7963629FAED4134B79593E0
-A0F71A5FD98BEDA1B539D496ECED78EE53FD80C713103C569CE94B76768D2A58
-C440C4843D8CDBFBD342C9976118E8EC642A0C9CFF52B558049FB5964580E6B0
-D9D8C34DD4429D5F40BC39F348F4AC56D8DBCBFBDCDD5345D5D747EAB8CE7D62
-001753FBAAA1EBFDA7B44DD4F37C564FB9D17A26EE442DAA42A5C2261CBDD33F
-0AC8064908E25A6D1E554DD1BD99D8243FE4E866EDBF81A782ABF55CBCBF3632
-2167CC4831F8AF19DDBF65F836C4DCC19779F145C14A1E55BAEBA0801F407595
-711AC192605805925F59ABC27FF0644EF979269096A62A01F35ECC1EF977FE68
-7701549F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-TeXDict begin 39139632 55387786 1000 600 600 (triangle.dvi)
-@start /Fa 206[42 49[{}1 83.022 /CMR10 rf /Fb 187[69
-59 63 62 65[{}4 83.022 /CMMI10 rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%PaperSize: A4
- end
-%%EndSetup
-%%Page: 1 1
-TeXDict begin 1 0 bop 994 794 a
- tx@Dict begin tx@NodeDict begin {-35.56592 -35.56592 } false /N@A
-10 {InitPnode } NewNode end end
- 994 794 a @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 2.0 2. CLW mul add
-2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot /Dot
-{ moveto gsave 1. 1. scale (b) show grestore } bind def tx@NodeDict
-begin tx@NodeDict /N@A known { /N@A load GetCenter } { 0 0 } ifelse
-end Dot end
-
-@endspecial 994 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@A known { 10.00002
-45. /N@A load 0 GetEdge 0.0 45. AddOffset /N@A load GetCenter 3 -1
-roll add 3 1 roll add exch } { CP } ifelse end } PutCoor PutBegin
-end
- 994 794 a 994 794
-a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 994 794 a 963 823 a Fb(A)994 794 y
- tx@Dict begin RotEnd end
- 994 794 a 994 794
-a
- tx@Dict begin PutEnd end
- 994 794 a 994 794 a
- tx@Dict begin tx@NodeDict begin {-35.56592 35.56592 } false /N@B 10
-{InitPnode } NewNode end end
- 994 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 2.0 2. CLW mul add
-2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot /Dot
-{ moveto gsave 1. 1. scale (b) show grestore } bind def tx@NodeDict
-begin tx@NodeDict /N@B known { /N@B load GetCenter } { 0 0 } ifelse
-end Dot end
-
-
-@endspecial 994 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@B known { 10.00002
-45. /N@B load 0 GetEdge 0.0 45. AddOffset /N@B load GetCenter 3 -1
-roll add 3 1 roll add exch } { CP } ifelse end } PutCoor PutBegin
-end
- 994 794 a 994 794 a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 994 794 a
-960 823 a Fb(B)994 794 y
- tx@Dict begin RotEnd end
- 994 794 a 994 794 a
- tx@Dict begin PutEnd end
- 994 794
-a 994 794 a
- tx@Dict begin tx@NodeDict begin {35.56592 35.56592 } false /N@C 10
-{InitPnode } NewNode end end
- 994 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 2.0 2. CLW mul add
-2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot /Dot
-{ moveto gsave 1. 1. scale (b) show grestore } bind def tx@NodeDict
-begin tx@NodeDict /N@C known { /N@C load GetCenter } { 0 0 } ifelse
-end Dot end
-
-@endspecial
-994 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@C known { 10.00002
-45. /N@C load 0 GetEdge 0.0 45. AddOffset /N@C load GetCenter 3 -1
-roll add 3 1 roll add exch } { CP } ifelse end } PutCoor PutBegin
-end
- 994 794 a 994 794 a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 994 794 a 961 823 a Fb(C)994
-794 y
- tx@Dict begin RotEnd end
- 994 794 a 994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 994 794 a
- tx@Dict begin tx@NodeDict begin {35.56592 -35.56592 } false /N@D 10
-{InitPnode } NewNode end end
- 994 794
-a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /DS 2.0 2. CLW mul add
-2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 0.0] FontDot /Dot
-{ moveto gsave 1. 1. scale (b) show grestore } bind def tx@NodeDict
-begin tx@NodeDict /N@D known { /N@D load GetCenter } { 0 0 } ifelse
-end Dot end
-
-@endspecial 994 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@D known { 10.00002
-45. /N@D load 0 GetEdge 0.0 45. AddOffset /N@D load GetCenter 3 -1
-roll add 3 1 roll add exch } { CP } ifelse end } PutCoor PutBegin
-end
- 994
-794 a 994 794 a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 994 794 a 958 823 a Fb(D)994 794 y
- tx@Dict begin RotEnd end
- 994
-794 a 994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 994 794 a
- tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto
-} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0
-0.0 0 0 /N@A /N@B InitNC { NCLine } if end gsave 0.8 SLW 0. setgray
-0 setlinecap stroke grestore grestore end
- 994 794 a 994 794
-a
- tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto
-} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0
-0.0 0 0 /N@B /N@C InitNC { NCLine } if end gsave 0.8 SLW 0. setgray
-0 setlinecap stroke grestore grestore end
- 994 794 a 994 794 a
- tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto
-} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0
-0.0 0 0 /N@C /N@D InitNC { NCLine } if end gsave 0.8 SLW 0. setgray
-0 setlinecap stroke grestore grestore end
- 994 794 a 994 794 a
- tx@Dict begin gsave STV newpath 0.8 SLW 0. setgray /ArrowA { moveto
-} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0
-0.0 0 0 /N@D /N@A InitNC { NCLine } if end gsave 0.8 SLW 0. setgray
-0 setlinecap stroke grestore grestore end
- 994 794 a 994
-794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@B known { /N@B load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 994 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray [ tx@EcldDict begin
-/N@A GetNode exch Atan end .4 exch PtoC 28.45274 mul exch 28.45274
-mul exch tx@EcldDict begin /N@C GetNode exch Atan /N@A GetNode exch
-Atan end 2 copy sub abs 91 gt { 2 copy lt { exch 360 add exch } { 360
-add } ifelse } if add 2 div 2 sqrt .4 mul exch PtoC 28.45274 mul exch
-28.45274 mul exch tx@EcldDict begin /N@C GetNode exch Atan end .4 exch
-PtoC 28.45274 mul exch 28.45274 mul exch 0.0 0.0 /Lineto /lineto load
-def false Polygon gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore
-end
-
-@endspecial
-994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 994 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@C known { /N@C load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 994 794 a @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray [ tx@EcldDict begin
-/N@B GetNode exch Atan end 1 exch PtoC 28.45274 mul exch 28.45274 mul
-exch tx@EcldDict begin /N@D GetNode exch Atan /N@B GetNode exch Atan
-end 2 copy sub abs 91 gt { 2 copy lt { exch 360 add exch } { 360 add
-} ifelse } if add 2 div 2 sqrt 1 mul exch PtoC 28.45274 mul exch 28.45274
-mul exch tx@EcldDict begin /N@D GetNode exch Atan end 1 exch PtoC 28.45274
-mul exch 28.45274 mul exch 0.0 0.0 /Lineto /lineto load def false
-Polygon gsave 0.8 SLW 0. setgray 0 setlinecap stroke grestore end
-
-@endspecial 994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 994 794
-a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@D known { /N@D load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 994 794 a 980 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@D known { /N@D load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 980 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /ArrowA { moveto } def
-/ArrowB { } def 0.0 0.0 /y ED /x ED /r 11.38092 def /c 57.2957 r Div
-def /angleA tx@NodeDict begin tx@NodeDict /N@C known { /N@C load GetCenter
-} { 0 0 } ifelse end exch Atan 0.0 c mul 2 div add def /angleB tx@NodeDict
-begin tx@NodeDict /N@A known { /N@A load GetCenter } { 0 0 } ifelse
-end exch Atan 0.0 c mul 2 div sub def x y r angleA angleB arc gsave
-0.8 SLW 0. setgray 0 setlinecap stroke grestore end
-
-
-@endspecial 980 794 a
- tx@Dict begin { tx@EcldDict begin /N@A GetNode exch Atan /N@C GetNode
-exch Atan end 2 copy lt { exch 360 sub exch } if add 2 div 0 add .4
-.5 mul exch PtoC 28.45274 mul exch 28.45274 mul exch } PutCoor PutBegin
- end
- 980 794 a 980 794 a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 980 794 a
-980 794 a
- tx@Dict begin CP CP translate 0.4 0.4 scale NET end
- 980 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.27626 SD
-end
-
-@endspecial
-980 794 a
- tx@Dict begin CP CP translate 1 0.4 div 1 0.4 div scale NET end
- 980 794 a 980 794 a
- tx@Dict begin RotEnd end
- 980 794 a 980 794 a
- tx@Dict begin PutEnd end
- 980
-794 a 980 794 a
- tx@Dict begin PutEnd end
- 980 794 a 994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 994 794
-a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@A known { /N@A load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 994 794 a 980 794 a
- tx@Dict begin { tx@NodeDict begin tx@NodeDict /N@A known { /N@A load
-GetCenter } { 0 0 } ifelse end } PutCoor PutBegin end
- 980 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray /ArrowA { moveto } def
-/ArrowB { } def 0.0 0.0 /y ED /x ED /r 11.38092 def /c 57.2957 r Div
-def /angleA tx@NodeDict begin tx@NodeDict /N@D known { /N@D load GetCenter
-} { 0 0 } ifelse end exch Atan 0.0 c mul 2 div add def /angleB tx@NodeDict
-begin tx@NodeDict /N@B known { /N@B load GetCenter } { 0 0 } ifelse
-end exch Atan 0.0 c mul 2 div sub def x y r angleA angleB arc gsave
-0.8 SLW 0. setgray 0 setlinecap stroke grestore end
-
-
-@endspecial 980 794 a
- tx@Dict begin { tx@EcldDict begin /N@B GetNode exch Atan /N@D GetNode
-exch Atan end 2 copy lt { exch 360 sub exch } if add 2 div 0 add .4
-.5 mul exch PtoC 28.45274 mul exch 28.45274 mul exch } PutCoor PutBegin
- end
- 980 794 a 980 794 a
- tx@Dict begin mark RAngle /a ED cleartomark a neg RotBegin end
- 980 794 a
-980 794 a
- tx@Dict begin CP CP translate 0.4 0.4 scale NET end
- 980 794 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW 0. setgray 0.0 0.0 2.27626 SD
-end
-
-@endspecial
-980 794 a
- tx@Dict begin CP CP translate 1 0.4 div 1 0.4 div scale NET end
- 980 794 a 980 794 a
- tx@Dict begin RotEnd end
- 980 794 a 980 794 a
- tx@Dict begin PutEnd end
- 980
-794 a 980 794 a
- tx@Dict begin PutEnd end
- 980 794 a 994 794 a
- tx@Dict begin PutEnd end
- 994 794 a 1926 5255
-a Fa(1)p eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.tex
deleted file mode 100644
index 9c1f3b96111..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-%%%% -*-mode: latex; TeX-master: "euclide.tex" -*-
-\begin{pspicture}(-2,-2)(2,2)\psgrid
- \input{Exemples/triangle_in}
-\end{pspicture}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle_in.tex b/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle_in.tex
deleted file mode 100644
index 8ee76189615..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/Examples/triangle_in.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-\pstTriangle[PointSymbol=square, PointSymbolC=o,
- linecolor=blue, linewidth=1.5\pslinewidth]
- (1.5,-1){A}(0,1){B}(-1,-.5){C}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide-english.tex b/Master/texmf-dist/doc/generic/pst-eucl/euclide-english.tex
deleted file mode 100644
index 6956dacb2cf..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/euclide-english.tex
+++ /dev/null
@@ -1,1177 +0,0 @@
-\documentclass[12pt]{report}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{euclide}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{The \texttt{pst-euclide} Package}
-\author{\Version\\\\Dominique Rodriguez\thanks{domino.rodriguez@laposte.net}}
-\date{\Date}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-\maketitle
-\begin{abstract}
- The \texttt{pst-eucl} package allow the drawing of Euclidean
- geometric figures using \LaTeX\ macros for specifying mathematical
- constraints. It is thus possible to build point using common
- transformations or intersections. The use of coordinates is limited
- to points which controlled the figure.
-
- \vfill
-
- \begin{center}\bfseries
- Acknowledgements
- \end{center}
-
- I would like to thanks the following persons for the help they gave
- me for development of this package:
-
- \begin{itemize}
- \item Denis Girou pour ses critiques pertinentes et ses
- encouragement lors de la découverte de l'embryon initial et pour
- sa relecture du présent manuel ;
- \item Michael Vulis for his fast testing of the documentation using
- V\TeX\ which leads to the correction of a bug in the \PostScript\ code;
- \item Manuel Luque and Olivier Reboux for their remarks and their examples.
- \item Alain Delplanque for its modification propositions on automatic
- placing of points name and the ability of giving a list of points in
- \com{pstGeonode}.
- \end{itemize}
-\end{abstract}
-%%%%%%%%%%%%%%%%%%%%
-\renewcommand{\abstractname}{WARNING}
-\begin{abstract}
- This is the first release put on \texttt{CTAN} archives.
-
- \vfill
-
- \begin{center}\bfseries
- LICENSE
- \end{center}
-
- This program and its documentation can be redistributed and/or modified under the
- terms of the ``\LaTeX{} Project Public License'' Distributed from \texttt{CTAN}
- archives in directory \texttt{macros/latex/base/lppl.txt}. However, you may send me
- an Email with a small commentary. Then you should consider making a
- donation\footnote{especially if you use a purchased operating system!. Furthermore,
- do not forget that \LaTeX{} is freely usable and that many users buy several
- hundreds of euros (dollars, pounds) softwares of lower quality}:
-
-\begin{enumerate}
-\item directly to the \LaTeX3 team;
-\item and/or to me for the support of this package\footnote{1~\MonEuro, £1 ou \$1 is
- OK, but I accept more.}.
-\end{enumerate}
-
- A donation of time depending of competences is possible : correction of the
- documentation (especially this one), test of functionnalities, propositions of
- extensions, \ldots
-\end{abstract}
-\twocoltoc{}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\chapter{User's manual}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Special specifications}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{\PStricks\ Options}
-
-The package activates the \com{SpecialCoor} mode. This mode extend the
-coordinates specification. Furthermore the plotting type is set to
-\texttt{dimen=middle}, which indicates that the position of the
-drawing is done according to the middle of the line. Please look at
-the user manual for more information about these setting.
-
-At last, the working axes are supposed to be (ortho)normed.
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Conventions}
-
-For this manual, I used the geometric French conventions for naming
-the points:
-
-\begin{itemize}
-\item $O$ is a centre (circle, axes, symmetry, homothety, rotation);
-\item $I$ defined the unity of the abscissa axe, or a midpoint;
-\item $J$ defined the unity of the ordinate axe;
-\item $A$, $B$, $C$, $D$ are points ;
-\item $M'$ is the image of $M$ by a transformation ;
-\end{itemize}
-
-At last, although these are nodes in \PStricks, I treat them
-intentionally as points.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Basic Objects}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Points}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsubsection{default axes}
-
-\defcom[Creates a list of points using the common axis. \protect\ParamList{\param{PointName},
- \param{PointNameSep}, \param{PosAngle}, \param{PointSymbol}, \param{PtNameMath}}]
- {pstGeonode}{\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}}
-
-This command defines one or more geometrical points associated with a node. Each
-point has a node name \Argsans{$A_i$} which defines the default label put on the
-picture. This label is managed by default in mathematical mode, the boolean parameter
-\param{PtNameMath} \DefaultVal{true} can modify this behavior and let manage the
-label in normal mode. It is placed at a distance of \cbstart\param{PointNameSep}
-\DefaultVal{1em}\cbend{} of the center of the node with a angle of
-\param{PosAngle}\DefaultVal{0}. It is possible to specify another label using the
-parameter \param{PointName} \DefaultVal{default}, and an empty label can be specified
-by selecting the value \texttt{none}, in that case the point will have no name on the
-picture.
-
-The point symbol is given by the parameter \param{PointSymbol} \DefaultVal{*}. The
-symbol is the same as used by the macro \com{pstdot}. This parameter can be set to
-\texttt{none}, which means that the point will not be drawn on the picture.
-
-Here are the possible values for this parameter:
-
-\begin{multicols}{3}
- \begin{itemize}\psset{dotscale=2}
- \item \param{*}: \psdots(.5ex,.5ex)
- \item \param{o}: \psdots[dotstyle=o](.5ex,.5ex)
- \item \param{+}: \psdots[dotstyle=+](.5ex,.5ex)
- \item \param{x}: \psdots[dotstyle=x](.5ex,.5ex)
- \item \param{asterisk} : \psdots[dotstyle=asterisk](.5ex,.5ex)
- \item \param{oplus}: \psdots[dotstyle=oplus](.5ex,.5ex)
- \item \param{otimes}: \psdots[dotstyle=otimes](.5ex,.5ex)
- \item \param{triangle}: \psdots[dotstyle=triangle](.5ex,.5ex)
- \item \param{triangle*}: \psdots[dotstyle=triangle*](.5ex,.5ex)
- \item \param{square}: \psdots[dotstyle=square](.5ex,.5ex)
- \item \param{square*}: \psdots[dotstyle=square*](.5ex,.5ex)
- \item \param{diamond}: \psdots[dotstyle=diamond](.5ex,.5ex)
- \item \param{diamond*}: \psdots[dotstyle=diamond*](.5ex,.5ex)
- \item \param{pentagon}: \psdots[dotstyle=pentagon](.5ex,.5ex)
- \item \param{pentagon*}: \psdots[dotstyle=pentagon*](.5ex,.5ex)
- \item \param{|}: \psdots[dotstyle=|](.5ex,.5ex)
- \end{itemize}
-\end{multicols}
-
-\cbstart Furthermore, these symbols can be controlled with some others \PStricks,
-several of these are :
-
-\begin{itemize}
-\item their scale with \param{dotscale}, the value of whom is either two numbers
- defining the horizontal and vertical scale factor, or one single value being the
- same for both,
-\item their angle with parameter \param{dotangle}.
-\end{itemize}
-
-Please consult the \PStricks documentation for further details.\cbend
-
-The parameters are specified explicitly in the \Argsans{par} part. The
-parameters \param{PosAngle}, \param{PointSymbol}, \param{PointName} and
-\param{PointNameSep} can be set to :
-
-\begin{itemize}
-\item either a single value, the same for all points ;
-\item or a list of values delimited by accolads \texttt{\{ ... \}} and
- separated with comma \textit{without any blanks}, allowing to differenciate the
- value for each point.
-\end{itemize}
-
-In the later case, the list can have less values than point which means that the
-last value is used for all the remaining points.
-
-\cbstart At least, the parameter \param{CurveType} \DefaultVal{none} can be used to
-draw a line between the points:
-
-\begin{itemize}
-\item opened \verb$polyline$ ;
-\item closed \verb$polygon$ ;
-\item open and curved \verb$curve$.
-\end{itemize}\cbend
-
-% EXEMPLE GEONODE
-\tabex{geonode}
-
-Obviously, the nodes appearing in the picture can be used as normal
-\PStricks nodes. Thus, it is possible to reference a point from
-\rnode{ici}{here}.
-\nccurve[arrowscale=2]{->}{ici}{B_1}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsubsection{User defined axes}
-
-
-\defcom[Creates a list of points in the landmark $(O;I;J)$.
- \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle},
- \param{PointSymbol}, \param{PtNameMath}}]
- {pstOIJGeonode}
- {\OptArg{par}$(x_1,y_1)$\Arg{$A_1$}\Arg{$O$}\Arg{$I$}\Arg{$J$}$(x_2,y_2)$\Arg{$A_2$}\ldots$(x_n,y_n)$\Arg{$A_n$}}
-
-This command allows the placement of points in any landmark(?) defined
-by the three points $(O;I;J)$.
-
-%% EXAMPLE
-\tabex{oij}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Segment mark}
-
-A segment can be drawn using the \com{ncline} command. However,
-for marking a segment there is the following command:
-
-\defcom[Marks segment \Segment{AB} in its middle with the mark given by
- \protect\param{SegmentSymbol}. \protect\ParamList{\param{SegmentSymbol}}]
- {pstMarkSegment}{\OptArg{par}\Arg{$A$}\Arg{$B$}}
-
-The symbol drawn on the segment is given by the parameter
-\param{SegmentSymbol}. Its value can be any valid command which can be
-used in math mode. Its default value is \texttt{pstslashh},
-which produced two slashes on the segment. The segment is drawn.
-
-Several commands are predefined for marking the segment:
-
-\begin{multicols}{3}
- \psset{PointSymbol=none, PointName=none, unit=.8}
- \newcommand{\Seg}[1]{%
- \com{#1} : \begin{pspicture}[shift=.3](2,1)
- \pstGeonode(0.3,.5){A}(1.7,.5){B}\pstSegmentMark[SegmentSymbol=#1]{A}{B}
- \end{pspicture}}%
- \begin{itemize}
- \item \Seg{pstslash} ;
- \item \Seg{pstslashh} ;
- \item \Seg{pstslashhh} ;
- \item \Seg{MarkHash} ;
- \item \Seg{MarkHashh} ;
- \item \Seg{MarkHashhh} ;
- \item \Seg{MarkCros} ;
- \item \Seg{MarkCross} ;
- \end{itemize}
-\end{multicols}
-
-The three commands of the family \texttt{MarkHash} draw a line whose inclination is
-controled by the parameter \param{MarkAngle} \DefaultVal{45}. Their width and colour
-depends of the width and color of the line when the drawing is done, ass shown is the
-next example.
-
-%% EXAMPLE
-\tabex{segmentmark}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Triangles}
-
-The more classical figure, it has its own macro for a quick definition:
-
-\defcom[Draws a triangle. \protect\ParamList{\param{PointName},
- \param{PointNameSep}, \param{PosAngle}, \param{PointSymbol}, \param{PointNameA},
- \param{PosAngleA}, \param{PointSymbolA}, \param{PointNameB},
- \param{PosAngleB}, \param{PointSymbolB}, \param{PointNameC},
- \param{PosAngleC}, \param{PointSymbolC}}]
- {pstTriangle}{%
- \OptArg{par}
- $(x_A;y_A)$\Arg{$A$}$(x_B;y_B)$\Arg{$B$}$(x_C;y_C)$\Arg{$C$}}
-
-In order to accurately put the name of the points, there are three parameters
-\param{PosAngleA}, \param{PosAngleB} and \param{PosAngleC}, which are associated
-respectively to the nodes \Argsans{$A$}, \Argsans{$B$} et \Argsans{$C$}. Obviously
-they have the same meaning as the parameter \param{PosAngle}. If one or more of such
-parameters is omitted, the value of \param{PosAngle} is taken. If no angle
-is specified, points name are placed on the bissector line.
-
-In the same way there are parameters for controlling the symbol used
-for each points: \param{PointSymbolA}, \param{PointSymbolB} and
-\param{PointSymbolC}. They are equivalent to the parameter
-\param{PointSymbol}. The management of the default value followed the
-same rule.
-
-\tabex{triangle}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Angles}
-
-Each angle is defined with three points. The vertex is the second
-point. Their order is important because it is assumed that the angle is
-specified in the direct order. The first command is the marking of a
-right angle:
-
-\defcom[Marks the rigth angle \protect\Angle{ABC} given in direct
- order. \protect\ParamList{\param{RightAngleType}, \param{RightAngleSize},
- \param{RightAngleSize}}]
- {pstRightAngle}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}}
-
-\cbstart The symbol used is controlled by the parameter \param{RightAngleType}
-\DefaultVal{default}. Its possible values are :
-
-\begin{itemize}
-\item \verb$default$ : standard symbol ;
-\item \verb$german$ : german symbol (given by U. Dirr) ;
-\item \verb$suisseromand$ : swiss romand symbol (given P. Schnewlin).
-\end{itemize}\cbend
-
-The only parameter controlling this command, excepting the ones which
-controlled the line, is \param{RightAngleSize} which defines the size
-of the symbol\DefaultVal{0.28 unit}.
-
-For other angles, there is the command:
-
-\defcom[Marks the angle \protect\Angle{ABC} given in direct order.
- \protect\ParamList{\param{MarkAngleRadius}, \param{LabelAngleOffset},
- \param{Mark}}]
- {pstMarkAngle}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}}
-
-
-The \param{label} can be any valid \TeX\ box, it is put at \param{LabelSep}
-\DefaultVal{1 unit} of the node in the direction of the bisector of the angle
-modified by \param{LabelAngleOffset}\DefaultVal{0} and positioned using
-\param{LabelRefPt} \DefaultVal{c}. Furthermore the arc used for marking has a radius
-of \param{MarkAngleRadius} \DefaultVal{.4~unit}. At least, it is possible to place
-an arrow using the parameter \param{arrows}.Finally, it is possible to mark
-the angle by specifying a \TeX{} command as argument of parameter \param{Mark}.
-
-\tabex{angle}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Lines, half-lines and segments}
-
-The classical line!
-
-\defcom[Draws line $(AB)$.]
- {pstLineAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}}
-
-In order to control its length\footnote{which is the comble for a
-line!}, the two parameters \param{nodesepA} et \param{nodesepB}
-specify the abscissa of the extremity of the drawing part of the line.
-A negative abscissa specify an outside point, while a positive
-abscissa specify an internal point. If these parameters have to be
-equal, \param{nodesep} can be used instead. The default value of these
-parameters is equal to 0.
-
-\tabex{droite}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Circles}
-
-A circle can be defined either with its center and a point of its
-circumference, or with two diameterly opposed points. There is two
-commands :
-
-\renewcommand{\ComUnDescr}{Draws the circle of center $O$ crossing $A$. \protect\ParamList{\param{Radius},
- \param{Diameter}}.}
-\renewcommand{\ComDeuxDescr}{Draws the circle of diameter $AB$. \protect\ParamList{\param{Radius},
- \param{Diameter}}.}
-\defcomdeux{pstCircleOA}{\OptArg{par}\Arg{$O$}\Arg{$A$}}%
- {pstCircleAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}}
-
-For the first macro, it is possible to omit the second point and then
-to specify a radius or a diameter using the parameters \param{Radius}
-and \param{Diameter}. The values of these parameters must be specified
-with one of the two following macros :
-
-\renewcommand{\ComUnDescr}{Specifies distance $AB$ for the parameters
- \protect\param{Radius} and \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.}
-\renewcommand{\ComDeuxDescr}{Specifies a numerical value for the parameters
- \protect\param{Radius} and \protect\param{Diameter}. \protect\ParamList{\param{DistCoef}}.}
-\defcomdeux{pstDistAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}}%
- {pstDistVal}{\OptArg{par}\Arg{x}}
-
-The first specifies a distance between two points. The parameter
-\param{DistCoef} can be used to specify a coefficient to reduce or
-enlarge this distance. To be taken into account this last parameter
-must be specified before the distance. The second macro can be used to
-specify an explicit numeric value.
-
-We will see later how to draw the circle crossing three points.
-
-\vspace{1.1\baselineskip}
-\begin{minipage}[m]{.45\linewidth}
- With this package, it becomes possible to draw:
-
- \begin{itemize}
- \item {\color{red} the circle of center $A$ crossing $B$;}
- \item {\color{green} the circle of center $A$ whose radius is $AC$;}
- \item {\color{blue} the circle of center $A$ whose radius is $BC$;}
- \item {\color{Sepia} the circle of center $B$ whose radius is $AC$;}
- \item {\color{Aquamarine} the circle of center $B$ of diameter $AC$;}
- \item {\color{RoyalBlue} the circle whose diameter is $BC$.}
- \end{itemize}
-\end{minipage}
-%
-\input{Examples/cercle}
-
-\smallverbatiminput{Examples/cercle_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Circle arcs}
-
-\renewcommand{\ComUnDescr}{Draws the circle arc of center $O$ and radius $OA$,
- delimited by the angle $\protect\Angle{AOB}$ in direct order.}
-\renewcommand{\ComDeuxDescr}{Draws the circle arc of center $O$ and radius $OA$,
- delimited by the angle $\protect\Angle{AOB}$ in indirect order.}
-\defcomdeux{pstArcOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}}%
- {pstArcnOAB}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}}
-
-These two macros draw circle arcs, $O$ is the center, the radius
-defined by $OA$, the beginning angle given by $A$ and the final angle
-by $B$. Finally, the first macro draws the arc in the direct way,
-whereas the second in the indirect way. It is not necessary that the
-two points are at the same distance of $O$.
-
-\tabex{arc}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Curved abscissa}
-
-A point can be positioned on a circle using its curved abscissa.
-
-\defcom[Puts a point on a circle using an curves abscissa.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{CurvAbsNeg}}]
- {pstCurvAbsNode}{\OptArg{par}\Arg{$O$}\Arg{$A$}\Arg{$B$}\Arg{Abs}}
-
-The point \Argsans{$B$} is positioned on the circle of center
-\Argsans{$O$} crossing \Argsans{$A$}, with the curved abscissa
-\Argsans{Abs}. The origin is \Argsans{$A$} and the direction is
-anti-clockwise by default. The parameter \param{CurvAbsNeg}
-\DefaultVal{false} can change this behavior.
-
-If the parameter \param{PosAngle} is not specified, the point label is put
-automatically in oirder to be alined with the circle center and the point.
-
-\tabex{abscur}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Généric curve}
-
-It is possible to generate a set of points using a loop, and to give
-them a generic name defined by a radical and a number. The following
-command can draw a interpolated curve crossing all such kind of
-points.
-
-\defcom[Draws an interpolate curve using a points family whose name has a
- naming convention using a prefix and a number.
- \protect\ParamList{\param{GenCurvFirst}, \param{GenCurvInc},
- \param{GenCurvLast}}]
- {pstGenericCurve}{\OptArg{par}\Arg{Radical}\Arg{$n_1$}\Arg{$n_2$}}
-
-The curve is drawn on the points whose name is defined using the
-radical \Argsans{Radical} followed by a number from \Argsans{$n_1$} to
-\Argsans{$n_2$}. In order to manage side effect, the parameters
-\param{GenCurvFirst} et \param{GenCurvLast} can be used to specified
-special first or last point. The parameter \param{GenCurvInc} can be
-used to modify the increment from a point to the next one
-\DefaultVal{1}.
-
-\tabex{gencur}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Geometric Transformations}
-
-The geometric transformations are the ideal tools to construct geometric figures. All
-the classical transformations are available with the following macros \cbstart which
-share the same syntaxic scheme end two parameters.
-
-The common syntax put at the end two point lists whose second is optional or with a
-cardinal at least equal. These two lists contain the antecedent points and their
-respective images. In the case no image is given for some points the a default name
-is build appending a \verb$'$ to the antecedent name.
-
-The first shared parameter is \param{CodeFig} which draws the specific
-constructions lines. Its default value is \param{false}, and a
-\param{true} value activates this optional drawing.
-The drawing is done using the line style \param{CodeFigStyle}
-\DefaultVal{dashed}, with the color \param{CodeFigColor}
-\DefaultVal{cyan}.
-
-Their second shared parameter is \param{CurveType} which controls the drawing of a
-line crossing all images, and thus allow a quick description of a transformed figure.\cbend
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Central symmetry}
-
-\defcom[Builds the symetric point $M'_i$ of $M_i$ in relation to point $O$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath},
- \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstSymO}%
- {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Draw the symmetric point in relation to point $O$. The classical
-parameter of point creation are usable here, and also for all the
-following functions.
-
-\tabex{symcentrale}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Orthogonal (or axial) symmetry}
-
-\defcom[Builds the symetric point $M'_i$ of $M_i$ in relation to line $(AB)$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath},
- \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]{pstOrtSym}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Draws the symmetric point in relation to line $(AB)$.
-
-\tabex{symorthogonale}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Rotation}
-
-\defcom[Builds the image $M'_i$ of $M_i$ using a rotation around $O$ of \protect\param{RotAngle}
- degrees (direct).
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{RotAngle}}]{pstRotation}%
- {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Draw the image of $M_i$ by the rotation of center $O$ and angle given by
-the parameter \param{RotAngle}. This later can be an angle specified
-by three points. In such a case, the following function must be used:
-
-\defcom[Specifies the measure of \protect\Angle{AOB} (direct) for the parameter
- \protect\param{RotAngle}. \protect\ParamList{\param{AngleCoef}}]
- {pstAngleABC}{\Arg{$A$}\Arg{$B$}\Arg{$C$}}
-
-Never forget to use the rotation for drawing a square or an equilateral
-triangle.\cbstart The parameter \param{CodeFig} puts a bow with an arrow between the
-point and its image, and if \param{TransformLabel} \DefaultVal{none}
-contain some text, it is put on the corresponding angle in mathematical mode.
-
-\tabex{rotation}\cbend
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Translation}
-
-\defcom[Builds the translated $M'_i$ of $M_i$ using the vector \protect\Vecteur{AB}.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{DistCoef}}]
- {pstTranslation}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Draws the translated $M'_i$ of $M_i$ using the vector \Vecteur{AB}. Useful for drawing a
-parallel line.
-
-\tabex{translation}
-
-The parameter \param{DistCoef} can be used as a multiplicand
-coefficient to modify the translation vector.\cbstart The parameter \param{CodeFig}
-draws the translation vector le vecteur de translation between the
-point and its image, labeled in its middle defaultly with the vector name or by the
-text specified with \param{TransformLabel} \DefaultVal{none}.\cbend
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Homothetie}
-
-\defcom[Builds the image $M'_i$ de $M_i$ using the homothetie of centre $O$ and coefficient
- \protect\param{HomCoef}.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{HomCoef}}]
- {pstHomO}%
- {\OptArg{par}\Arg{$O$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Draws $M'_i$ the image of $M_i$ by the homotethy of center $O$ and
-coefficient specified with the parameter \param{HomCoef}.
-
-\tabex{homothetie}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Orthogonal projection}
-
-\defcom[Build the projected point $M'_i$ of $M_i$ on line $(AB)$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath},
- \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]
- {pstProjection}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}}
-
-Projects orthogonally the point $M_i$ on the line $(AB)$. Useful for the altitude of a
-triangle. The name is aligned with the point and the projected point as
-shown in the exemple.
-
-\tabex{projection}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Special object}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Midpoint}
-
-\defcom[Build the middle $I$ of \Segment{AB}.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}, \param{SegmentSymbol},
- \param{CodeFig}, \param{CodeFigColor}, \param{CodeFigStyle}}]
- {pstMiddleAB}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}}
-
-Draw the midpoint $I$ of segment $[AB]$. By default, the point name is
-automatically put below the segment.
-
-\tabex{milieu}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Triangle center of gravity}
-
-\defcom[Builds the centre of gravity $G$ of triangle $ABC$.
- \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle},
- \param{PointSymbol}, \param{PtNameMath}}]
- {pstCGravABC}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$G$}}
-
-Draw the $ABC$ triangle centre of gravity $G$.
-
-\tabex{grav}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Centre of the circumcircle of a triangle}
-
-\defcom[Buids the center $O$ of the circumcircle of triangle $ABC$.
- \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle},
- \param{PointSymbol}, \param{PtNameMath}, \param{DrawCirABC}, \param{CodeFig},
- \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbolA},
- \param{SegmentSymbolB}, \param{SegmentSymbolC}}]
- {pstCircleABC}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$O$}}
-
-Draws the circle crossing three points (the circum circle) and put its center $O$.
-The effective drawing is controlled by the boolean parameter \param{DrawCirABC}
-\DefaultVal{true}.\cbstart Moreover the intermediate constructs (mediator lines) can
-be drawn by setting the boolean parameter \param{CodeFig}. In that case the middle
-points are marked on the segemnts using three different marks given by the parameters
-\param{SegmentSymbolA}, \param{SegmentSymbolB} et \param{SegmentSymbolC}.\cbend
-
-\tabex%
- [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]%
- {ccirc}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Perpendicular bisector of a segment}
-
-\defcom[Builds the perpendicular bisector of the segment \Segment{AB}, its middle $I$
- and a point $M$ of the bisector wich is the image of $B$ using rotation.
- \protect\ParamList{\param{PointName}, \param{PointNameSep}, \param{PosAngle},
- \param{PointSymbol}, \param{PtNameMath}, \param{CodeFig},
- \param{CodeFigColor}, \param{CodeFigStyle}, \param{SegmentSymbol}}]
- {pstMediatorAB}{\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$I$}\Arg{$M$}}
-
-The perpendicular bisector of a segment is a line perpendicular to
-this segment in its midpoint. The segment is $[AB]$, the midpoint $I$,
-and $M$ is a point belonging to the perpendicular bisector line. It is
-build by a rotation of $B$ of 90 degrees around $I$. This mean
-that the order of $A$ and $B$ is important, it controls the position
-of $M$. The command creates the two points $M$ end $I$. The
-construction is controlled by the following parameters:
-
-\begin{itemize}
-\item \param{CodeFig}, \param{CodeFigColor} et \param{SegmentSymbol}
- for marking the right angle ;
-\item \param{PointSymbol} et \param{PointName} for controlling the
- drawing of the two points, each of them can be specified
- separately with the parameters \param{...A} et \param{...B} ;
-\item parameters controlling the line drawing.
-\end{itemize}
-
-\tabex%
- [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]%
- {mediator}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Bisectors of angles}
-
-\defcom[Builds the internal bisector of angle \protect\Angle{BAC} and one of its point
- $M$, image of $B$ by rotation around $A$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}]
- {pstBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$N$}}
-
-\defcom[Builds the external bisector of angle \protect\Angle{BAC} and one of its point
- $M$, image of $B$ by rotation around $A$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}]
- {pstOutBissectBAC}{\OptArg{par}\Arg{$B$}\Arg{$A$}\Arg{$C$}\Arg{$N$}}
-
-there are two bisectors for a given geometric angle: the inside one and
-the outside one; this is why there is two commands. The angle is
-specified by three points specified in the trigonometric direction
-(anti-clockwise). The result of the commands is the specific line and
-a point belonging to this line. This point is built by a rotation of
-point $B$.
-
-\tabex%
- [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]%
- {bissec}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Intersections}
-
-Points can be defined by intersections. Six intersection types are
-managed:
-
-\begin{itemize}
-\item line-line;
-\item line-circle;
-\item circle-circle;
-\item function-function;
-\item function-line;
-\item function-circle.
-\end{itemize}
-
-An intersection can not exist: case of parallel lines. In such a case,
-the point(s) are positioned at the origin. In fact, the user has to
-manage the existence of these points.
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Line-Line}
-
-\defcom[Puts a point at the intersection of the two lines $(AB)$ et $(CD)$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath}}]
- {pstInterLL}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$C$}\Arg{$D$}\Arg{$M$}}
-
-Draw the intersection point between lines $(AB)$ and $(CD)$.
-
-\begin{description}
-\item[basique]
-
- \tabex{interDD}
-
-\item[Horthocentre]
-
- \tabex%
- [@{}m{.35\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]
- {orthocentre}
-
-\end{description}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Circle--Line}
-
-\defcom[Puts the intersection point(s) between $(AB)$ and the circle of
- centre $O$ crossing $C$.
- \protect\ParamList{\param{PointSymbol}, \param{PosAngle},
- \param{PointName}, \param{PointNameSep}, \param{PtNameMath},
- \param{PointSymbolA}, \param{PosAngleA}, \param{PointNameA},
- \param{PointSymbolB}, \param{PosAngleB}, \param{PointNameB},
- \param{Radius}, \param{Diameter}}]
- {pstInterLC}%
- {\OptArg{par}\Arg{$A$}\Arg{$B$}\Arg{$O$}\Arg{$C$}%
- \Arg{$M_1$}\Arg{$M_2$}}
-
-Draw the one or two intersection point(s) between the line $(AB)$ and
-the circle of centre $O$ and with radius $OC$.
-
-The circle is specified with its center and either a point of its
-circumference or with a radius specified with parameter \param{radius}
-or its diameter specified with parameter \param{Diameter}. These two
-parameters can be modify by coefficient \param{DistCoef}.
-
-
-The position of the wo points is such that the vectors \Vecteur{AB} abd
-\Vecteur{M_1M_2} are in the same direction. Thus, if the points
-definig the line are switch, then the resulting points will be also
-switched. If the intersection is void, then the points are positionned
-at the center of the circle.
-
-
-\tabex
- [@{}m{.4\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.5777\linewidth}@{}]
- {interDC}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Circle--Circle}
-
-\defcom[Put the intersection point(s) between the circle of centre $O_1$ passant
- par $B$ et le cercle de centre $O_2$ passant par $C$.]
- {pstInterCC}%
- {\OptArg{par}\Arg{$O_1$}\Arg{$B$}\Arg{$O_2$}\Arg{$C$}%
- \Arg{$M_1$}\Arg{$M_2$}}
-
-This function is similar to the last one. The boolean parameters
-\param{CodeFigA} et \param{CodeFigB} allow the drawing of the arcs
-at the intersection. In order to get a coherence \param{CodeFig} allow
-the drawing of both arcs. The boolean parameters \param{CodeFigAarc} and
-\param{CodeFigBarc} specified the direction of these optional arcs:
-trigonometric (by default) or clockwise. Here is a first example.
-
-\tabex{interCC}
-
-And a more complete one, which includes the special circle
-specification using radius and diameter. For such specifications it
-exists the parameters \param{RadiusA}, \param{RadiusB},
-\param{DiameterA} and \param{DiameterB}.
-
-\begin{center}
- \rule[-.5cm]{0pt}{8cm}
- \begin{pspicture}(-3,-4)(7,3)\psgrid
- \input{Examples/interCC_bis_in}
- \end{pspicture}
-\end{center}
-
-\smallverbatiminput{Examples/interCC_bis_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Function--function}
-
-\defcom[Puts an intersection point between two function curves.]
- {pstInterFF}{\OptArg{par}\Arg{$f$}\Arg{$g$}\Arg{$x_0$}\Arg{$M$}}
-
-This function put a point at the intersection between two curves
-defined by a function. $x_0$ is an intersection approximated value of
-the abscissa. It is obviously possible to ise this function several
-time if more than one intersection is present. Each function is
-describerd in \PostScript in the same way as the description used by
-the \com{psplot} macro of \PStricks. A constant function can be
-specified, and then seaching function root is possible.
-
-The Newton algorithm is used for the research, and the intersection
-may not to be found. In such a case the point is positionned at the
-origin. On the other hand, the research can be trapped (in a local
-extremum near zero).
-
-\tabex{interFF}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Function--line}
-
-\defcom[Puts an intersection point between one function curve and the line $(AB)$.]
- {pstInterFL}{\OptArg{par}\Arg{$f$}\Arg{$A$}\Arg{$B$}\Arg{$x_0$}\Arg{$M$}}
-
-Puts a point at the intersection between the function $f$ and the line
-$(AB)$.
-
-\tabex{interFL}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Function--circle}
-
-\defcom[Puts an intersection point between one function curve and a circle.]
- {pstInterFC}{\OptArg{par}\Arg{$f$}\Arg{$O$}\Arg{$A$}\Arg{$x_0$}\Arg{$M$}}
-
-Puts a point at the intersection between the function $f$ and the circle
-of centre $O$ and radius $OA$.
-
-\tabex{interFC}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\chapter{Examples gallery}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \section{Basic geometry}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Drawing of the bissector}
- \nopagebreak[4]
-
-\tabex{gal_biss}
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \cbstart\subsection{Transformation de polygones et courbes}
-
-Here is an example of the use of \param{CurveType} with transformation.
-\nopagebreak[4]
-
-\begin{center}
-\input{Examples/curvetype}
-\end{center}\nopagebreak[4]
-
-\smallverbatiminput{Examples/curvetype_in}\cbend
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Triangle lines}
-
-\begin{center}
-\psset{unit=2cm}
-\input{Examples/remarq}
-\end{center}\nopagebreak[4]
-
-\smallverbatiminput{Examples/remarq_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Euler circle}
-
-\begin{center}
-\psset{unit=2cm}
-\input{Examples/euler}
-\end{center}\nopagebreak[4]
-
-\smallverbatiminput{Examples/euler_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Orthocenter and hyperbola}
-
-The orthocenter of a triangle whose points are on the branches of the
-hyperbola ${\mathscr H} : y=a/x$ belong to this hyperbola.
-\nopagebreak[4]
-
-\begin{center}
-\psset{unit=.5cm}
-\input{Examples/orthoethyper}
-\end{center}\nopagebreak[4]
-
-\smallverbatiminput{Examples/orthoethyper_in}
-
-\pagebreak[4]
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{17 sides regular polygon}
-
-Striking picture created by K. F. Gauss.
-he also prooved that it is possible to build the regular polygons which
-have $2^{2^p}+1$ sides, the following one has 257 sides!
-\nopagebreak[4]
-
-\begin{center}
-\psset{unit=1.5cm, CodeFig=true, RightAngleSize=.14, CodeFigColor=red,
- CodeFigB=true, linestyle=dashed, dash=2mm 2mm}
-\input{Examples/gauss}
-\end{center}
-
-\pagebreak[4]
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Circles \& tangents}
-
-The drawing of the circle tangents which crosses a given point.
-\nopagebreak[4]
-
-\begin{center}
-\input{Examples/tg1c}
-\end{center}
-
-The drawing of the common tangent of two circles.
-\nopagebreak[4]
-
-\begin{center}
-\input{Examples/tg2c}
-\end{center}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Fermat's point}
-
-Drawing of Manuel Luque.\nopagebreak[4]
-
-\begin{center}
-\input{Examples/ptfermat}
-\end{center}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Escribed and inscribed circles of a triangle}
-
-%% cercles inscrit et exinscrits d'un triangle
-\begin{center}
-\psset{unit=1cm, dash=5mm 4mm}%, PointSymbolA=none, PointSymbolB=none}
-\input{Examples/cinscex}
-\end{center}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \section{Some locus points}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Parabola}
-
-\begin{minipage}[m]{.33\linewidth}
-The parabola is the set of points which are at the same distance
-between a point and a line.
-\end{minipage}
-\newcommand{\NbPt}{11}
-\input{Examples/parabole}\nopagebreak[4]
-
-\smallverbatiminput{Examples/parabole_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Hyperbola}
-
-\begin{minipage}[b]{.55\linewidth}
-The hyperbola is the set of points whose difference between their
-distance of two points (the focus) is constant.
-\begin{verbatim}
-%% QQ RAPPELS : a=\Sommet, c=\PosFoyer,
-%% b^2=c^2-a^2, e=c/a
-%% pour une hyperbole -> e>1, donc c>a,
-%% ici on choisi a=\sqrt{2}, c=2, e=\sqrt{2}
-%% M est sur H <=> |MF-MF'|=2a
-\end{verbatim}
-\end{minipage}
-%% QQ DEFINITIONS
-\input{Examples/hyperbole}\nopagebreak[4]
-
-\smallverbatiminput{Examples/hyperbole_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Cycloid}
-
-The wheel rolls from $M$ to $A$. The circle points are on a
-cycloid.\nopagebreak[4]
-
-\begin{center}
-\input{Examples/cyclo}
-\end{center}\nopagebreak[4]
-
-\smallverbatiminput{Examples/cyclo_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Hypocycloids (Astroid and Deltoid)}
-
-A wheel rolls inside a circle, and depending of the radius ratio, it
-is an astroid, a deltoid and in the general case hypo-cycloids.
-\nopagebreak[4]
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% ASTROIDE
-\input{Examples/hypocyclo}
-%%%%%%%%%%%%%%%%%%%%
-\begin{center}
-\input{Examples/astro}\input{Examples/delto}
-\end{center}
-
-\smallverbatiminput{Examples/hypocyclo}
-\smallverbatiminput{Examples/astro_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \section{Lines and circles envelope}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Conics}
-
-Let's consider a circle and a point $A$ not on the circle. The
-set of all the mediator lines of segments defined by $A$ and the
-circle points, create two conics depending of the position of $A$:
-
-\begin{itemize}
-\item inside the circle: an hyperbola;
-\item outside the circle: an ellipse.
-\end{itemize}
-
-(figure of O. Reboux).
-
-\begin{center}\input{Examples/envellipse}\end{center}
-
-\smallverbatiminput{Examples/envellipse_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \subsection{Cardioid}
-
-The cardioid is defined by the circles centered on a circle and
-crossing a given point.
-
-%\begin{center}\input{Examples/envcardi}\end{center}
-
-\tabex%
- [@{}m{.5\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.627\linewidth}@{}]%
- {envcardi}
-
-%\smallverbatiminput{Examples/envcardi_in}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \section{Homotethy and fractals}
-
-\tabex{fracthom}
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \section{hyperbolic geometry: a triangle and its altitudes}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Tracé de géodésique en géométrie hyperbolique
-%% Attention ne fonctionne que si les points ne sont pas alignés avec O
-%% Ceci est un cas particulier, je ne crois pas que les hauteurs
-%% soient concourantes pour tous les triangles hyperboliques.
-\input{Examples/geohyper}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\appendix
-\chapter{Glossaire des commandes}%%\markboth{GLOSSAIRE DES COMMANDES}{\thepage}%
-%%\addcontentsline{toc}{chapter}{\protect\numberline{}Glossaire des commandes}%
-
-Here is the complete macros list defined by \texttt{pst-eucl}. Each is shown with a
-short description and its parameters which control it. It is obvious that some over
-\PStricks parameters can be used, especially the ones which control the drawing of
-the line (width, style, color).
-
-\input{euclide_english.ind}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\chapter{The parameters of \texttt{pst-eucl}}
-
-\begin{longtable}{|l|l|p{10cm}|}
- \hline
- \multicolumn{1}{|c|}{\textbf{Paramètre}} &
- \multicolumn{1}{c|}{\textbf{Défaut}} &
- \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline
- \endfirsthead
- \hline
- \multicolumn{1}{|c|}{\textbf{Paramètre}} &
- \multicolumn{1}{c|}{\textbf{Défaut}} &
- \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline
- \endhead
- \hline
- \multicolumn{3}{|c|}{$\ldots$ à suivre $\ldots$}\\
- \hline
- \endfoot
- \hline
- \endlastfoot
- \param{PointSymbol}&\verb$default$&Symbol used for drawing a point.\\\hline
- \param{PointSymbolA}&\verb$default$&idem for the first point of several.\\\hline
- \param{PointSymbolB}&\verb$default$&for the second\ldots\\\hline
- \param{PointSymbolC}&\verb$default$&for the third\ldots\\\hline
- \param{PointName}&\verb$default$&Point's label.\\\hline
- \param{PointNameA}&\verb$default$&idem for the first point of several.\\\hline
- \param{PointNameB}&\verb$default$&for the second\ldots\\\hline
- \param{PointNameC}&\verb$default$&for the third\ldots\\\hline
- \param{PtNameMath}&\verb$true$&boolean parameter for (de)-activate the math style
- for the point name..\\\hline
- \param{SegmentSymbol}&\verb$default$&Symbol used for marking a segment\\\hline
- \param{SegmentSymbolA}&\verb$default$&idem for the first segment of a macro which
- marks several.\\\hline
- \param{SegmentSymbolB}&\verb$default$&for the second\ldots\\\hline
- \param{SegmentSymbolC}&\verb$default$&for the third\ldots\\\hline
- \param{Mark}&\verb$default$&the mark symbol for an angle.\\\hline
- \param{MarkAngle}&\verb$default$&angle for the precedent symbol.\\\hline
- \param{PointNameSep}&\verb$1em$&Distance from the label and a point.\\\hline
- \param{PosAngle}&\verb$undef$&Label position around the point.\\\hline
- \param{PosAngleA}&\verb$undef$&idem for the first point.\\\hline
- \param{PosAngleB}&\verb$undef$&for the second\ldots\\\hline
- \param{PosAngleC}&\verb$undef$&for the third\ldots\\\hline
- \param{RightAngleSize}&\verb$.4$&size for the right angle symbol\\\hline
- \param{RightAngleType}&\verb$default$&Right angle type, possible value:
- \verb$german$ et \verb$suisseromand$\\\hline
- \param{MarkAngleRadius}&\verb$.4$&Radius of the angle mark.\\\hline
- \param{LabelAngleOffset}&\verb$0$&Angular offset for the angle label.\\\hline
- \param{LabelSep}&\verb$1$&Distance from the label and the angle top and its label.\\\hline
- \param{LabelRefPt}&\verb$c$&Reference point \TeX\ used for the angle label.\\\hline
- \param{HomCoef}&\verb$.5$&Homothetie angle.\\\hline
- \param{RotAngle}&\verb$60$&Rotation angle.\\\hline
- \param{DrawCirABC}&\verb$true$&Boolean parameter driving the drawing of the circumcircle.\\\hline
- \param{CodeFig}&\verb$false$&Boolean parameter driving the coding of the construct.\\\hline
- \param{CodeFigA}&\verb$false$&idem for the first\ldots\\\hline
- \param{CodeFigB}&\verb$false$&idem for the second\ldots\\\hline
- \param{CodeFigColor}&\verb$cyan$&Line color for the coding.\\\hline
- \param{CodeFigStyle}&\verb$dashed$&Line style for the coding.\\\hline
- \param{CodeFigAarc}&\verb$true$&Boolean parameter driving the drawing of the bows
- around the first intersection.\\\hline
- \param{CodeFigBarc}&\verb$true$&idem for the second\ldots\\\hline
- \param{Radius}&\verb$none$&Circle radius.\\\hline
- \param{RadiusA}&\verb$undef$&For the first circle.\\\hline
- \param{RadiusB}&\verb$undef$&For the second circle.\\\hline
- \param{Diameter}&\verb$none$&Circle diameter.\\\hline
- \param{DiameterA}&\verb$undef$&For the first circle.\\\hline
- \param{DiameterB}&\verb$undef$&For the second circle.\\\hline
- \param{DistCoef}&\verb$none$&Coefficient for modifying a distance/vector.\\\hline
- \param{AngleCoef}&\verb$none$&Coefficient for modifying an angle.\\\hline
- \param{CurvAbsNeg}&\verb$false$&Boolean parameter driving the direction of curved abscissa.\\\hline
- \param{GenCurvFirst}&\verb$none$&Name of the first point of a generic curve (side effect).\\\hline
- \param{GenCurvLast}&\verb$none$&Name of the last point of a generic curve (side effect).\\\hline
- \param{GenCurvInc}&\verb$none$&Increment value for a generic curve.\\\hline
- \cbstart%
- \param{CurveType}&\verb$none$&Drawing mode for a list of points.\\\hline
- \param{TransformLabel}&\verb$none$&Label to be used for the rotation or the translation.\\\hline
-\end{longtable}
-
-\cbend
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\cbstart\chapter{Compatibilité ascendantes de \texttt{pst-eucl}}
-
-Especially for this release, some macros have their syntax changed without changing
-their name, this mean that upward compatibility is not maintained. However, in order
-to help users it is possible to reactivate the old syntax by setting the option
-\texttt{old} when using the package \verb$\usepackage[old]{pst-eucl}$. For this
-release this concern the macros for geometric transformations. You must refer to the
-latter manual for the syntax.
-
-\cbend
-\end{document}
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty b/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty
deleted file mode 100644
index 0207bf2bdd0..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/euclide.sty
+++ /dev/null
@@ -1,138 +0,0 @@
-%% Package style for the pst-eucl documentation package
-\DeclareOption{french}{\gdef\euclide@language{frenchb}}%
-\def\fileversion{1.37}
-\def\filedate{2011/05/05}%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-\csname EuclideManualLoaded\endcsname
-\let\EuclideManualLoaded\endinput
-\def\@english{english}%
-\def\@frenchb{frenchb}%
-\def\euclide@language{english}%
-\ProcessOptions
-\message{`Euclide manual package v\fileversion, \filedate\space (Dominique RODRIGUEZ)}%
-\message{ all declarations for the pst-eucl manual}%
-\message{ BEWARE you are using the \euclide@language\ language setting}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\PassOptionsToPackage{greek}{babel}%%\PassOptionsToPackage{LGR}{fontenc}
-\usepackage[T1]{fontenc}
-\usepackage[\euclide@language]{babel}
-\usepackage[latin1]{inputenc}
-\usepackage[a4paper]{geometry}
-\usepackage[dvipsnames]{pstricks}
-\usepackage{pst-eucl}
-\usepackage{pst-plot}
-\usepackage{ifthen}
-\usepackage{calc}
-\usepackage{array}
-\usepackage{moreverb}
-\usepackage{multicol}
-\usepackage{mathrsfs}
-\usepackage{changebar}
-\usepackage{xspace}
-\usepackage{fancyhdr}
-\usepackage{multind}
-\usepackage{textcomp}
-%\usepackage{yhmath}
-\usepackage{longtable}
-\expandafter\ifx\csname PDF\endcsname\relax\else
-\usepackage{pslatex}%for generating a pdf-file with ps2pdf
-\fi
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% QQ DEFINITIONS
-\def\Vecteur#1{\ensuremath{\overrightarrow{#1\hspace{.3em}}}}%
-\def\Angle#1{\ensuremath{\widehat{#1}}}%
-\def\Segment#1{\ensuremath{[#1]}}%
-\def\Arg#1{{\normalfont$\{$\@Arg{#1}$\}$}}%
-\def\Argsans#1{\@Arg{#1}}%
-\def\OptArg#1{{\normalfont[{\@Arg{#1}}]}}%
-\def\@Arg#1%
- {$\protect\langle${\itshape\mdseries\rmfamily#1}$\protect\rangle$}%
-%% le backslash \
-\newcommand{\bs}{\symbol{'134}}%
-\newcommand{\defcom}[3][\null]{%
- \begin{trivlist}\item\fbox{\texttt{\upshape\bs#2}#3}\end{trivlist}
- \glossary{#2}%%pour le numéro de page dans le glossaire des commandes
- \glossary{#2!\protect\indexcom{#2}\protect#3}% pour le glossaire
- \Glos{#2}{\protect\indexcom{#2}\protect#3}{\hspace{1.5em}#1}%
-}%
-\newcommand{\Glos}[3]{\glossary{#1!#2!#3}}%
-\newcommand{\indexcom}[1]%
- {\textmd{\texttt{\upshape\bs#1}}}%
-% {\index{latex}{#1@{\texttt{\upshape\bs#1}}}\textmd{\texttt{\upshape\bs#1}}}%
-\newcommand{\ComUnDescr}{\null}
-\newcommand{\ComDeuxDescr}{\null}
-\newcommand{\defcomdeux}[4]{%
- \begin{center}%
- \begin{minipage}[t]{.45\linewidth}%
- \begin{trivlist}\item\fbox{\texttt{\upshape\bs#1}#2}\end{trivlist}%
- \glossary{#3}%%pour le numéro de page dans le glossaire des commandes
- \glossary{#1!\protect\indexcom{#1}\protect#2}% pour le glossaire
- \Glos{#1}{\protect\indexcom{#1}\protect#2}{\hspace{1.5em}\expandafter\ComUnDescr}%
- \end{minipage}%
- \hfill%
- \begin{minipage}[t]{.45\linewidth}%
- \begin{trivlist}\item\fbox{\texttt{\upshape\bs#3}#4}\end{trivlist}%
- \glossary{#3}%%pour le numéro de page dans le glossaire des commandes
- \glossary{#3!\protect\indexcom{#3}\protect#4}% pour le glossaire
- \Glos{#3}{\protect\indexcom{#3}\protect#4}{\hspace{1.5em}\expandafter\ComDeuxDescr}%
- \end{minipage}
- \end{center}}%end defcomdeux
-\newcommand{\ParamList}[1]{\par
- \small\hspace{1.5em}Param\ifx\euclide@language\@english eters\else ètres \fi: #1}
-\newenvironment{tabexemple}[1]%
- [@{}m{.3\linewidth}@{\hspace{.013\linewidth}}>{\small}m{.677\linewidth}@{}]%
- {\vspace{1em}\noindent\small\begin{center}%
- \noindent\begin{tabular}{#1}}%
- {\mbox{}\vspace{-1.5em}\end{tabular}\end{center}}%
-\newcommand{\tabex}[2]%
- [@{}m{.3\linewidth}@{\hspace{.013\linewidth}}m{.677\linewidth}@{}]%
-{%
- \begin{tabexemple}[#1]%
- \input{Exemples/#2}&\smallverbatiminput{Exemples/#2_in}%
- \end{tabexemple}%
-}%
-\def\smallverbatiminput#1{\small\verbatiminput{#1}}%
-\def\param#1{\texttt{#1}}
-\def\com#1{\texttt{\bs #1}}
-\def\DefaultVal#1%
- {(\ifx\euclide@language\@english by default \fi\texttt{#1}\ifx\euclide@language\@frenchb\ par défaut\fi)\xspace}
-\def\PStricks{\texttt{PSTricks}\xspace}
-\def\PostScript{\textsf{PostScript}\xspace}
-\def\Version{Version 1.37\xspace}
-\def\Date{\ifx\euclide@language\@english may 5th \else 5 mai \fi 2011}
-\newcommand{\MonEuro}{\textgreek{\euro}\xspace}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\geometry{bottom=2.5cm, left=1cm, headheight=15.5pt, verbose}%, verbose}
-\psset{subgriddiv=0,griddots=5}
-\setlength{\changebarsep}{10pt}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% entête et pied de page
-\pagestyle{fancy}
-\renewcommand{\headrulewidth}{0.4pt}
-\renewcommand{\footrulewidth}{0.4pt}
-%\lhead{\Version -- \Date}
-%\chead{}
-%\rhead{Extension \texttt{pst-eucl} -- D. \textsc{Rodriguez}}
-%\cfoot{\psshadowbox{\thepage}}
-\lfoot{\Version --\Date}
-\rfoot{Extension \texttt{pst-eucl} -- D. \textsc{Rodriguez}}
-%%%%%%%%%%%%%%%%%%%%
-\newcounter{i}
-%%%%%%%%%%%%%%%%%%%%
-\def\twocoltoc{%
- \chapter*{\contentsname
- \@mkboth{%
- \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
- \begin{multicols}{2}
- \@starttoc{toc}%
- \end{multicols}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% GLOSSAIRE
-\makeglossary
-\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.ist b/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.ist
deleted file mode 100644
index 090c4fdfb28..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/euclide_english.ist
+++ /dev/null
@@ -1,10 +0,0 @@
-% makeindex style file created by LaTeX for document "euclide_english" on 2005-10-9
-keyword "\\glossaryentry"
-preamble "\\begin{theglossary}"
-postamble "\n\\end{theglossary}\n"
-group_skip "\\gloskip "
-item_0 "\n\\gloitem "
-delim_0 "\n\\glodelim "
-page_compositor "-"
-delim_n "\\delimN "
-delim_r "\\delimR "
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist b/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist
deleted file mode 100644
index d5fb92a41c7..00000000000
--- a/Master/texmf-dist/doc/generic/pst-eucl/euclide_macros.ist
+++ /dev/null
@@ -1,33 +0,0 @@
-% makeindex style file for the glossary
-%% aide dans man makeindex
-
-keyword "\\glossaryentry"
-
-%% changement de l'environnement de l'index
-%%preamble "\\begin{theglossary}\n"
-%%postamble "\n\n\\end{theglossary}\n"
-
-preamble "%% GLOSSAIRE\n\n\\newcounter{Npage}\\setcounter{Npage}{0}"
-postamble "\n\n%% FIN DU GLOSSAIRE\n\n"
-
-group_skip "\n\n"
-
-line_max 2048
-
-%%delim_0 " %% delim 0--"
-delim_0 " %% delim 0--\n \\setcounter{Npage}{"
-%%delim_1 "\\nopagebreak[4]\\vspace{.5\\baselineskip}\n %% delim_1"
-delim_1 "\\dotfill\\arabic{Npage}\n\\nopagebreak[4]\\vspace{.5\\baselineskip}\n\n \\hfill\\begin{minipage}{.8\\linewidth}%% delim_1--p"
-%%delim_2 "\\end{minipage}\\hspace*{\\fill}\n\n\\hfill\\rule{.85\\linewidth}{.5pt}\\hspace*{\\fill}%% delim_2--p"
-delim_2 "\\end{minipage}\\hspace*{\\fill}\n\n%% delim_2--p"
-
-%%item_0 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n \\indexcom{"
-%%item_0 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n %%% item_0 "
-item_0 "\n\n\\vspace{\\baselineskip}\\hspace{-.5em}\n %%% item_0 "
-item_1 "\n\n\\vspace{\\baselineskip}\\hspace{3em}\n "
-item_2 "\n %% item_2"
-%%item_01 "\n %% item_01 "
-item_01 "}%\n %% item_01\n "
-item_x1 "\n "
-item_12 "\n\n "
-item_x2 "\n %% item_x2" \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.bib b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.bib
new file mode 100644
index 00000000000..d1db3f2b1ce
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.bib
@@ -0,0 +1,121 @@
+@STRING{tugboat = {TUGboat} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = {second},
+ year = {2007},
+ address = {Boston, Mass.}
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {{Timothy Van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy Van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/macros/generic/multido.tex}},
+ Note = {},
+ year = 1997
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {6.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2010},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{PSTricksE,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}raphics and {P}ost{S}cript for \LaTeX},
+ edition = {1.},
+ publisher = {UIT},
+ year = {2011},
+ address = {Cambridge -- UK}
+}
+
+@Book{LTXquick,
+ author = {Herbert Vo\ss{}},
+ title = {{\LaTeX} quick reference},
+ edition = {1.},
+ publisher = {UIT},
+ year = {2012},
+ address = {Cambridge -- UK}
+}
+
+@Book{presentations,
+ author = {Herbert Vo\ss},
+ title = {Presentations with \LaTeX},
+ edition = {1.},
+ publisher = {DANTE -- Lehmanns Media},
+ year = {2012},
+ address = {Heidelberg/Berlin}
+}
+
+
+@Book{tbt,
+ author = {Victor Eijkhout},
+ title = {\TeX\ by Topic -- {A} \TeX{}nician Reference},
+ edition = {1},
+ publisher = {DANTE -- lehmanns media},
+ year = {2014},
+ address = {Heidelberg/Berlin}
+}
+
+
+
+@Article{dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen {F}unktionen von {P}ostscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {40-47},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
index 830147ed5dc..548ae63f5f5 100644
--- a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
new file mode 100644
index 00000000000..76a3e17faee
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
@@ -0,0 +1,2040 @@
+\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
+ headexclude,footexclude,oneside,english]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-eucl}
+\usepackage{multicol}
+\let\pstEuclideFV\fileversion
+\usepackage{pst-plot,paralist}
+\usepackage[mathscr]{eucal}
+\lstset{pos=l,wide=false,language=PSTricks,
+ morekeywords={multidipole,parallel},basicstyle=\footnotesize\ttfamily}
+%
+\def\Argsans#1{$\langle$#1$\rangle$}
+\def\DefaultVal#1{(by default #1)}
+
+
+\title{\texttt{pst-euclide}}
+\subtitle{A PSTricks package for drawing geometric pictures; v.\pstEuclideFV}
+\author{Dominique Rodriguez\\Herbert Voß}
+\docauthor{Herbert Voß}
+\date{\today}
+\begin{document}
+\maketitle
+
+\begin{abstract}
+ The \LPack{pst-eucl} package allow the drawing of Euclidean
+ geometric figures using \LaTeX\ macros for specifying mathematical
+ constraints. It is thus possible to build point using common
+ transformations or intersections. The use of coordinates is limited
+ to points which controlled the figure.
+
+ \vfill
+ I would like to thanks the following persons for the help they gave
+ me for development of this package:
+
+ \begin{compactitem}
+ \item Denis Girou pour ses critiques pertinentes et ses
+ encouragement lors de la découverte de l'embryon initial et pour
+ sa relecture du présent manuel;
+ \item Michael Vulis for his fast testing of the documentation using
+ V\TeX\ which leads to the correction of a bug in the \PS\ code;
+ \item Manuel Luque and Olivier Reboux for their remarks and their examples.
+ \item Alain Delplanque for its modification propositions on automatic
+ placing of points name and the ability of giving a list of points in
+ \Lcs{pstGeonode}.
+ \end{compactitem}
+\end{abstract}
+
+
+\vfill
+\noindent
+Thanks to:
+Manuel Luque;
+Thomas Söll.
+
+
+
+\clearpage
+\tableofcontents
+
+
+\clearpage
+\part{The package}
+\section{Special specifications}
+
+\subsection{\PST Options}
+
+The package activates the \Lcs{SpecialCoor} mode. This mode extend the
+coordinates specification. Furthermore the plotting type is set to
+\Lkeyset{dimen=middle}, which indicates that the position of the
+drawing is done according to the middle of the line. Please look at
+the user manual for more information about these setting.
+
+At last, the working axes are supposed to be (ortho)normed.
+
+\subsection{Conventions}
+
+For this manual, I used the geometric French conventions for naming
+the points:
+
+\begin{compactitem}
+\item $O$ is a centre (circle, axes, symmetry, homothety, rotation);
+\item $I$ defined the unity of the abscissa axe, or a midpoint;
+\item $J$ defined the unity of the ordinate axe;
+\item $A$, $B$, $C$, $D$ are points ;
+\item $M'$ is the image of $M$ by a transformation ;
+\end{compactitem}
+
+At last, although these are nodes in \PST, I treat them
+intentionally as points.
+
+\section{Basic Objects}
+\subsection{Points}
+%\subsubsection{default axes}
+
+%\defcom[Creates a list of points using the common axis. \protect\ParamList{\param{PointName},
+% \param{PointNameSep}, \param{PosAngle}, \param{PointSymbol}, \param{PtNameMath}}]
+\begin{BDef}
+\Lcs{pstGeonode}\OptArgs\coord1\Largb{$A_1$}\coord2\Largb{$A_1$}\ldots\cAny\Largb{$A_n$}
+\end{BDef}
+This command defines one or more geometrical points associated with a node in the default cartesian coordinate system. Each
+point has a node name $A_i$ which defines the default label put on the
+picture. This label is managed by default in mathematical mode, the boolean parameter
+\Lkeyword{PtNameMath} (default \true) can modify this behavior and let manage the
+label in normal mode. It is placed at a distance of \Lkeyword{PointNameSep}
+(default 1em) of the center of the node with a angle of
+\Lkeyword{PosAngle} (default 0). It is possible to specify another label using the
+parameter \Lkeyset{PointName=default}, and an empty label can be specified
+by selecting the value \Lkeyval{none}, in that case the point will have no name on the
+picture.
+
+The point symbol is given by the parameter \Lkeyset{PointSymbol=*}. The
+symbol is the same as used by the macro \Lcs{psdot}. This parameter can be set to
+\texttt{none}, which means that the point will not be drawn on the picture.
+
+Here are the possible values for this parameter:
+
+\begin{multicols}{3}
+ \begin{compactitem}\psset{dotscale=2}
+ \item \Lkeyword{*}: \psdots(.5ex,.5ex)
+ \item \Lkeyword{o}: \psdots[dotstyle=o](.5ex,.5ex)
+ \item \Lkeyword{+}: \psdots[dotstyle=+](.5ex,.5ex)
+ \item \Lkeyword{x}: \psdots[dotstyle=x](.5ex,.5ex)
+ \item \Lkeyword{asterisk} : \psdots[dotstyle=asterisk](.5ex,.5ex)
+ \item \Lkeyword{oplus}: \psdots[dotstyle=oplus](.5ex,.5ex)
+ \item \Lkeyword{otimes}: \psdots[dotstyle=otimes](.5ex,.5ex)
+ \item \Lkeyword{triangle}: \psdots[dotstyle=triangle](.5ex,.5ex)
+ \item \Lkeyword{triangle*}: \psdots[dotstyle=triangle*](.5ex,.5ex)
+ \item \Lkeyword{square}: \psdots[dotstyle=square](.5ex,.5ex)
+ \item \Lkeyword{square*}: \psdots[dotstyle=square*](.5ex,.5ex)
+ \item \Lkeyword{diamond}: \psdots[dotstyle=diamond](.5ex,.5ex)
+ \item \Lkeyword{diamond*}: \psdots[dotstyle=diamond*](.5ex,.5ex)
+ \item \Lkeyword{pentagon}: \psdots[dotstyle=pentagon](.5ex,.5ex)
+ \item \Lkeyword{pentagon*}: \psdots[dotstyle=pentagon*](.5ex,.5ex)
+ \item \Lkeyword{|}: \psdots[dotstyle=|](.5ex,.5ex)
+ \end{compactitem}
+\end{multicols}
+
+Furthermore, these symbols can be controlled with some others \PST,
+several of these are :
+
+\begin{compactitem}
+\item their scale with \Lkeyword{dotscale}, the value of whom is either two numbers
+ defining the horizontal and vertical scale factor, or one single value being the
+ same for both,
+\item their angle with parameter \Lkeyword{dotangle}.
+\end{compactitem}
+
+Please consult the \PST documentation for further details.
+The
+parameters \Lkeyword{PosAngle}, \Lkeyword{PointSymbol}, \Lkeyword{PointName} and
+\Lkeyword{PointNameSep} can be set to :
+
+\begin{compactitem}
+\item either a single value, the same for all points ;
+\item or a list of values delimited by accolads \texttt{\{ ... \}} and
+ separated with comma \textit{without any blanks}, allowing to differenciate the
+ value for each point.
+\end{compactitem}
+
+In the later case, the list can have less values than point which means that the
+last value is used for all the remaining points.
+%
+At least, the parameter setting \Lkeyword{CurveType=none} can be used to
+draw a line between the points:
+
+\begin{compactitem}
+\item opened \verb$polyline$ ;
+\item closed \verb$polygon$ ;
+\item open and curved \verb$curve$.
+\end{compactitem}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid=true](-2,-2)(3,3)
+\pstGeonode{A}
+\pstGeonode[PosAngle=-135, PointNameSep=1.3](0,3){B_1}
+\pstGeonode[PointSymbol=pentagon, dotscale=2, fillstyle=solid,
+ fillcolor=OliveGreen, PtNameMath=false,
+ PointName=$B_2$, linecolor=red](-2,1){B2}
+\pstGeonode[PosAngle={90,0,-90}, PointSymbol={*,o},
+ linestyle=dashed, CurveType=polygon,
+ PointNameSep={1em,2em,3mm}]
+ (1,2){M_1}(2,1){M_2}(1,0){M_3}
+\pstGeonode[PosAngle={50,100,90}, PointSymbol={*,x,default},
+ PointNameSep=3mm, CurveType=curve,
+ PointName={\alpha,\beta,\gamma,default}]
+ (-2,0){alpha}(-1,-2){beta}(0,-1){gamma}(2,-1.5){T}
+\end{pspicture}
+\end{LTXexample}
+
+Obviously, the nodes appearing in the picture can be used as normal
+\PST nodes. Thus, it is possible to reference a point from
+\rnode{ici}{here}.
+\nccurve[arrowscale=2]{->}{ici}{B_1}
+
+%\subsubsection{User defined axes}
+
+\Lcs{pstOIJGeonode} creates a list of points in the landmark $(O;I;J)$. Possible
+parameters are \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PosAngle},
+ \Lkeyword{PointSymbol}, and \Lkeyword{PtNameMath}.
+\begin{BDef}
+\Lcs{pstOIJGeonode}\OptArgs\coord1\Largb{$A_1$}\Largb{$O$}\Largb{$I$}\Largb{$J$}
+ \coord2\Largb{$A_2$}\ldots\cAny\Largb{$A_n$}
+\end{BDef}
+
+\clearpage
+
+
+\begin{LTXexample}[width=5.6cm,pos=l]
+\psset{unit=.7}
+\begin{pspicture*}[showgrid=true](-4,-4)(4,4)
+ \pstGeonode[PosAngle={-135,-90,180}]{O}(1,0.5){I}(0.5,2){J}
+ \pstLineAB[nodesep=10]{O}{I}
+ \pstLineAB[nodesep=10]{O}{J}
+ \multips(-5,-2.5)(1,0.5){11}{\psline(0,-.15)(0,.15)}
+ \multips(-2,-8)(0.5,2){9}{\psline(-.15,0)(.15,0)}
+ \psset{linestyle=dotted}%
+ \multips(-5,-2.5)(1,0.5){11}{\psline(-10,-40)(10,40)}
+ \multips(-2,-8)(0.5,2){9}{\psline(-10,-5)(10,5)}
+ \psset{PointSymbol=x, linestyle=solid}
+ \pstOIJGeonode[PosAngle={-90,0}, CurveType=curve,
+ linecolor=red] (3,1){A}{O}{I}{J}(-2,1){B}(-1,-1.5){C}(2,-1){D}
+\end{pspicture*}
+\end{LTXexample}
+
+
+\subsection{Segment mark}
+
+A segment can be drawn using the \Lcs{ncline} command. However,
+for marking a segment there is the following command:
+
+\begin{BDef}
+\Lcs{pstMarkSegment}\OptArgs\Largb{A}\Largb{B}
+\end{BDef}
+
+
+
+
+The symbol drawn on the segment is given by the parameter
+\Lkeyword{SegmentSymbol}. Its value can be any valid command which can be
+used in math mode. Its default value is \Lkeyval{pstslashh},
+which produced two slashes on the segment. The segment is drawn.
+
+Several commands are predefined for marking the segment:
+
+\begingroup
+\psset{PointSymbol=none,PointName=none,unit=.8}
+ \newcommand\Seg[1]{%
+ \Lcs{#1} \begin{pspicture}[shift=*](1.75,1)
+ \pstGeonode(0.3,.5){A}(1.7,.5){B}\pstSegmentMark[SegmentSymbol=#1]{A}{B}
+ \end{pspicture}}%
+\begin{multicols}{3}
+ \begin{compactitem}
+ \item \Seg{pstslash}
+ \item \Seg{pstslashh}
+ \item \Seg{pstslashhh}
+ \item \Seg{MarkHash}
+ \item \Seg{MarkHashh}
+ \item \Seg{MarkHashhh}
+ \item \Seg{MarkCros}
+ \item \Seg{MarkCross}
+ \end{compactitem}
+\end{multicols}
+\endgroup
+
+The three commands of the family \nxLcs{MarkHash} draw a line whose inclination is
+controled by the parameter \Lkeyword{MarkAngle} (default is 45). Their width and colour
+depends of the width and color of the line when the drawing is done, ass shown is the
+next example.
+
+
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid=true](-2,-2)(2,2)
+ \rput{18}{%
+ \pstGeonode[PosAngle={0,90,180,-90}](2,0){A}(2;72){B}
+ (2;144){C}(2;216){D}(2;288){E}}
+ \pstSegmentMark{A}{B}
+ \pstSegmentMark[linecolor=green]{B}{C}
+ \psset{linewidth=2\pslinewidth}
+ \pstSegmentMark[linewidth=2\pslinewidth]{C}{D}
+ \pstSegmentMark{D}{E}
+ \pstSegmentMark{E}{A}
+\end{pspicture}
+\end{LTXexample}
+
+
+The length and the separation of multiple hases can be set by \Lkeyword{MarkHashLength} and \Lkeyword{MarkHashSep}.
+
+
+
+\subsection{Triangles}
+
+The more classical figure, it has its own macro for a quick definition:
+
+\begin{BDef}
+\Lcs{pstTriangle}\OptArgs\coord1\Largb{A}\coord2\Largb{B}\coord3\Largb{C}
+\end{BDef}
+
+
+\begin{sloppypar}
+Valid optional arguments are \Lkeyword{PointName},
+ \Lkeyword{PointNameSep}, \Lkeyword{PosAngle}, \Lkeyword{PointSymbol}, \Lkeyword{PointNameA},
+ \Lkeyword{PosAngleA}, \Lkeyword{PointSymbolA}, \Lkeyword{PointNameB},
+ \Lkeyword{PosAngleB}, \Lkeyword{PointSymbolB}, \Lkeyword{PointNameC},
+ \Lkeyword{PosAngleC}, and \Lkeyword{PointSymbolC}.
+% $(x_A;y_A)$\Arg{$A$}$(x_B;y_B)$\Arg{$B$}$(x_C;y_C)$\Arg{$C$}}
+%
+In order to accurately put the name of the points, there are three parameters
+\Lkeyword{PosAngleA}, \Lkeyword{PosAngleB} and \Lkeyword{PosAngleC}, which are associated
+respectively to the nodes \Argsans{$A$}, \Argsans{$B$} and \Argsans{$C$}. Obviously
+they have the same meaning as the parameter \Lkeyword{PosAngle}. If one or more of such
+parameters is omitted, the value of \Lkeyword{PosAngle} is taken. If no angle
+is specified, points name are placed on the bissector line.
+\end{sloppypar}
+
+In the same way there are parameters for controlling the symbol used
+for each points: \Lkeyword{PointSymbolA}, \Lkeyword{PointSymbolB} and
+\Lkeyword{PointSymbolC}. They are equivalent to the parameter
+\Lkeyword{PointSymbol}. The management of the default value followed the
+same rule.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\pstTriangle[PointSymbol=square,PointSymbolC=o,
+ linecolor=blue,linewidth=1.5\pslinewidth]
+ (1.5,-1){A}(0,1){B}(-1,-.5){C}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{Angles}
+
+Each angle is defined with three points. The vertex is the second
+point. Their order is important because it is assumed that the angle is
+specified in the direct order. The first command is the marking of a
+right angle:
+
+
+\begin{BDef}
+\Lcs{pstRightAngle}\OptArgs\Largb{A}\Largb{B}\Largb{C}
+\end{BDef}
+
+
+\begin{sloppypar}
+Valid optional arguments are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize}, and
+ \Lkeyword{RightAngleSize}
+\end{sloppypar}
+
+The symbol used is controlled by the parameter \Lkeyword{RightAngleType}
+\nxLkeyval{default}. Its possible values are :
+
+\begin{compactitem}
+\item \Lkeyval{default} : standard symbol ;
+\item \Lkeyval{german} : german symbol (given by U. Dirr) ;
+\item \Lkeyval{suisseromand} : swiss romand symbol (given P. Schnewlin).
+\end{compactitem}
+
+The only parameter controlling this command, excepting the ones which
+controlled the line, is \Lkeyword{RightAngleSize} which defines the size
+of the symbol \DefaultVal{0.28 unit}.
+
+For other angles, there is the command:
+
+\begin{BDef}
+\Lcs{pstMarkAngle}\OptArgs\Largb{A}\Largb{B}\Largb{C}
+\end{BDef}
+
+
+\begin{sloppypar}
+Valid optional arguments are \Lkeyword{MarkAngleRadius}, \Lkeyword{LabelAngleOffset}, and
+ \Lkeyword{Mark}
+%
+The \Lkeyword{label} can be any valid \TeX\ box, it is put at \Lkeyword{LabelSep}
+\DefaultVal{1 unit} of the node in the direction of the bisector of the angle
+modified by \Lkeyword{LabelAngleOffset}\DefaultVal{0} and positioned using
+\Lkeyword{LabelRefPt} \DefaultVal{c}. Furthermore the arc used for marking has a radius
+of \Lkeyword{MarkAngleRadius} \DefaultVal{.4~unit}. At least, it is possible to place
+an arrow using the parameter \Lkeyword{arrows}.Finally, it is possible to mark
+the angle by specifying a \TeX{} command as argument of parameter \Lkeyword{Mark}.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\psset{PointSymbol=none}
+\pstTriangle(2;15){A}(2;85){B}(2;195){C}
+\psset{PointName=none}
+\pstTriangle[PointNameA=default](2;-130){B'}(2;15){A'}(2;195){C'}
+\pstTriangle[PointNameA=default](2;-55){B''}(2;15){A''}(2;195){C''}
+\pstRightAngle[linecolor=red]{C}{B}{A}
+\pstRightAngle[linecolor=blue, RightAngleType=suisseromand]{A}{B'}{C}
+\pstRightAngle[linecolor=magenta, RightAngleType=german]{A}{B''}{C}
+\psset{arcsep=\pslinewidth}
+\pstMarkAngle[linecolor=cyan, Mark=MarkHash]{A}{C}{B}{$\theta$}
+\pstMarkAngle[linecolor=red, arrows=->]{B}{A}{C}{$\gamma$}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Lines, half-lines and segments}
+
+The classical line $(\overline{AB})$!
+
+\begin{BDef}
+\Lcs{pstLineAB}\OptArgs\Largb{A}\Largb{B}
+\end{BDef}
+
+In order to control its length\footnote{which is the comble for a
+line!}, the two parameters \Lkeyword{nodesepA} et \Lkeyword{nodesepB}
+specify the abscissa of the extremity of the drawing part of the line.
+A negative abscissa specify an outside point, while a positive
+abscissa specify an internal point. If these parameters have to be
+equal, \Lkeyword{nodesep} can be used instead. The default value of these
+parameters is equal to 0.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\pstGeonode(1,1){A}(-1,-1){B}
+\pstLineAB[nodesepA=-.4,nodesepB=-1,
+ linecolor=green]{A}{B}
+\pstLineAB[nodesep=.4,linecolor=red]{A}{B}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
+ \subsection{Circles}
+
+A circle can be defined either with its center and a point of its
+circumference, or with two diameterly opposed points. There is two
+commands :
+
+
+\begin{BDef}
+\Lcs{pstCircleOA}\OptArgs\Largb{O}\Largb{A}\\
+\Lcs{pstCircleAB}\OptArgs\Largb{O}\Largb{A}\\
+\Lcs{pstDistAB}\OptArgs\Largb{A}\Largb{B}\\
+\Lcs{pstDistVal}\OptArgs\Largb{x}
+\end{BDef}
+
+%\Lcs{pstCircleOA} draws the circle of center $O$ crossing $A$. Possible options are \Lkeyword{Radius} and
+% \Lkeyword{Diameter}.
+
+%\Lcs{pstCircleAB} draws the circle of diameter $AB$ with the same options.
+
+
+For the first macro, it is possible to omit the second point and then
+to specify a radius or a diameter using the parameters \Lkeyword{Radius}
+and \Lkeyword{Diameter}. The values of these parameters must be specified
+with one of the two following macros :
+
+%\Lcs{pstDistAB} Specifies distance $AB$ for the parameters
+% \Lkeyword{Radius}, \Lkeyword{Diameter} and \Lkeyword{DistCoef}.
+
+%\Lcs{pstDistVal} Specifies a numerical value for the parameters
+% \Lkeyword{Radius}, \Lkeyword{Diameter}, and \Lkeyword{DistCoef}.
+
+
+The first specifies a distance between two points. The parameter
+\Lkeyword{DistCoef} can be used to specify a coefficient to reduce or
+enlarge this distance. To be taken into account this last parameter
+must be specified before the distance. The second macro can be used to
+specify an explicit numeric value.
+%
+We will see later how to draw the circle crossing three points.
+%
+ With this package, it becomes possible to draw:
+ \begin{compactitem}
+ \item {\color{red} the circle of center $A$ crossing $B$;}
+ \item {\color{green} the circle of center $A$ whose radius is $AC$;}
+ \item {\color{blue} the circle of center $A$ whose radius is $BC$;}
+ \item {\color{Sepia} the circle of center $B$ whose radius is $AC$;}
+ \item {\color{Aquamarine} the circle of center $B$ of diameter $AC$;}
+ \item {\color{RoyalBlue} the circle whose diameter is $BC$.}
+ \end{compactitem}
+
+\enlargethispage{3\normalbaselineskip}
+
+\bigskip
+\begin{pspicture}[showgrid](-4,-3.3)(5,3)
+\psset{linewidth=2\pslinewidth}
+\pstGeonode[PosAngle={0,-135,90},PointSymbol={*,*,square}](1,0){A}(-2,-1){B}(0,1){C}
+\pstCircleOA[linecolor=red]{A}{B}
+\pstCircleOA[linecolor=green, DistCoef=2 3 div, Radius=\pstDistAB{A}{C}]{A}{}
+\pstCircleOA[linecolor=blue, Radius=\pstDistAB{B}{C}]{A}{}
+\pstCircleOA[linecolor=Sepia, Radius=\pstDistAB{A}{C}]{B}{}
+\pstCircleOA[linecolor=Aquamarine, Diameter=\pstDistAB{A}{C}]{B}{}
+\pstCircleAB[linecolor=RoyalBlue]{B}{C}
+\end{pspicture}
+
+
+\clearpage
+
+\begin{lstlisting}
+\begin{pspicture}[showgrid](-4,-4)(5,3)
+\psset{linewidth=2\pslinewidth}
+\pstGeonode[PosAngle={0,-135,90},PointSymbol={*,*,square}](1,0){A}(-2,-1){B}(0,1){C}
+\pstCircleOA[linecolor=red]{A}{B}
+\pstCircleOA[linecolor=green, DistCoef=2 3 div, Radius=\pstDistAB{A}{C}]{A}{}
+\pstCircleOA[linecolor=blue, Radius=\pstDistAB{B}{C}]{A}{}
+\pstCircleOA[linecolor=Sepia, Radius=\pstDistAB{A}{C}]{B}{}
+\pstCircleOA[linecolor=Aquamarine, Diameter=\pstDistAB{A}{C}]{B}{}
+\pstCircleAB[linecolor=RoyalBlue]{B}{C}
+\end{pspicture}
+\end{lstlisting}
+
+
+ \subsection{Circle arcs}
+
+
+
+\begin{BDef}
+\Lcs{pstArcOAB}\OptArgs\Largb{O}\Largb{A}\Largb{B}\\
+\Lcs{pstArcnOAB}\OptArgs\Largb{O}\Largb{A}\Largb{B}
+\end{BDef}
+
+
+These two macros draw circle arcs, $O$ is the center, the radius
+defined by $OA$, the beginning angle given by $A$ and the final angle
+by $B$. Finally, the first macro draws the arc in the direct way,
+whereas the second in the indirect way. It is not necessary that the
+two points are at the same distance of $O$.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\pstGeonode[PosAngle={180,0}](1.5;24){A}(1.8;-31){B}
+\pstGeonode{O}
+\psset{arrows=->,arrowscale=2}
+\pstArcOAB[linecolor=red,linewidth=1pt]{O}{A}{B}
+\pstArcOAB[linecolor=blue,linewidth=1pt]{O}{B}{A}
+\pstArcnOAB[linecolor=green]{O}{A}{B}
+\pstArcnOAB[linecolor=magenta]{O}{B}{A}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Curved abscissa}
+
+A point can be positioned on a circle using its curved abscissa.
+
+
+
+
+\begin{BDef}
+\Lcs{pstCurvAbsNode}\OptArgs\Largb{O}\Largb{A}\Largb{B}\Largb{Abs}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are \Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath}, and \Lkeyword{CurvAbsNeg}.
+%
+The point \Argsans{$B$} is positioned on the circle of center
+\Argsans{$O$} crossing \Argsans{$A$}, with the curved abscissa
+\Argsans{Abs}. The origin is \Argsans{$A$} and the direction is
+anti-clockwise by default. The parameter \Lkeyword{CurvAbsNeg}
+\DefaultVal{false} can change this behavior.
+\end{sloppypar}
+
+If the parameter \Lkeyword{PosAngle} is not specified, the point label is put
+automatically in oirder to be alined with the circle center and the point.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2.5,-2.5)(2.5,2.5)
+\pstGeonode{O}(2,0){A}
+\pstCircleOA{O}{A}
+\pstCurvAbsNode{O}{A}{M_1}{\pstDistVal{5}}
+\pstCurvAbsNode[CurvAbsNeg=true]%
+ {O}{A}{M_2}{\pstDistAB{A}{M_1}}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Generic curve}
+
+It is possible to generate a set of points using a loop, and to give
+them a generic name defined by a radical and a number. The following
+command can draw a interpolated curve crossing all such kind of
+points.
+
+\begin{BDef}
+\Lcs{pstGenericCurve}\OptArgs\Largb{Radical}\Largb{$n_1$}\Largb{$n_2$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are \Lkeyword{GenCurvFirst}, \Lkeyword{GenCurvInc}, and
+ \Lkeyword{GenCurvLast}
+The curve is drawn on the points whose name is defined using the
+radical \Argsans{Radical} followed by a number from \Argsans{$n_1$} to
+\Argsans{$n_2$}. In order to manage side effect, the parameters
+\Lkeyword{GenCurvFirst} et \Lkeyword{GenCurvLast} can be used to specified
+special first or last point. The parameter \Lkeyword{GenCurvInc} can be
+used to modify the increment from a point to the next one
+\DefaultVal{1}.
+\end{sloppypar}
+
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2.5,-2.5)(2.5,1)
+\psset{unit=.00625}
+\pstGeonode{A}
+\multido{\n=20+20}{18}{%
+ \pstGeonode[PointName=M_{\n}](\n;\n){M_\n}}
+\pstGenericCurve[GenCurvFirst=A,GenCurvInc=20,
+ linecolor=blue,linewidth=.5\pslinewidth]{M_}{20}{360}
+ \end{pspicture}
+\end{LTXexample}
+
+\section{Geometric Transformations}
+
+The geometric transformations are the ideal tools to construct geometric figures. All
+the classical transformations are available with the following macros which
+share the same syntaxic scheme end two parameters.
+
+The common syntax put at the end two point lists whose second is optional or with a
+cardinal at least equal. These two lists contain the antecedent points and their
+respective images. In the case no image is given for some points the a default name
+is build appending a\verb$'$ to the antecedent name.
+
+The first shared parameter is \Lkeyword{CodeFig} which draws the specific
+constructions lines. Its default value is \Lkeyword{false}, and a
+\Lkeyword{true} value activates this optional drawing.
+The drawing is done using the line style \Lkeyword{CodeFigStyle}
+\DefaultVal{dashed}, with the color \Lkeyword{CodeFigColor}
+\DefaultVal{cyan}.
+
+Their second shared parameter is \Lkeyword{CurveType} which controls the drawing of a
+line crossing all images, and thus allow a quick description of a transformed figure.
+
+\subsection{Central symmetry}
+
+\begin{BDef}
+\Lcs{pstSymO}\OptArgs\Largb{$O$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+ \Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath},
+ \Lkeyword{CodeFig}, \Lkeyword{CodeFigColor}, and \Lkeyword{CodeFigStyle}.
+Draw the symmetric point in relation to point $O$. The classical
+parameter of point creation are usable here, and also for all the
+following functions.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\psset{CodeFig=true}
+\pstGeonode[PosAngle={20,90,0}]{O}(-.6,1.5){A}(1.6,-.5){B}
+\pstSymO[CodeFigColor=blue,
+ PosAngle={-90,180}]{O}{A, B}[C, D]
+\pstLineAB{A}{B}\pstLineAB{C}{D}
+\pstLineAB{A}{D}\pstLineAB{C}{B}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Orthogonal (or axial) symmetry}
+
+\begin{BDef}
+\Lcs{pstOrtSym}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath},
+ \Lkeyword{CodeFig}, \Lkeyword{CodeFigColor}, and \Lkeyword{CodeFigStyle}.
+%
+Draws the symmetric point in relation to line $(AB)$.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\psset{unit=0.6}
+\begin{pspicture}[showgrid](0,-2)(8,7)
+\pstTriangle(1,3){B}(5,5){C}(4,1){A}
+\pstOrtSym{A}{B}{C}[D]
+\psset{CodeFig=true}
+\pstOrtSym[dash=2mm 2mm,CodeFigColor=red]%
+ {C}{B}{A}
+\pstOrtSym[SegmentSymbol=pstslash,
+ linestyle=dotted,dotsep=3mm,CodeFigColor=blue]%
+ {C}{A}{B}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{Rotation}
+
+
+\begin{BDef}
+\Lcs{pstRotation}\OptArgs\Largb{$O$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}\\
+\Lcs{pstAngleAOB}\Largb{$A$}\Largb{$O$}\Largb{$B$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+ \Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath}, and \Lkeyword{RotAngle}
+for \Lcs{pstRotation} and \Lkeyword{AngleCoef}, \Lkeyword{RotAngle} for \Lcs{pstAngleABC}.
+%
+Draw the image of $M_i$ by the rotation of center $O$ and angle given by
+the parameter \Lkeyword{RotAngle}. This later can be an angle specified
+by three points. In such a case, the following function must be used:
+\end{sloppypar}
+
+
+
+Never forget to use the rotation for drawing a square or an equilateral
+triangle. The parameter \Lkeyword{CodeFig} puts a bow with an arrow between the
+point and its image, and if \Lkeyword{TransformLabel} \DefaultVal{none}
+contain some text, it is put on the corresponding angle in mathematical mode.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\psset{arrowscale=2}
+\pstGeonode[PosAngle=-135](-1.5,-.2){A}%
+ (.5,.2){B}(0,-2){D}
+\pstRotation[PosAngle=90,RotAngle=60,
+ CodeFig,CodeFigColor=blue,
+ TransformLabel=\frac{\pi}{3}]{A}{B}[C]
+\pstRotation[AngleCoef=.5,
+ RotAngle=\pstAngleAOB{B}{A}{C},
+ CodeFigColor=red, CodeFig,
+ TransformLabel=\frac{1}{2}\widehat{BAC}]{A}{D}[E]
+\end{pspicture}
+\end{LTXexample}
+
+
+ \subsection{Translation}
+
+\begin{BDef}
+\Lcs{pstTranslation}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath}, and \Lkeyword{DistCoef}
+%
+Draws the translated $M'_i$ of $M_i$ using the vector $\vec{AB}$. Useful for drawing a
+parallel line.
+\end{sloppypar}
+
+The parameter \Lkeyword{DistCoef} can be used as a multiplicand
+coefficient to modify the translation vector. The parameter \Lkeyword{CodeFig}
+draws the translation vector le vecteur de translation between the
+point and its image, labeled in its middle defaultly with the vector name or by the
+text specified with \Lkeyword{TransformLabel} \DefaultVal{none}.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\psset{linecolor=green,nodesep=-1,
+ PosAngle=90,arrowscale=2}
+\pstGeonode(-1.5,-1.2){A}(.5,-.8){B}(.5,1){C}(-1,0){D}(-2,-2){E}
+\pstTranslation{B}{A}{C}
+\psset{CodeFig,TransformLabel=default}
+\pstTranslation{A}{B}{D}
+\pstTranslation[DistCoef=1.5]{A}{B}{E}
+\pstLineAB{A}{B}\pstLineAB{C}{C'}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Homothetie}
+
+
+\begin{BDef}
+\Lcs{pstHomO}\OptArgs\Largb{$O$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{HomCoef},
+ \Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath}, and \Lkeyword{HomCoef}.
+%
+Draws $M'_i$ the image of $M_i$ by the homotethy of center $O$ and
+coefficient specified with the parameter \Lkeyword{HomCoef}.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(2,2)
+\pstGeonode[PosAngle={0,-45}](.5,1){O}%
+ (-1.5,-1.2){A}(.5,-.8){B}
+\pstHomO[HomCoef=.62,PosAngle=-45]{O}{A,B}[C,D]
+\psset{linecolor=green,nodesep=-1}
+\pstLineAB{A}{O}\pstLineAB{B}{O}
+\psset{linecolor=red,nodesep=-.5}
+\pstLineAB{A}{B}\pstLineAB{C}{D}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{Orthogonal projection}
+
+
+\begin{BDef}
+\Lcs{pstProjection}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$M_1, M_2, \cdots, M_n$}\OptArg{$M'_1, M'_2, \cdots, M'_p$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+ \Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath},
+ \Lkeyword{CodeFig}, \Lkeyword{CodeFigColor}, and\Lkeyword{CodeFigStyle}
+%
+Projects orthogonally the point $M_i$ on the line $(AB)$. Useful for the altitude of a
+triangle. The name is aligned with the point and the projected point as
+shown in the exemple.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-3,-2)(2,2)
+\psset{PointSymbol=none,CodeFig,CodeFigColor=red}
+\pstTriangle(1,1){A}(-2,1){C}(-1,-1){B}
+\pstProjection{A}{B}{C}[I]
+\pstProjection{A}{C}{B}[J]
+\pstProjection{C}{B}{A}[K]
+\end{pspicture}
+\end{LTXexample}
+
+\section{Special object}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \subsection{Midpoint}
+
+
+
+\begin{BDef}
+\Lcs{pstMiddleAB}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$I$}
+\end{BDef}
+
+\begin{sloppypar}
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath}, \Lkeyword{SegmentSymbol},
+ \Lkeyword{CodeFig}, \Lkeyword{CodeFigColor}, and \Lkeyword{CodeFigStyle}
+%
+Draw the midpoint $I$ of segment $[AB]$. By default, the point name is
+automatically put below the segment.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-3,-2)(2,2)
+\pstTriangle[PointSymbol=none]%
+ (1,1){A}(-1,-1){B}(-2,1){C}
+\pstMiddleAB{A}{B}{C'}
+\pstMiddleAB{C}{A}{B'}
+\pstMiddleAB{B}{C}{A'}
+\end{pspicture}
+\end{LTXexample}
+
+
+ \subsection{Triangle center of gravity}
+
+
+\begin{BDef}
+\Lcs{pstCGravABC}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$C$}\Largb{$G$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PosAngle},
+ \Lkeyword{PointSymbol}, and \Lkeyword{PtNameMath}
+%
+Draw the $ABC$ triangle centre of gravity $G$.
+\end{sloppypar}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-3,-2)(2,2)
+\pstTriangle[PointSymbol=none]%
+ (1,1){A}(-1,-1){B}(-2,1){C}
+\pstCGravABC{A}{B}{C}{G}
+\end{pspicture}
+\end{LTXexample}
+
+
+ \subsection{Centre of the circumcircle of a triangle}
+
+
+
+\begin{BDef}
+\Lcs{pstCircleABC}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$C$}\Largb{$O$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PosAngle},
+ \Lkeyword{PointSymbol}, \Lkeyword{PtNameMath}, \Lkeyword{DrawCirABC}, \Lkeyword{CodeFig},
+ \Lkeyword{CodeFigColor}, \Lkeyword{CodeFigStyle}, \Lkeyword{SegmentSymbolA},
+ \Lkeyword{SegmentSymbolB}, and \Lkeyword{SegmentSymbolC}.
+%
+Draws the circle crossing three points (the circum circle) and put its center $O$.
+The effective drawing is controlled by the boolean parameter \Lkeyword{DrawCirABC}
+\DefaultVal{true}. Moreover the intermediate constructs (mediator lines) can
+be drawn by setting the boolean parameter \Lkeyword{CodeFig}. In that case the middle
+points are marked on the segemnts using three different marks given by the parameters
+\Lkeyword{SegmentSymbolA}, \Lkeyword{SegmentSymbolB} et \Lkeyword{SegmentSymbolC}.
+\end{sloppypar}
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](6,6)
+\pstTriangle[PointSymbol=none]%
+ (4,1){A}(1,3){B}(5,5){C}
+\pstCircleABC[CodeFig,CodeFigColor=blue,
+ linecolor=red,PointSymbol=none]{A}{B}{C}{O}
+\end{pspicture}
+\end{LTXexample}
+
+
+ \subsection{Perpendicular bisector of a segment}
+
+\begin{BDef}
+\Lcs{pstMediatorAB}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$I$}\Largb{$M$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PosAngle},
+ \Lkeyword{PointSymbol}, \Lkeyword{PtNameMath}, \Lkeyword{CodeFig},
+ \Lkeyword{CodeFigColor}, \Lkeyword{CodeFigStyle}, and \Lkeyword{SegmentSymbol}.
+%
+The perpendicular bisector of a segment is a line perpendicular to
+this segment in its midpoint. The segment is $[AB]$, the midpoint $I$,
+and $M$ is a point belonging to the perpendicular bisector line. It is
+build by a rotation of $B$ of 90 degrees around $I$. This mean
+that the order of $A$ and $B$ is important, it controls the position
+of $M$. The command creates the two points $M$ end $I$. The
+construction is controlled by the following parameters:
+\end{sloppypar}
+
+\begin{compactitem}
+\item \Lkeyword{CodeFig}, \Lkeyword{CodeFigColor} and \Lkeyword{SegmentSymbol}
+ for marking the right angle ;
+\item \Lkeyword{PointSymbol} et \Lkeyword{PointName} for controlling the
+ drawing of the two points, each of them can be specified
+ separately with the parameters \Lkeyword{...A} and \Lkeyword{...B} ;
+\item parameters controlling the line drawing.
+\end{compactitem}
+
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](6,6)
+\pstTriangle[PointSymbol=none](3.5,1){A}(1,4){B}(5,4.2){C}
+\psset{linecolor=red,CodeFigColor=red,nodesep=-1}
+\pstMediatorAB[PointSymbolA=none]{A}{B}{I}{M_I}
+\psset{PointSymbol=none,PointNameB=none}
+\pstMediatorAB[CodeFig=true]{A}{C}{J}{M_J}
+\pstMediatorAB[PosAngleA=45,linecolor=blue]
+ {C}{B}{K}{M_K}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+ \subsection{Bisectors of angles}
+
+
+
+\begin{BDef}
+\Lcs{pstBissectBAC}\OptArgs\Largb{$B$}\Largb{$A$}\Largb{$C$}\Largb{$N$}\\
+\Lcs{pstOutBissectBAC}\OptArgs\Largb{$B$}\Largb{$A$}\Largb{$C$}\Largb{$N$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, and \Lkeyword{PtNameMath}.
+%
+There are two bisectors for a given geometric angle: the inside one and
+the outside one; this is why there is two commands. The angle is
+specified by three points specified in the trigonometric direction
+(anti-clockwise). The result of the commands is the specific line and
+a point belonging to this line. This point is built by a rotation of
+point $B$.
+\end{sloppypar}
+
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](6,6)
+\psset{CurveType=polyline,linecolor=red}
+\pstGeonode[PosAngle={180,-75,45}]%
+ (1,4){B}(4,1){A}(5,4){C}
+\pstBissectBAC[linecolor=blue]{C}{A}{B}{A'}
+\pstOutBissectBAC[linecolor=green,PosAngle=180]%
+ {C}{A}{B}{A''}
+\end{pspicture}
+\end{LTXexample}
+
+
+\section{Intersections}
+
+Points can be defined by intersections. Six intersection types are
+managed:
+
+\begin{compactitem}
+\item line-line;
+\item line-circle;
+\item circle-circle;
+\item function-function;
+\item function-line;
+\item function-circle.
+\end{compactitem}
+
+An intersection can not exist: case of parallel lines. In such a case,
+the point(s) are positioned at the origin. In fact, the user has to
+manage the existence of these points.
+
+ \subsection{Line-Line}
+
+
+
+\begin{BDef}
+\Lcs{pstInterLL}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$C$}\Largb{$D$}\Largb{$M$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, and \Lkeyword{PtNameMath}.
+%
+Draw the intersection point between lines $(AB)$ and $(CD)$.
+\end{sloppypar}
+
+\begin{description}
+\item[basique]
+
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](-1,-2)(4,3)
+\pstGeonode(0,-1){A}(3,2){B}(3,0){C}(1,2){D}
+\pstInterLL[PointSymbol=square]{A}{B}{C}{D}{E}
+\psset{linecolor=blue, nodesep=-1}
+\pstLineAB{A}{B}\pstLineAB{C}{D}
+\end{pspicture}
+\end{LTXexample}
+
+
+\item[Horthocentre]
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](-2,-2)(3,3)
+\psset{CodeFig,PointSymbol=none}
+\pstTriangle[PosAngleA=180](-1,0){A}(3,-1){B}(3,2){C}
+\pstProjection[PosAngle=-90]{B}{A}{C}
+\pstProjection{B}{C}{A}
+\pstProjection[PosAngle=90]{A}{C}{B}
+\pstInterLL[PosAngle=135,PointSymbol=square]{A}{A'}{B}{B'}{H}
+\end{pspicture}
+\end{LTXexample}
+
+\end{description}
+
+ \subsection{Circle--Line}
+
+\begin{BDef}
+\Lcs{pstInterLC}\OptArgs\Largb{$A$}\Largb{$B$}\Largb{$O$}\Largb{$C$}\Largb{$M_1$}\Largb{$M_2$}
+\end{BDef}
+
+\begin{sloppypar}
+Possible optional arguments are
+\Lkeyword{PointSymbol}, \Lkeyword{PosAngle},
+ \Lkeyword{PointName}, \Lkeyword{PointNameSep}, \Lkeyword{PtNameMath},
+ \Lkeyword{PointSymbolA}, \Lkeyword{PosAngleA}, \Lkeyword{PointNameA},
+ \Lkeyword{PointSymbolB}, \Lkeyword{PosAngleB}, \Lkeyword{PointNameB},
+ \Lkeyword{Radius}, and \Lkeyword{Diameter}.
+%
+Draw the one or two intersection point(s) between the line $(AB)$ and
+the circle of centre $O$ and with radius $OC$.
+\end{sloppypar}
+
+The circle is specified with its center and either a point of its
+circumference or with a radius specified with parameter \Lkeyword{radius}
+or its diameter specified with parameter \Lkeyword{Diameter}. These two
+parameters can be modify by coefficient \Lkeyword{DistCoef}.
+
+
+The position of the wo points is such that the vectors $\vec{AB}$ abd
+$\vec{M_1M_2}$ are in the same direction. Thus, if the points
+definig the line are switch, then the resulting points will be also
+switched. If the intersection is void, then the points are positionned
+at the center of the circle.
+
+
+\begin{LTXexample}[width=6cm,pos=l]
+\psset{unit=0.8}
+\begin{pspicture}[showgrid](-3,-2)(4,4)
+\pstGeonode[PosAngle={-135,80,0}](-1,0){B}(3,-1){C}(-.9,.5){O}(0,2){A}
+\pstGeonode(-2,3){I}
+\pstCircleOA[linecolor=red]{O}{A}
+\pstInterLC[PosAngle=-80]{C}{B}{O}{A}{D}{E}
+\pstInterLC[PosAngleB=60, Radius=\pstDistAB{O}{D}]{I}{C}{O}{}{F}{G}
+\pstInterLC[PosAngleB=180,DistCoef=1.3,Diameter=\pstDistAB{O}{D}]
+ {I}{B}{O}{}{H}{J}
+\pstCircleOA[linecolor=red,DistCoef=1.3,Diameter=\pstDistAB{O}{D}]{O}{}
+\psset{nodesep=-1}
+\pstLineAB[linecolor=green]{E}{C}
+\pstLineAB[linecolor=cyan]{I}{C}
+\pstLineAB[linecolor=magenta]{J}{I}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\subsection{Circle--Circle}
+
+\begin{BDef}
+\Lcs{pstInterCC}\OptArgs\Largb{$O_1$}\Largb{$B$}\Largb{$O_2$}\Largb{$C$}\Largb{$M_1$}\Largb{$M_2$}
+\end{BDef}
+
+
+This function is similar to the last one. The boolean parameters
+\Lkeyword{CodeFigA} et \Lkeyword{CodeFigB} allow the drawing of the arcs
+at the intersection. In order to get a coherence \Lkeyword{CodeFig} allow
+the drawing of both arcs. The boolean parameters \Lkeyword{CodeFigAarc} and
+\Lkeyword{CodeFigBarc} specified the direction of these optional arcs:
+trigonometric (by default) or clockwise. Here is a first example.
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](0,-1)(4,3)
+\psset{dash=2mm 2mm}
+\rput{10}{%
+ \pstGeonode[PosAngle={0,-90,-90,90}]
+ (1,-1){O}(2,1){A}(2,0.1){B}(2.5,1){C}}
+\pstCircleOA[linecolor=red]{C}{B}
+\pstInterCC[PosAngleA=135, CodeFigA=true, CodeFigAarc=false,
+ CodeFigColor=magenta]{O}{A}{C}{B}{D}{E}
+\pstInterCC[PosAngleA=170, CodeFigA=true,
+ CodeFigAarc=false,
+ CodeFigColor=green]{B}{E}{C}{B}{F}{G}
+\end{pspicture}
+\end{LTXexample}
+
+
+And a more complete one, which includes the special circle
+specification using radius and diameter. For such specifications it
+exists the parameters \Lkeyword{RadiusA}, \Lkeyword{RadiusB},
+\Lkeyword{DiameterA} and \Lkeyword{DiameterB}.
+
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-3,-4)(7,3)
+\pstGeonode[PointName={\Omega,O}](3,-1){Omega}(1,-1){O}
+\pstGeonode[PointSymbol=square, PosAngle={-90,90}](0,3){A}(2,2){B}
+\psset{PointSymbol=o}
+\pstCircleOA[linecolor=red, DistCoef=1 3 10 div add, Radius=\pstDistAB{A}{B}]{O}{}
+\pstCircleOA[linecolor=Orange, Diameter=\pstDistAB{A}{B}]{O}{}
+\pstCircleOA[linecolor=Violet, Radius=\pstDistAB{A}{B}]{Omega}{}
+\pstCircleOA[linecolor=Purple, Diameter=\pstDistAB{A}{B}]{Omega}{}
+\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B},
+ DistCoef=none, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{D}{E}
+\pstInterCC[DiameterA=\pstDistAB{A}{B}, RadiusB=\pstDistAB{A}{B}]{O}{}{Omega}{}{F}{G}
+\pstInterCC[DistCoef=1 3 10 div add, RadiusA=\pstDistAB{A}{B},
+ DistCoef=none, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{H}{I}
+\pstInterCC[DiameterA=\pstDistAB{A}{B}, DiameterB=\pstDistAB{A}{B}]{O}{}{Omega}{}{J}{K}
+\end{pspicture}
+\end{LTXexample}
+
+ \subsection{Function--function}
+
+
+\begin{BDef}
+\Lcs{pstInterFF}\OptArgs\Largb{$f$}\Largb{$g$}\Largb{$x_0$}\Largb{$M$}
+\end{BDef}
+
+This function put a point at the intersection between two curves
+defined by a function. $x_0$ is an intersection approximated value of
+the abscissa. It is obviously possible to ise this function several
+time if more than one intersection is present. Each function is
+describerd in \PS in the same way as the description used by
+the \Lcs{psplot} macro of \PST. A constant function can be
+specified, and then seaching function root is possible.
+
+The Newton algorithm is used for the research, and the intersection
+may not to be found. In such a case the point is positionned at the
+origin. On the other hand, the research can be trapped (in a local
+extremum near zero).
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-3,-1)(2,4)
+\psaxes{->}(0,0)(-2,0)(2,4)
+\psset{linewidth=1.5pt,algebraic}
+\psplot[linecolor=gray]{-2}{2}{x^2}
+\psplot{-2}{2}{2-x/2}
+\psset{PointSymbol=o}
+\pstInterFF{2-x/2}{x^2}{1}{M_1}
+\pstInterFF{2-x/2}{x^2}{-2}{M_0}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{Function--line}
+
+\begin{BDef}
+\Lcs{pstInterFL}\OptArgs\Largb{$f$}\Largb{$A$}\Largb{$B$}\Largb{$x_0$}\Largb{$M$}
+\end{BDef}
+
+Puts a point at the intersection between the function $f$ and the line
+$(AB)$.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](-3,-1.5)(3,4)
+\def\F{x^3/3 - x + 2/3 }
+\psaxes{->}(0,0)(-3,-1)(3,4)
+\psplot[linewidth=1.5pt,algebraic]{-2.5}{2.5}{\F}
+\psset{PointSymbol=*}
+\pstGeonode[PosAngle={-45,0}](0,-.2){N}(2.5,1){M}
+\pstLineAB[nodesepA=-3cm]{N}{M}
+\psset{PointSymbol=o,algebraic}
+\pstInterFL{\F}{N}{M}{2}{A}
+\pstInterFL[PosAngle=90]{\F}{N}{M}{0}{A'}
+\pstInterFL{\F}{N}{M}{-2}{A''}
+\end{pspicture}
+\end{LTXexample}
+
+
+\vspace{1cm}
+\subsection{Function--Circle}
+
+\begin{BDef}
+\Lcs{pstInterFC}\OptArgs\Largb{$f$}\Largb{$O$}\Largb{$A$}\Largb{$x_0$}\Largb{$M$}
+\end{BDef}
+
+Puts a point at the intersection between the function $f$ and the circle
+of centre $O$ and radius $OA$.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid](-3,-4)(3,4)
+\def\F{2*cos(x)}
+\psset{algebraic}
+\pstGeonode(0.3,-1){O}(2,.5){M}
+\ncline[linecolor=blue, arrowscale=2]{->}{O}{M}
+\psaxes{->}(0,0)(-3,-3)(3,4)
+\psplot[linewidth=1.5pt]{-3.14}{3.14}{\F}
+\pstCircleOA[PointSymbol=*]{O}{M}
+\psset{PointSymbol=o}
+\pstInterFC{\F}{O}{M}{1}{N0}
+\pstInterFC{\F}{O}{M}{-1}{N1}
+\pstInterFC{\F}{O}{M}{-2}{N2}
+\pstInterFC{\F}{O}{M}{2}{N3}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\section{Helper Macros}
+
+\begin{BDef}
+\Lcs{psGetDistanceAB}\OptArgs\coord1\coord2\Largb{<name>}\\
+\Lcs{psGetAngleABC}\OptArgs\coord1\coord2\coord3\Largb{<symbol>}
+\end{BDef}
+
+
+Calculates and prints the values. This is only possible on PostScript level!
+
+
+\begin{pspicture}[showgrid](-1,0)(11,8)
+\def\sideC{6} \def\sideA{7} \def\sideB{8}
+\psset{PointSymbol=none,linejoin=1,linewidth=0.4pt,PtNameMath=false,labelsep=0.07,MarkAngleRadius=1.1,decimals=1,comma}
+\pstGeonode[PosAngle={90,90}](0,0){A}(\sideC;10){B}
+\psset{PointName=}
+\pstInterCC[RadiusA=\pstDistVal{\sideB},RadiusB=\pstDistVal{\sideA},PosAngle=-90,PointNameA=C]{A}{}{B}{}{C}{C-}
+\pstInterCC[RadiusA=\pstDistAB{A}{B},RadiusB=\pstDistAB{B}{C}]{C}{}{A}{}{D-}{D}
+\pstInterLC[Radius=\pstDistAB{A}{C}]{C}{D}{C}{}{A'-}{A'}
+\pstInterCC[RadiusA=\pstDistAB{A}{B},RadiusB=\pstDistAB{B}{C}]{A'}{}{C}{}{B'}{B'-}
+\pstInterLL[PosAngle=90,PointName=default]{B'}{C}{A}{B}{E}
+\pspolygon(A)(B)(C)
+\pspolygon[fillstyle=solid,fillcolor=magenta,opacity=0.1](C)(E)(B)
+%
+\psGetAngleABC[ArcColor=blue,AngleValue=true,LabelSep=0.7,arrows=->,decimals=0,PSfont=Palatino-Roman](B)(A)(C){}
+\psGetAngleABC[AngleValue=true,ArcColor=red,arrows=->,WedgeOpacity=0.6,WedgeColor=yellow!30,LabelSep=0.5](C)(B)(A){$\beta$}
+\psGetAngleABC[LabelSep=0.7,WedgeColor=green,xShift=-6,yShift=-10](A)(C)(B){$\gamma$}
+\psGetAngleABC[LabelSep=0.7,AngleArc=false,WedgeColor=green,arrows=->,xShift=-15,yShift=0](C)(E)(B){\color{blue}$\gamma$}
+\psGetAngleABC[AngleValue=true,MarkAngleRadius=1.0,LabelSep=0.5,ShowWedge=false,xShift=-5,yShift=7,arrows=->](E)(B)(C){}
+%
+\pcline[linestyle=none](A)(B)\nbput{\sideC}
+\pcline[linestyle=none](C)(B)\naput{\sideA}
+\psGetDistanceAB[xShift=-8,yShift=4](B)(E){MW}
+\psGetDistanceAB[fontscale=15,xShift=4,decimals=0](A)(C){MAC}
+\psGetDistanceAB[xShift=-17,decimals=2](E)(C){MEC}
+\end{pspicture}
+
+
+
+
+
+\begin{lstlisting}
+\begin{pspicture}(-1,0)(11,8)
+\psgrid[gridlabels=0pt,subgriddiv=2,gridwidth=0.4pt,subgridwidth=0.2pt,gridcolor=black!60,subgridcolor=black!40]
+\def\sideC{6} \def\sideA{7} \def\sideB{8}
+\psset{PointSymbol=none,linejoin=1,linewidth=0.4pt,PtNameMath=false,labelsep=0.07,MarkAngleRadius=1.1,decimals=1,comma}
+\pstGeonode[PosAngle={90,90}](0,0){A}(\sideC;10){B}
+% \pstGeonode[PosAngle={225,-75}](0,0){A}(\sideC;10){B}
+\psset{PointName=}
+\pstInterCC[RadiusA=\pstDistVal{\sideB},RadiusB=\pstDistVal{\sideA},PosAngle=-90,PointNameA=C]{A}{}{B}{}{C}{C-}
+\pstInterCC[RadiusA=\pstDistAB{A}{B},RadiusB=\pstDistAB{B}{C}]{C}{}{A}{}{D-}{D}
+\pstInterLC[Radius=\pstDistAB{A}{C}]{C}{D}{C}{}{A'-}{A'}
+\pstInterCC[RadiusA=\pstDistAB{A}{B},RadiusB=\pstDistAB{B}{C}]{A'}{}{C}{}{B'}{B'-}
+\pstInterLL[PosAngle=90,PointName=default]{B'}{C}{A}{B}{E}
+\pspolygon(A)(B)(C)
+\pspolygon[fillstyle=solid,fillcolor=magenta,opacity=0.1](C)(E)(B)
+%
+\psGetAngleABC[ArcColor=blue,AngleValue=true,LabelSep=0.7,arrows=->,decimals=0,PSfont=Palatino-Roman](B)(A)(C){}
+\psGetAngleABC[AngleValue=true,ArcColor=red,arrows=->,WedgeOpacity=0.6,WedgeColor=yellow!30,LabelSep=0.5](C)(B)(A){$\beta$}
+\psGetAngleABC[LabelSep=0.7,WedgeColor=green,xShift=-6,yShift=-10](A)(C)(B){$\gamma$}
+\psGetAngleABC[LabelSep=0.7,AngleArc=false,WedgeColor=green,arrows=->,xShift=-15,yShift=0](C)(E)(B){\color{blue}$\gamma$}
+\psGetAngleABC[AngleValue=true,MarkAngleRadius=1.0,LabelSep=0.5,ShowWedge=false,xShift=-5,yShift=7,arrows=->](E)(B)(C){}
+%
+\pcline[linestyle=none](A)(B)\nbput{\sideC}
+\pcline[linestyle=none](C)(B)\naput{\sideA}
+\psGetDistanceAB[xShift=-8,yShift=4](B)(E){MW}
+\psGetDistanceAB[fontscale=15,xShift=4,decimals=0](A)(C){MAC}
+\psGetDistanceAB[xShift=-17,decimals=2](E)(C){MEC}
+\end{pspicture}
+\end{lstlisting}
+
+\clearpage
+
+
+
+\addtocontents{toc}{\protect\newpage}
+
+\part{Examples gallery}
+\appendix
+\section{Basic geometry}
+
+\subsection{Drawing of the bissector}
+
+\begin{LTXexample}[width=5cm,pos=l]
+\begin{pspicture}[showgrid](-1,-1)(4.4,5)
+\psset{PointSymbol=none,PointName=none}
+\pstGeonode[PosAngle={180,130,-90},PointSymbol={default,none},
+ PointName=default](2,0){B}(0,1){O}(1,4){A}
+\pstLineAB[nodesepB=-1,linecolor=red]{O}{A}
+\pstLineAB[nodesepB=-1,linecolor=red]{O}{B}
+\pstInterLC[PosAngleB=-45]{O}{B}{O}{A}{G}{C}
+\psset{arcsepA=-1, arcsepB=-1}
+\pstArcOAB[linecolor=green,linestyle=dashed]{O}{C}{A}
+\pstInterCC[PosAngleA=100]{A}{O}{C}{O}{O'}{OO}
+\pstArcOAB[linecolor=blue,linestyle=dashed]{A}{O'}{O'}
+\pstArcOAB[linecolor=blue,linestyle=dashed]{C}{O'}{O'}
+\pstLineAB[nodesepB=-1,linecolor=cyan]{O}{O'}
+\psset{arcsep=1pt,linecolor=magenta,Mark=MarkHash}
+\pstMarkAngle{C}{O}{O'}{}
+\pstMarkAngle[MarkAngleRadius=.5]{O'}{O}{A}{}
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+
+\subsection{Transformation de polygones et courbes}
+
+Here is an example of the use of \Lkeyword{CurveType} with transformation.
+
+\begin{LTXexample}
+\begin{pspicture}(-5,-5)(10,5)
+\pstGeonode{O}
+\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C}
+ (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}}
+\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}}
+\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G}
+\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q}
+\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'}
+\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'}
+\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''}
+ {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G''']
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
+
+\subsection{Triangle lines}
+
+
+\begin{LTXexample}
+\psset{unit=2}
+\begin{pspicture}(-3,-2)(3,3)
+\psset{PointSymbol=none}
+\pstTriangle[PointSymbol=none](-2,-1){A}(1,2){B}(2,0){C}
+{ \psset{linestyle=none, PointNameB=none}
+ \pstMediatorAB{A}{B}{K}{KP}
+ \pstMediatorAB[PosAngleA=-40]{C}{A}{J}{JP}
+ \pstMediatorAB[PosAngleA=75]{B}{C}{I}{IP}
+}% fin
+\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O}
+{% encapsulation de modif parametres
+ \psset{nodesep=-.8, linecolor=green}
+ \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K}
+}% fin
+\pstCircleOA[linecolor=red]{O}{A}
+% pour que le symbol de O soit sur et non sous les droites
+\psdot[dotstyle=square](O)
+% les hauteurs et l'orthocentre
+\pstProjection{B}{A}{C}
+\pstProjection{B}{C}{A}
+\pstProjection{A}{C}{B}
+\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'}
+\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H}
+% les medianes et le centre de gravite
+\psset{linecolor=magenta}\ncline{A}{I}\ncline{C}{K}\ncline{B}{J}
+\pstCGravABC[PointSymbol=square, PosAngle=95]{A}{B}{C}{G}
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+\subsection{Euler circle}
+
+
+\begin{LTXexample}
+\psset{unit=2}
+\begin{pspicture}(-3,-1.5)(3,2.5)
+\psset{PointSymbol=none}
+\pstTriangle(-2,-1){A}(1,2){B}(2,-1){C}
+{% encapsulation de modif parametres
+ \psset{linestyle=none, PointSymbolB=none, PointNameB=none}
+ \pstMediatorAB{A}{B}{K}{KP}
+ \pstMediatorAB{C}{A}{J}{JP}
+ \pstMediatorAB{B}{C}{I}{IP}
+}% fin
+\pstInterLL[PointSymbol=square, PosAngle=-170]{I}{IP}{J}{JP}{O}
+{% encapsulation de modif parametres
+ \psset{nodesep=-.8, linecolor=green}
+ \pstLineAB{O}{I}\pstLineAB{O}{J}\pstLineAB{O}{K}
+}% fin
+\psdot[dotstyle=square](O)
+\pstProjection{B}{A}{C}
+\pstProjection{B}{C}{A}
+\pstProjection{A}{C}{B}
+\psset{linecolor=blue}\ncline{A}{A'}\ncline{C}{C'}\ncline{B}{B'}
+\pstInterLL[PointSymbol=square]{A}{A'}{B}{B'}{H}
+% le cercle d'Euler (centre au milieu de [OH])
+\pstMiddleAB[PointSymbol=o, PointName=\omega]{O}{H}{omega}
+\pstCircleOA[linecolor=Orange, linestyle=dashed, dash=5mm 1mm]{omega}{B'}
+\psset{PointName=none}
+% il passe par le milieu des segments joignant l'orthocentre et les sommets
+\pstMiddleAB{H}{A}{AH}\pstMiddleAB{H}{B}{BH}\pstMiddleAB{H}{C}{CH}
+\pstSegmentMark{H}{AH}\pstSegmentMark{AH}{A}
+\psset{SegmentSymbol=wedge}\pstSegmentMark{H}{BH}\pstSegmentMark{BH}{B}
+\psset{SegmentSymbol=cup}\pstSegmentMark{H}{CH}\pstSegmentMark{CH}{C}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\subsection{Orthocenter and hyperbola}
+
+The orthocenter of a triangle whose points are on the branches of the
+hyperbola ${\mathscr H} : y=a/x$ belong to this hyperbola.
+
+\begin{LTXexample}
+\psset{unit=0.7}
+\begin{pspicture}(-11,-5)(11,7)
+\psset{linecolor=blue, linewidth=2\pslinewidth}
+\psplot[yMaxValue=6,plotpoints=500]{-10}{-.1}{1 x div}
+\psplot[yMaxValue=6,plotpoints=500]{.1}{10}{1 x div}
+\psset{%PointSymbol=none,
+linewidth=.5\pslinewidth}
+\pstTriangle[linecolor=magenta, PosAngleB=-85, PosAngleC=-90](.2,5){A}(1,1){B}(10,.1){C}
+\psset{linecolor=magenta,CodeFig=true, CodeFigColor=red}
+\pstProjection{B}{A}{C}
+\ncline[nodesepA=-1,linestyle=dashed,linecolor=magenta]{C'}{B}
+\pstProjection{B}{C}{A}
+\ncline[nodesepA=-1,linestyle=dashed,linecolor=magenta]{A'}{B}
+\pstProjection{A}{C}{B}
+\pstInterLL[PosAngle=135,PointSymbol=square]{A}{A'}{B}{B'}{H}
+\psset{linecolor=green, nodesep=-1}
+\pstLineAB{A}{H}\pstLineAB{B'}{H}\pstLineAB{C}{H}
+\psdot[dotstyle=square](H)
+\end{pspicture}
+\end{LTXexample}
+
+
+\resetEUCLvalues
+
+
+\newpage
+\subsection{17 sides regular polygon}
+
+Striking picture created by K. F. Gauss.
+he also prooved that it is possible to build the regular polygons which
+have $2^{2^p}+1$ sides, the following one has 257 sides!
+
+
+\begin{pspicture}(-5.5,-5.5)(5.5,6)
+ \psset{CodeFig, RightAngleSize=.14, CodeFigColor=red,
+ CodeFigB=true, linestyle=dashed, dash=2mm 2mm}
+ \pstGeonode[PosAngle={-90,0}]{O}(5;0){P_1}
+ \pstCircleOA{O}{P_1}
+ \pstSymO[PointSymbol=none, PointName=none, CodeFig=false]{O}{P_1}[PP_1]
+ \ncline[linestyle=solid]{PP_1}{P_1}
+ \pstRotation[RotAngle=90, PosAngle=90]{O}{P_1}[B]
+ \pstRightAngle[linestyle=solid]{B}{O}{PP_1}\ncline[linestyle=solid]{O}{B}
+ \pstHomO[HomCoef=.25]{O}{B}[J] \ncline{J}{P_1}
+ \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{P_1}{PE1}
+ \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{PE1}{PE2}
+ \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PE2}{E}
+ \pstRotation[PosAngle=-90, RotAngle=-45, PointSymbol=none, PointName=none]{J}{E}[PF1]
+ \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PF1}{F}
+ \pstMiddleAB[PointSymbol=none, PointName=none]{F}{P_1}{MFP1} \pstCircleOA{MFP1}{P_1}
+ \pstInterLC[%PointSymbolA=none, PointNameA=none
+ ]{O}{B}{MFP1}{P_1}{H}{K}
+ \pstCircleOA{E}{K} \pstInterLC{O}{P_1}{E}{K}{N_6}{N_4}
+ \pstRotation[RotAngle=90,PointSymbol=none, PointName=none]{N_6}{E}[PP_6]
+ \pstInterLC[PosAngleA=90,PosAngleB=-90, PointNameB=P_{13}]{PP_6}{N_6}{O}{P_1}{P_6}{P_13}
+ \pstSegmentMark[SegmentSymbol=wedge]{N_6}{P_6}
+ \pstSegmentMark[SegmentSymbol=wedge]{P_13}{N_6}
+ \pstRotation[RotAngle=90,PointSymbol=none, PointName=none]{N_4}{E}[PP_4]
+ \pstInterLC[PosAngleA=90,PosAngleB=-90,PointNameB=P_{15}]{N_4}{PP_4}{O}{P_1}{P_4}{P_15}
+ \pstSegmentMark[SegmentSymbol=cup]{N_4}{P_4}
+ \pstSegmentMark[SegmentSymbol=cup]{P_15}{N_4}
+ \pstRightAngle[linestyle=solid]{P_1}{N_6}{P_6}
+ \pstRightAngle[linestyle=solid]{P_1}{N_4}{P_4}
+ \pstBissectBAC[PosAngle=90, linestyle=none]{P_4}{O}{P_6}{P_5}
+ \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_4}{P_5}{H}{P_3}
+ \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_3}{P_4}{H}{P_2}
+ \pstInterCC[PosAngleA=90, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_6}{P_5}{P_7}{H}
+ \pstInterCC[PosAngleA=100, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_7}{P_6}{P_8}{H}
+ \pstInterCC[PosAngleA=135, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_8}{P_7}{P_9}{H}
+ \pstOrtSym[PosAngle={-90,-90,-90,-100,-135},PointName={P_{17},P_{16},P_{14},P_{12},P_{11},P_{10}}]
+ {O}{P_1}{P_2,P_3,P_5,P_7,P_8,P_9}[P_17,P_16,P_14,P_12,P_11,P_10]
+ \pspolygon[linecolor=green, linestyle=solid, linewidth=2\pslinewidth]
+ (P_1)(P_2)(P_3)(P_4)(P_5)(P_6)(P_7)(P_8)(P_9)(P_10)(P_11)(P_12)(P_13)(P_14)(P_15)(P_16)(P_17)
+\end{pspicture}
+
+
+\begin{lstlisting}
+\begin{pspicture}(-5.5,-5.5)(5.5,6)
+ \psset{CodeFig, RightAngleSize=.14, CodeFigColor=red,
+ CodeFigB=true, linestyle=dashed, dash=2mm 2mm}
+ \pstGeonode[PosAngle={-90,0}]{O}(5;0){P_1}
+ \pstCircleOA{O}{P_1}
+ \pstSymO[PointSymbol=none, PointName=none, CodeFig=false]{O}{P_1}[PP_1]
+ \ncline[linestyle=solid]{PP_1}{P_1}
+ \pstRotation[RotAngle=90, PosAngle=90]{O}{P_1}[B]
+ \pstRightAngle[linestyle=solid]{B}{O}{PP_1}\ncline[linestyle=solid]{O}{B}
+ \pstHomO[HomCoef=.25]{O}{B}[J] \ncline{J}{P_1}
+ \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{P_1}{PE1}
+ \pstBissectBAC[PointSymbol=none, PointName=none]{O}{J}{PE1}{PE2}
+ \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PE2}{E}
+ \pstRotation[PosAngle=-90, RotAngle=-45, PointSymbol=none, PointName=none]{J}{E}[PF1]
+ \pstInterLL[PosAngle=-90]{O}{P_1}{J}{PF1}{F}
+ \pstMiddleAB[PointSymbol=none, PointName=none]{F}{P_1}{MFP1} \pstCircleOA{MFP1}{P_1}
+ \pstInterLC[PointSymbolA=none, PointNameA=none]{O}{B}{MFP1}{P_1}{H}{K}
+ \pstCircleOA{E}{K} \pstInterLC{O}{P_1}{E}{K}{N_6}{N_4}
+ \pstRotation[RotAngle=90,PointSymbol=none, PointName=none]{N_6}{E}[PP_6]
+ \pstInterLC[PosAngleA=90,PosAngleB=-90, PointNameB=P_{13}]{PP_6}{N_6}{O}{P_1}{P_6}{P_13}
+ \pstSegmentMark[SegmentSymbol=wedge]{N_6}{P_6}
+ \pstSegmentMark[SegmentSymbol=wedge]{P_13}{N_6}
+ \pstRotation[RotAngle=90,PointSymbol=none, PointName=none]{N_4}{E}[PP_4]
+ \pstInterLC[PosAngleA=90,PosAngleB=-90,PointNameB=P_{15}]{N_4}{PP_4}{O}{P_1}{P_4}{P_15}
+ \pstSegmentMark[SegmentSymbol=cup]{N_4}{P_4}
+ \pstSegmentMark[SegmentSymbol=cup]{P_15}{N_4}
+ \pstRightAngle[linestyle=solid]{P_1}{N_6}{P_6}
+ \pstRightAngle[linestyle=solid]{P_1}{N_4}{P_4}
+ \pstBissectBAC[PosAngle=90, linestyle=none]{P_4}{O}{P_6}{P_5}
+ \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_4}{P_5}{H}{P_3}
+ \pstInterCC[PosAngleB=90, PointSymbolA=none, PointNameA=none]{O}{P_1}{P_3}{P_4}{H}{P_2}
+ \pstInterCC[PosAngleA=90, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_6}{P_5}{P_7}{H}
+ \pstInterCC[PosAngleA=100, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_7}{P_6}{P_8}{H}
+ \pstInterCC[PosAngleA=135, PointSymbolB=none, PointNameB=none]{O}{P_1}{P_8}{P_7}{P_9}{H}
+ \pstOrtSym[PosAngle={-90,-90,-90,-100,-135},PointName={P_{17},P_{16},P_{14},P_{12},P_{11},P_{10}}]
+ {O}{P_1}{P_2,P_3,P_5,P_7,P_8,P_9}[P_17,P_16,P_14,P_12,P_11,P_10]
+ \pspolygon[linecolor=green, linestyle=solid, linewidth=2\pslinewidth]
+ (P_1)(P_2)(P_3)(P_4)(P_5)(P_6)(P_7)(P_8)(P_9)(P_10)(P_11)(P_12)(P_13)(P_14)(P_15)(P_16)(P_17)
+\end{pspicture}
+\end{lstlisting}
+
+
+\newpage
+\subsection{Circles \& tangents}
+
+The drawing of the circle tangents which crosses a given point.
+
+\begin{LTXexample}
+\begin{pspicture}(15,10)
+\pstGeonode(5, 5){O}(14,2){M}
+\pstCircleOA[Radius=\pstDistVal{4}]{O}{}
+\pstMiddleAB[PointSymbol=none, PointName=none]{O}{M}{O'}
+\pstInterCC[RadiusA=\pstDistVal{4}, DiameterB=\pstDistAB{O}{M},
+ CodeFigB=true, CodeFigColor=magenta, PosAngleB=45]{O}{}{O'}{}{A}{B}
+\psset{linecolor=red, linewidth=1.3\pslinewidth, nodesep=-2}
+\pstLineAB{M}{A}\pstLineAB{M}{B}
+\end{pspicture}
+\end{LTXexample}
+
+
+\begin{LTXexample}
+\begin{pspicture}(-2,0)(13,9)
+\pstGeonode(9,3){O}(3,6){O'}\psset{PointSymbol=none, PointName=none}
+\pstCircleOA[Radius=\pstDistVal{3}]{O}{}\pstCircleOA[Radius=\pstDistVal{1}]{O'}{}
+\pstInterLC[Radius=\pstDistVal{3}]{O}{O'}{O}{}{M}{toto}
+\pstInterLC[Radius=\pstDistVal{1}]{O}{O'}{O'}{}{M'}{toto}
+\pstRotation[RotAngle=30]{O}{M}[N]
+\pstRotation[RotAngle=30]{O'}{M'}[N']
+\pstInterLL[PointSymbol=default, PointName=\Omega]{O}{O'}{N}{N'}{Omega}
+\pstMiddleAB{O}{Omega}{I} \pstInterCC{I}{O}{O}{M}{A}{B}
+\psset{nodesepA=-1, nodesepB=-3, linecolor=blue, linewidth=1.3\pslinewidth}
+\pstLineAB[nodesep=-2]{A}{Omega}\pstLineAB[nodesep=-2]{B}{Omega}
+\pstRotation[RotAngle=-150]{O'}{M'}[N'']
+\pstInterLL[PointSymbol=default, PointName=\Omega']{O}{O'}{N}{N''}{Omega'}
+\pstMiddleAB{O}{Omega'}{J}
+\pstInterCC{J}{O}{O}{M}{A'}{B'}
+\psset{nodesepA=-1, nodesepB=-3, linecolor=red}
+\pstLineAB{A'}{Omega'}\pstLineAB{B'}{Omega'}
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+\subsection{Fermat's point}
+
+Drawing of Manuel Luque.
+
+\begin{LTXexample}
+\begin{pspicture}(-7,-6)(5,5)
+\psset{PointSymbol=none, PointName=none}
+\pstTriangle[PosAngleA=-160,PosAngleB=90,PosAngleC=-25](-3,-2){B}(0,3){A}(2,-1){C}%
+\psset{RotAngle=-60}
+\pstRotation[PosAngle=-90]{B}{C}[A']
+\pstRotation{C}{A}[B']
+\pstRotation[PosAngle=160]{A}{B}[C']
+\pstLineAB{A}{B'}
+\pstLineAB{C}{B'}
+\pstLineAB{B}{A'}
+\pstLineAB{C}{A'}
+\pstLineAB{B}{C'}
+\pstLineAB{A}{C'}
+\pstCircleABC[linecolor=red]{A}{B}{C'}{O_1}
+\pstCircleABC[linecolor=blue]{A}{C}{B'}{O_2}
+\pstCircleABC[linecolor=Aquamarine]{A'}{C}{B}{O_3}
+\pstInterCC[PointSymbolA=none]{O_1}{A}{O_2}{A}{E}{F}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\subsection{Escribed and inscribed circles of a triangle}
+
+%% cercles inscrit et exinscrits d'un triangle
+
+
+\begin{pspicture}(-6,-5)(11,15)
+\psset{PointSymbol=none}
+\pstTriangle[linewidth=2\pslinewidth,linecolor=red](4,1){A}(0,3){B}(5,5){C}
+\psset{linecolor=blue}
+\pstBissectBAC[PointSymbol=none,PointName=none]{C}{A}{B}{AB}
+\pstBissectBAC[PointSymbol=none,PointName=none]{A}{B}{C}{BB}
+\pstBissectBAC[PointSymbol=none,PointName=none]{B}{C}{A}{CB}
+\pstInterLL{A}{AB}{B}{BB}{I}
+\psset{linecolor=magenta, linestyle=dashed} \pstProjection{A}{B}{I}[I_C]
+\pstLineAB{I}{I_C}\pstRightAngle[linestyle=solid]{A}{I_C}{I}
+\pstProjection{A}{C}{I}[I_B]
+\pstLineAB{I}{I_B}\pstRightAngle[linestyle=solid]{C}{I_B}{I}
+\pstProjection[PosAngle=80]{C}{B}{I}[I_A]
+\pstLineAB{I}{IA}\pstRightAngle[linestyle=solid]{B}{I_A}{I}
+\pstCircleOA[linecolor=yellow, linestyle=solid]{I}{I_A}
+\psset{linecolor=magenta, linestyle=none}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{C}{A}{B}{AOB}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{A}{B}{C}{BOB}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{B}{C}{A}{COB}
+\pstInterLL[PosAngle=-90]{A}{AOB}{B}{BOB}{I_1} \pstInterLL{A}{AOB}{C}{COB}{I_2}
+\pstInterLL[PosAngle=90]{C}{COB}{B}{BOB}{I_3} \psset{linecolor=magenta, linestyle=dashed}
+\pstProjection[PointName=I_{1C}]{A}{B}{I_1}[I1C]
+\pstLineAB{I_1}{I1C}\pstRightAngle[linestyle=solid]{I_1}{I1C}{A}
+\pstProjection[PointName=I_{1B}]{A}{C}{I_1}[I1B]
+\pstLineAB{I_1}{I1B}\pstRightAngle[linestyle=solid]{A}{I1B}{I_1}
+\pstProjection[PointName=I_{1A}]{C}{B}{I_1}[I1A]
+\pstLineAB{I_1}{I1A}\pstRightAngle[linestyle=solid]{I_1}{I1A}{C}
+\pstProjection[PointName=I_{2B}]{A}{C}{I_2}[I2B]
+\pstLineAB{I_2}{I2B}\pstRightAngle[linestyle=solid]{A}{I2B}{I_2}
+\pstProjection[PointName=I_{2C}]{A}{B}{I_2}[I2C]
+\pstLineAB{I_2}{I2C}\pstRightAngle[linestyle=solid]{I_2}{I2C}{A}
+\pstProjection[PointName=I_{2A}]{B}{C}{I_2}[I2A]
+\pstLineAB{I_2}{I2A}\pstRightAngle[linestyle=solid]{C}{I2A}{I_2}
+\pstProjection[PointName=I_{3A}]{C}{B}{I_3}[I3A]
+\pstLineAB{I_3}{I3A}\pstRightAngle[linestyle=solid]{C}{I3A}{I_3}
+\pstProjection[PointName=I_{3C}]{A}{B}{I_3}[I3C]
+\pstLineAB{I_3}{I3C}\pstRightAngle[linestyle=solid]{A}{I3C}{I_3}
+\pstProjection[PointName=I_{3B}]{C}{A}{I_3}[I3B]
+\pstLineAB{I_3}{I3B}\pstRightAngle[linestyle=solid]{I_3}{I3B}{A}
+\psset{linecolor=black!40, linestyle=dashed}
+\pstCircleOA{I_1}{I1C} \pstCircleOA{I_2}{I2B} \pstCircleOA{I_3}{I3A}
+\psset{linecolor=red, linestyle=solid, nodesepA=-1, nodesepB=-1}
+\pstLineAB{I1B}{I3B}\pstLineAB{I1A}{I2A}\pstLineAB{I2C}{I3C}
+\end{pspicture}
+
+
+\begin{lstlisting}
+\begin{pspicture}(-6,-5)(11,15)
+\psset{PointSymbol=none}
+\pstTriangle[linewidth=2\pslinewidth,linecolor=red](4,1){A}(0,3){B}(5,5){C}
+\psset{linecolor=blue}
+\pstBissectBAC[PointSymbol=none,PointName=none]{C}{A}{B}{AB}
+\pstBissectBAC[PointSymbol=none,PointName=none]{A}{B}{C}{BB}
+\pstBissectBAC[PointSymbol=none,PointName=none]{B}{C}{A}{CB}
+\pstInterLL{A}{AB}{B}{BB}{I}
+\psset{linecolor=magenta, linestyle=dashed}
+\pstProjection{A}{B}{I}[I_C]
+\pstLineAB{I}{I_C}\pstRightAngle[linestyle=solid]{A}{I_C}{I}
+\pstProjection{A}{C}{I}[I_B]
+\pstLineAB{I}{I_B}\pstRightAngle[linestyle=solid]{C}{I_B}{I}
+\pstProjection[PosAngle=80]{C}{B}{I}[I_A]
+\pstLineAB{I}{IA}\pstRightAngle[linestyle=solid]{B}{I_A}{I}
+\pstCircleOA[linecolor=yellow, linestyle=solid]{I}{I_A}
+\psset{linecolor=magenta, linestyle=none}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{C}{A}{B}{AOB}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{A}{B}{C}{BOB}
+\pstOutBissectBAC[PointSymbol=none,PointName=none]{B}{C}{A}{COB}
+\pstInterLL[PosAngle=-90]{A}{AOB}{B}{BOB}{I_1}
+\pstInterLL{A}{AOB}{C}{COB}{I_2}
+\pstInterLL[PosAngle=90]{C}{COB}{B}{BOB}{I_3}
+\psset{linecolor=magenta, linestyle=dashed}
+\pstProjection[PointName=I_{1C}]{A}{B}{I_1}[I1C]
+\pstLineAB{I_1}{I1C}\pstRightAngle[linestyle=solid]{I_1}{I1C}{A}
+\pstProjection[PointName=I_{1B}]{A}{C}{I_1}[I1B]
+\pstLineAB{I_1}{I1B}\pstRightAngle[linestyle=solid]{A}{I1B}{I_1}
+\pstProjection[PointName=I_{1A}]{C}{B}{I_1}[I1A]
+\pstLineAB{I_1}{I1A}\pstRightAngle[linestyle=solid]{I_1}{I1A}{C}
+\pstProjection[PointName=I_{2B}]{A}{C}{I_2}[I2B]
+\pstLineAB{I_2}{I2B}\pstRightAngle[linestyle=solid]{A}{I2B}{I_2}
+\pstProjection[PointName=I_{2C}]{A}{B}{I_2}[I2C]
+\pstLineAB{I_2}{I2C}\pstRightAngle[linestyle=solid]{I_2}{I2C}{A}
+\pstProjection[PointName=I_{2A}]{B}{C}{I_2}[I2A]
+\pstLineAB{I_2}{I2A}\pstRightAngle[linestyle=solid]{C}{I2A}{I_2}
+\pstProjection[PointName=I_{3A}]{C}{B}{I_3}[I3A]
+\pstLineAB{I_3}{I3A}\pstRightAngle[linestyle=solid]{C}{I3A}{I_3}
+\pstProjection[PointName=I_{3C}]{A}{B}{I_3}[I3C]
+\pstLineAB{I_3}{I3C}\pstRightAngle[linestyle=solid]{A}{I3C}{I_3}
+\pstProjection[PointName=I_{3B}]{C}{A}{I_3}[I3B]
+\pstLineAB{I_3}{I3B}\pstRightAngle[linestyle=solid]{I_3}{I3B}{A}
+\psset{linecolor=yellow, linestyle=solid}
+\pstCircleOA{I_1}{I1C} \pstCircleOA{I_2}{I2B} \pstCircleOA{I_3}{I3A}
+\psset{linecolor=red, linestyle=solid, nodesepA=-1, nodesepB=-1}
+\pstLineAB{I1B}{I3B}\pstLineAB{I1A}{I2A}\pstLineAB{I2C}{I3C}
+\end{pspicture}
+\end{lstlisting}
+
+
+
+\newpage
+\section{Some locus points}
+
+\subsection{Parabola}
+
+The parabola is the set of points which are at the same distance
+between a point and a line.
+
+
+\begin{LTXexample}
+\def\NbPt{11}
+\begin{pspicture}(-0.5,0)(11,10)
+\psset{linewidth=1.2\pslinewidth}\renewcommand{\NbPt}{11}
+\pstGeonode[PosAngle={0,-90}](5,4){O}(1,2){A}(9,1.5){B}
+\newcommand\Parabole[1][100]{%
+ \pstLineAB[nodesep=-.9, linecolor=green]{A}{B}
+ \psset{RotAngle=90, PointSymbol=none, PointName=none}
+ \multido{\n=1+1}{\NbPt}{%
+ \pstHomO[HomCoef=\n\space \NbPt\space 1 add div]{A}{B}[M\n]
+ \pstMediatorAB[linestyle=none]{M\n}{O}{M\n_I}{M\n_IP}
+ \pstRotation{M\n}{A}[M\n_P]
+ \pstInterLL[PointSymbol=square, PointName=none]{M\n_I}{M\n_IP}{M\n}{M\n_P}{P_\n}
+ \ifnum\n=#1 \bgroup
+ \pstRightAngle{A}{M\n}{M\n_P}
+ \psset{linewidth=.5\pslinewidth, nodesep=-1, linecolor=blue}
+ \pstLineAB{M\n_I}{P_\n}\pstLineAB{M\n}{P_\n}
+ \pstRightAngle{P_\n}{M\n_I}{M\n}
+ \psset{linecolor=red}\pstSegmentMark{M\n}{M\n_I}\pstSegmentMark{M\n_I}{O}
+ \egroup \fi}}
+\Parabole[2]\pstGenericCurve[linecolor=magenta]{P_}{1}{\NbPt}
+\pstGeonode[PointSymbol=*, PosAngle=-90](10,3.5){B}
+\Parabole\pstGenericCurve[linecolor=magenta,linestyle=dashed]{P_}{1}{\NbPt}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\subsection{Hyperbola}
+
+The hyperbola is the set of points whose difference between their
+distance of two points (the focus) is constant.
+
+\iffalse
+\begin{verbatim}
+%% QQ RAPPELS : a=\Sommet, c=\PosFoyer,
+%% b^2=c^2-a^2, e=c/a
+%% pour une hyperbole -> e>1, donc c>a,
+%% ici on choisi a=\sqrt{2}, c=2, e=\sqrt{2}
+%% M est sur H <=> |MF-MF'|=2a
+\end{verbatim}
+\fi
+
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-4,-4)(4,4)
+\newcommand\Sommet{1.4142135623730951 } \newcounter{i} \setcounter{i}{1}
+\newcommand\PosFoyer{2 } \newcommand\HypAngle{0}
+\newcounter{CoefDiv}\setcounter{CoefDiv}{20}
+\newcounter{Inc}\setcounter{Inc}{2} \newcounter{n}\setcounter{n}{2}
+\newcommand\Ri{ \PosFoyer \Sommet sub \arabic{i}\space\arabic{CoefDiv}\space div add }
+\newcommand\Rii{\Ri \Sommet 2 mul add }
+\pstGeonode[PosAngle=90]{O}(\PosFoyer;\HypAngle){F}
+\pstSymO[PosAngle=180]{O}{F}\pstLineAB{F}{F'} \pstCircleOA{O}{F}
+\pstGeonode[PosAngle=-135](\Sommet;\HypAngle){S}
+\pstGeonode[PosAngle=-45](-\Sommet;\HypAngle){S'}
+\pstRotation[RotAngle=90, PointSymbol=none]{S}{O}[B]
+\pstInterLC[PosAngleA=90, PosAngleB=-90]{S}{B}{O}{F}{A_1}{A_2}
+\pstLineAB[nodesepA=-3,nodesepB=-5]{A_1}{O}\pstLineAB[nodesepA=-3,nodesepB=-5]{A_2}{O}
+\pstMarkAngle[LabelSep=.8,MarkAngleRadius=.7,arrows=->,LabelSep=1.1]{F}{O}{A_1}{$\Psi$}
+\ncline[linecolor=red]{A_1}{A_2} \pstRightAngle[RightAngleSize=.15]{A_1}{S}{O}
+\psset{PointName=none}
+\whiledo{\value{n}<8}{%
+ \psset{RadiusA=\pstDistVal{\Ri},RadiusB=\pstDistVal{\Rii},PointSymbol=none}
+ \pstInterCC{F}{}{F'}{}{M\arabic{n}}{P\arabic{n}}
+ \pstInterCC{F'}{}{F}{}{M'\arabic{n}}{P'\arabic{n}}
+ \stepcounter{n}\addtocounter{i}{\value{Inc}}
+ \addtocounter{Inc}{\value{Inc}}}%% fin de whiledo
+\psset{linecolor=blue}
+\pstGenericCurve[GenCurvFirst=S]{M}{2}{7}
+\pstGenericCurve[GenCurvFirst=S]{P}{2}{7}
+\pstGenericCurve[GenCurvFirst=S']{M'}{2}{7}
+\pstGenericCurve[GenCurvFirst=S']{P'}{2}{7}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+ \subsection{Cycloid}
+
+The wheel rolls from $M$ to $A$. The circle points are on a
+cycloid.
+
+
+\begin{LTXexample}
+\begin{pspicture}[showgrid](-2,-1)(13,3)
+\providecommand\NbPt{11}
+\psset{linewidth=1.2\pslinewidth}
+\pstGeonode[PointSymbol={*,none}, PointName={default,none}, PosAngle=180]{M}(0,1){O}
+\pstGeonode(12.5663706144,0){A}
+\pstTranslation[PointSymbol=none, PointName=none]{M}{A}{O}[B]
+\multido{\nA=1+1}{\NbPt}{%
+ \pstHomO[HomCoef=\nA\space\NbPt\space 1 add div,PointSymbol=none,PointName=none]{O}{B}[O\nA]
+ \pstProjection[PointSymbol=none, PointName=none]{M}{A}{O\nA}[P\nA]
+ \pstCurvAbsNode[PointSymbol=square, PointName=none,CurvAbsNeg=true]%
+ {O\nA}{P\nA}{M\nA}{\pstDistAB{O}{O\nA}}
+ \ifnum\nA=2 \bgroup
+ \pstCircleOA{O\nA}{M\nA}
+ \psset{linecolor=magenta, linewidth=1.5\pslinewidth}
+ \pstArcnOAB{O\nA}{P\nA}{M\nA}
+ \ncline{O\nA}{M\nA}\ncline{P\nA}{M}
+ \egroup \fi
+ }% fin du multido
+\psset{linecolor=blue, linewidth=1.5\pslinewidth}
+\pstGenericCurve[GenCurvFirst=M]{M}{1}{6} \pstGenericCurve[GenCurvLast=A]{M}{6}{\NbPt}
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\subsection{Hypocycloids (Astroid and Deltoid)}
+
+A wheel rolls inside a circle, and depending of the radius ratio, it
+is an astroid, a deltoid and in the general case hypo-cycloids.
+
+
+
+\begin{LTXexample}
+\newcommand\HypoCyclo[4][100]{%
+ \def\R{#2}\def\petitR{#3}\def\NbPt{#4}
+ \def\Anglen{\n\space 360 \NbPt\space 1 add div mul}
+ \psset{PointSymbol=none,PointName=none}
+ \pstGeonode[PointSymbol={*,none},PointName={default,none}, PosAngle=0]{O}(\R;0){P}
+ \pstCircleOA{O}{P}
+ \pstHomO[HomCoef=\petitR\space\R\space div]{P}{O}[M]
+ \multido{\n=1+1}{\NbPt}{%
+ \pstRotation[RotAngle=\Anglen]{O}{M}[M\n]
+ \rput(M\n){\pstGeonode(\petitR;0){Q}}
+ \pstRotation[RotAngle=\Anglen]{M\n}{Q}[N]
+ \pstRotation[RotAngle=\n\space -360 \NbPt\space 1 add div
+ mul \R\space\petitR\space div mul,PointSymbol=*,PointName=none]{M\n}{N}[N\n]
+ \ifnum\n=#1
+ \pstCircleOA{M\n}{N\n}\ncline{M\n}{N\n}%
+ {\psset{linecolor=red, linewidth=2\pslinewidth}
+ \pstArcOAB{M\n}{N\n}{N}\pstArcOAB{O}{P}{N}}
+ \fi}}%fin multido-newcommand
+\begin{pspicture}[showgrid](-3.5,-3.4)(3.5,4)
+\HypoCyclo[3]{3}{1}{17}
+\psset{linecolor=blue,linewidth=1.5\pslinewidth}
+\pstGenericCurve[GenCurvFirst=P]{N}{1}{6}
+\pstGenericCurve{N}{6}{12}
+\pstGenericCurve[GenCurvLast=P]{N}{12}{17}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\begin{LTXexample}
+\newcommand\HypoCyclo[4][100]{%
+ \def\R{#2}\def\petitR{#3}\def\NbPt{#4}
+ \def\Anglen{\n\space 360 \NbPt\space 1 add div mul}
+ \psset{PointSymbol=none,PointName=none}
+ \pstGeonode[PointSymbol={*,none},PointName={default,none}, PosAngle=0]{O}(\R;0){P}
+ \pstCircleOA{O}{P}
+ \pstHomO[HomCoef=\petitR\space\R\space div]{P}{O}[M]
+ \multido{\n=1+1}{\NbPt}{%
+ \pstRotation[RotAngle=\Anglen]{O}{M}[M\n]
+ \rput(M\n){\pstGeonode(\petitR;0){Q}}
+ \pstRotation[RotAngle=\Anglen]{M\n}{Q}[N]
+ \pstRotation[RotAngle=\n\space -360 \NbPt\space 1 add div
+ mul \R\space\petitR\space div mul, PointSymbol=*, PointName=none]{M\n}{N}[N\n]
+ \ifnum\n=#1
+ \pstCircleOA{M\n}{N\n}\ncline{M\n}{N\n}%
+ {\psset{linecolor=red, linewidth=2\pslinewidth}
+ \pstArcOAB{M\n}{N\n}{N}\pstArcOAB{O}{P}{N}}
+ \fi}}%fin multido-newcommand
+\begin{pspicture}(-4.5,-4)(4.5,4.5)
+\HypoCyclo[4]{4}{1}{27}
+\psset{linecolor=blue, linewidth=1.5\pslinewidth}
+\pstGenericCurve[GenCurvFirst=P]{N}{1}{7}
+\pstGenericCurve{N}{7}{14}\pstGenericCurve{N}{14}{21}
+\pstGenericCurve[GenCurvLast=P]{N}{21}{27}
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+ \section{Lines and circles envelope}
+
+\subsection{Conics}
+
+Let's consider a circle and a point $A$ not on the circle. The
+set of all the mediator lines of segments defined by $A$ and the
+circle points, create two conics depending of the position of $A$:
+
+\begin{compactitem}
+\item inside the circle: an hyperbola;
+\item outside the circle: an ellipse.
+\end{compactitem}
+
+(figure of O. Reboux).
+
+\begin{LTXexample}
+\begin{pspicture}(-6,-6)(6,6)
+\psset{linewidth=0.4\pslinewidth,PointSymbol=none, PointName=none}
+\pstGeonode[PosAngle=-90, PointSymbol={none,*,none}, PointName={none,default,none}]
+ {O}(4;132){A}(5,0){O'}
+\pstCircleOA{O}{O'}
+\multido{\n=5+5}{72}{%
+ \pstGeonode(5;\n){M_\n}
+ \pstMediatorAB[nodesep=-15,linecolor=magenta]
+ {A}{M_\n}{I}{J}}% fin multido
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\subsection{Cardioid}
+
+The cardioid is defined by the circles centered on a circle and
+crossing a given point.
+
+\begin{LTXexample}
+\begin{pspicture}(-6,-6)(3,5)
+\psset{linewidth=0.4\pslinewidth,PointSymbol=x,nodesep=0,linecolor=magenta}
+\pstGeonode[PointName=none]{O}(2,0){O'}
+\pstCircleOA[linecolor=black]{O}{O'}
+\multido{\n=5+5}{72}{%
+ \pstGeonode[PointSymbol=none, PointName=none](2;\n){M_\n}
+ \pstCircleOA{M_\n}{O'}}
+ \end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+ \section{Homotethy and fractals}
+
+\begin{LTXexample}[width=6cm.pos=l]
+\begin{pspicture}(-2.8,-3)(2.8,3)
+\pstGeonode[PosAngle={0,90}](2,2){A_0}(-2,2){B_0}%
+\psset{RotAngle=90}
+\pstRotation[PosAngle=270]{A_0}{B_0}[D_0]
+\pstRotation[PosAngle=180]{D_0}{A_0}[C_0]
+\pspolygon(A_0)(B_0)(C_0)(D_0)%
+\psset{PointSymbol=none, PointName=none, HomCoef=.2}
+\multido{\n=1+1,\i=0+1}{20}{%
+ \pstHomO[PosAngle=0]{B_\i}{A_\i}[A_\n]
+ \pstHomO[PosAngle=90]{C_\i}{B_\i}[B_\n]
+ \pstHomO[PosAngle=180]{D_\i}{C_\i}[C_\n]
+ \pstHomO[PosAngle=270]{A_\i}{D_\i}[D_\n]
+ \pspolygon(A_\n)(B_\n)(C_\n)(D_\n)}% fin multido
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+\section{hyperbolic geometry: a triangle and its altitudes}
+
+\begin{LTXexample}
+\begin{pspicture}(-5,-5)(5,5)
+\psclip{\pscircle(0,0){4}}
+ \pstGeonode(1, 2){M}\pstGeonode(-2,2){N}\pstGeonode(0,-2){P}
+ \psset{DrawCirABC=false, PointSymbol=none, PointName=none}%
+ \pstGeonode(0,0){O}\pstGeonode(4,0){A}\pstCircleOA{O}{A}
+ \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{M} sub
+ \pstDistAB{O}{M} div]{O}{M}[M']%
+ \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{P} sub
+ \pstDistAB{O}{P} div]{O}{P}[P']%
+ \pstHomO[HomCoef=\pstDistAB{O}{A} 2 mul \pstDistAB{O}{N} sub
+ \pstDistAB{O}{N} div]{O}{N}[N']%
+ \psset{linecolor=green, linewidth=1.5pt}%
+ \pstCircleABC{M}{N}{M'}{OmegaMN}\pstArcOAB{OmegaMN}{N}{M}
+ \pstCircleABC{M}{P}{M'}{OmegaMP}\pstArcOAB{OmegaMP}{M}{P}
+ \pstCircleABC{N}{P}{P'}{OmegaNP}\pstArcOAB{OmegaNP}{P}{N}
+ \psset{linecolor=blue}
+ \pstHomO[HomCoef=\pstDistAB{OmegaNP}{N} 2 mul \pstDistAB{OmegaNP}{M} sub %% M
+ \pstDistAB{OmegaNP}{M} div]{OmegaNP}{M}[MH']
+ \pstCircleABC{M}{M'}{MH'}{OmegaMH}\pstArcOAB{OmegaMH}{MH'}{M} %% N
+ \pstHomO[HomCoef=\pstDistAB{OmegaMP}{M} 2 mul \pstDistAB{OmegaMP}{N} sub
+ \pstDistAB{OmegaMP}{N} div]{OmegaMP}{N}[NH']
+ \pstCircleABC{N}{N'}{NH'}{OmegaNH}\pstArcOAB{OmegaNH}{N}{NH'} %% P
+ \pstHomO[HomCoef=\pstDistAB{OmegaMN}{M} 2 mul \pstDistAB{OmegaMN}{P} sub
+ \pstDistAB{OmegaMN}{P} div]{OmegaMN}{P}[PH']
+ \pstCircleABC{P}{P'}{PH'}{OmegaPH}\pstArcOAB{OmegaPH}{P}{PH'}
+\endpsclip
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\clearpage
+\section{List of all optional arguments for \texttt{pst-eucl}}
+
+\xkvview{family=pst-eucl,columns={key,type,default}}
+
+\nocite{*}
+\bgroup
+\RaggedRight
+\bibliographystyle{plain}
+\bibliography{pst-eucl-doc}
+\egroup
+
+\printindex
+
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex b/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex
index 681f993be7d..e93085ddcb5 100644
--- a/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex
+++ b/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex
@@ -12,16 +12,17 @@
% Require PSTricks and pst-node packages
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi
+\ifx\PSTtoolsLoaded\endinput\else\input pst-tools.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey\fi
\ifx\MultidoLoaded\endinput \else\input multido.tex \fi
\csname PSTEuclideLoaded\endcsname
\let\PSTEuclideLoaded\endinput
-\def\fileversion{1.50}
-\def\filedate{2014/04/05}
+\def\fileversion{1.51}
+\def\filedate{2014/05/17}
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
-\message{`PST-Euclide v\fileversion, \filedate\space (Dominique RODRIGUEZ)}%
+\message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}%
\message{ This version uses the pst-xkey package for managing parameters}%
\message{ Please read the doc, some macros have a new syntax}%
\message{ use option old for upward compatibility}%
@@ -33,26 +34,27 @@
% Definition of the parameters
% ----------------------------
% symbol used for the point
-\define@key[psset]{pst-eucl}{PointSymbol}{\edef\psk@PointSymbol{#1}}%
-\define@key[psset]{pst-eucl}{PointSymbolA}{\edef\psk@PointSymbolA{#1}}%
-\define@key[psset]{pst-eucl}{PointSymbolB}{\edef\psk@PointSymbolB{#1}}%
-\define@key[psset]{pst-eucl}{PointSymbolC}{\edef\psk@PointSymbolC{#1}}%
+\define@key[psset]{pst-eucl}{PointSymbol}[default]{\def\psk@PointSymbol{#1}}%
+\define@key[psset]{pst-eucl}{PointSymbolA}[undef]{\edef\psk@PointSymbolA{#1}}%
+\define@key[psset]{pst-eucl}{PointSymbolB}[undef]{\edef\psk@PointSymbolB{#1}}%
+\define@key[psset]{pst-eucl}{PointSymbolC}[undef]{\edef\psk@PointSymbolC{#1}}%
% name used for the point
-\define@key[psset]{pst-eucl}{PointName}{\def\psk@PointName{#1}}%
-\define@key[psset]{pst-eucl}{PointNameA}{\def\psk@PointNameA{#1}}%
-\define@key[psset]{pst-eucl}{PointNameB}{\def\psk@PointNameB{#1}}%
-\define@key[psset]{pst-eucl}{PointNameC}{\def\psk@PointNameC{#1}}%
+
+\define@key[psset]{pst-eucl}{PointName}[default]{\def\psk@PointName{#1}}%
+\define@key[psset]{pst-eucl}{PointNameA}[undef]{\edef\psk@PointNameA{#1}}%
+\define@key[psset]{pst-eucl}{PointNameB}[undef]{\edef\psk@PointNameB{#1}}%
+\define@key[psset]{pst-eucl}{PointNameC}[undef]{\edef\psk@PointNameC{#1}}%
% use math mode in point name
\newif\ifPst@PtNameMath%
\define@key[psset]{pst-eucl}{PtNameMath}[false]{\@nameuse{Pst@PtNameMath#1}}%
% symbol used for marking equal length segment
-\define@key[psset]{pst-eucl}{SegmentSymbol}{\edef\psk@SegmentSymbol{#1}}%
-\define@key[psset]{pst-eucl}{SegmentSymbolA}{\edef\psk@SegmentSymbolA{#1}}%
-\define@key[psset]{pst-eucl}{SegmentSymbolB}{\edef\psk@SegmentSymbolB{#1}}%
-\define@key[psset]{pst-eucl}{SegmentSymbolC}{\edef\psk@SegmentSymbolC{#1}}%
-\define@key[psset]{pst-eucl}{Mark}{\def\psk@Mark{#1}}%
-\define@key[psset]{pst-eucl}{mark}{\def\psk@mark{Angle#1}}% for angles
-\define@key[psset]{pst-eucl}{MarkAngle}{\def\psk@MarkAngle{#1}}%
+\define@key[psset]{pst-eucl}{SegmentSymbol}[MarkHashh]{\edef\psk@SegmentSymbol{#1}}%
+\define@key[psset]{pst-eucl}{SegmentSymbolA}[MarkHashh]{\edef\psk@SegmentSymbolA{#1}}%
+\define@key[psset]{pst-eucl}{SegmentSymbolB}[MarkHashh]{\edef\psk@SegmentSymbolB{#1}}%
+\define@key[psset]{pst-eucl}{SegmentSymbolC}[MarkHashh]{\edef\psk@SegmentSymbolC{#1}}%
+\define@key[psset]{pst-eucl}{Mark}[undef]{\edef\psk@Mark{#1}}%
+\define@key[psset]{pst-eucl}{mark}[undef]{\edef\psk@mark{Angle#1}}% for angles
+\define@key[psset]{pst-eucl}{MarkAngle}[undef]{\edef\psk@MarkAngle{#1}}%
\newdimen\psMarkHashLength
\newdimen\psMarkHashSep
\define@key[psset]{pst-eucl}{MarkHashLength}[1.25mm]{\pssetlength\psMarkHashLength{#1}}
@@ -63,29 +65,28 @@
\define@key[psset]{pst-eucl}{PointNameSep}{\edef\psk@PointNameSep{#1}}%
% position angle for positionning a point name
\define@key[psset]{pst-eucl}{PosAngle}{\edef\psk@PosAngle{#1}}%
-\define@key[psset]{pst-eucl}{PosAngleA}{\edef\psk@PosAngleA{#1}}%
-\define@key[psset]{pst-eucl}{PosAngleB}{\edef\psk@PosAngleB{#1}}%
-\define@key[psset]{pst-eucl}{PosAngleC}{\edef\psk@PosAngleC{#1}}%
+\define@key[psset]{pst-eucl}{PosAngleA}[undef]{\edef\psk@PosAngleA{#1}}%
+\define@key[psset]{pst-eucl}{PosAngleB}[undef]{\edef\psk@PosAngleB{#1}}%
+\define@key[psset]{pst-eucl}{PosAngleC}[undef]{\edef\psk@PosAngleC{#1}}%
% dimension of the right angle mark
-\define@key[psset]{pst-eucl}{RightAngleSize}{\edef\psk@RightAngleSize{#1}}%
-\define@key[psset]{pst-eucl}{RightAngleType}{\edef\psk@RightAngleType{#1}}%
+\define@key[psset]{pst-eucl}{RightAngleSize}[4]{\edef\psk@RightAngleSize{#1}}%
+\define@key[psset]{pst-eucl}{RightAngleType}[default]{\edef\psk@RightAngleType{#1}}%
% radius of an angle mark
-\define@key[psset]{pst-eucl}{MarkAngleRadius}{\edef\psk@MarkAngleRadius{#1}}%
+\define@key[psset]{pst-eucl}{MarkAngleRadius}[0.4]{\edef\psk@MarkAngleRadius{#1}}%
% angular offset position of the label for marking an angle
-\define@key[psset]{pst-eucl}{LabelAngleOffset}{\edef\psk@LabelAngleOffset{#1}}%
+\define@key[psset]{pst-eucl}{LabelAngleOffset}[0]{\edef\psk@LabelAngleOffset{#1}}%
% position radius of the label for marking an angle
-\define@key[psset]{pst-eucl}{LabelSep}{\edef\psk@LabelSep{#1}}%
+\define@key[psset]{pst-eucl}{LabelSep}[1]{\edef\psk@LabelSep{#1}}%
% ref point of the label
-\define@key[psset]{pst-eucl}{LabelRefPt}{\edef\psk@LabelRefPt{#1}}%
+\define@key[psset]{pst-eucl}{LabelRefPt}[c]{\edef\psk@LabelRefPt{#1}}%
% curve type for point list
-\define@key[psset]{pst-eucl}{CurveType}{\edef\psk@CurveType{#1}}%
+\define@key[psset]{pst-eucl}{CurveType}[none]{\edef\psk@CurveType{#1}}%
% coefficient of homothetie
-\define@key[psset]{pst-eucl}{HomCoef}{\edef\psk@HomCoef{#1}}%
+\define@key[psset]{pst-eucl}{HomCoef}[0.5]{\edef\psk@HomCoef{#1}}%
% angle of rotation
-\define@key[psset]{pst-eucl}{RotAngle}{\edef\psk@RotAngle{#1}}%
+\define@key[psset]{pst-eucl}{RotAngle}[60]{\edef\psk@RotAngle{#1}}%
% label for coding the transfortion
-\define@key[psset]{pst-eucl}{TransformLabel}{\edef\psk@TransformLabel{#1}}%
-\define@key[psset]{pst-eucl}{CurveType}{\edef\psk@CurveType{#1}}%
+\define@key[psset]{pst-eucl}{TransformLabel}[none]{\edef\psk@TransformLabel{#1}}%
% private parameter
\newif\ifPst@CentralSym
\define@key[psset]{pst-eucl}{Central@Sym}[false]{\@nameuse{Pst@CentralSym#1}}%
@@ -93,38 +94,41 @@
\newif\ifPst@DrawCirABC
\define@key[psset]{pst-eucl}{DrawCirABC}[true]{\@nameuse{Pst@DrawCirABC#1}}%
% for coding a construction
-\newif\ifPst@CodeFig
-\define@key[psset]{pst-eucl}{CodeFig}[false]{\@nameuse{Pst@CodeFig#1}}%
+\define@boolkey[psset]{pst-eucl}[Pst@]{CodeFig}[true]{}
+%\define@boolkey[psset]{pst-eucl}[Pst@]{CodeFigA}[true]{\def\psk@CodeFigA{#1}}
+%\define@boolkey[psset]{pst-eucl}[Pst@]{CodeFigB}[true]{\def\psk@CodeFigB{#1}}
\newif\ifPst@CodeFigA
-\define@key[psset]{pst-eucl}{CodeFigA}{\edef\psk@CodeFigA{#1}\@nameuse{Pst@CodeFigA#1}}%
+\define@key[psset]{pst-eucl}{CodeFigA}[undef]{\edef\psk@CodeFigA{#1}\@nameuse{Pst@CodeFigA#1}}%
\newif\ifPst@CodeFigB
-\define@key[psset]{pst-eucl}{CodeFigB}{\edef\psk@CodeFigB{#1}\@nameuse{Pst@CodeFigB#1}}%
-\define@key[psset]{pst-eucl}{CodeFigColor}{\edef\psk@CodeFigColor{#1}}%
-\define@key[psset]{pst-eucl}{CodeFigStyle}{\edef\psk@CodeFigStyle{#1}}%
+\define@key[psset]{pst-eucl}{CodeFigB}[undef]{\edef\psk@CodeFigB{#1}\@nameuse{Pst@CodeFigB#1}}%
+
+\define@key[psset]{pst-eucl}{CodeFigColor}[cyan]{\edef\psk@CodeFigColor{#1}}%
+\define@key[psset]{pst-eucl}{CodeFigStyle}[dashed]{\edef\psk@CodeFigStyle{#1}}%
\newif\ifPst@CodeFigAarc%
\define@key[psset]{pst-eucl}{CodeFigAarc}[true]{\@nameuse{Pst@CodeFigAarc#1}}
\newif\ifPst@CodeFigBarc%
\define@key[psset]{pst-eucl}{CodeFigBarc}[true]{\@nameuse{Pst@CodeFigBarc#1}}
%% for specifying a distance for the circle
-\define@key[psset]{pst-eucl}{Radius}{\edef\psk@Radius{#1}}%
-\define@key[psset]{pst-eucl}{RadiusA}{\edef\psk@RadiusA{#1}}%
-\define@key[psset]{pst-eucl}{RadiusB}{\edef\psk@RadiusB{#1}}%
-\define@key[psset]{pst-eucl}{Diameter}{\edef\psk@Diameter{#1}}%
-\define@key[psset]{pst-eucl}{DiameterA}{\edef\psk@DiameterA{#1}}%
-\define@key[psset]{pst-eucl}{DiameterB}{\edef\psk@DiameterB{#1}}%
+\define@key[psset]{pst-eucl}{Radius}[none]{\edef\psk@Radius{#1}}%
+\define@key[psset]{pst-eucl}{RadiusA}[undef]{\edef\psk@RadiusA{#1}}%
+\define@key[psset]{pst-eucl}{RadiusB}[undef]{\edef\psk@RadiusB{#1}}%
+\define@key[psset]{pst-eucl}{Diameter}[none]{\edef\psk@Diameter{#1}}%
+\define@key[psset]{pst-eucl}{DiameterA}[undef]{\edef\psk@DiameterA{#1}}%
+\define@key[psset]{pst-eucl}{DiameterB}[undef]{\edef\psk@DiameterB{#1}}%
% for specifying a distance for the circle
-\define@key[psset]{pst-eucl}{DistCoef}{\edef\psk@DistCoef{#1}}%
-\define@key[psset]{pst-eucl}{AngleCoef}{\edef\psk@AngleCoef{#1}}%
+\define@key[psset]{pst-eucl}{DistCoef}[none]{\edef\psk@DistCoef{#1}}%
+\define@key[psset]{pst-eucl}{AngleCoef}[none]{\edef\psk@AngleCoef{#1}}%
% for curvilign abscissa placement
\newif\ifPst@CurvAbsNeg%
\define@key[psset]{pst-eucl}{CurvAbsNeg}[false]{\@nameuse{Pst@CurvAbsNeg#1}}%
% first and last point of a generic curve
-\define@key[psset]{pst-eucl}{GenCurvFirst}{\edef\psk@GenCurvFirst{#1}}%
-\define@key[psset]{pst-eucl}{GenCurvLast}{\edef\psk@GenCurvLast{#1}}%
+\define@key[psset]{pst-eucl}{GenCurvFirst}[none]{\edef\psk@GenCurvFirst{#1}}%
+\define@key[psset]{pst-eucl}{GenCurvLast}[none]{\edef\psk@GenCurvLast{#1}}%
% increment of a generic curve
-\define@key[psset]{pst-eucl}{GenCurvInc}{\edef\psk@GenCurvInc{#1}}%
+\define@key[psset]{pst-eucl}{GenCurvInc}[1]{\edef\psk@GenCurvInc{#1}}%
%% Default values
% --------------
+\def\resetEUCLvalues{%
\psset{%
PointSymbol=default, PointSymbolA=undef, PointSymbolB=undef, PointSymbolC=undef,
PointName=default, PointNameA=undef, PointNameB=undef, PointNameC=undef,
@@ -138,8 +142,9 @@
CodeFigB=undef, CodeFigAarc=true, CodeFigBarc=true, Radius=none, RadiusA=undef,
RadiusB=undef, Diameter=none, DiameterA=undef, DiameterB=undef, DistCoef=none,
AngleCoef=none, CurvAbsNeg=false, GenCurvFirst=none, GenCurvLast=none,
- GenCurvInc=1}%}%
-\SpecialCoor %% for using polar coordinates, node position, ...
+ GenCurvInc=1}}
+\resetEUCLvalues
+%\SpecialCoor %% for using polar coordinates, node position, ...
\psset{dimen=middle}% remark of ML
\def\@undef{undef}%
\def\@default{default}%
@@ -148,6 +153,7 @@
\def\@polygon{polygon}
\def\@polyline{polyline}
\def\@curve{curve}
+\def\@none{none}
\def\tx@PtoC{ tx@Dict begin PtoC end }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\iffalse %%%%%%%%%% \pst@newnode is already defined in pst-node
@@ -270,12 +276,13 @@ end}%
%%end modif DR 11/2003
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% #1 -> point coordinates
-\def\Pst@geonodelabel#1{%% {nodename}
- \ifx\psk@PointSymbol\@none\else%
- \ifx\psk@PointSymbol\@default\edef\psk@PointSymbol{*}\fi%
+\def\Pst@geonodelabel#1{% % {nodename}
+ \ifx\psk@PointSymbol\@none\else
+ \ifx\psk@PointSymbol\@default \def\psk@PointSymbol{*}\fi
\psdot[dotstyle=\psk@PointSymbol](#1)%
+ \Pst@PutPointLabel{#1}%DR 041104
\fi%DR 02092004
- \Pst@PutPointLabel{#1}%DR 041104
+ \ifx\psk@PointName\@none\else\Pst@PutPointLabel{#1}\fi%DR 041104
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\Pst@PutPointLabel#1{%DR 041104
@@ -308,7 +315,7 @@ end}%
\let\Anglepstslashslash=\Anglepstslashh%
\let\Anglepstslashslashslash=\Anglepstslashhh%
%%begin modif alaindelplanque 11/2003
-%%begin modif Germain Boxer 04/2014
+%%begin modif Germain Boyer 04/2014
\def\MarkHash{%
\rput{\ifx\psk@MarkAngle\@undef45\else\psk@MarkAngle\fi}
{\psline(-\psMarkHashLength,0)(\psMarkHashLength,0)}}
@@ -366,34 +373,36 @@ end}%
%
%%end modif alaindelplanque 11/2003
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% #2 #3 #4 -> 3 nodes for defining the right angle
-\def\pstRightAngle{\@ifnextchar[\Pst@RightAngle{\Pst@RightAngle[]}}%
-\def\Pst@RightAngle[#1]#2#3#4{%
- \bgroup\psset{#1}% % Affectation of local parameters
+%% #1 #2 #3 -> 3 nodes for defining the right angle
+\def\pstRightAngle{\pst@object{pstRightAngle}}
+\def\pstRightAngle@i#1#2#3{%
+ \begingroup
+ \addbefore@par{linestyle=solid,linecolor=black,linewidth=\pslinewidth}
+ \use@par% % Affectation of local parameters
%% not good at all, but \rput{0}(#3){\rput{(#2)}{stuff}} doesn't work...
- \rput(#3){%
+ \rput(#2){%
\ifx\psk@RightAngleType\@default%
\pspolygon(0,0)%%modif 12/2004
- (!tx@EcldDict begin /N@#4 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end)%
- (!tx@EcldDict begin /N@#4 GetNode exch Atan /N@#2 GetNode exch Atan
+ (!tx@EcldDict begin /N@#3 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end)%
+ (!tx@EcldDict begin /N@#3 GetNode exch Atan /N@#1 GetNode exch Atan
2 copy sub abs 91 gt
{ 2 copy lt { exch 360 add exch } { 360 add } ifelse } if %%DR 2005/01/14
%%2 copy lt { exch 360 sub exch } if
add 2 div 2 sqrt \psk@RightAngleSize\space mul exch PtoC end)%
- (!tx@EcldDict begin /N@#2 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end)%
+ (!tx@EcldDict begin /N@#1 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end)%
\else\ifx\psk@RightAngleType\@german%
- \pstMarkAngle[MarkAngleRadius=\psk@RightAngleSize,LabelSep=\psk@RightAngleSize\space .5 mul]{#2}{#3}{#4}%
+ \pstMarkAngle[MarkAngleRadius=\psk@RightAngleSize,LabelSep=\psk@RightAngleSize\space .5 mul]{#1}{#2}{#3}%
{\psscalebox{\psk@RightAngleSize}{\pscircle*{.08}}}%
\else\ifx\psk@RightAngleType\@suisseromand%
\rput{*0}%
- (!tx@EcldDict begin /N@#4 GetNode exch Atan /N@#2 GetNode exch Atan
+ (!tx@EcldDict begin /N@#3 GetNode exch Atan /N@#1 GetNode exch Atan
2 copy lt { exch 360 sub exch } if add 2 div .45 \psk@RightAngleSize\space mul exch PtoC end)%
{\psscalebox{\psk@RightAngleSize}{\pscircle*{.08}}}%
\pspolygon(0,0)%
- (!tx@EcldDict begin /N@#4 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end )%
- (!tx@EcldDict begin /N@#2 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end )%
+ (!tx@EcldDict begin /N@#3 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end )%
+ (!tx@EcldDict begin /N@#1 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end )%
\fi\fi\fi}%
- \egroup\ignorespaces% hv 20130312
+ \endgroup\ignorespaces% hv 20130312
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% #2 #3 #4 -> 3 nodes for defining the angle
@@ -641,7 +650,7 @@ end}%
exch){\pnode{\@image}}%
}%%end rput
\xdef\@@GenCourbe{\@@GenCourbe(\@image)}%%for accumulating points
- \ifPst@CentralSym\ifPst@CodeFig%
+ \ifPst@CentralSym\ifPst@CodeFig
\edef\psk@OldSegmentSymbol{\psk@SegmentSymbol}%
\edef\psk@SegmentSymbol{\expandafter\PstParamListFirst\psk@OldSegmentSymbol,undef/}%
\ifx\psk@SegmentSymbol\@undef\edef\psk@SegmentSymbol{\LastValidSS}\else\edef\LastValidSS{\psk@SegmentSymbol}\fi
@@ -679,7 +688,7 @@ end}%
exch){\pnode{#2}}%
}%%end rput
\xdef\@@GenCourbe{\@@GenCourbe(#2)}%%for accumulating points
- \ifPst@CentralSym\ifPst@CodeFig%
+ \ifPst@CentralSym\ifPst@CodeFig
\edef\psk@OldSegmentSymbol{\psk@SegmentSymbol}%
\edef\psk@SegmentSymbol{\expandafter\PstParamListFirst\psk@OldSegmentSymbol,undef/}%
\ifx\psk@SegmentSymbol\@undef\edef\psk@SegmentSymbol{\LastValidSS}\else\edef\LastValidSS{\psk@SegmentSymbol}\fi
@@ -716,7 +725,7 @@ end}%
%%end modif alaindelplanque 11/2003
\expandafter\ifx\csname psteucl@old\endcsname\relax\Pst@HomO[]{#2}{#3}[#4]%
\else\Pst@HomO[]{#2}{#3}{#4}\fi%%%DR 14042005
- \ifPst@CodeFig%
+ \ifPst@CodeFig
\psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle}%
\pstSegmentMark{#2}{#4}%
\pstSegmentMark{#4}{#3}%
@@ -772,9 +781,9 @@ end}%
\ncline{#5}{@Middle#2#3}%
\ncline{#5}{@Middle#2#4}%
\psset{linestyle=solid}%
- \Pst@RightAngle[]{#5}{@Middle#4#3}{#4}%
- \Pst@RightAngle[]{#5}{@Middle#2#3}{#3}%
- \Pst@RightAngle[]{#5}{@Middle#2#4}{#2}%
+ \pstRightAngle[]{#5}{@Middle#4#3}{#4}%
+ \pstRightAngle[]{#5}{@Middle#2#3}{#3}%
+ \pstRightAngle[]{#5}{@Middle#2#4}{#2}%
\Pst@SegmentMark[SegmentSymbol=\psk@SegmentSymbolA]{#4}{@Middle#4#3}%
\Pst@SegmentMark[SegmentSymbol=\psk@SegmentSymbolA]{@Middle#4#3}{#3}%
\Pst@SegmentMark[SegmentSymbol=\psk@SegmentSymbolB]{#3}{@Middle#2#3}%
@@ -821,8 +830,8 @@ end}%
{\pnode{\@image}}%
}%
\xdef\@@GenCourbe{\@@GenCourbe(\@image)}%%for accumulating points
- \ifPst@CodeFig%
- \bgroup%
+ \ifPst@CodeFig
+ \bgroup
\psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle}%
\ncline[arrows=->,nodesep=0]{\@antecedent}{\@image}
\ifx\psk@TransformLabel\@none
@@ -987,17 +996,18 @@ end}%
%% #7 -> label
%% #8 -> node name of the second point
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\pstInterLC{\@ifnextchar[\Pst@InterLC{\Pst@InterLC[]}}%
-\def\Pst@InterLC[#1]#2#3#4#5#6#7{%
- \bgroup%
- \psset{#1}% % Affectation of local parameters
- \rput(#4){%
+\def\pstInterLC{\pst@object{pstInterLC}}
+\def\pstInterLC@i#1#2#3#4#5#6{%
+ \begingroup
+ \pst@killglue
+ \use@par
+ \rput(#3){%
\pnode(!
tx@EcldDict begin
- /N@#2 GetNode /N@#3 GetNode 4 copy EqDr
+ /N@#1 GetNode /N@#2 GetNode 4 copy EqDr
\ifx\psk@Radius\@none
\ifx\psk@Diameter\@none
- /N@#4 GetNode /N@#5 GetNode ABDist
+ /N@#3 GetNode /N@#4 GetNode ABDist
\else\psk@Diameter 2 div
\fi
\else\psk@Radius
@@ -1005,21 +1015,25 @@ end}%
InterLineCircle /Glby exch def /Glbx exch def
\pst@number\psyunit div exch \pst@number\psxunit div exch
2 copy end
- /#6.Y exch def /#6.X exch def % save the coors for futher use
- ){#6}%
+ /#5.Y exch def /#5.X exch def % save the coors for futher use
+ ){#5}%
\rput(!
tx@EcldDict begin
Glbx \pst@number\psxunit div Glby \pst@number\psyunit div
- end){\pnode{#7}}}%
- \bgroup\ifx\psk@PosAngleA\@undef\else\psset{PosAngle=\psk@PosAngleA}\fi%
- \ifx\psk@PointSymbolA\@undef\else\psset{PointSymbol=\psk@PointSymbolA}\fi%
- \ifx\psk@PointNameA\@undef\else\psset{PointName=\psk@PointNameA}\fi%
- \Pst@geonodelabel{#6}\egroup%
- \ifx\psk@PosAngleB\@undef\else\psset{PosAngle=\psk@PosAngleB}\fi%
- \ifx\psk@PointSymbolB\@undef\else\psset{PointSymbol=\psk@PointSymbolB}\fi%
- \ifx\psk@PointNameB\@undef\else\psset{PointName=\psk@PointNameB}\fi%
- \Pst@geonodelabel{#7}%
- \egroup%
+ end){\pnode{#6}}
+ }%
+ \bgroup
+ \ifx\psk@PosAngleA\@undef\else\psset{PosAngle=\psk@PosAngleA}\fi
+ \ifx\psk@PointSymbolA\@undef\else\psset{PointSymbol=\psk@PointSymbolA}\fi
+ \ifx\psk@PointNameA\@undef\else\psset{PointName=\psk@PointNameA}\fi
+ \Pst@geonodelabel{#5}
+ \egroup
+ \ifx\psk@PosAngleB\@undef\else\psset{PosAngle=\psk@PosAngleB}\fi
+ \ifx\psk@PointSymbolB\@undef\else\psset{PointSymbol=\psk@PointSymbolB}\fi
+ \ifx\psk@PointNameB\@undef\else\psset{PointName=\psk@PointNameB}\fi
+ \Pst@geonodelabel{#6}%
+ \endgroup
+ \ignorespaces
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Intersection between two circles
@@ -1072,26 +1086,36 @@ end}%
end)%
{\pnode{#7}}%
}%
- \bgroup\ifx\psk@PosAngleA\@undef\else\psset{PosAngle=\psk@PosAngleA}\fi
- \ifx\psk@PointSymbolA\@undef\else\psset{PointSymbol=\psk@PointSymbolA}\fi
- \ifx\psk@PointNameA\@undef\else\psset{PointName=\psk@PointNameA}\fi
- \Pst@geonodelabel{#6}\egroup%
- \bgroup\ifx\psk@PosAngleB\@undef\else\psset{PosAngle=\psk@PosAngleB}\fi
- \ifx\psk@PointSymbolB\@undef\else\psset{PointSymbol=\psk@PointSymbolB}\fi
- \ifx\psk@PointNameB\@undef\else\psset{PointName=\psk@PointNameB}\fi
- \Pst@geonodelabel{#7}\egroup%
+ \bgroup
+% \ifx\psk@PosAngleA\@undef\else\psset{PosAngle=\psk@PosAngleA}\fi
+% \ifx\psk@PointSymbolA\@undef\else\psset{PointSymbol=\psk@PointSymbolA}\fi
+% \ifx\psk@PointNameA\@undef\else\psset{PointName=\psk@PointNameA}\fi
+ \ifx\psk@PosAngleA\@undef\else\ifx\psk@PosAngleA\@none\else\psset{PosAngle=\psk@PosAngleA}\fi\fi
+ \ifx\psk@PointSymbolA\@undef\else\ifx\psk@PointSymbolA\@none\else\psset{PointSymbol=\psk@PointSymbolA}\fi\fi
+ \ifx\psk@PointNameA\@undef\else\ifx\psk@PointNameA\@none\else\psset{PointName=\psk@PointNameA}\fi\fi
+ \ifx\psk@PosAngleA\@undef\else\ifx\psk@PointSymbolA\@none\else\Pst@geonodelabel{#6}\fi\fi
+ \egroup
+ \bgroup
+% \ifx\psk@PosAngleB\@undef\else\psset{PosAngle=\psk@PosAngleB}\fi
+% \ifx\psk@PointSymbolB\@undef\else\psset{PointSymbol=\psk@PointSymbolB}\fi
+% \ifx\psk@PointNameB\@undef\else\psset{PointName=\psk@PointNameB}\fi
+ \ifx\psk@PosAngleA\@undef\else\ifx\psk@PosAngleB\@none\else\psset{PosAngle=\psk@PosAngleB}\fi\fi
+ \ifx\psk@PointSymbolB\@undef\else\ifx\psk@PointSymbolB\@none\else\psset{PointSymbol=\psk@PointSymbolB}\fi\fi
+ \ifx\psk@PointNameB\@undef\else\ifx\psk@PointNameB\@none\else\psset{PointName=\psk@PointNameB}\fi\fi
+ \ifx\psk@PosAngleB\@undef\else\ifx\psk@PointSymbolB\@none\else\Pst@geonodelabel{#7}\fi\fi
+ \egroup
\psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle, arcsep=-1}%
\ifx\psk@CodeFigA\@undef%
\ifx\psk@CodeFigB\@undef\ifPst@CodeFig\ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi\fi\fi
\else%
- \ifPst@CodeFigA\ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi\fi%
+ \ifx\psk@CodeFigA\@none \ifPst@CodeFigA\ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi\fi\fi
\fi
\ifx\psk@CodeFigB\@undef%
\ifx\psk@CodeFigA\@undef\ifPst@CodeFig\ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi\fi\fi
- \else%
- \ifPst@CodeFigB\ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi\fi%
+ \else
+ \ifx\psk@CodeFigB\@none \ifPst@CodeFigB\ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi\fi\fi
\fi
- \egroup%
+ \egroup
}%
%% Intersection between two functions
%% #2 #3 -> f and g (functions)
@@ -1143,34 +1167,34 @@ end}%
\egroup%
}
%% Intersection between a function and a circle
-%% #2 -> f (function)
-%% #3 #4 -> points defining the circle (center and point)
-%% #5 -> approximation of the root
-%% #6 -> node name of the first point
-\def\pstInterFC{\@ifnextchar[\Pst@InterFC{\Pst@InterFC[]}}%
-\def\Pst@InterFC[#1]#2#3#4#5#6{%
- \bgroup\psset{#1}% % Affectation of local parameters
-% \rput(!
-% tx@EcldDict begin
-% #5 { /N@#3 GetNode 2 copy /N@#4 GetNode ABDist \pst@number\psxunit div
-% 3 1 roll \pst@number\psyunit div exch \pst@number\psxunit div exch x #2 ABDist sub } { 0 } NewtonSolving pop
-% pop dup /x exch def #2
-% end){\pnode{#6}}%
+%% #1 -> f (function)
+%% #2 #3 -> points defining the circle (center and point)
+%% #4 -> approximation of the root
+%% #5 -> node name of the first point
+\def\pstInterFC{\pst@object{pstInterFC}}%
+\def\pstInterFC@i#1#2#3#4#5{%
+ \begingroup
+ \pst@killglue
+ \use@par
+ \edef\@function{ \ifPst@algebraic (#1) AlgParser cvx exec \else #1 \fi\space }%
\pnode(!
tx@EcldDict begin
- #5
- { /N@#3 GetNode 2 copy /N@#4 GetNode ABDist \pst@number\psxunit div
- 3 1 roll \pst@number\psyunit div exch \pst@number\psxunit div exch x #2 ABDist sub }
+ #4
+ { /N@#2 GetNode 2 copy /N@#3 GetNode ABDist \pst@number\psxunit div
+ 3 1 roll \pst@number\psyunit div exch \pst@number\psxunit div exch x \@function
+ ABDist sub }
{ 0 }
NewtonSolving pop
pop dup /x exch def
- \ifPst@algebraic (#2) AlgParser cvx exec \else #2 \fi
+ \@function
2 copy end
- /#5.Y exch def /#5.X exch def % save the coors for futher use
- ){#6}%
- \Pst@geonodelabel{#6}%
- \egroup%
+ /#4.Y exch def /#4.X exch def % save the coors for futher use
+ ){#5}%
+ \Pst@geonodelabel{#5}%
+ \endgroup
+ \ignorespaces
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ORTHOGONAL PROJECTION
%% #2 #3 -> nodes defining the line where to project
@@ -1304,7 +1328,7 @@ end}%
\bgroup
\Pst@Projection@iv{\@antecedent}{@ProjOrth\@antecedent on\@FrstPt\@ScdPt}
\psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle}%
- \Pst@RightAngle[linestyle=solid]{\@FrstPt}{@ProjOrth\@antecedent on\@FrstPt\@ScdPt}{\@antecedent}%
+ \pstRightAngle[linestyle=solid]{\@FrstPt}{@ProjOrth\@antecedent on\@FrstPt\@ScdPt}{\@antecedent}%
\Pst@SegmentMark[]{\@image}{@ProjOrth\@antecedent on\@FrstPt\@ScdPt}%
\Pst@SegmentMark[]{@ProjOrth\@antecedent on\@FrstPt\@ScdPt}{\@antecedent}%
\egroup
@@ -1342,7 +1366,7 @@ end}%
\bgroup
\Pst@Projection@ii{#1}{@ProjOrth#1on\@FrstPt\@ScdPt}
\psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle}%
- \Pst@RightAngle[linestyle=solid]{\@FrstPt}{@ProjOrth#1on\@FrstPt\@ScdPt}{#1}%
+ \pstRightAngle[linestyle=solid]{\@FrstPt}{@ProjOrth#1on\@FrstPt\@ScdPt}{#1}%
\Pst@SegmentMark[]{#2}{@ProjOrth#1on\@FrstPt\@ScdPt}%
\Pst@SegmentMark[]{@ProjOrth#1on\@FrstPt\@ScdPt}{#1}%
\egroup
@@ -1376,7 +1400,7 @@ end}%
\egroup
\ifPst@CodeFig
\bgroup\psset{linecolor=\psk@CodeFigColor}
- \Pst@RightAngle[]{#3}{#4}{#5}
+ \pstRightAngle[]{#3}{#4}{#5}
\Pst@SegmentMark[]{#2}{#4}\Pst@SegmentMark[]{#4}{#3}%
\egroup
\fi
@@ -1523,8 +1547,92 @@ end}%
\psk@AngleCoef\space mul
\fi
}
-\catcode`\@=\PstAtCode\relax
+%
+\def\psGetDistanceAB{\pst@object{psGetDistanceAB}}% Thmoas Söll 20140512
+\def\psGetDistanceAB@i(#1)(#2)#3{%
+\begingroup%
+\pst@killglue
+\use@par
+\pst@getcoor{#1}\pst@tempA
+\pst@getcoor{#2}\pst@tempB
+\pnode(!
+ 15 dict begin
+ /dec \psk@decimals\space def
+ \psk@PSfont findfont \psk@fontscale scalefont setfont
+ /laenge {10 dec exp mul round 10 dec exp div 15 string cvs stringwidth } def
+ /Wert { 10 dec exp mul round 10 dec exp div dec 0 eq {cvi 15 string cvs} {15 string cvs } ifelse
+ \ifPst@comma dot2comma \fi show } def
+ \pst@tempA \tx@UserCoor /y1 ED /x1 ED
+ \pst@tempB \tx@UserCoor /y2 ED /x2 ED
+ \pst@tempA /y3 ED /x3 ED
+ \pst@tempB /y4 ED /x4 ED
+ x3 x4 sub y3 y4 sub Pyth laenge /dx ED
+ x3 x4 add 2 div dx 2 div sub \psk@xShift\space add y3 y4 add 2 div \psk@yShift\space add
+ moveto %
+ x1 x2 sub y1 y2 sub Pyth Wert
+ x1 x2 add 2 div y1 y2 add 2 div
+ end ){#3}
+\endgroup
+\ignorespaces
+}
+%
+\define@boolkey[psset]{pst-eucl}[Pst@]{AngleValue}[false]{}
+\define@boolkey[psset]{pst-eucl}[Pst@]{AngleArc}[true]{}
+\define@boolkey[psset]{pst-eucl}[Pst@]{ShowWedge}[true]{}
+\define@key[psset]{pst-eucl}{ArcColor}{\def\psk@ArcColor{#1}}%
+\define@key[psset]{pst-eucl}{WedgeColor}{\def\psk@WedgeColor{#1}}%
+\define@key[psset]{pst-eucl}{WedgeOpacity}{\def\psk@WedgeOpacity{#1}}%
+\psset[pst-eucl]{ArcColor=black,WedgeColor=blue,WedgeOpacity=0.2,AngleValue=false,
+ AngleArc,ShowWedge}
+\def\psGetAngleABC{\pst@object{psGetAngleABC}}% Thmoas Söll 20140512
+\def\psGetAngleABC@i(#1)(#2)(#3)#4{%
+ \begingroup
+ \use@par
+ \pst@killglue
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
+ \pst@getcoor{#3}\pst@tempC
+ \pst@Verb{
+ \pst@tempA \tx@UserCoor /y1 ED /x1 ED
+ \pst@tempB \tx@UserCoor /y2 ED /x2 ED
+ \pst@tempC \tx@UserCoor /y3 ED /x3 ED
+ y1 y2 sub x1 x2 sub Atan neg /delta1 ED
+ y3 y2 sub x3 x2 sub Atan neg /delta2 ED
+ delta1 delta2 le {180 delta2 delta1 add 2 div neg add /WiM ED} {delta2 delta1 add 2 div neg /WiM ED} ifelse
+ }
+ \ifPst@ShowWedge
+ \pswedge[fillstyle=solid,fillcolor=\psk@WedgeColor,opacity=\psk@WedgeOpacity](#2){\psk@MarkAngleRadius}{! delta1}{! delta2}%
+ \fi
+ \ifPst@AngleArc
+ \psarc[linecolor=\psk@ArcColor](#2){\psk@MarkAngleRadius}{! delta1}{! delta2}%
+ \fi
+ \pnode(! %
+ /dec \psk@decimals\space def
+ \psk@PSfont findfont \psk@fontscale scalefont setfont
+ /s1 { /Symbol findfont \psk@fontscale\space scalefont setfont } bind def
+ /laenge {10 dec exp mul round 10 dec exp div 15 string cvs stringwidth } def
+ /WertZeigen {10 dec exp mul round 10 dec exp div dec 0 eq {cvi 15 string cvs} {15 string cvs } ifelse
+ \ifPst@comma dot2comma \fi show s1 (\string\260) show} def
+ \pst@tempA \tx@UserCoor /y1 ED /x1 ED
+ \pst@tempB \tx@UserCoor /y2 ED /x2 ED
+ \pst@tempC \tx@UserCoor /y3 ED /x3 ED
+ y1 y2 sub x1 x2 sub Atan neg /delta1 ED
+ y3 y2 sub x3 x2 sub Atan neg /delta2 ED
+ delta1 delta2 le {360 delta2 delta1 sub abs sub /WiWert ED} {delta2 delta1 sub abs /WiWert ED} ifelse
+ delta1 delta2 le {180 delta2 delta1 add 2 div neg add /WiM ED} {delta2 delta1 add 2 div neg /WiM ED} ifelse
+ \psk@MarkAngleRadius\space delta2 delta1 add 2 div PtoC \pst@tempB exch pop add /ym1 ED \pst@tempB pop add /xm1 ED
+ xm1 \psk@MarkAngleRadius\space WiM cos mul \pst@number\psxunit mul add \psk@xShift\space add ym1
+ \psk@MarkAngleRadius\space WiM sin mul \pst@number\psxunit mul add \psk@yShift\space add moveto %
+ \ifPst@AngleValue WiWert WertZeigen \fi
+ x2 0.8 WiM cos mul add y2 0.8 WiM sin mul add){#2-M}%
+ \uput{\psk@LabelSep}[! WiM]{0}(#2){#4}%
+ \endgroup
+ \ignorespaces
+}
+%
+\catcode`\@=\PstAtCode\relax
+%
\endinput
%%
%% END pst-eps.tex
diff --git a/Master/texmf-dist/tex/latex/pst-eucl/pst-eucl.sty b/Master/texmf-dist/tex/latex/pst-eucl/pst-eucl.sty
index d2d74707b2b..7168d0f5bb7 100644
--- a/Master/texmf-dist/tex/latex/pst-eucl/pst-eucl.sty
+++ b/Master/texmf-dist/tex/latex/pst-eucl/pst-eucl.sty
@@ -1,11 +1,12 @@
\RequirePackage{pstricks}
\RequirePackage{pst-node}
-\ProvidesPackage{pst-eucl}[2011/08/04 package wrapper for PSTricks pst-eucl.tex]
+\RequirePackage{pst-tools}
+\ProvidesPackage{pst-eucl}[2014/05/17 package wrapper for PSTricks pst-eucl.tex]
\DeclareOption{old}{\gdef\psteucl@old{}}% DR 10/05/2005
\ProcessOptions
\input{pst-eucl.tex}
\ProvidesFile{pst-eucl.tex}
- [\filedate\space v\fileversion\space `PST-eucl' (dr)]
+ [\filedate\space v\fileversion\space `PST-eucl' (dr,hv)]
\IfFileExists{pst-eucl.pro}{%
\ProvidesFile{pst-eucl.pro}
[2012/09/21 v. 1.01, PostScript prologue file (hv)]