texlive[49836] Master/texmf-dist: pst-eucl (27jan19)
commits+karl at tug.org
commits+karl at tug.org
Sun Jan 27 23:47:48 CET 2019
Revision: 49836
http://tug.org/svn/texlive?view=revision&revision=49836
Author: karl
Date: 2019-01-27 23:47:47 +0100 (Sun, 27 Jan 2019)
Log Message:
-----------
pst-eucl (27jan19)
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 2019-01-27 22:47:32 UTC (rev 49835)
+++ trunk/Master/texmf-dist/doc/generic/pst-eucl/Changes 2019-01-27 22:47:47 UTC (rev 49836)
@@ -5,6 +5,8 @@
pst-eucl.tex --------
+1.63 2019/01/27 - fix for PointSymbol=none for pstTriangle
+1.62 2019/01/13 - added fillstyle for angles
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 use algebraic
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 2019-01-27 22:47:32 UTC (rev 49835)
+++ trunk/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex 2019-01-27 22:47:47 UTC (rev 49836)
@@ -398,12 +398,13 @@
\psset{PointName=none}
\pstTriangle[PointNameA=default](2;-130){B'}(2;15){A'}(2;195){C'}
\pstTriangle[PointNameA=default](2;-55){B''}(2;15){A''}(2;195){C''}
-\pstRightAngle[linecolor=red]{C}{B}{A}
+\pstRightAngle[linecolor=red,fillstyle=solid,fillcolor=blue]{C}{B}{A}
\pstRightAngle[linecolor=blue, RightAngleType=suisseromand]{A}{B'}{C}
\pstRightAngle[linecolor=magenta, RightAngleType=german]{A}{B''}{C}
\psset{arcsep=\pslinewidth}
\pstMarkAngle[linecolor=cyan, Mark=MarkHash]{A}{C}{B}{$\theta$}
-\pstMarkAngle[linecolor=red, arrows=->]{B}{A}{C}{$\gamma$}
+\pstMarkAngle[linecolor=red, arrows=->,fillcolor=red!30,
+ fillstyle=solid]{B}{A}{C}{$\gamma$}
\end{pspicture}
\end{LTXexample}
@@ -412,21 +413,20 @@
\begin{pspicture}(-0.5,-0.5)(9,3)
\psset{PointSymbol=none,PointNameMathSize=\scriptstyle,PointNameSep=6pt,
RightAngleSize=0.15,PosAngle={135,225,-45,45}}
-\psaxes[ticks=none,labels=none] {->}(0,0)(9,3)
\pstGeonode(1,2){A}(1,1){B}(2,1){C}(2,2){D}%
-\pstRightAngle{C}{B}{A} \pstRightAngle{D}{C}{B}
-\pstRightAngle{A}{D}{C} \pstRightAngle{B}{A}{D}
-\pspolygon(A)(B)(C)(D)
+\pstRightAngle[fillstyle=solid,fillcolor=blue!40]{C}{B}{A}
+\pstRightAngle{D}{C}{B} \pstRightAngle{A}{D}{C}
+\pstRightAngle{B}{A}{D} \pspolygon(A)(B)(C)(D)
\psset{RightAngleType=suisseromand}
\pstGeonode(3,2){A}(3,1){B}(4,1){C}(4,2){D}%
-\pstRightAngle{C}{B}{A} \pstRightAngle{D}{C}{B}
-\pstRightAngle{A}{D}{C} \pstRightAngle{B}{A}{D}
-\pspolygon(A)(B)(C)(D)
+\pstRightAngle[fillstyle=solid,fillcolor=blue!40]{C}{B}{A}
+\pstRightAngle{D}{C}{B} \pstRightAngle{A}{D}{C}
+\pstRightAngle{B}{A}{D} \pspolygon(A)(B)(C)(D)
\psset{RightAngleType=german}
\pstGeonode(5,2){A}(5,1){B}(6,1){C}(6,2){D}%
-\pstRightAngle{C}{B}{A} \pstRightAngle{D}{C}{B}
-\pstRightAngle{A}{D}{C} \pstRightAngle{B}{A}{D}
-\pspolygon(A)(B)(C)(D)
+\pstRightAngle[fillstyle=solid,fillcolor=blue!40]{C}{B}{A}
+\pstRightAngle{D}{C}{B} \pstRightAngle{A}{D}{C}
+\pstRightAngle{B}{A}{D} \pspolygon(A)(B)(C)(D)
\end{pspicture}
\end{LTXexample}
Modified: trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex 2019-01-27 22:47:32 UTC (rev 49835)
+++ trunk/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex 2019-01-27 22:47:47 UTC (rev 49836)
@@ -19,17 +19,10 @@
\csname PSTEuclideLoaded\endcsname
\let\PSTEuclideLoaded\endinput
%
-\def\fileversion{1.61}
-\def\filedate{2018/12/11}
+\def\fileversion{1.63}
+\def\filedate{2019/01/27}
%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt.
-%%
\message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}%
-\message{ This version uses the pst-xkey package for managing parameters}%
-\message{ Please read the doc, some macros have a new syntax}%
-\message{ use option old for upward compatibility}%
%% prologue for postcript
\pstheader{pst-eucl.pro}%
\edef\PstAtCode{\the\catcode`\@}%
@@ -38,16 +31,21 @@
% Definition of the parameters
% ----------------------------
% symbol used for the point
-\define at key[psset]{pst-eucl}{PointSymbol}[*]{\def\psk at PointSymbol{#1}}%
-\define at key[psset]{pst-eucl}{PointSymbolA}[*]{\edef\psk at PointSymbolA{#1}}%
-\define at key[psset]{pst-eucl}{PointSymbolB}[*]{\edef\psk at PointSymbolB{#1}}%
-\define at key[psset]{pst-eucl}{PointSymbolC}[*]{\edef\psk at PointSymbolC{#1}}%
+\define at key[psset]{pst-eucl}{PointSymbol}[*]{%
+ \def\psk at PointSymbol{#1}%
+ \def\psk at PointSymbolA{#1}%
+ \def\psk at PointSymbolB{#1}%
+ \def\psk at PointSymbolC{#1}%
+}%
+\define at key[psset]{pst-eucl}{PointSymbolA}[*]{\def\psk at PointSymbolA{#1}}%
+\define at key[psset]{pst-eucl}{PointSymbolB}[*]{\def\psk at PointSymbolB{#1}}%
+\define at key[psset]{pst-eucl}{PointSymbolC}[*]{\def\psk at PointSymbolC{#1}}%
% name used for the point
\define at key[psset]{pst-eucl}{PointName}[default]{\def\psk at PointName{#1}}%
-\define at key[psset]{pst-eucl}{PointNameA}[undef]{\edef\psk at PointNameA{#1}}%
-\define at key[psset]{pst-eucl}{PointNameB}[undef]{\edef\psk at PointNameB{#1}}%
-\define at key[psset]{pst-eucl}{PointNameC}[undef]{\edef\psk at PointNameC{#1}}%
+\define at key[psset]{pst-eucl}{PointNameA}[undef]{\def\psk at PointNameA{#1}}%
+\define at key[psset]{pst-eucl}{PointNameB}[undef]{\def\psk at PointNameB{#1}}%
+\define at key[psset]{pst-eucl}{PointNameC}[undef]{\def\psk at PointNameC{#1}}%
% use math mode in point name
\newif\ifPst at PtNameMath%
\define at key[psset]{pst-eucl}{PtNameMath}[false]{\@nameuse{Pst at PtNameMath#1}}%
@@ -149,7 +147,7 @@
% --------------
\def\resetEUCLvalues{%
\psset[pst-eucl]{%
- PointSymbol=*, PointSymbolA=*, PointSymbolB=*, PointSymbolC=*,
+ PointSymbol=*, %PointSymbolA=*, PointSymbolB=*, PointSymbolC=*,
PointName=default, PointNameA=undef, PointNameB=undef, PointNameC=undef,
PtNameMath=true, PointNameMathSize=\textstyle, PointNameSize=\normalsize,
PointNameSep=default, PosAngle=undef,
@@ -182,10 +180,10 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% create a curve after a points list
\def\pst at MngTransformCurve{%DR 25032005
- \ifx\psk at CurveType\@none\else%
- \ifx\psk at CurveType\@polygon\expandafter\pspolygon\@@GenCourbe\else%
- \ifx\psk at CurveType\@polyline\expandafter\psline\@@GenCourbe\else%
- \ifx\psk at CurveType\@curve\expandafter\pscurve\@@GenCourbe%
+ \ifx\psk at CurveType\@none\else
+ \ifx\psk at CurveType\@polygon\expandafter\pspolygon\@@GenCourbe\else
+ \ifx\psk at CurveType\@polyline\expandafter\psline\@@GenCourbe\else
+ \ifx\psk at CurveType\@curve\expandafter\pscurve\@@GenCourbe
\fi\fi\fi\fi}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% macros for managing a list of parameters
@@ -200,12 +198,13 @@
%% end DR 2005/04/10
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\@InitListMng{%
- \def\LastValidPN{default}\def\LastValidPNS{default}\def\LastValidPA{undef}\def\LastValidPS{default}}
-%%begin modif alaindelplanque 11/2003 (VALID)
+ \def\LastValidPN{default}\def\LastValidPNS{default}\def\LastValidPA{undef}\def\LastValidPS{undef}}
%% car(liste) -- param1,param2,... -> param1
\def\PstParamListFirst#1,#2/{#1}
%% cdr(liste) -- param1,param2,... -> param2,...
+
\def\PstParamListLasts#1,#2/{#2}
+
\def\Pst at ManageParamList#1{%DR 02092004 #1->point node name
\edef\OldPointName{\psk at PointName}%
\edef\psk at PointName{\expandafter\PstParamListFirst\OldPointName,undef/}%
@@ -232,16 +231,17 @@
\def\pstGeonode{\@ifnextchar[\Pst at Geonode{\Pst at Geonode[]}}
\def\Pst at Geonode[#1]{\@ifnextchar({\Pst at Geonode@i[#1]}{\Pst at Geonode@i[#1](0,0)}}
\def\Pst at Geonode@i[#1]{%
- \begingroup%
+ \begingroup
\@InitListMng% DR 22032005
- \edef\@@GenCourbe{}%%for accumulating points% DR 22032005
- \psset{#1}\Pst at Geonode@ii}
+ \xdef\@@GenCourbe{}%%for accumulating points% DR 22032005
+ \psset{#1}%
+ \Pst at Geonode@ii}
\def\Pst at Geonode@ii(#1)#2{%
\pnode(#1){#2}
\xdef\@@GenCourbe{\@@GenCourbe(#2)}%%for accumulating points% DR 22032005
\Pst at ManageParamList{#2}%
\@ifnextchar(\Pst at Geonode@ii{\pst at MngTransformCurve\endgroup}}% DR 22032005
-%%end modif alaindelplanque 11/2003 (VALID)
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% create a point with an associated node, in a new
%% landmark
@@ -392,22 +392,37 @@
\def\pstRightAngle{\pst at object{pstRightAngle}}
\def\pstRightAngle at i#1#2#3{%
\begingroup
- \addbefore at par{dotscale=1}%linestyle=solid,linecolor=black,linewidth=\pslinewidth}
+ \addbefore at par{dimen=inner,dotscale=1}%linestyle=solid,linecolor=black,linewidth=\pslinewidth}
\use at par% % Affectation of local parameters
%% not good at all, but \rput{0}(#3){\rput{(#2)}{stuff}} doesn't work...
\rput(#2){%
- \ifx\psk at RightAngleType\@default%
- \psline(!tx at EcldDict begin /N@#1 GetNode exch Atan
- \psk at RightAngleSize\space exch PtoC end)%
+ \ifx\psk at RightAngleType\@default
+ \ifx\psk at fillstylename\@none\else
+ \pspolygon[linestyle=none,dimen=inner](0,0)(!tx at EcldDict begin /N@#1 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
+ (!tx at EcldDict begin /N@#1 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
(!tx at EcldDict begin /N@#1 GetNode exch Atan /AngleNo1 ED
tx at EcldDict begin /N@#3 GetNode exch Atan /AngleNo3 ED
AngleNo1 AngleNo3 sub abs 180 gt { /Diff -45 def }{ /Diff 45 def } ifelse
AngleNo1 AngleNo3 gt { AngleNo1 Diff sub }{ AngleNo3 Diff sub } ifelse
\psk at RightAngleSize\space 2 sqrt mul exch PtoC end)%
- (!tx at EcldDict begin /N@#3 GetNode exch Atan
- \psk at RightAngleSize\space exch PtoC end)%
+ (!tx at EcldDict begin /N@#3 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
+ \fi
+ \psline[fillstyle=none](!tx at EcldDict begin /N@#1 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
+ (!tx at EcldDict begin /N@#1 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
+ (!tx at EcldDict begin /N@#1 GetNode exch Atan /AngleNo1 ED
+ tx at EcldDict begin /N@#3 GetNode exch Atan /AngleNo3 ED
+ AngleNo1 AngleNo3 sub abs 180 gt { /Diff -45 def }{ /Diff 45 def } ifelse
+ AngleNo1 AngleNo3 gt { AngleNo1 Diff sub }{ AngleNo3 Diff sub } ifelse
+ \psk at RightAngleSize\space 2 sqrt mul exch PtoC end)%
+ (!tx at EcldDict begin /N@#3 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end)%
\else
\ifx\psk at RightAngleType\@german
+% \ifx\psk at fillstylename\@none\else
+% \pscustom[linestyle=none,dimen=inner]{\psline(0,0)
+% \pstMarkAngle[MarkAngleRadius=\psk at RightAngleSize,LabelSep=\psk at RightAngleSize\space .5 mul]{#1}{#2}{#3}{}%
+% \psline(0,0)
+% }
+% \fi
\pstMarkAngle[MarkAngleRadius=\psk at RightAngleSize,LabelSep=\psk at RightAngleSize\space .5 mul]{#1}{#2}{#3}%
{\psscalebox{\psk at RightAngleSize}{\pscircle*{!.08 \psk at xdotscale\space mul}}}%
\else
@@ -416,7 +431,6 @@
(!tx at EcldDict begin /N@#3 GetNode exch Atan /N@#1 GetNode exch Atan
2 copy lt { exch 360 sub exch } if add 2 div .45 \psk at RightAngleSize\space mul exch PtoC end)%
{\psscalebox{\psk at RightAngleSize}{\pscircle*{.08}}}%
-% \pspolygon(0,0)%
\psline(0,0)%
(!tx at EcldDict begin /N@#3 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end )%
(!tx at EcldDict begin /N@#1 GetNode exch Atan \psk at RightAngleSize\space exch PtoC end )%
@@ -437,7 +451,14 @@
\psset{%MarkAngle=0,
#1}%
\rput(#3){%
- \psarc(0,0){\psk at MarkAngleRadius}{(#2)}{(#4)}%
+ \ifx\psk at fillstylename\@none\else
+ \pscustom[linestyle=none,linewidth=0.01pt,arrows=-]{%
+ \psline(0,0)
+ \psarc(0,0){\psk at MarkAngleRadius}{(#2)}{(#4)}
+ \psline(0,0)
+ }
+ \fi
+ \psarc[fillstyle=none](0,0){\psk at MarkAngleRadius}{(#2)}{(#4)}%
\rput[\psk at LabelRefPt]{*0}(! tx at EcldDict begin
/N@#4 GetNode exch Atan /N@#2 GetNode exch Atan end
2 copy lt { exch 360 sub exch } if
@@ -459,27 +480,21 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% #2 #4 #6 -> coordinates for nodes
%% #3 #5 #7 -> nodes name
-\def\pstTriangle{\@ifnextchar[\Pst at Triangle{\Pst at Triangle[]}}%
-\def\Pst at Triangle[#1]{%NEW DR 14112001 (for default (0,0) coordinates)
- \def\pst at par{#1}%
- \@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
+\def\pstTriangle{\pst at object{pstTriangle}}%
+\def\pstTriangle at i{\@ifnextchar(\pstTriangle at ii{\pstTriangle at ii(0,0)}}%
+\def\pstTriangle at ii(#1)#2(#3)#4(#5)#6{%
+ \pst at killglue
%%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
- \pst@@getcoor{#5}\xdef\@@coordv{\pst at coor}%% C<- ---------------- hv
+ \pst at getcoor{#1}\@@coordi
+ \pst at getcoor{#3}\@@coordiii
+ \pst at getcoor{#5}\@@coordv
\pstVerb{
\@@coordi\space\@@coordiii\space exch 4 1 roll \@@coordv\space exch 6 1 roll % x x x y y y
add add 3 div /YS exch def add add 3 div /XS exch def
- }
- %%end modif alaindelplanque 11/2003
- %\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
+ \use at keep@par
+ \bgroup
\ifx\psk at PosAngleA\@undef
\psset{PosAngleA={!
/AngleAB \@@coordi\space\@@coordiii\space tx at EcldDict begin ABVect end exch Atan def
@@ -491,13 +506,13 @@
\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
\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
+ \Pst at Geonode@i[](#1){#2}
+ \egroup
\bgroup
+ \use at keep@par
\ifx\psk at PosAngleB\@undef
\psset{PosAngleB={!
/AngleBC \@@coordiii\space\@@coordv\space tx at EcldDict begin ABVect end exch Atan def
@@ -508,12 +523,11 @@
\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
+ \let\psk at PointSymbol=\psk at PointSymbolB
\ifx\psk at PointNameB\@undef\else\psset{PointName=\psk at PointNameB}\fi
- \Pst at Geonode@i[](#3){#4}\egroup%%NEW DR 15112001
- %%begin modif alaindelplanque 11/2003
+ \Pst at Geonode@i[](#3){#4}%
+ \egroup
\ifx\psk at PosAngleC\@undef
\psset{PosAngleC={!
/AngleCB \@@coordv\space\@@coordiii\space tx at EcldDict begin ABVect end exch Atan def
@@ -521,15 +535,17 @@
AngleCB AngleCA add 2 div dup 1 exch \tx at PtoC exch \@@coordv\space 4 1 roll add 3 1 roll add XS YS Pyth2
\@@coordv\space XS YS Pyth2 le { 180 add } if
}}%% <------ hv
- \else\psset{PosAngle=\psk at PosAngleC}\fi%% <----------------------- hv
- %%end modif alaindelplanque 11/2003
+ \else
+ \psset{PosAngle=\psk at PosAngleC}
+ \fi
\ifx\psk at PosAngleC\@undef\else\psset{PosAngle=\psk at PosAngleC}\fi
- \let\PointSymbol=\psk at PointSymbolC
+ \let\psk at PointSymbol=\psk at PointSymbolC
\ifx\psk at PointNameC\@undef\else\psset{PointName=\psk at PointNameC}\fi
\Pst at Geonode@i[](#5){#6}%%NEW DR 15112001
\pst at TraceTriangle{#2}{#4}{#6}%
- \egroup%
+ \egroup
}%
+%
\def\pst at TraceTriangle#1#2#3{\pspolygon(#1)(#2)(#3)}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Line, circle, Arc
More information about the tex-live-commits
mailing list