diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/Changes | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf | bin | 2417680 -> 2418348 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex | 38 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex | 176 |
4 files changed, 135 insertions, 84 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/Changes b/Master/texmf-dist/doc/generic/pstricks-add/Changes index 46ae4adf46b..f38c0436198 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/Changes +++ b/Master/texmf-dist/doc/generic/pstricks-add/Changes @@ -1,4 +1,4 @@ -%% $Id: Changes 118 2009-05-25 18:47:43Z herbert $ +%% $Id: Changes 138 2009-10-13 11:40:24Z herbert $ %% pstricks-add.pro ----------- v 0.22 2009-03-17 - add LineByHand stuff @@ -36,6 +36,9 @@ pstricks-add.sty ----------- (hv) pstricks-add.tex ----------- (Dominik Rodriguez/hv) + v 3.35 2009-08-13 - fix bug with trailing space in \psaxes@vi + - fix bug with star version of psplotTangent + take care of math mode for comma or dot v 3.34 2009-05-25 - modified macro \psMatrixPlot v 3.33 2009-05-23 - fixed introduced bug with \pstScalePoints v 3.32 2009-05-11 - added psTangentLine for a curve of three points diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf Binary files differindex 8cb7733fd4f..f413eff9196 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf +++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex index ffc6915ea78..cfe3e882030 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex +++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex @@ -1,4 +1,4 @@ -%% $Id: pstricks-add-doc.tex 118 2009-05-25 18:47:43Z herbert $ +%% $Id: pstricks-add-doc.tex 122 2009-08-13 07:21:10Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside]{pst-doc} \listfiles @@ -5550,15 +5550,36 @@ a function for the curve. \Lcs{psTangentLine}\OptArgs\Largr{\coord1}\Largr{\coord2}\Largr{\coord3}\Largb{x}\Largb{dx} \end{BDef} -\begin{LTXexample}[pos=t,preset=\centering,wide] +\begin{LTXexample}[width=0.45\linewidth,wide] \psset{unit=2} \begin{pspicture}[showgrid=true](1,-1)(4,1) - \pscurve[showpoints=true](2.1,-0.2)(2.5,0.2)(3.2,0.235)(3.8,-0.2) - \psTangentLine[Tnormal,arrows=->,linecolor=red](2.5,0.2)(3.2,0.235)(3.8,-0.2){3}{0.1} - \psTangentLine[arrows=<->,linecolor=blue](2.5,0.2)(3.2,0.235)(3.8,-0.2){3}{0.5} + \pscurve[showpoints=true] + (2.1,-0.2)(2.5,0.2)(3.2,0.235)(3.8,-0.2) + \psTangentLine[Tnormal,arrows=->, + linecolor=red](2.5,0.2)(3.2,0.235)% + (3.8,-0.2){3}{0.1} + \psTangentLine[arrows=<->, + linecolor=blue](2.5,0.2)(3.2,0.235)% + (3.8,-0.2){3}{0.5} +\end{pspicture} +\end{LTXexample} + +In special cases one has to use \Lkeyword{curvature}\verb+=1 1 1+ for the macro \Lcs{pscurve} +to get the same equation for the curve as \Lcs{psplotTangentLine} does. + +\begin{LTXexample}[pos=t,preset=\centering,wide] +\psset{unit=2} +\begin{pspicture}[showgrid=true](2,-1)(6,2) +\pscurve[showpoints=true, + curvature=1 1 1](2.1,-0.2)(2.5,0.2)(3.2,0.235)(5.8,2) +\pscurve[showpoints=true,linecolor=green, + curvature=1 1 1](2.5,0.2)(3.2,0.235)(5.8,2) +\psTangentLine[Tnormal,arrows=->,linecolor=red](2.5,0.2)(3.2,0.235)(5.8,2){4.6}{0.6} +\psTangentLine[arrows=<->,linecolor=blue](2.5,0.2)(3.2,0.235)(5.8,2){4.5}{0.6} \end{pspicture} \end{LTXexample} + \subsection{\nxLcs{psplotTangent} and option \nxLkeyword{Tnormal}} %-------------------------------------------------------------------------------------- There is an additional option, named \Lkeyword{Derive} for an @@ -7565,9 +7586,12 @@ is the first plotted line ($y=1$). With the option \clearpage With the \Lkeyword{colorType}=1 the data is printed as continous color -in the range of the wavelength. \Lkeyword{colorType}=2 ist the same, but vice versa +in the range of the wavelength. The smallest value of the data array +is set to red and the biggest value is set to violett. All other values +are substituted by the corresponding color of the wavlength. +\Lkeyword{colorType}=2 ist the same, but vice versa with the color, from violet to red. The following examples uses a 200$\times$200 -matrix data. +matrix data, which is saved as /dotmatrix [...] in the file \LFile{pstricks-add-doc.dat}. \begin{LTXexample}[pos=t,preset=\centering] \begin{pspicture}(10,10) diff --git a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex index bcb74d07d02..7b9214d004c 100644 --- a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex +++ b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex @@ -1,4 +1,4 @@ -%% $Id: pstricks-add.tex 118 2009-05-25 18:47:43Z herbert $ +%% $Id: pstricks-add.tex 139 2009-10-13 12:16:45Z herbert $ %% %% %% This is file `pstricks-add.tex', @@ -31,8 +31,8 @@ \ifx\PSTFPloaded\endinput\else \input pst-fp \fi \ifx\PSTmathLoaded\endinput\else \input pst-math \fi % -\def\fileversion{3.34} -\def\filedate{2009/05/25} +\def\fileversion{3.35} +\def\filedate{2009/10/12} \message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -1528,11 +1528,11 @@ \define@key[psset]{pstricks-add}{xlabelPos}[b]{\pst@expandafter\psset@@xlabelPos{#1}\@nil} \define@key[psset]{pstricks-add}{ylabelPos}[l]{\pst@expandafter\psset@@ylabelPos{#1}\@nil} \def\psset@@xlabelPos#1#2\@nil{% - \ifx#1t + \ifx#1t \def\psk@xlabelPos{\tw@}% 2=top \pst@xticksizeC=\pst@xticksizeB% \else - \ifx#1a + \ifx#1a \def\psk@xlabelPos{\@ne}% 1=axis \pst@xticksizeC=\z@% \else @@ -1540,11 +1540,11 @@ \pst@xticksizeC=\pst@xticksizeA% \fi\fi}% \def\psset@@ylabelPos#1#2\@nil{% - \ifx#1r + \ifx#1r \def\psk@ylabelPos{\tw@}% 2=right \pst@yticksizeC=\pst@yticksizeB% \else - \ifx#1a + \ifx#1a \def\psk@ylabelPos{\@ne}% 1=axis \pst@yticksizeC=\z@% \else @@ -1566,9 +1566,6 @@ \define@key[psset]{pstricks-add}{trigLabelBase}[0]{\pst@getint{#1}{\psk@trigLabelBase}} \psset{trigLabelBase=0} % -\define@boolkey[psset]{pstricks-add}[Pst@]{trigLabelsSimplify}[true]{} -\psset[pstricks-add]{trigLabelsSimplify=true} -% \define@boolkey[psset]{pstricks-add}[Pst@]{trigLabels}[true]{% \ifPst@trigLabels \def\pst@@@hlabel##1{\pshlabel{##1}} @@ -1751,10 +1748,12 @@ \ifx\@xyDecimals\@empty% take value as is \def\@tempa{#1}% write only if not empty \ifx\@tempa\@empty% write nothing - \else\psk@decimalSeparator#1\fi% + \else\ifmmode\expandafter\mathord\expandafter{\psk@decimalSeparator}\else\psk@decimalSeparator\fi#1\fi% +% \else\psk@decimalSeparator\fi% \else% write only \xy@decimals \ifnum\@xyDecimals>\@zero - \psk@decimalSeparator% + \ifmmode\expandafter\mathord\expandafter{\psk@decimalSeparator}\else\psk@decimalSeparator\fi% +% \psk@decimalSeparator \@Reset@digitcounter \expandafter\@process@digits#1*; \fi% @@ -1787,10 +1786,11 @@ \def\psaxes@v(#1)(#2)(#3)[#4]{\@ifnextchar[{\psaxes@vi(#1)(#2)(#3)[#4]}{\psaxes@vi(#1)(#2)(#3)[#4][]}}% \def\psaxes@vi(#1)(#2)(#3)[#4,#5][#6,#7]{% \psaxes@vii(#1)(#2)(#3)% - \begingroup - \use@par + \begingroup% + \use@par% \uput{\pslabelsep}[#5](#3|#1){#4}\uput{\pslabelsep}[#7](#1|#3){#6}% \endgroup% + \ignorespaces% } % \def\psaxes@vii(#1,#2)(#3,#4)(#5,#6){% @@ -2486,15 +2486,16 @@ } ifelse } repeat }{% - /ncount 0 def + /ncount 1 def (\psk@nEnd) length 0 gt { \psk@nEnd\space }{ m } ifelse /nEnd exch def n { m -2 roll - \psk@nStep\space 1 gt { - ncount \psk@nStart\space sub \psk@nStep\space mod 0 eq }{ true } ifelse + \psk@nStep\space 1 gt { ncount \psk@nStart\space sub \psk@nStep\space mod 0 eq }{ true } ifelse ncount nEnd le and ncount \psk@nStart\space ge and not { +% ncount nEnd le and +% ncount \psk@nStart\space ge and not { pop pop /m m 2 sub def } if @@ -2725,13 +2726,13 @@ % \def\psplot@i#1#2{\@ifnextchar[{\psplot@I{#1}{#2}}{\psplot@I{#1}{#2}[]}} \def\psplot@I#1#2[#3]#4{% - \pst@killglue - \begingroup - \use@par + \pst@killglue% + \begingroup% + \use@par% \@nameuse{beginplot@\psplotstyle}% % D.G. modification begin - Jun. 9, 1998 - \ifPst@polarplot - \addto@pscode{% + \ifPst@polarplot% + \addto@pscode{ \psplot@init #3 /x #1 def @@ -2767,7 +2768,7 @@ } def}% \else% polarplot % D.G. modification end - \addto@pscode{% + \addto@pscode{ \psplot@init #3 /x #1 def @@ -2799,20 +2800,16 @@ x \pst@number\psxunit mul F@pstplot \pst@number\psyunit mul % \ifPst@algebraic F@pstplot \else #4 \fi \pst@number\psyunit mul } def}% - \fi + \fi% \gdef\psplot@init{}% - \@pstfalse + \@pstfalse% \@nameuse{testqp@\psplotstyle}% - \if@pst - \psplot@ii - \else - \psplot@iii - \fi - \endgroup + \if@pst\psplot@ii\else\psplot@iii\fi% + \endgroup% \ignorespaces} % \def\psplot@ii{% - \ifPst@VarStep + \ifPst@VarStep% \addto@pscode{% mark xy \@nameuse{beginqp@\psplotstyle} { F2@pstplot abs ComputeStep @@ -2822,7 +2819,7 @@ xy \@nameuse{doqp@\psplotstyle} x x1 eq { exit } if} loop}% \else\pst@killglue% - \addto@pscode{% + \addto@pscode{ /ps@Exit false def xy \@nameuse{beginqp@\psplotstyle} \ifx\psk@method\@varrkiv\else\psk@plotpoints 1 sub \fi { @@ -2839,8 +2836,8 @@ \fi% \@nameuse{endqp@\psplotstyle}} \def\psplot@iii{% - \ifPst@VarStep - \addto@pscode{% + \ifPst@VarStep% + \addto@pscode{ /n 2 def mark { xy n 2 roll F2@pstplot abs @@ -2849,9 +2846,10 @@ /x 3 -1 roll def 2 copy gt { exch } if pop /x x 3 -1 roll dup /LastNonZeroStep exch def add dup x1 gt {pop x1} if def /n n 2 add def x x1 eq { exit } if } loop - xy n 2 roll}% + xy + n 2 roll}% \else\pst@killglue% - \addto@pscode{% + \addto@pscode{ mark /n 2 def \ifx\psk@method\@varrkiv\else\psk@plotpoints\fi { @@ -2860,9 +2858,10 @@ /n n 2 add def /x x dx add \ifx\psk@method\@varrkiv dup x1 gt { pop x1 } if \fi def \ifx\psk@method\@varrkiv x x1 eq { exit } if \fi - } \ifx\psk@method\@varrkiv loop\else repeat\fi + } \ifx\psk@method\@varrkiv loop\else repeat \fi \space /x x1 def - xy + xy + 2 copy \tx@UserCoor 2 array astore /SaveFinalState ED n 2 roll}% \fi% \@nameuse{endplot@\psplotstyle}} @@ -3202,16 +3201,17 @@ %% #1 : x value %% #2 : delta x or x0,x1 %% #3 : function -\def\psplotTangent{\pst@object{psplotTangent}}% idea from Dominique Rodriguez -\def\psplotTangent@i#1#2#3{% - \expandafter\psplotTangent@ii#2,,\@nil +\def\psplotTangent{\@ifnextchar*{\def\pst@tempA{true }\psplotTangent@v}{\def\pst@tempA{false }\psplotTangent@v*}} +\def\psplotTangent@v*{\@ifnextchar[{\psplotTangent@i}{\psplotTangent@i[]}} +\def\psplotTangent@i[#1]#2#3#4{% + \expandafter\psplotTangent@ii#3,,\@nil + \def\pst@par{#1}% + \ifx\psk@Derive\@empty\ifPst@algebraic\addbefore@par{Derive=NOT@EMPTY}\fi\fi%%dr 0606 \begin@OpenObj% -% \let\pst@linetype\pst@arrowtype% -% \pst@addarrowdef% - \ifx\psk@Derive\@empty\ifPst@algebraic\psset{Derive=NOT@EMPTY}\fi\fi%%dr 0606 \addto@pscode{ + /StarVersion \pst@tempA def gsave % save current state - /F@pstplot \ifPst@algebraic (#3) tx@addDict begin AlgParser end cvx \else { #3 } \fi def % define function + /F@pstplot \ifPst@algebraic (#4) tx@addDict begin AlgParser end cvx \else { #4 } \fi def % define function \ifx\psk@Derive\@empty\else \ifx\psk@Derive\@NOTEMPTY\else%%dr 0606 /FDer@pstplot % do we have a derivation defined? @@ -3220,39 +3220,39 @@ \fi /@parametric false def %%dr 0606 % first we calculate the origin - #1 dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot %%{ /y ED /x ED } % if yes, then we have 2 values { /y ED /x ED /@parametric true def } % if yes, then we have 2 values%%dr 0606 { \ifPst@polarplot x \ifPst@algebraic RadtoDeg \fi PtoC /y ED /x ED \else /y ED \fi } ifelse cleartomark \ifx\psk@Derive\@NOTEMPTY%%begin dr 0606 %% algebraic we can use the derivative machine - /FDer@pstplot (#3) @parametric { (t) } { (x) } ifelse + /FDer@pstplot (#4) @parametric { (t) } { (x) } ifelse tx@Derive begin Derive end tx@addDict begin AlgParser end cvx def \fi%%end dr 0606 x \pst@number\psxunit mul y \pst@number\psyunit mul translate % define the temporary origin % now we calculate the slope of the tangent \ifx\psk@Derive\@empty% de we have a derivation defined? - #1 abs 1.0e-6 lt % no, we choose secant for the tangent - { #1 0.0005 add dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 abs 1.0e-6 lt % no, we choose secant for the tangent + { #2 0.0005 add dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y2 ED /x2 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x2 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x2 x def \fi /y2 ED } ifelse cleartomark % delete the mark - #1 0.0005 sub dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 0.0005 sub dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y1 ED /x1 ED } { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x1 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x1 x def \fi /y1 ED } ifelse cleartomark y2 y1 sub x2 x1 sub } % dy dx { % > 1.0e-06 - #1 1.0005 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 1.0005 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y2 ED /x2 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x2 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x2 x def \fi /y2 ED } ifelse cleartomark - #1 .9995 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 .9995 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y1 ED /x1 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x1 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x1 x def \fi /y1 ED } ifelse @@ -3260,7 +3260,7 @@ y2 y1 sub \pst@number\psyunit mul x2 x1 sub \pst@number\psxunit mul } ifelse atan % atan(dy dx), we have the slope angle of the secant \else % there is a derivation defined - #1 dup /x ED /t ED tx@addDict begin mark FDer@pstplot end counttomark 1 gt % test, if we have parametricplot + #2 dup /x ED /t ED tx@addDict begin mark FDer@pstplot end counttomark 1 gt % test, if we have parametricplot { /y ED /x ED } { \ifPst@polarplot /Fphi ED % the value F'(phi) tx@addDict begin F@pstplot end x \ifPst@algebraic RadtoDeg \fi PtoC /y0 ED /x0 ED % the x y values @@ -3271,36 +3271,37 @@ y \pst@number\psyunit mul x \pst@number\psxunit mul Atan \ifPST@Tnormal 90 add \fi % y ATAN1 % we have the slope angle of the tangent. ATAN is defined int the pstricks.pro, patch 6 \fi - cvi 180 mod dup 90 gt { 180 sub } if % -90 <= angle <= 90 - rotate % rotate, depending to the origin - /Lineto /lineto load def % the pro file needs /Lineto - [ % start array of points + cvi 180 mod dup 90 gt { 180 sub } if % -90 <= angle <= 90 + rotate % rotate, depending to the origin + /Lineto /lineto load def % the pro file needs /Lineto + [ % start array of points \ifPST@Tnormal 0 0 % moveto - #2 + #3 y \pst@number\psyunit mul x \pst@number\psxunit mul Atan 90 add cos div \pst@number\psxunit mul 0 % lineto \else % points are in reverse order ... - \ifx\pst@tempRight\@empty #2 \else \pst@tempRight\space \fi \pst@number\psxunit mul 0 % moveto - \if@star 0 \else - \ifx\pst@tempRight\@empty #2 neg \else \pst@tempLeft\space \fi \pst@number\psxunit mul \fi 0 % lineto + \ifx\pst@tempRight\@empty #3 \else \pst@tempRight\space \fi \pst@number\psxunit mul 0 % moveto + StarVersion { 0 }{\ifx\pst@tempRight\@empty #3 neg \else + \pst@tempLeft\space \fi \pst@number\psxunit mul} ifelse 0 % lineto \fi - \pst@cp % kill the currentpoint, if any - false % don't show the points + \pst@cp % kill the currentpoint, if any + false % don't show the points \tx@Line -% ArrowA CP 4 2 roll ArrowB L % the line with arrows L is defined in pstricks.pro +% ArrowA CP 4 2 roll ArrowB L % the line with arrows L is defined in pstricks.pro % \pst@number\pslinewidth SLW % set linewidth in pt -% \@nameuse{psls@\pslinestyle} % linestyle -% \pst@usecolor\pslinecolor % linecolor - stroke % stroke everything - \ifshowpoints % show the points? +% \@nameuse{psls@\pslinestyle} % linestyle +% \pst@usecolor\pslinecolor % linecolor + stroke % stroke everything + \ifshowpoints % show the points? \psk@dotsize \@nameuse{psds@\psk@dotstyle}% 0 0 Dot \fi - grestore % restore old graphics state + grestore % restore old graphics state }% \use@pscode % part of \end@OpenObj \endgroup% % part of \end@OpenObj + \@starfalse% \ignorespaces% % part of \end@OpenObj }% % @@ -3309,21 +3310,41 @@ %% #3 initial value of y (which is a vector) y(0) y'(0) y''(0) ... %% #4 value of the derivative (y and t can be used) % +\define@boolkey[psset]{pstricks-add}[Pst@]{GetFinalState}[true]{} \define@key[psset]{pstricks-add}{filename}{\def\psk@filename{#1}}% \define@boolkey[psset]{pstricks-add}[Pst@]{saveData}[true]{} % \ifPst@saveData -\psset[pstricks-add]{saveData=false,filename=PSTdata} -% +\psset[pstricks-add]{GetFinalState=false,saveData=false,filename=PSTdata} +% +\def\Begin@SaveFinalState{ end + /PST@beginspecial /@beginspecial load def + /PST@endspecial /@endspecial load def + /PST@setspecial /@setspecial load def + /@beginspecial {} def /@endspecial{} def /@setspecial {} def + tx@Dict begin +} +\newif\ifPst@BeginSaveFinalState \Pst@BeginSaveFinalStatefalse +\def\BeginSaveFinalState{\Pst@BeginSaveFinalStatetrue} +\def\End@SaveFinalState{ + /@beginspecial /PST@beginspecial load def + /@endspecial /PST@endspecial load def + /@setspecial /PST@setspecial load def +} +\def\EndSaveFinalState{\pstverb{\End@SaveFinalState}} + \def\psplotDiffEqn{\pst@object{psplotDiffEqn}}% initial code by Dominique 2005-05-21 \def\psplotDiffEqn@i#1#2#3#4{% + \addbefore@par{xStart=#1}% \pst@killglue% \begingroup% \use@par% \@nameuse{beginplot@\psplotstyle}% \addto@pscode{% + \ifPst@BeginSaveFinalState \Begin@SaveFinalState \fi \ifPst@saveData /Pst@data (\psk@filename) (w) file def \fi /x #1 def % first value /x1 #2 def % last value - /y [ #3 ] def % values for t=0 + \ifPst@GetFinalState \Begin@SaveFinalState /y SaveFinalState def + \else /y [ #3 ] def \fi % values for t=0 /ylength y length def % number of elements in #3 /addvect { 1 1 ylength { @@ -3344,13 +3365,13 @@ /Func { \ifPst@algebraic F@pstplot ylength array astore \else - \ifPst@buildvector\else y aload pop \fi #4 + \ifPst@buildvector\else y aload pop \fi #4 \ifPst@buildvector\else ylength array astore \fi \fi } def \ifx\psk@method\@adams /F1 0 def /F2 0 def /F3 0 def /F4 0 def /F5 0 def /F6 0 def /INIT 1 def \fi \ifx\psk@method\@empty\else - \ifx\psk@method\@varrkiv %% RUNGE-KUTTA method with var step algorithm + \ifx\psk@method\@varrkiv %% RUNGE-KUTTA method with var step algorithm /VarStep false def /VarStepRatio 1 def /RK { /k0 Func { dx mul } forall ylength array astore def %% y @@ -3476,11 +3497,14 @@ \ifx\psk@whichord\@empty 0 \else \psk@whichord\space \fi get % \else \psk@plotfuncy\space \fi \pst@number\psyunit mul +% Pst@data (\string\[) writestring \ifPst@saveData - 2 copy \pst@number\psyunit div exch \pst@number\psxunit div + 2 copy + \pst@number\psyunit div exch \pst@number\psxunit div 20 string cvs Pst@data exch writestring Pst@data (\space) writestring 20 string cvs Pst@data exch writestring +% Pst@data (\string\]) writestring Pst@data (\string\n) writestring \fi } def |