texlive[49386] Master/texmf-dist: pst-eucl (11dec18)

commits+karl at tug.org commits+karl at tug.org
Tue Dec 11 23:20:35 CET 2018


Revision: 49386
          http://tug.org/svn/texlive?view=revision&revision=49386
Author:   karl
Date:     2018-12-11 23:20:35 +0100 (Tue, 11 Dec 2018)
Log Message:
-----------
pst-eucl (11dec18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/pst-eucl/Changes
    trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
    trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
    trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex

Modified: trunk/Master/texmf-dist/doc/generic/pst-eucl/Changes
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-eucl/Changes	2018-12-11 22:20:19 UTC (rev 49385)
+++ trunk/Master/texmf-dist/doc/generic/pst-eucl/Changes	2018-12-11 22:20:35 UTC (rev 49386)
@@ -5,6 +5,7 @@
 
 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

Modified: trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex	2018-12-11 22:20:19 UTC (rev 49385)
+++ trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex	2018-12-11 22:20:35 UTC (rev 49386)
@@ -297,13 +297,16 @@
 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,10 +331,15 @@
 \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}
 
 Each angle is defined with three points. The vertex is the second

Modified: trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex	2018-12-11 22:20:19 UTC (rev 49385)
+++ trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex	2018-12-11 22:20:35 UTC (rev 49386)
@@ -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 at key[psset]{pst-eucl}{PointNameSep}{\edef\psk at PointNameSep{#1}}%
 % position angle for positionning a point name
 \define at key[psset]{pst-eucl}{PosAngle}{\edef\psk at PosAngle{#1}}%
-\define at key[psset]{pst-eucl}{PosAngleA}[undef]{\edef\psk at PosAngleA{#1}}%
-\define at key[psset]{pst-eucl}{PosAngleB}[undef]{\edef\psk at PosAngleB{#1}}%
-\define at key[psset]{pst-eucl}{PosAngleC}[undef]{\edef\psk at PosAngleC{#1}}%
+\iffalse
+\define at key[psset]{pst-eucl}{PosAngle}{\expandafter\psk@@Pos at Angle#1,,!}%
+\def\psk@@Pos at Angle#1,#2,#3#4#5!{%
+  \typeout{1: #1; 2: #2; 3: #3; 4: #4; 5: #5}%
+  \def\psk at PosAngle{#1}%
+  \def\@temp{#1}%
+  \ifx\@temp\@undef \typeout{Nichts machen}\else\typeout{Winkel setzen}%
+    \ifx\relax#1\relax \def\psk at PosAngle{undef}\else\def\psk at PosAngleA{#1}\fi
+    \ifx\relax#2\relax \else\def\psk at PosAngleB{#2}\fi
+    \ifx\relax#3\relax \else\def\psk at PosAngleC{#3}\fi
+  \fi
+}
+\fi
+\define at key[psset]{pst-eucl}{PosAngleA}[undef]{\def\psk at PosAngleA{#1}}%
+\define at key[psset]{pst-eucl}{PosAngleB}[undef]{\def\psk at PosAngleB{#1}}%
+\define at key[psset]{pst-eucl}{PosAngleC}[undef]{\def\psk at PosAngleC{#1}}%
 % dimension of the right angle mark
 \define at key[psset]{pst-eucl}{RightAngleSize}[4]{\edef\psk at RightAngleSize{#1}}%
 \define at key[psset]{pst-eucl}{RightAngleType}[default]{\edef\psk at 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 at Trianglei{\Pst at Trianglei(0,0)}}%
 \def\Pst at Trianglei(#1)#2(#3)#4(#5)#6{%
   %\pst at killglue% <------------------------------------------------- hv - DR 050315
-  \bgroup\pst at killglue% <------------------------------------------- DR 050315
+  \bgroup
+  \pst at killglue% <------------------------------------------- DR 050315
   %%begin modif alaindelplanque 11/2003
   \pst@@getcoor{#1}\xdef\@@coordi{\pst at coor}%%   A<------------------ hv
   \pst@@getcoor{#3}\xdef\@@coordiii{\pst at coor}%% B<------------------ hv
@@ -463,7 +478,8 @@
   %\bgroup\use at par%            % Affectation of local parameters<---- DR 050315
   \use at par%                    % Affectation of local parameters<---- DR 050315
   %%begin modif alaindelplanque 11/2003
-  \bgroup\ifx\psk at PosAngleA\@undef
+  \bgroup
+  \ifx\psk at PosAngleA\@undef
     \psset{PosAngleA={!
       /AngleAB \@@coordi\space\@@coordiii\space tx at EcldDict begin ABVect end exch Atan def
       /AngleAC \@@coordi\space\@@coordv\space tx at EcldDict begin ABVect end exch Atan def
@@ -471,7 +487,9 @@
       1 exch \tx at 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 at PosAngleA}\fi
+  \else
+    \psset{PosAngle=\psk at PosAngleA}
+  \fi
   %%end modif alaindelplanque 11/2003
   \ifx\psk at PosAngleA\@undef\else\psset{PosAngle=\psk at PosAngleA}\fi
   \let\psk at PointSymbol=\psk at PointSymbolA
@@ -478,7 +496,8 @@
   \ifx\psk at PointNameA\@undef\else\psset{PointName=\psk at PointNameA}\fi
   \Pst at Geonode@i[](#1){#2}\egroup%%NEW DR 15112001
   %%begin modif alaindelplanque 11/2003
-  \bgroup\ifx\psk at PosAngleB\@undef
+  \bgroup
+  \ifx\psk at PosAngleB\@undef
     \psset{PosAngleB={!
       /AngleBC \@@coordiii\space\@@coordv\space tx at EcldDict begin ABVect end exch Atan def
       /AngleBA \@@coordiii\space\@@coordi\space tx at EcldDict begin ABVect end exch Atan def
@@ -485,7 +504,9 @@
       AngleBA AngleBC add 2 div dup 1 exch \tx at 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 at PosAngleB}\fi
+  \else
+    \psset{PosAngle=\psk at PosAngleB}
+  \fi
   %%end modif alaindelplanque 11/2003
   \ifx\psk at PosAngleB\@undef\else\psset{PosAngle=\psk at PosAngleB}\fi
   \let\PointSymbol=\psk at PointSymbolB
@@ -1528,6 +1549,31 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %% Special macros for parameters
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\pstTriangleIC{\pst at object{pstTriangleIC}}%  inner circle of a triangle
+\def\pstTriangleIC at 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 at par
+  \pstCircleOA{IC_O}{IC_OAB}
+  \endgroup
+}
+%
+\def\pstTriangleOC{\pst at object{pstTriangleOC}}%  inner circle of a triangle
+\def\pstTriangleOC at i#1#2#3{%
+  \begingroup
+  \addbefore at par{PointSymbol=none,PointName=none}
+  \use at par
+  \pstCircleABC{#1}{#2}{#3}{OC_O}
+  \endgroup
+}
+%
 %% Distance between two points
 \def\pstDistAB#1#2{%
   tx at EcldDict begin /N@#1 GetNode /N@#2 GetNode ABDist end



More information about the tex-live-commits mailing list