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 | |
parent | fcb05e5badc5ccfca4b1539572f63e487ed4fce5 (diff) |
pst-eucl (11dec18)
git-svn-id: svn://tug.org/texlive/trunk@49386 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-eucl/Changes | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf | bin | 541233 -> 543582 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex | 68 |
4 files changed, 68 insertions, 13 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Changes b/Master/texmf-dist/doc/generic/pst-eucl/Changes index 1eb86cf496f..a8b453161a3 100644 --- a/Master/texmf-dist/doc/generic/pst-eucl/Changes +++ b/Master/texmf-dist/doc/generic/pst-eucl/Changes @@ -5,6 +5,7 @@ pst-eucl.pro -------- pst-eucl.tex -------- +1.61 2018/12/11 - added macros for inner and outer circle of a triangle 1.60a 2018/12/08 - fix for typos in the documentation 1.60 2018/10/06 - added \pstDistCalc, which usee algebraic notation for the argument diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf Binary files differindex 0c700a7edc2..5d57db0728a 100644 --- a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex index d4405c9af98..120d6630d03 100644 --- a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex @@ -297,13 +297,16 @@ The length and the separation of multiple hases can be set by \Lkeyword{MarkHash The more classical figure, it has its own macro for a quick definition: \begin{BDef} -\Lcs{pstTriangle}\OptArgs\coord1\Largb{A}\coord2\Largb{B}\coord3\Largb{C} +\Lcs{pstTriangle}\OptArgs\coord1\Largb{A}\coord2\Largb{B}\coord3\Largb{C}\\ +\Lcs{pstTriangleIC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\\ +\Lcs{pstTriangleOC}\OptArgs\Largb{A}\Largb{B}\Largb{C} \end{BDef} \begin{sloppypar} Valid optional arguments are \Lkeyword{PointName}, - \Lkeyword{PointNameSep}, \Lkeyword{PosAngle}, \Lkeyword{PointSymbol}, \Lkeyword{PointNameA}, + \Lkeyword{PointNameSep}, %\Lkeyword{PosAngle}, + \Lkeyword{PointSymbol}, \Lkeyword{PointNameA}, \Lkeyword{PosAngleA}, \Lkeyword{PointSymbolA}, \Lkeyword{PointNameB}, \Lkeyword{PosAngleB}, \Lkeyword{PointSymbolB}, \Lkeyword{PointNameC}, \Lkeyword{PosAngleC}, and \Lkeyword{PointSymbolC}. @@ -328,9 +331,14 @@ same rule. \pstTriangle[PointSymbol=square,PointSymbolC=o, linecolor=blue,linewidth=1.5\pslinewidth] (1.5,-1){A}(0,1){B}(-1,-.5){C} +\pstTriangleIC[linecolor=red]{A}{B}{C} +\pstTriangleOC[linecolor=red]{A}{B}{C} \end{pspicture} \end{LTXexample} +The center of the inner circle is called \verb|IC_O| and the outer circle \verb|OC_O|. They are +only defined, if the macros \Lcs{pstTriangleIC} and \Lcs{pstTriangleOC} are used. + \subsection{Angles} 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 |