diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-eucl')
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex | 95 |
1 files changed, 58 insertions, 37 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 b615f5203a7..f737a4fc660 100644 --- a/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex +++ b/Master/texmf-dist/tex/generic/pst-eucl/pst-eucl.tex @@ -44,9 +44,21 @@ %% management directly within the first point argument %% Plotting of a curve linking a list of points %% +%% 2005-10-09 : problem solved with CodeFigAB +%% +%% 2005-12-31 : use \psscalbox instead of \scalebox (hv) +%% +%% 2006-01-29 : minor changes for file version (hv) +%% +%% 2006-01-30 : correction of pstArcOAB for pscustom (dr) +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\fileversion{1.3.2} -\def\filedate{2005/05/14}% +% Require PSTricks and pst-node packages +\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi +\ifx\MultidoLoaded\endinput\else\input multido.tex\fi +\def\fileversion{1.3.5} +\def\filedate{2006/01/30}% %% 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. @@ -56,10 +68,6 @@ \message{ use option old for upward compatibility}% \csname PSTEuclideLoaded\endcsname \let\PSTEuclideLoaded\endinput -% Require PSTricks and pst-node packages -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi -\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi -\ifx\MultidoLoaded\endinput\else\input multido.tex\fi %% prologue for postcript \pstheader{pst-eucl.pro}% % interface to the `xkeyval' package @@ -125,8 +133,10 @@ % for coding a construction \newif\ifPst@CodeFig \define@key[psset]{pst-eucl}{CodeFig}[false]{\@nameuse{Pst@CodeFig#1}}% -\define@key[psset]{pst-eucl}{CodeFigA}{\edef\psk@CodeFigA{#1}}% -\define@key[psset]{pst-eucl}{CodeFigB}{\edef\psk@CodeFigB{#1}}% +\newif\ifPst@CodeFigA +\define@key[psset]{pst-eucl}{CodeFigA}{\edef\psk@CodeFigA{#1}\@nameuse{Pst@CodeFigA#1}}% +\newif\ifPst@CodeFigB +\define@key[psset]{pst-eucl}{CodeFigB}{\edef\psk@CodeFigB{#1}\@nameuse{Pst@CodeFigB#1}}% \define@key[psset]{pst-eucl}{CodeFigColor}{\edef\psk@CodeFigColor{#1}}% \define@key[psset]{pst-eucl}{CodeFigStyle}{\edef\psk@CodeFigStyle{#1}}% \newif\ifPst@CodeFigAarc% @@ -371,12 +381,12 @@ end}% \else\ifx\psk@RightAngleType\@german \pstMarkAngle[MarkAngleRadius=\psk@RightAngleSize, LabelSep=\psk@RightAngleSize\space .5 mul]{#2}{#3}{#4} - {\scalebox{\psk@RightAngleSize}{\pscircle*{.08}}} + {\psscalebox{\psk@RightAngleSize}{\pscircle*{.08}}} \else\ifx\psk@RightAngleType\@suisseromand \rput{*0} (!tx@EcldDict begin /N@#4 GetNode exch Atan /N@#2 GetNode exch Atan end 2 copy lt { exch 360 sub exch } if add 2 div .45 \psk@RightAngleSize\space mul exch PtoC) - {\scalebox{\psk@RightAngleSize}{\pscircle*{.08}}} + {\psscalebox{\psk@RightAngleSize}{\pscircle*{.08}}} \pspolygon(0,0) (!tx@EcldDict begin /N@#4 GetNode exch Atan end \psk@RightAngleSize\space exch PtoC) (!tx@EcldDict begin /N@#2 GetNode exch Atan end \psk@RightAngleSize\space exch PtoC) @@ -387,6 +397,14 @@ end}% %% #2 #3 #4 -> 3 nodes for defining the angle %% #5 -> label \def\pstMarkAngle{\@ifnextchar[\Pst@MarkAngle{\Pst@MarkAngle[]}}% +%\def\pstMarkAngle{\@ifnextchar[\Pst@MarkAngle@i{\Pst@MarkAngle@i[]}}% +%\def\Pst@MarkAngle@i[#1]{\@ifnextchar+{\Pst@MarkAngle@ii[#1]}{\Pst@MarkAngle@iii[#1]}}% +%\def\Pst@MarkAngle@ii[#1]+#2#3#4#5{% +% +%% here we should check the angle size for right angles +% +%} +%\def\Pst@MarkAngle@iii[#1]#2#3#4#5{% \def\Pst@MarkAngle[#1]#2#3#4#5{% \bgroup\psset{#1}% % Affectation of local parameters %\rput(#3){\psarc(0,0){\psk@MarkAngleRadius}{(#2)}{(#4)}}% @@ -518,27 +536,35 @@ end}% \def\pstArcnOAB{\pst@object{pstArcnOAB}}% \def\pstArcnOAB@i{\def\psarc@type{1}\pstArcOAB@i}% \def\pstArcOAB@i{\pstArcOAB@ii}%\@ifnextchar[\pstArcOAB@ii{\pstArcOAB@ii[]}}% -\def\pstArcOAB@ii#1#2#3{%[#1]#2#3#4{% - \bgroup\use@par% - \rput(#1){\pstArcOAB@iii{#2}{#3}}% - \egroup% -}% -\def\pstArcOAB@iii#1#2{% +%OLD%%\def\pstArcOAB@ii#1#2#3{%[#1]#2#3#4{% +%OLD%% \bgroup\use@par% +%OLD%% \rput(#1){\pstArcOAB@iii{#2}{#3}}% +%OLD%% \egroup% +%OLD%%}% +%OLD%%\def\pstArcOAB@iii#1#2% +\def\pstArcOAB@ii#1#2#3{% \begin@OpenObj% - \addto@pscode{\pstArcOAB@iv{#1}{#2} \pstArcOAB@v}% + %OLD%%\addto@pscode{\pstArcOAB@iv{#1}{#2} \pstArcOAB@v}% + \addto@pscode{\pstArcOAB@iv{#1}{#2}{#3} \pstArcOAB@v}% \gdef\psarc@type{0}% \showpointsfalse \end@OpenObj% }%% end \pstArcOAB@iii -\def\pstArcOAB@iv#1#2{% - \pst@coor /y ED /x ED /r - tx@EcldDict begin /N@#1 GetNode end +%OLD%%\def\pstArcOAB@iv#1#2% +\def\pstArcOAB@iv#1#2#3{% + %%\pst@coor /y ED /x ED /r + %OLD%%0 0 /y ED /x ED /r %%new DR 2005/10/21 + tx@EcldDict begin /N@#1 GetNode end /y ED /x ED /r %%new DR 2005/10/21 + %OLD%%tx@EcldDict begin /N@#1 GetNode end + tx@EcldDict begin /N@#2 GetNode /N@#1 GetNode ABVect end Pyth def /c 57.2957 r \tx@Div def /angleA - tx@EcldDict begin /N@#1 GetNode end + %OLD%%tx@EcldDict begin /N@#1 GetNode end + tx@EcldDict begin /N@#2 GetNode /N@#1 GetNode ABVect end exch Atan \psk@arcsepA c mul 2 div \ifcase \psarc@type add \or sub \fi def /angleB - tx@EcldDict begin /N@#2 GetNode end + %OLD%%tx@EcldDict begin /N@#2 GetNode end + tx@EcldDict begin /N@#3 GetNode /N@#1 GetNode ABVect end exch Atan \psk@arcsepB c mul 2 div \ifcase \psarc@type sub \or add \fi def %ifshowpoints\psarc@showpoints\fi @@ -1037,14 +1063,14 @@ end}% \Pst@geonodelabel{#7}\egroup% \psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle, arcsep=-1}% \ifx\psk@CodeFigA\@undef% - \ifx\psk@CodeFigB\@undef\ifPst@CodeFig\pstArcOAB{#2}{#6}{#7}\fi\fi + \ifx\psk@CodeFigB\@undef\ifPst@CodeFig\ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi\fi\fi \else% - \ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi% + \ifPst@CodeFigA\ifPst@CodeFigAarc\pstArcOAB{#2}{#6}{#7}\else\pstArcnOAB{#2}{#6}{#7}\fi\fi% \fi \ifx\psk@CodeFigB\@undef% - \ifx\psk@CodeFigA\@undef\ifPst@CodeFig\pstArcOAB{#4}{#6}{#7}\fi\fi + \ifx\psk@CodeFigA\@undef\ifPst@CodeFig\ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi\fi\fi \else% - \ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi% + \ifPst@CodeFigB\ifPst@CodeFigBarc\pstArcOAB{#4}{#6}{#7}\else\pstArcnOAB{#4}{#6}{#7}\fi\fi% \fi \egroup% }% @@ -1058,7 +1084,7 @@ end}% \rput(! tx@EcldDict begin #4 { #3 } { #2 } NewtonSolving pop - end){\pnode{#5}}% + end){\pnode{#5}}% \Pst@geonodelabel{#5}% \egroup% } @@ -1135,7 +1161,7 @@ end}% \Pst@ManageParamList{\@image}% \ifPst@CodeFig% \psset{linecolor=\psk@CodeFigColor, linestyle=\psk@CodeFigStyle}% - \pstRightAngle[linestyle=solid]{\@antecedent}{\@image}{\@ScdPt}% + \pstRightAngle[linestyle=solid]{\@ScdPt}{\@image}{\@antecedent}% \ncline{\@antecedent}{\@image}% \fi% \edef\@antecedentLst{\expandafter\PstParamListLasts\@antecedentLst,undef/}% @@ -1440,15 +1466,10 @@ end}% } %% angle defined by three points \def\pstAngleAOB#1#2#3{ - tx@EcldDict begin /N@#3 GetNode /N@#2 GetNode end - 2 copy 6 2 roll - tx@EcldDict begin ABVect end exch Atan - dup 0 lt { 360 add } if - tx@EcldDict begin /N@#1 GetNode end - 5 -2 roll tx@EcldDict begin ABVect end exch Atan - dup 0 lt { 360 add } if -% 2 copy lt { exch 360 sub exch } if - sub + tx@EcldDict begin /N@#2 GetNode /N@#3 GetNode ABVect /N@#2 GetNode /N@#1 GetNode ABVect end + 4 copy exch 4 -1 roll mul + 3 -2 roll mul add + 4 -2 roll mul 4 -2 roll mul sub exch Atan \ifx\psk@AngleCoef\@none\else \psk@AngleCoef\space mul \fi |