diff options
author | Karl Berry <karl@freefriends.org> | 2017-09-16 20:46:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-09-16 20:46:25 +0000 |
commit | fed4a58472ca085eafb9870ae915fc11ee60f9c5 (patch) | |
tree | f6cc281c852fe4a202526b5bf2b3878a0b1260cd /Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex | |
parent | f43aea208fbb07095b1039905bdbfea3fc272404 (diff) |
pst-geometrictools (16sep17)
git-svn-id: svn://tug.org/texlive/trunk@45319 c570f23f-e606-0410-a88d-b1316a301751
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.tex | 90 |
1 files changed, 46 insertions, 44 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 004719f05a8..cad64e8e3c2 100644 --- a/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex +++ b/Master/texmf-dist/tex/generic/pst-geometrictools/pst-geometrictools.tex @@ -1,6 +1,6 @@ %% This is file `pst-geometrictools.tex', %% -%% Thomas S\"{o}ll +%% Thomas Söll %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% @@ -18,8 +18,8 @@ \ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi \ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi \ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi -\def\fileversion{1.0} -\def\filedate{2017/06/29} +\def\fileversion{1.1} +\def\filedate{2017/09/16} \message{`PST' v\fileversion, \filedate} \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -35,17 +35,19 @@ \define@key[psset]{pst-geometrictools}{MadeTxt}[made in NES]{\def\pst@MadeTxt{#1}}% \define@key[psset]{pst-geometrictools}{PSfontO}[Symbol]{\def\pst@PSfontO{/#1 }} \define@key[psset]{pst-geometrictools}{fontsizeO}[10]{\def\pst@fontsizeO{#1 }} -\define@key[psset]{pst-geometrictools}{PSfontM}[Times-Roman]{\def\pst@PSfontM{/#1 }} +\define@key[psset]{pst-geometrictools}{PSfontM}[NimbusRomNo9L-Regu]{\def\pst@PSfontM{/#1 }} \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=Symbol,PSfontM=Times-Roman,fontsizeO=10,fontsizeM=6,ProFillCol=gray!60,ProLineCol=cyan,Ghost=false} +\psset[pst-geometrictools]{ProScale=1,OwnerTxt={Euklid},MadeTxt={made in NES}, + country=Germany,PSfontO=StandardSymL,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6, + ProFillCol=gray!60,ProLineCol=cyan,Ghost=false} \def\psProtractor{\def\pst@par{}\pst@object{psProtractor}} \def\psProtractor@i#1(#2){\@ifnextchar(% {\psProtractor@ii{#1}(#2)}% {\psProtractor@ii{#1}(#2)(#2)}}% -\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q f\"{u}r Winkel +\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel \begin@SpecialObj \pst@killglue \begingroup% @@ -57,9 +59,9 @@ \addto@pscode{% /sysfill {systemdict /fill get exec} def /Country (\pst@country) def - /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als L\"{a}ngeneinheit mit der multipliziert wird - \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung ben\"{o}tigt) - \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung ben\"{o}tigt) + /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) @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck @@ -68,7 +70,7 @@ \ifPst@Ghost\else gsave %------------------------------------------------------------------------------------------------------------- -%-------------- \"{A}u{\ss}ere Begrenzung des Geodreiecks ----------------------------------------------- +%-------------- Äußere Begrenzung des Geodreiecks ----------------------------------------------- gsave newpath -8 cm 0 moveto @@ -82,7 +84,7 @@ gsave grestore grestore %------------------------------------------------------------------------------------------------------------- -%-------------- Gef\"{u}llter innerer Teil des Geodreiecks ----------------------------------------------- +%-------------- Gefüllter innerer Teil des Geodreiecks ----------------------------------------------- gsave newpath -7.5 cm 0.5 22.5 tan mul cm moveto @@ -197,8 +199,8 @@ grestore {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def %---------- xWS1=8/(tan(alpha)-1) --> SP der Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha {7.8 Wk sin Wk cos div 1 sub div} /xWS2 exch def % ------- xWS2=7,8/(tan(alpha)-1) --> SP einer Parallelen zur Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha newpath - xWS1 cm xWS1 8 add cm moveto % --------------------------- zu xWS1 geh\"{o}riger y-Wert ist xWS1 + 8 - xWS2 cm xWS2 7.8 add cm % ----------------------------------- zu xWS2 geh\"{o}riger y-Wert ist xWS1 + 7,8 + xWS1 cm xWS1 8 add cm moveto % --------------------------- zu xWS1 gehöriger y-Wert ist xWS1 + 8 + xWS2 cm xWS2 7.8 add cm % ----------------------------------- zu xWS2 gehöriger y-Wert ist xWS1 + 7,8 lineto % closepath 0.5 setlinewidth @@ -359,42 +361,42 @@ grestore grestore grestore %-------------------------------------------------------------------------------------------------------------------------------------------------- -%------------------------- Definition f\"{u}r horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------ +%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------ /cmshow {% (string) x y gsave moveto 180 rotate % s - /Helvetica findfont 7 scalefont setfont + /NimbusRomNo9L-Regu findfont 7 scalefont setfont dup % s s stringwidth pop 2 div neg 0 % s -dx/2 rmoveto 0.2 setgray show grestore } bind def -%------------------------- Setzen der Zahlen f\"{u}r die cm-Einteilungen ----------------------------------------------------------------- +%------------------------- Setzen der Zahlen für die cm-Einteilungen ----------------------------------------------------------------- 0 1 7 { /MZ exch def MZ 2 string cvs MZ cm 0.47 cm cmshow } for %---------------- Zahlen 0 bis 7 (nach rechts) 1 1 7 { /MZ exch def MZ 2 string cvs MZ neg cm 0.47 cm cmshow } for %----------- Zahlen 1 bis 7 (nach links) 1 1 3 { /MZ exch def MZ 2 string cvs 2 cm MZ 0.1 add cm cmshow } for %---------- Zahlen 1 bis 3 (nach oben, rechte Seite) 1 1 3 { /MZ exch def MZ 2 string cvs -2 cm MZ 0.1 add cm cmshow } for %--------- Zahlen 1 bis 3 (nach oben, linke Seite) %-------------------------------------------------------------------------------------------------------------------------------------------------- -%------------------------- Definition f\"{u}r horizontal-zentriertes - Setzen der Winkel- Zahlen (mitgedreht) ---------------------- +%------------------------- Definition für horizontal-zentriertes - Setzen der Winkel- Zahlen (mitgedreht) ---------------------- /cmRotshow {% ---------------------------------- (string), Winkel, x y gsave moveto 90 add rotate % s - /Helvetica findfont 7 scalefont setfont + /NimbusRomNo9L-Regu findfont 7 scalefont setfont dup % s s stringwidth pop 2 div neg 0 % s -dx/2 rmoveto 0.2 setgray show grestore } bind def gsave -%------------------------- Setzen der Zahlen f\"{u}r die Winkel-Einteilungen ------------------------------------------------------------------------------------------------- - 10 10 170 { /MZ exch def MZ 3 string cvs MZ 5.03 cm MZ cos mul 5.03 cm MZ sin mul cmRotshow } for % ------------------ \"{a}u{\ss}erer Kreisbogen +%------------------------- Setzen der Zahlen für die Winkel-Einteilungen ------------------------------------------------------------------------------------------------- + 10 10 170 { /MZ exch def MZ 3 string cvs MZ 5.03 cm MZ cos mul 5.03 cm MZ sin mul cmRotshow } for % ------------------ äußerer Kreisbogen 10 10 170 { /MZ exch def 180 MZ sub 3 string cvs MZ 4.75 cm MZ cos mul 4.75 cm MZ sin mul cmRotshow } for % ------- innerer Kreisbogen grestore %--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- /TSshow {% (string) x y gsave moveto 180 rotate % s - \pst@PSfontO findfont \pst@fontsizeO scalefont setfont + \pst@PSfontO\space findfont \pst@fontsizeO scalefont setfont dup % s s stringwidth pop 2 div neg 0 % s -dx/2 rmoveto 0.4 setgray show @@ -407,7 +409,7 @@ grestore /MadeShow {% (string) x y gsave moveto 180 rotate % s - \pst@PSfontM findfont \pst@fontsizeM scalefont setfont + \pst@PSfontM\space findfont \pst@fontsizeM scalefont setfont dup % s s stringwidth pop 2 div neg 0 % s -dx/2 rmoveto 0.7 setgray show @@ -454,9 +456,9 @@ grestore \fi }% \pnode(! - /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als L\"{a}ngeneinheit mit der multipliziert wird - \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung ben\"{o}tigt) - \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung ben\"{o}tigt) + /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) @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P @delta #1 add 180 add rotate % ------------------------------ Drehe den oberen Punkt des Geodreiecks @@ -487,16 +489,16 @@ grestore \def\psPencil@i#1(#2){%------------------------------- #1 Winkel, #2 Ursprung P \begin@SpecialObj \pst@killglue -\begingroup% +\begingroup \pnode(#2){@PGD}% -\use@par% +\use@par \pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA -\addto@pscode{% +\addto@pscode{ /sysfill {systemdict /fill get exec} def %/Country (\pst@country) def - /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als L\"{a}ngeneinheit mit der multipliziert wird + /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird /Plength \pst@PenLength def -% \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung ben\"{o}tigt) +% \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt) \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P #1 rotate % ------------------------------ Drehe das gesamte Geodreieck \pst@PenScale dup scale % -------- Skaliere das ganze Geodreieck @@ -613,7 +615,7 @@ grestore %-------------------------------------------------------------------------------------------------------- grestore }% -\endgroup% +\endgroup \end@SpecialObj\ignorespaces }% @@ -626,7 +628,7 @@ grestore \def\psRuler@i#1(#2){\@ifnextchar(% {\psRuler@ii{#1}(#2)}% {\psRuler@ii{#1}(#2)(#2)}}% -\def\psRuler@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q f\"{u}r Winkel +\def\psRuler@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel \begin@SpecialObj \pst@killglue \begingroup% @@ -635,11 +637,11 @@ grestore \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{% +\addto@pscode{ /sysfill {systemdict /fill get exec} def - /cm {28.45274 mul} def % --------------------------------------- Definiere cm als L\"{a}ngeneinheit mit der multipliziert wird - \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung ben\"{o}tigt) - \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung ben\"{o}tigt) + /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) @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck @@ -647,7 +649,7 @@ grestore %------------------------------------------------------------------------------------------------------------- gsave %------------------------------------------------------------------------------------------------------------- -%-------------- F\"{u}llung der beiden inneren Bereiche und \"{a}u{\ss}ere Begrenzung des Lineals ----------------------------------------------- +%-------------- Füllung der beiden inneren Bereiche und äußere Begrenzung des Lineals ----------------------------------------------- gsave newpath -0.2 cm 0 moveto @@ -731,17 +733,17 @@ gsave 31 {cmBlinie} repeat grestore %-------------------------------------------------------------------------------------------------------------------------------------------------- -%------------------------- Definition f\"{u}r horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------ +%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------ /cmshow {% (string) x y gsave moveto % s - /Helvetica findfont 8 scalefont setfont + /NimbusRomNo9L-Regu findfont 8 scalefont setfont dup % s s stringwidth pop 2 div neg 0 % s -dx/2 rmoveto 0.2 setgray show grestore } bind def -%------------------------- Setzen der Zahlen f\"{u}r die cm-Einteilungen ----------------------------------------------------------------- +%------------------------- Setzen der Zahlen für die cm-Einteilungen ----------------------------------------------------------------- 0 1 30 { /MZ exch def MZ 2 string cvs MZ cm -0.78 cm cmshow } for %---------------- Zahlen 0 bis 30 (nach rechts) %------------------------------------------------------------------------------------------------------------- %-------------------------------------------------------------------------------------------------------------------------------------------------- @@ -768,7 +770,7 @@ grestore \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\"{u}r Winkel +\def\psCompass@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel \begin@SpecialObj \pst@killglue \begingroup% @@ -784,9 +786,9 @@ grestore 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\"{a}ngeneinheit mit der multipliziert wird - \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung ben\"{o}tigt) - \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung ben\"{o}tigt) + /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 |