diff options
author | Karl Berry <karl@freefriends.org> | 2018-12-11 22:20:35 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-12-11 22:20:35 +0000 |
commit | 61964850e31f2ce6c97f6115fc73bec3ead475e2 (patch) | |
tree | d7a5559fb98e3188dfab2529e5f019b5b936ce3b /Master/texmf-dist/tex/generic | |
parent | fcb05e5badc5ccfca4b1539572f63e487ed4fce5 (diff) |
pst-eucl (11dec18)
git-svn-id: svn://tug.org/texlive/trunk@49386 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex | 68 |
1 files changed, 57 insertions, 11 deletions
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 afb5ca1b25d..a2039c87dbb 100644 --- a/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex +++ b/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex @@ -19,8 +19,8 @@ \csname PSTEuclideLoaded\endcsname \let\PSTEuclideLoaded\endinput % -\def\fileversion{1.60a} -\def\filedate{2018/12/09} +\def\fileversion{1.61} +\def\filedate{2018/12/11} %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN @@ -71,9 +71,22 @@ \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}[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}}% +\iffalse +\define@key[psset]{pst-eucl}{PosAngle}{\expandafter\psk@@Pos@Angle#1,,!}% +\def\psk@@Pos@Angle#1,#2,#3#4#5!{% + \typeout{1: #1; 2: #2; 3: #3; 4: #4; 5: #5}% + \def\psk@PosAngle{#1}% + \def\@temp{#1}% + \ifx\@temp\@undef \typeout{Nichts machen}\else\typeout{Winkel setzen}% + \ifx\relax#1\relax \def\psk@PosAngle{undef}\else\def\psk@PosAngleA{#1}\fi + \ifx\relax#2\relax \else\def\psk@PosAngleB{#2}\fi + \ifx\relax#3\relax \else\def\psk@PosAngleC{#3}\fi + \fi +} +\fi +\define@key[psset]{pst-eucl}{PosAngleA}[undef]{\def\psk@PosAngleA{#1}}% +\define@key[psset]{pst-eucl}{PosAngleB}[undef]{\def\psk@PosAngleB{#1}}% +\define@key[psset]{pst-eucl}{PosAngleC}[undef]{\def\psk@PosAngleC{#1}}% % dimension of the right angle mark \define@key[psset]{pst-eucl}{RightAngleSize}[4]{\edef\psk@RightAngleSize{#1}}% \define@key[psset]{pst-eucl}{RightAngleType}[default]{\edef\psk@RightAngleType{#1}}% @@ -139,7 +152,8 @@ PointSymbol=*, PointSymbolA=*, PointSymbolB=*, PointSymbolC=*, PointName=default, PointNameA=undef, PointNameB=undef, PointNameC=undef, PtNameMath=true, PointNameMathSize=\textstyle, PointNameSize=\normalsize, - PointNameSep=default, PosAngle=undef, PosAngleA=undef, + PointNameSep=default, PosAngle=undef, + PosAngleA=undef, PosAngleB=undef, PosAngleC=undef, Mark=undef, mark=undef,SegmentSymbol=MarkHashh, SegmentSymbolA=MarkHashh, SegmentSymbolB=MarkHash, SegmentSymbolC=MarkHashhh, RightAngleSize=.4, RightAngleType=default, LabelAngleOffset=0, LabelSep=1, @@ -450,7 +464,8 @@ \@ifnextchar(\Pst@Trianglei{\Pst@Trianglei(0,0)}}% \def\Pst@Trianglei(#1)#2(#3)#4(#5)#6{% %\pst@killglue% <------------------------------------------------- hv - DR 050315 - \bgroup\pst@killglue% <------------------------------------------- DR 050315 + \bgroup + \pst@killglue% <------------------------------------------- DR 050315 %%begin modif alaindelplanque 11/2003 \pst@@getcoor{#1}\xdef\@@coordi{\pst@coor}%% A<------------------ hv \pst@@getcoor{#3}\xdef\@@coordiii{\pst@coor}%% B<------------------ hv @@ -463,7 +478,8 @@ %\bgroup\use@par% % Affectation of local parameters<---- DR 050315 \use@par% % Affectation of local parameters<---- DR 050315 %%begin modif alaindelplanque 11/2003 - \bgroup\ifx\psk@PosAngleA\@undef + \bgroup + \ifx\psk@PosAngleA\@undef \psset{PosAngleA={! /AngleAB \@@coordi\space\@@coordiii\space tx@EcldDict begin ABVect end exch Atan def /AngleAC \@@coordi\space\@@coordv\space tx@EcldDict begin ABVect end exch Atan def @@ -471,21 +487,26 @@ 1 exch \tx@PtoC exch \@@coordi\space 4 1 roll add 3 1 roll add XS YS Pyth2 % test if inside/outside \@@coordi\space XS YS Pyth2 le { 180 add } if }}%% <------ hv - \else\psset{PosAngle=\psk@PosAngleA}\fi + \else + \psset{PosAngle=\psk@PosAngleA} + \fi %%end modif alaindelplanque 11/2003 \ifx\psk@PosAngleA\@undef\else\psset{PosAngle=\psk@PosAngleA}\fi \let\psk@PointSymbol=\psk@PointSymbolA \ifx\psk@PointNameA\@undef\else\psset{PointName=\psk@PointNameA}\fi \Pst@Geonode@i[](#1){#2}\egroup%%NEW DR 15112001 %%begin modif alaindelplanque 11/2003 - \bgroup\ifx\psk@PosAngleB\@undef + \bgroup + \ifx\psk@PosAngleB\@undef \psset{PosAngleB={! /AngleBC \@@coordiii\space\@@coordv\space tx@EcldDict begin ABVect end exch Atan def /AngleBA \@@coordiii\space\@@coordi\space tx@EcldDict begin ABVect end exch Atan def AngleBA AngleBC add 2 div dup 1 exch \tx@PtoC exch \@@coordiii\space 4 1 roll add 3 1 roll add XS YS Pyth2 \@@coordiii\space XS YS Pyth2 le { 180 add } if }}%% <------ hv - \else\psset{PosAngle=\psk@PosAngleB}\fi + \else + \psset{PosAngle=\psk@PosAngleB} + \fi %%end modif alaindelplanque 11/2003 \ifx\psk@PosAngleB\@undef\else\psset{PosAngle=\psk@PosAngleB}\fi \let\PointSymbol=\psk@PointSymbolB @@ -1528,6 +1549,31 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Special macros for parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\pstTriangleIC{\pst@object{pstTriangleIC}}% inner circle of a triangle +\def\pstTriangleIC@i#1#2#3{% + \begingroup + \psset{PointSymbol=none,PointName=none,linestyle=none,CodeFig=false} + \pstBissectBAC{#3}{#1}{#2}{IC_BC} + \pstBissectBAC{#2}{#3}{#1}{IC_AB} + \pstInterLL{#3}{IC_AB}{#1}{IC_BC}{IC_O} + \pstProjection{#1}{#2}{IC_O}[IC_OAB] + \endgroup + \begingroup + \use@par + \pstCircleOA{IC_O}{IC_OAB} + \endgroup +} +% +\def\pstTriangleOC{\pst@object{pstTriangleOC}}% inner circle of a triangle +\def\pstTriangleOC@i#1#2#3{% + \begingroup + \addbefore@par{PointSymbol=none,PointName=none} + \use@par + \pstCircleABC{#1}{#2}{#3}{OC_O} + \endgroup +} +% %% Distance between two points \def\pstDistAB#1#2{% tx@EcldDict begin /N@#1 GetNode /N@#2 GetNode ABDist end |