summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-geometrictools/doc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-12-29 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2021-12-29 03:01:06 +0000
commitdce1a2a6ecd9971433b4ee24c9d36b124cc1280e (patch)
tree051072f1ec49fbe350e7f88309ab293d1806e121 /graphics/pstricks/contrib/pst-geometrictools/doc
parentecdf859b6ce481abfd530425dcf6f0f764bd0001 (diff)
CTAN sync 202112290301
Diffstat (limited to 'graphics/pstricks/contrib/pst-geometrictools/doc')
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdfbin0 -> 228546 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex482
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdfbin0 -> 233412 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex409
4 files changed, 891 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
new file mode 100644
index 0000000000..ce1b9782c2
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
new file mode 100644
index 0000000000..47b04b6f2d
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
@@ -0,0 +1,482 @@
+%%
+%% This is file `pst-geometrictools-doc.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-geometrictools.tex'
+%%
+%% Thomas Söll
+%%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.3c of %%
+%% the License, or (at your option) any later version. %%
+%%
+%% DESCRIPTION:
+%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
+%%
+%%
+
+
+\listfiles
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,oneside]{pst-doc}
+
+\usepackage[autostyle]{csquotes}
+%\addbibresource{pst-geometrictools-doc.bib}
+\let\pstpersFV\fileversion
+\usepackage{pst-geometrictools,pst-node,pstricks-add,animate}
+
+\let\belowcaptionskip\abovecaptionskip
+
+\parindent0pt
+
+\psset{arrowlength=2.8,arrowinset=0.1}
+
+\def\bgImage{%
+\begin{pspicture}(-7,-3)(7,7)%
+\psProtractor[ProScale=0.75]{-5}(-2,2)%
+\psRuler[RulerFillCol=Blue!80,RulerScale=0.75]{190}(1,5)
+\psPencil[pencilColA=Green,PenScale=0.75]{10}(-2,2)
+\psPencil[PenLength=2,pencilColA=red,PenScale=0.75]{-20}(1,5)
+\psCompass[PoCScale=1.25,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(3.5,-3.5)(7.5,-3.5)
+\end{pspicture}
+}
+
+\lstset{language=PSTricks,morekeywords={psdot,psIntersectionPoint,psProtractor,psCompass,psPencil,psRuler,psParallels,psGetAngleABC,pstGeonode,midAB,pstRightAngle,perspective,multiframe,psline}\footnotesize\ttfamily}
+
+\newpsstyle{Parallelen}{country=G,ProScale=0.5,ProLineCol=cyan,ProFillCol=gray!50,OwnerTxt=Pythagoras,MadeTxt={Geodreieck},RulerFillCol=cyan!40}
+
+
+\begin{document}
+
+\title{pst-geometrictools v 1.3}
+\subtitle{A PSTricks package to draw a protractor, a ruler, a compass and pencils}
+\author{Thomas Söll\\Herbert Voß (bugfix)}
+\date{\today}
+
+\settitle
+
+\tableofcontents
+
+\begin{abstract}
+The package \LPack{pst-geometrictools} offers some customizable options to setup a \emph{protractor}, a \emph{ruler},
+a \emph{compass} and \emph{pencils} to the users' wishes. Some geometric tools are predefined
+ and ready-to-use for the customer to be able to present some pixel-free graphics showing the handling of some geometric tools.
+
+The geometric tools can be scaled, rotated, positioned, colored as wanted, even labeled---if wanted.
+
+These tools were already available since years within diverse examples---however not yet packaged together in pure PostScript. This was done within this package.
+
+We recommend to use the package \LPack{pst-eucl} (by \textit{Dominique Rodriguez}) which makes it easy to position the tools precisely.
+
+Have fun to use it!
+
+\bigskip
+This program can redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt;
+either version 1.3c of the License, or (at your option) any later version.
+\end{abstract}
+
+
+
+\clearpage
+
+
+\section{How to use the commands}
+
+\subsection{\textbackslash psProtractor}
+
+\begin{BDef}
+\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordinates of the origin}\\
+\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordinates of the origin}\Largr{coordinates of a second point}
+\end{BDef}
+
+The command \Lcs{psProtractor} contains the options \nxLkeyword{ProScale=}, \nxLkeyword{ProLineCol=}, \nxLkeyword{ProFillCol=}, \nxLkeyword{OwnerTxt=},
+\nxLkeyword{MadeTxt=}, \nxLkeyword{PSfontO=}, \nxLkeyword{fontsizeO=}, \nxLkeyword{PSfontM=}, \nxLkeyword{fontsizeM=}, \nxLkeyword{country=} and \nxLkeyword{Ghost=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule
+\Lkeyword{ProScale} & 1 & scale factor\\
+\Lkeyword{ProFillCol} & gray!60 & transparent fill color of the protrace\\
+\Lkeyword{ProLineCol} & cyan & linecolor of the protrace\\
+\Lkeyword{OwnerTxt} & T.S. & Name of the owner\\
+\Lkeyword{MadeTxt} & Made in NES & Made in wherever\\
+\Lkeyword{PSfontO} & Symbol & PSfont for the owner\\
+\Lkeyword{fontsizeO} & 10pt & fontsize for the owner\\
+\Lkeyword{PSfontM} & Times-Roman & PSfont for Made in wherever\\
+\Lkeyword{fontsizeM} & 6pt & fontsize for Made in wherever\\
+\Lkeyword{country} & Germany & Permissible values: Germany, France\\
+\Lkeyword{Ghost} & false & true: not showing the protrace itself, but getting the nodes of its verices\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+This above introduced command \Lcs{psProtractor} automatically provides three nodes of the vertices of the protractor which are named as follows: \texttt{GeodrA}, \texttt{GeodrB}, \texttt{GeodrC}
+
+These nodes maybe very helpful.
+
+The command \Lcs{psProtractor} offers a positioning
+\begin{itemize}
+\item either by one point and an angle of rotation
+\item or by two points (and an additional angle of rotation)
+\end{itemize}
+
+
+\subsection{\textbackslash psRuler}
+
+\begin{BDef}
+\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordinates of origin}
+\\
+\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordinates of origin}\Largr{coordinates of a second point}
+\end{BDef}
+
+The command \Lcs{psRuler} contains the options \nxLkeyword{RulerScale=} and \nxLkeyword{RulerFillCol=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule
+\Lkeyword{RulerScale} & 1 & scale factor of the ruler\\
+\Lkeyword{RulerFillCol} & gray & color of the ruler\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+The command \Lcs{psRuler} offers a positioning
+
+\begin{itemize}
+\item either by one point and an angle of rotation
+\item or by two points (and an additional angle of rotation)
+\end{itemize}
+
+
+\newpage
+
+
+\subsection{\textbackslash psCompass}
+
+\begin{BDef}
+\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordinates of origin}\\
+\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordinates of origin}\Largr{coordinates of a second point}
+\end{BDef}
+
+The command \Lcs{psCompass} contains the options \nxLkeyword{PoCAngle=}, \nxLkeyword{MCAngle=}, \nxLkeyword{PoCLength},
+\nxLkeyword{PoCFillCol=}, \nxLkeyword{PoCMineCol=}, \nxLkeyword{RadVS=}, \nxLkeyword{AngleVS=}, \nxLkeyword{RadMul=} and \nxLkeyword{PoCScale=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule
+\Lkeyword{PoCAngle} & 0 & angle of rotation\\
+\Lkeyword{PoCLength} & 5 & length of the compass\\
+\Lkeyword{PoCFillCol} & gray!60 & color of the compass\\
+\Lkeyword{PoCMineCol} & gray!60 & color of the mine\\
+\Lkeyword{PoCScale} & 1 & scaling factor \\
+\Lkeyword{MCAngle} & false & suppresses the initial angle, when two points are given\\
+\Lkeyword{RadVS} & RVS & PostScript value for the radius\\
+\Lkeyword{AngleVS} & AVS & PostScript value for the angle\\
+\Lkeyword{RadMul} & 1 & multiplication factor for the radius\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+The command \Lcs{psCompass} offers a positioning
+\begin{itemize}
+\item either by one point and the radius---a rotation is set with \texttt{[PoCAngle=30]}.
+\item or by two points (the radius and initial angle then are calculated automatically)---if one sets an additional rotation with \texttt{[PoCAngle=30]},
+these two angles are automatically added. If one will suppress the initial rotation, then set \texttt{[MCAngle=false]}.
+Using \texttt{RadVS=<unique name>} and \texttt{AngleVS=<unique name>} you can use the values of the radius respectively the angle within some PostScript calculations.
+When you like to use a radius other than the distance between the two points that automatically calculates the radius, use \texttt{RadMul=<decimal number>} to multiply the initial radius with this factor.
+\end{itemize}
+
+
+\subsection{\textbackslash psPencil}
+
+\begin{BDef}
+\Lcs{psPencil}\OptArgs\Largb{angle}\Largr{coordinates of the cone end}
+\end{BDef}
+
+The command \Lcs{psPencil} contains the options \nxLkeyword{PenScale=}, \nxLkeyword{PenLength=}, \nxLkeyword{pencilColA=} and \nxLkeyword{pencilColB=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule
+\Lkeyword{PenScale} & 1 & scale factor\\
+\Lkeyword{PenLength} & 5 & length of the pencil\\
+\Lkeyword{pencilColA} & red & color of the pencil\\
+\Lkeyword{pencilColB} & HolzCol & color of the wooden cone end \\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+
+\newpage
+
+
+
+\subsection{\textbackslash psParallels (Idea and realization by \emph{Manuel Luque})}
+
+\begin{BDef}
+\Lcs{psParallels}\OptArgs\Largr{pointA}\Largr{pointB}\Largr{pointC}
+\end{BDef}
+
+The command \Lcs{psParallels} contains the option \nxLkeyword{DistCoeff}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule
+\Lkeyword{DistCoeff} & 1 & relative disctance between (AB) and C\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+This command is made to directly draw a line parallel to the line containing \texttt{pointA} and \texttt{pointB}
+intersecting at point \texttt{pointC}.
+
+
+\begin{LTXexample}[pos=t,width=\linewidth]
+\psscalebox{0.5}{%
+\begin{pspicture}[showgrid=false](-15,-10)(5,3)%
+ \pnode(-6,1){A}\uput[100](A){A}
+ \pnode(1,2){B}\uput[100](B){B}
+ \pnode(2,0){C}\uput[90](C){C}
+ \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
+ \psParallels[style=Parallelen,RulerScale=0.5,ProScale=1,DistCoeff=1](A)(B)(C)
+ \pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
+ \midAB(GeodrB)(GeodrA){M}%
+ \psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
+ \end{pspicture}}
+\end{LTXexample}
+
+
+The command \verb+\psParallels[DistCoeff=1](A)(B)(C){angle}+ allows to draw a parallel through the
+point C with the help of a ruler and protractor. The angle is the one between the pencil and the vertical.
+The command uses the option [DistCoef=] as within pst-eucl. If [DistCoef=0] the hypotenuse of the
+protractor lays on the line (AB), the ruler automatically positions below the protractor.
+
+For an animation, we vary [DistCoef=0..1], the protractor moves along the ruler letting the
+hypotenuse parallel to the line (AB). If [DistCoef=1], the protractor intersects with the point C.
+We can now draw the parallel to (AB) intersecting C.
+
+
+
+
+
+\newpage
+
+
+\section{Basic Examples}
+
+\begin{LTXexample}[pos=t,width=16cm]
+\psscalebox{0.7}{%
+\begin{pspicture}[showgrid=false](-6,-5.5)(10,7)
+\psProtractor{0}(0,0)% origin of the protractor
+\psRuler{0}(0,0)% origin of the ruler
+\psPencil{-30}(6,0)% origin of the pencil
+\psCompass{3}(2,0)% origin of the compass
+\end{pspicture}}
+\end{LTXexample}
+
+We see, that the origins of the \emph{protractor} and \emph{ruler}, \emph{compass} and respectively the \emph{cone end of the pencil} are positioned at $(0|0)$, $(2|0)$, $(6|0)$. Adding an angle rotates the objects around their origins.
+
+For the \emph{protractor} and \emph{ruler}, there are two ways to position them:
+
+\begin{itemize}
+\item one point and an angle, like:
+
+\Lcs{psProtractor}\OptArgs\Largb{<angle>}\Largr{<point>}\\
+\Lcs{psRuler}\OptArgs\Largb{<angle>}\Largr{<point>}
+
+This is quite self-explanatory. The origin is positioned at the point and the tool is rotated around this point by the chosen angle.
+\item two points and an additional angle, like:
+
+\Lcs{psProtractor}\OptArgs\Largb{<additional angle>}\Largr{<pointA>}\Largr{<pointB>}\\
+\Lcs{psRuler}\OptArgs\Largb{<additional angle>}\Largr{<pointA>}\Largr{<pointB>}
+
+The origin of the tool is set to pointA. The hypotenuse of the protractor is aligned to the line between pointA and pointB, when the additional angle is chosen to $0$.
+\end{itemize}
+
+
+\newpage
+
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}(-8,-6.5)(8,2)
+\pnode(-2,-1){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[90](A){A}
+\pnode(5,-2){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[180](B){B}
+\psProtractor[ProScale=0.5]{30}(A)
+\psProtractor[ProLineCol=Yellow,ProScale=0.5]{90}(B)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t,width=13cm]
+\begin{pspicture}(-8,-6.5)(5,2)
+\pnode(-2,-2){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[45](A){A}
+\pnode(5,-4){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[45](B){B}
+\pcline[linecolor=Green](A)(B)
+\psProtractor[ProScale=0.5]{0}(A)(B)
+\psProtractor[ProLineCol=Yellow,ProScale=0.5]{190}(A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+
+
+The predefined nodes of a protractor.
+
+\begin{LTXexample}[pos=t,width=13cm]
+\begin{pspicture}(-8,-6.5)(5,0.3)
+\psProtractor[ProScale=0.75]{0}(0,0)
+\psdot[linecolor=Green,dotsize=7pt](GeodrA)\uput[45](GeodrA){GeodrA}
+\psdot[linecolor=Blue,dotsize=7pt](GeodrB)\uput[135](GeodrB){GeodrB}
+\psdot[linecolor=BrickRed,dotsize=7pt](GeodrC)\uput[-90](GeodrC){GeodrC}
+\end{pspicture}
+\end{LTXexample}
+
+Compass
+
+\begin{LTXexample}[pos=t,width=12cm]
+\begin{pspicture}(-6,-2)(6,6)%
+\pnode(-1,0){A}\psdot[dotsize=3pt,linecolor=red](A)
+\pnode(1,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
+\pscircle(A){2}
+\pcline[linecolor=BrickRed,nodesepA=-9,nodesepB=-6](A)(B)
+\psCompass[PoCAngle=70,PoCScale=0.8]{2}(A)
+\pnode(2,0){A}\psdot[dotsize=3pt,linecolor=red](A)
+\pnode(6,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
+\psCompass[PoCScale=1,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+
+
+\section{Advanced examples}
+
+Measuring the angles of a given triangle.
+
+\begin{LTXexample}[pos=t,width=17cm]
+\newpsstyle{WkMessung}{linestyle=none,AngleValue=true,ArcColor=Green,arrows=->,WedgeOpacity=0.6,WedgeColor=Green!30,LabelSep=1.6,MarkAngleRadius=2.8,linecolor=Green,decimals=1,comma,xShift=-6,yShift=9}
+\newpsstyle{GeoDrG}{country=G,ProScale=1,ProLineCol=Green,ProFillCol=Green!50,OwnerTxt={Pythagoras},MadeTxt={Geodreieck}}
+\begin{pspicture}(0,-1)(17,10)
+\pnode(8,0){S}\uput[d](S){S}\psdot(S)
+\pnode(17,0){B}
+\rput(S){\pnode(7;35){C}}
+\pcline[linecolor=blue,nodesepB=-0](S)(B)
+\pcline[linecolor=red,nodesepB=-2](S)(C)
+\psProtractor[style=GeoDrG]{0}(S)(B)
+\psIntersectionPoint(S)(C)(GeodrB)(GeodrC){D}% pstricks-add
+\pcline[linecolor=Green,arrowinset=0.1,arrowlength=2,linewidth=2pt]{->}([offset=1.5cm]D)(D)
+\psGetAngleABC[style=WkMessung](B)(S)(C){\Large\color{Green}$\alpha$}% pst-eucl
+\rput([offset=4.5]D){\psframebox[framesep=6pt,framearc=0.2]{
+\begin{minipage}[t]{5.5cm}
+Lege das Geodreieck auf den blauen Schenkel, so dass die Null auf dem Scheitel S liegt. Lies nun am \"au\ss eren Rand den Winkel ab (gr\"uner Pfeil).
+\end{minipage}
+}}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}(-9,-6)(7,10)
+\pnode(1,7){A}
+\pnode(-5,0){B}
+\pnode(5,-2){C}
+\pspolygon[linecolor=red](A)(B)(C)
+\psProtractor[ProScale=0.5]{0}(A)(B)
+\psProtractor[ProScale=0.5]{0}(B)(C)
+\psProtractor[ProScale=0.5]{0}(C)(A)
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+
+
+Constructing the height of a given triangle.
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}(-6,-4.5)(5,8)
+\pnode(1,7){A}
+\pnode(-5,1){B}
+\pnode(3,2){C}
+\uput[ur](A){A}
+\uput[d](B){B}
+\uput[d](C){C}
+\pspolygon(A)(B)(C)
+\pstProjection{B}{C}{A}[A']% pst-eucl
+\psProtractor[ProScale=0.8,OwnerTxt={Height of a triangle},MadeTxt={Made in NES},PSfontO=Helvetica,PSfontM=Times-Roman,fontsizeO=8,fontsizeM=6]{0}(A')(A)
+\pcline[linecolor=red,linestyle=dashed,linewidth=2pt](GeodrC)(A')
+\pstRightAngle[RightAngleType=german]{C}{A'}{A}% pst-eucl
+\end{pspicture}
+\end{LTXexample}
+
+
+\newpage
+
+
+%Using the package \LPack{pst-pers} (by \emph{Manuel Luque} avec la collaboration de \emph{Thomas Söll} et \emph{Jürgen Gilg}), we have the full range to project objects into whatever planes we want.
+%
+%Here we present a little example, setting the protractor into the [$x,y$]-plane, whereas the compass is set into the [$y,z$]-plane.
+%
+%\begin{LTXexample}[pos=t,width=16cm]
+%\begin{pspicture}(-8,-1.75)(9,7)
+%\perspective[normal=0 90](0,0,0){% pst-pers
+%\psarc[linecolor=green](0,0){2}{180}{0}
+%\psProtractor{0}(0,0)(2,0)
+%}
+%\perspective[normal=0 0](0,0,0){% pst-pers
+%\psCompass[PoCAngle=0,PoCScale=1,PoCMineCol=green]{2}(0,0)
+%}
+%\end{pspicture}
+%\end{LTXexample}
+%
+%
+%\newpage
+
+
+%\section{Animations}
+%
+%\begin{LTXexample}[pos=t,width=17cm]
+%\begin{animateinline}[% animate
+%controls,
+%palindrome,
+%begin={\begin{pspicture}(-8,-1.75)(9,7)},
+%end={\end{pspicture}}]{10}% 10 frames/s (velocity of the animation)
+%\multiframe{73}{rB=0+2.5}{% number of frames
+%\perspective[normal=0 90](0,0,0){% pst-pers
+% \psarc[linecolor=Green](0,0){2}{0}{\rB}
+% \psProtractor[ProLineCol=Yellow]{180}(0,0)(2,0)
+% }
+%\perspective[normal=\rB\space 0](0,0,0){% pst-pers
+% \psCompass[PoCAngle=0,PoCScale=1,PoCMineCol=Green]{2}(0,0)
+% }
+%}
+%\end{animateinline}
+%\end{LTXexample}
+%
+%
+%\clearpage
+
+
+\section{List of all optional arguments for \texttt{pst-geometrictools}}
+
+\xkvview{family=pst-geometrictools,columns={key,type,default}}
+
+
+\clearpage
+
+
+%\nocite{*}
+%\bgroup
+%\RaggedRight
+%\printbibliography
+%\egroup
+
+
+\printindex
+\end{document} \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
new file mode 100644
index 0000000000..2d8390e783
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
new file mode 100644
index 0000000000..4e36c902d1
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
@@ -0,0 +1,409 @@
+%%
+%% This is file `pst-geometrictools-fr-doc.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-geometrictools.tex'
+%%
+%% Thomas S\"{o}ll
+%%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.3c of %%
+%% the License, or (at your option) any later version. %%
+%%
+%% DESCRIPTION:
+%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
+%%
+%%
+
+
+\listfiles
+
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,oneside]{pst-doc}
+
+\usepackage[autostyle]{csquotes}
+\usepackage{biblatex}
+%\usepackage[style=dtk]{biblatex}
+%\addbibresource{pst-geometrictools-doc.bib}
+\let\pstgeometrictoolsFV\fileversion
+\usepackage{pst-geometrictools,pst-node,pstricks-add}
+
+\let\belowcaptionskip\abovecaptionskip
+
+\parindent0pt
+
+\psset{arrowlength=2.8,arrowinset=0.1}
+
+\def\bgImage{%
+\begin{pspicture}(-7,-3)(7,7)%
+\psProtractor[ProScale=0.75]{-5}(-2,2)%
+\psRuler[RulerFillCol=Blue!80,RulerScale=0.75]{190}(1,5)
+\psPencil[pencilColA=Green,PenScale=0.75]{10}(-2,2)
+\psPencil[PenLength=2,pencilColA=red,PenScale=0.75]{-20}(1,5)
+\psCompass[PoCScale=1.25,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(3.5,-3.5)(7.5,-3.5)
+\end{pspicture}
+}
+
+\lstset{language=PSTricks,morekeywords={psdot,psIntersectionPoint,psProtractor,psPencil,psRuler,psParallels,psGetAngleABC,pstRightAngle,psline}\footnotesize\ttfamily}
+
+\newpsstyle{Parallelen}{country=G,ProScale=0.5,ProLineCol=cyan,ProFillCol=gray!50,OwnerTxt=Pythagoras,MadeTxt={Geodreieck},RulerFillCol=cyan!40}
+
+\begin{document}
+
+\title{pst-geometrictools v 1.3}
+\subtitle{Package de PSTricks pour dessiner un rapporteur, une r\'{e}glette et un crayon}
+\author{Thomas Söll\\Herbert Voß (bugfixes)}
+\date{\today}
+
+\settitle
+
+\tableofcontents
+
+\begin{abstract}
+Pour illustrer des notions de g\'{e}om\'{e}trie \'{e}l\'{e}mentaire le package pst-geometrictools dispose des outils suivants :
+\begin{itemize}
+ \item r\`{e}gle gradu\'{e}e ;
+ \item \'{e}querre-rapporteur ;
+ \item crayon.
+\end{itemize}
+Les arguments et options des commandes d\'{e}di\'{e}es permettent de les positionner ainsi que de les personnaliser. Vous remarquerez dans les exemples qui illustrent la documentation le soin tout professionnel qui a \'{e}t\'{e} apport\'{e} au dessin et aux d\'{e}tails des outils. L'utilisation du package pst-eucl de Dominique Rodriguez est vivement conseill\'{e} car ses commandes sont particuli\`{e}rement efficaces pour cr\'{e}er facilement des animations et des illustrations.
+
+\bigskip
+This program can redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1.3c of the License, or (at your option) any later version.
+\end{abstract}
+
+
+\clearpage
+
+
+\section{Comment utiliser les commandes}
+
+\subsection{\textbackslash psProtractor}
+
+\begin{BDef}
+\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}%
+\\
+\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}\Largr{coordonn\'{e}es du second point}
+\end{BDef}
+
+
+La commande \Lcs{psProtractor} est munie des options \nxLkeyword{ProScale=}, \nxLkeyword{ProLineCol=}, \nxLkeyword{ProFillCol=}, \nxLkeyword{OwnerTxt=}, \nxLkeyword{MadeTxt=}, \nxLkeyword{PSfontO=}, \nxLkeyword{fontsizeO=}, \nxLkeyword{PSfontM=}, \nxLkeyword{fontsizeM=}, \nxLkeyword{country=} and \nxLkeyword{Ghost=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
+\Lkeyword{ProScale} & 1 & facteur d'\'{e}chelle\\
+\Lkeyword{ProFillCol} & gray!60 & couleur de transparence \\
+\Lkeyword{ProLineCol} & cyan & couleur de l'arc en demi-cercle\\
+\Lkeyword{OwnerTxt} & T.S. & Nom du propri\'{e}taire\\
+\Lkeyword{MadeTxt} & Made in NES & Lieu de fabrication\\
+\Lkeyword{PSfontO} & Symbol & PSfont pour le nom du propri\'{e}taire\\
+\Lkeyword{fontsizeO} & 10pt & fontsize pour le nom du propri\'{e}taire\\
+\Lkeyword{PSfontM} & Times-Roman & PSfont pour le lieu de fabrication\\
+\Lkeyword{fontsizeM} & 6pt & fontsize pour le lieu de fabrication\\
+\Lkeyword{country} & Germany & options permises : Germany, France\\
+\Lkeyword{Ghost} & false & true : ne trace pas le rapporteur, mais calcule les n\oe{}uds des sommets\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+La commande \Lcs{psProtractor} fournit automatiquement les 3 n\oe{}uds des sommets du rapporteur, ils sont nomm\'{e}s : \texttt{GeodrA}, \texttt{GeodrB}, \texttt{GeodrC}
+
+Ces n\oe{}uds peuvent \^{e}tre tr\`{e}s utiles.
+
+\subsection{\textbackslash psRuler}
+
+\begin{BDef}
+\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}
+\\
+\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}\Largr{coordonn\'{e}es du second point}
+\end{BDef}
+
+ Cette commande \Lcs{psRuler} est munie des options \nxLkeyword{RulerScale=} et \nxLkeyword{RulerFillCol=}.
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
+\Lkeyword{RulerScale} & 1 & facteur d'\'{e}chelle de la r\`{e}glette\\
+\Lkeyword{RulerFillCol} & gray & couleur de la r\'{e}glette\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+
+
+\subsection{\textbackslash psPencil}
+
+\begin{BDef}
+\Lcs{psPencil}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de la pointe du crayon}
+\end{BDef}
+
+Cette \Lcs{psPencil} est munie des options \nxLkeyword{PenScale=}, \nxLkeyword{PenLength=}, \nxLkeyword{pencilColA=} and \nxLkeyword{pencilColB=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
+\Lkeyword{PenScale} & 1 & facteur d'\'{e}chelle\\
+\Lkeyword{PenLength} & 5 & longueur du crayon\\
+\Lkeyword{pencilColA} & red & couleur du corps du crayon\\
+\Lkeyword{pencilColB} & HolzCol & couleur de la mine\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+
+\subsection{\textbackslash psCompass}
+
+\begin{BDef}
+\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordonn\'{e}es de l'origine : pointe du compas}
+\\
+\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordonn\'{e}es de l'origine}\Largr{ccoordonn\'{e}es du second point}
+\end{BDef}
+
+Cette commande \Lcs{psCompass} poss\`{e}de les options \nxLkeyword{PoCAngle=}, \nxLkeyword{PoCLength}, \nxLkeyword{PoCFillCol=}, \nxLkeyword{PoCMineCol=} and \nxLkeyword{PoCScale=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
+\Lkeyword{PoCAngle} & 0 & angle de rotation\\
+\Lkeyword{PoCLength} & 5 & longueur des bras du compas\\
+\Lkeyword{PoCFillCol} & gray!60 & couleur des bras\\
+\Lkeyword{PoCMineCol} & gray!60 & couleur de la mine\\
+\Lkeyword{PoCScale} & 1 & facteur d'\'{e}chelle \\
+\bottomrule
+\end{tabularx}
+\end{quote}
+La commande \Lcs{psCompass} permet de placer le compas :
+\begin{itemize}
+\item soit par un point et le rayon ;
+\item ou par deux points (le rayon est ensuite calcul\'{e} automatiquement).
+\end{itemize}
+
+\subsection{\textbackslash psParallels}
+
+\begin{BDef}
+\Lcs{psParallels}\OptArgs\Largr{pointA}\Largr{pointB}\Largr{pointC}
+\end{BDef}
+
+La commande \Lcs{psParallels} dispose des options \nxLkeyword{Ruler=}, \nxLkeyword{Ppoint=}, \nxLkeyword{pencilColA=} et \nxLkeyword{AddAngle=}.
+
+\begin{quote}
+\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
+\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
+\Lkeyword{Ruler} & true & dessine la r\'{e}glette gradu\'{e}e\\
+\Lkeyword{Ppoint} & false & Si \Lkeyword{Ppoint}=true] : l'origine du rapporteur est plac\'{e}e en C, son hypot\'{e}nuse \'{e}tant parall\'{e}le \`{a} (AB).\\
+\Lkeyword{AddAngle} & 0 & Angle suppl\'{e}mentaire pour inverser le rapporteur (0 or 180)\\
+\bottomrule
+\end{tabularx}
+\end{quote}
+
+Cette commande permet de tracer la parrall\`{e}le passant par le point \texttt{pointC} \`{a} la droite d\'{e}finie par les points \texttt{pointA} and \texttt{pointB}. Le rapporteur et la r`{e}gle sont plac\'{e}s automatiquement.
+
+
+\begin{LTXexample}[pos=t,width=17cm]
+\begin{pspicture}(-11,-10)(6,2.5)
+\psParallels[DistCoeff=1,ProScale=.75,RulerScale=0.7](-6,-1)(1,2)(2,0)
+\end{pspicture}
+\end{LTXexample}
+
+
+\psset{unit=1cm}
+
+\begin{LTXexample}[pos=t,width=18cm]
+\psscalebox{0.5}{%
+\begin{pspicture}[showgrid](-11,-1)(11,20)%
+\pnode(5,5){A}\uput[90](A){A}
+\pnode(-8,1){B}\uput[90](B){B}
+\pnode(3,3){C}\uput[250](C){C}
+\pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)
+\psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
+\pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
+\midAB(GeodrB)(GeodrA){M}%
+\psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
+\end{pspicture}}
+\end{LTXexample}
+
+Pour une animation, on utilisera la commande \verb+\multido{}{N}{...+ en fixant uniquement
+le nombre de pas souhait\'{e} pour que l'hypothénuse du rapporteur passe de la position
+où il est tout près de (AB) et parallèle à celle-ci au point C.
+
+\begin{verbatim}
+\multido{}{40}{%
+ \begin{pspicture}[showgrid](-11,-4)(7,8)%
+ \pstGeonode[PosAngle=135,linecolor=red](-2,6){A}
+ \pstGeonode[PosAngle=135,linecolor=Green](-8,1){B}
+ \pstGeonode[PosAngle=-45,linecolor=blue](0,3){C}
+ \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
+ \psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
+ \end{pspicture}%
+}
+\end{verbatim}
+
+Remarque : Si [Ppoint=true] : l'origine du rapporteur est plac\'{e}e en C, son hypot\'{e}nuse \'{e}tant parall\`{e}le \`{a} (AB). La r\`{e}gle n'est plus plac\'{e}e automatiquement \`{a} sa position exacte sous le rapporteur.
+Il la placer soi-m\^{e}me.
+\section{Exemples de base}
+
+Les outils avec les options par d\'{e}faut.
+\begin{LTXexample}[pos=t,width=11cm]
+\begin{pspicture}(-6,-8.5)(5,4)
+\psProtractor{0}(0,0)
+\psRuler{0}(0,0)
+\psPencil{-30}(0,0)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+Nous voyons que pour le rapporteur, la r\`{e}gle, et la pointe de la mine du crayon (son origine) sont positionn\'{e}es \`{a} $(0|0)$. L'ajout d'un angle tourne les objets autour de leur origine.
+
+Pour le rapporteur et la r\`{e}gle, il existe deux fa\c{c}ons de les positionner :
+\begin{itemize}
+\item Un point et un angle, comme :
+
+\Lcs{psProtractor}\OptArgs\Largb{<angle>}\Largr{<point>}
+
+C'est tout \`{a} fait explicite. L'origine est positionn\'{e}e au point et l'outil est tourn\'{e} autour de ce point de l'angle choisi.
+
+\item deux points et un angle suppl\'{e}mentaire, comme:
+\Lcs{psProtractor}\OptArgs\Largb{<angle additionnel>}\Largr{<pointA>}\Largr{<pointB>}
+
+ L'origine de l'outil est d\'{e}finie sur pointA. L'hypot\'{e}nuse du rapporteur est align\'{e}e sur la droite joignant pointA et pointB, lorsque l'angle vaut $0$.
+\end{itemize}
+
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}[showgrid](-8,-6.5)(8,2)
+\pnode(-2,-1){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[90](A){A}
+\pnode(5,-2){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[180](B){B}
+\psProtractor[ProScale=0.5]{30}(A)
+\psProtractor[ProLineCol=Yellow,ProScale=0.5]{90}(B)
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t,width=13cm]
+\begin{pspicture}[showgrid](-8,-6.5)(5,2)
+\pnode(-2,-2){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[45](A){A}
+\pnode(5,-4){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[45](B){B}
+\pcline[linecolor=Green](A)(B)
+\psProtractor[ProScale=0.5]{0}(A)(B)
+\psProtractor[ProLineCol=Yellow,ProScale=0.5]{190}(A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+Les n\oe{}uds pr\'{e}d\'{e}finis du rapporteur.
+\begin{LTXexample}[pos=t,width=13cm]
+\begin{pspicture}(-8,-8.5)(5,2)
+\psProtractor{0}(0,0)
+\psdot[linecolor=Green,dotsize=10pt](GeodrA)\uput[45](GeodrA){GeodrA}
+\psdot[linecolor=Blue,dotsize=10pt](GeodrB)\uput[135](GeodrB){GeodrB}
+\psdot[linecolor=BrickRed,dotsize=10pt](GeodrC)\uput[-90](GeodrC){GeodrC}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+A pair of compasses
+
+\begin{LTXexample}[pos=t,width=12cm]
+\begin{pspicture}[showgrid](-6,-2)(6,6)%
+\pnode(-1,0){A}\psdot[dotsize=3pt,linecolor=red](A)
+\pnode(1,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
+\pscircle(A){2}
+\pcline[linecolor=BrickRed,nodesepA=-9,nodesepB=-6](A)(B)
+\psCompass[PoCAngle=70,PoCScale=0.8]{2}(A)
+\pnode(2,0){A}\psdot[dotsize=3pt,linecolor=red](A)
+\pnode(6,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
+\psCompass[PoCScale=1,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+\section{Exemples avanc\'{e}s}
+
+Mesurer les angles d'un triangle.
+
+\begin{LTXexample}[pos=t,width=17cm]
+\newpsstyle{WkMessung}{linestyle=none,AngleValue=true,ArcColor=Green,arrows=->,WedgeOpacity=0.6,WedgeColor=Green!30,LabelSep=1.6,MarkAngleRadius=2.8,linecolor=Green,decimals=1,comma}
+\newpsstyle{GeoDrG}{country=G,ProScale=1,ProLineCol=Green,ProFillCol=Green!50,OwnerTxt={Pythagoras},MadeTxt={Geodreieck}}
+\begin{pspicture}(0,-1)(17,10)
+\pnode(8,0){S}\uput[d](S){S}\psdot(S)
+\pnode(17,0){B}%\uput[l](B){B}
+\rput(S){\pnode(7;35){C}}%\uput[l](C){C}
+\pcline[linecolor=blue,nodesepB=-0](S)(B)
+\pcline[linecolor=red,nodesepB=-2](S)(C)
+\psProtractor[style=GeoDrG]{0}(S)(B)%
+\psIntersectionPoint(S)(C)(GeodrB)(GeodrC){D}
+%\psLDNode(A)(C){5.65}{D}
+\pcline[linecolor=Green,arrowinset=0.1,arrowlength=2,linewidth=2pt]{->}([offset=1.5cm]D)(D)
+\psGetAngleABC[style=WkMessung,xShift=-6,yShift=9](B)(S)(C){\Large\color{Green}$\alpha$}
+%\rput(8,9){\psframebox[framesep=6pt,framearc=0.2]{Winkel messen mit dem Geodreieck}}
+\rput([offset=4.5]D){\psframebox[framesep=6pt,framearc=0.2]{
+\begin{minipage}[t]{5.5cm}
+Lege das Geodreieck auf den blauen Schenkel, so dass die Null auf dem Scheitel S liegt. Lies nun am \"{a}u{\ss}eren Rand den Winkel ab (gr\"{u}ner Pfeil).
+\end{minipage}
+}}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}(-9,-6)(7,10)
+\pnode(1,7){A}
+\pnode(-5,0){B}
+\pnode(5,-2){C}
+\pspolygon[linecolor=red](A)(B)(C)
+\psProtractor[ProScale=0.5]{0}(A)(B)
+\psProtractor[ProScale=0.5]{0}(B)(C)
+\psProtractor[ProScale=0.5]{0}(C)(A)
+\end{pspicture}
+\end{LTXexample}
+
+\newpage
+
+Construction des hauteurs d'un triangle
+
+\begin{LTXexample}[pos=t,width=16cm]
+\begin{pspicture}(-6,-4.5)(5,8)
+\pnode(1,7){A}
+\pnode(-5,1){B}
+\pnode(3,2){C}
+\uput[ur](A){A}\uput[d](B){B}\uput[d](C){C}
+\pspolygon(A)(B)(C)
+\pstProjection{B}{C}{A}[A']
+\psProtractor[ProScale=0.8,OwnerTxt={Height of a triangle},MadeTxt={Made in NES},PSfontO=Helvetica,PSfontM=Times-Roman,fontsizeO=8,fontsizeM=6]{0}(A')(A)
+\pcline[linecolor=red,linestyle=dashed,linewidth=2pt](GeodrC)(A')
+\pstRightAngle[RightAngleType=german]{C}{A'}{A}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+\clearpage
+
+
+
+\section{Liste de tous les options pour \texttt{pst-geometrictools}}
+\xkvview{family=pst-geometrictools,columns={key,type,default}}
+
+
+\clearpage
+
+
+%\nocite{*}
+%\bgroup
+%\RaggedRight
+%\printbibliography
+%\egroup
+
+
+\printindex
+\end{document} \ No newline at end of file