From 47834360824ae6fd899f9eb150f540c4657c4894 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 15 Apr 2024 20:03:31 +0000 Subject: pst-geometrictools (15apr24) git-svn-id: svn://tug.org/texlive/trunk@70953 c570f23f-e606-0410-a88d-b1316a301751 --- .../pst-geometrictools/pst-geometrictools.tex | 134 ++++++++++----------- 1 file changed, 66 insertions(+), 68 deletions(-) (limited to 'Master/texmf-dist/tex/generic') 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 -- cgit v1.2.3