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