summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex134
1 files changed, 66 insertions, 68 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex b/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex
index 608e29ef560..bcd397f26ca 100644
--- a/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex
+++ b/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex
@@ -1,7 +1,7 @@
%% This is file `pst-geometrictools.tex',
%%
%% Thomas Söll
-%% fixes for lualatex by Herbert Voß
+%% fixes by Herbert Voß
%%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License %%
@@ -10,7 +10,8 @@
%% 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
+%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler,
+%% a compass and pencils
%%
%%
\csname PSTgeometrictoolsLoaded\endcsname
@@ -20,8 +21,8 @@
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey.tex\fi
\ifx\PSTEuclideLoaded\endinput\else\input pst-eucl.tex\fi
\ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi
-\def\fileversion{1.3}
-\def\filedate{2021/12/28}
+\def\fileversion{1.4}
+\def\filedate{2024/04/15}
\message{`PST' v\fileversion, \filedate}
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -39,7 +40,7 @@
\define@key[psset]{pst-geometrictools}{fontsizeM}[6]{\def\pst@fontsizeM{#1 }}
\define@key[psset]{pst-geometrictools}{country}[Germany]{\def\pst@country{#1}}
\psset[pst-geometrictools]{ProScale=1,OwnerTxt={Euklid},MadeTxt={made in NES},
- country=Germany,PSfontO=StandardSymL,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
+ country=Germany,PSfontO=StandardSymbolsPS,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
ProFillCol=gray!60,ProLineCol=cyan,Ghost=false}
@@ -49,7 +50,6 @@
\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
\begin@SpecialObj
\pst@killglue
-% \begingroup
\pnode(#2){@PGD}%
\pnode(#3){@QGD}%
\use@par
@@ -472,7 +472,6 @@ grestore
@delta #1 add 180 add rotate % ------------------------------ Drehe die rechte untere Ecke des Geodreiecks
\pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
8 0){GeodrB}%
-%\endgroup%
\end@SpecialObj
\ignorespaces
}%
@@ -766,30 +765,29 @@ grestore
\psset[pst-geometrictools]{PoCScale=1,PoCFillCol=PoCRed,PoCAngle=0,PoCMineCol=black!80,PoCLength=5,MCAngle=true,RadVS=RVS,AngleVS=AVS,RadMul=1}
\def\psCompass{\def\pst@par{}\pst@object{psCompass}}% Pair of Compasses
-\def\psCompass@i#1(#2){\@ifnextchar(%
-{\psCompass@ii{0}(#2)}%
-{\psCompass@ii{#1}(#2)(#2)}}%
+\def\psCompass@i#1(#2){\@ifnextchar({\psCompass@ii{0}(#2)}{\psCompass@ii{#1}(#2)(#2)}}%
+
\def\psCompass@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
-\begin@SpecialObj
-\pst@killglue
-\begingroup%
-\pnode(#2){@PGD}%
-\pnode(#3){@QGD}%
-\use@par%
-\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{%
+ \begin@SpecialObj
+ \pst@killglue
+ \begingroup
+ \pnode(#2){@PGD}%
+ \pnode(#3){@QGD}%
+ \use@par
+ \pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
+ \pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+ \addto@pscode{%
\pst@RadMul /faktor ED
\pst@PoCScale /skal ED
#1 skal div 2 div /Radius ED
skal dup scale % -------- Skaliere das ganze Geodreieck
- /sysfill {systemdict /fill get exec} def
- /SLg \pst@PoCLength def
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- \pst@tempA\pst@coor /@y3 ED /@x3 ED
- @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
+ /sysfill {systemdict /fill get exec} def
+ /SLg \pst@PoCLength def
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ \pst@tempA\pst@coor /@y3 ED /@x3 ED
+ @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
quadlg 0 eq { 180 } { @y1 @y2 sub @x1 @x2 sub atan } ifelse /@delta ED %------------ Winkelberechnung
quadlg sqrt 2 div /RadiusPktB ED %------------ Radiusberechnung mit zweitem Punkt
SLg RadiusPktB Radius add gt { RadiusPktB Radius add } { SLg } ifelse /RadPoC ED
@@ -798,10 +796,10 @@ grestore
@x3 @y3 T % ------------------------------------------------------------------------------- Transformiere den Koordinatenursprung in P
\pst@PoCAngle\space \ifPst@MCAngle\space @delta add 180 add \fi rotate % ------------------------------ Drehe das gesamte Geodreieck
%-------------------------------------------------------------------------------------------------------------
-gsave
+ gsave
%-------------------------------------------------------------------------------------------------------------
%-------------- Linke Zirkelspitze----------------------------------------------- 0 cm 0 cm 0.15 cm 0 360 arc
-gsave
+ gsave
newpath
phiS neg rotate
0 cm 0 cm moveto
@@ -812,9 +810,9 @@ gsave
0.5 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- rechte Zirkel-Mine --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -828,9 +826,9 @@ gsave
\pst@usecolor\PoCMineCol
fill
grestore
-grestore
+ grestore
%---------------------------------------- Spindel --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -843,8 +841,8 @@ gsave
1.6 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -859,9 +857,9 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Drehrad an der Spindel --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -874,9 +872,9 @@ gsave
0.08 cm setlinewidth
stroke
grestore
-grestore
-gsave
-gsave
+ grestore
+ gsave
+% gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -890,10 +888,10 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+% gsave
%---------------------------------------- Halterung zum Anfassen --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -906,8 +904,8 @@ gsave
3 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -920,8 +918,8 @@ gsave
5 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -934,8 +932,8 @@ gsave
5 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -950,8 +948,8 @@ gsave
0.15 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -966,9 +964,9 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis um oberen Teil --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -982,9 +980,9 @@ gsave
1.3 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis zwischen den Schenkeln --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -994,9 +992,9 @@ gsave
0.1 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- Schenkel des Zirkels ----------------------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm 0.3 cm moveto
@@ -1012,8 +1010,8 @@ gsave
\pst@usecolor\PoCFillCol
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
-0.17 cm SLg 0.6 mul cm moveto
@@ -1029,9 +1027,9 @@ gsave
0.4 setgray
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis an der linken Spitze --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
-0.03 cm 0.8 cm moveto
@@ -1041,8 +1039,8 @@ gsave
0.25 setgray
fill
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
-0.03 cm 0.8 cm moveto
@@ -1052,9 +1050,9 @@ gsave
0.8 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- Kreis an der rechten Spitze --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -1067,8 +1065,8 @@ gsave
0.25 setgray
fill
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -1081,10 +1079,10 @@ gsave
0.8 setgray
fill
grestore
-grestore
+ grestore
%--------------------------------------------------------------------------------------------------------------------------------------------------
%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
-grestore
+ grestore
}%
\pnode(!
\pst@tempA \tx@UserCoor /@@y1 ED /@@x1 ED