diff options
author | Karl Berry <karl@freefriends.org> | 2014-05-20 22:00:54 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-05-20 22:00:54 +0000 |
commit | 22ffe2908d71591f30ac96514d5ad0a71113766d (patch) | |
tree | c293af2202b3e0d95e3d11f6f721bd5c4eebc76b /Master | |
parent | 8db754efe5c2736dfbd92d0fe891c6cc89e4071d (diff) |
pst-func (19may14)
git-svn-id: svn://tug.org/texlive/trunk@34156 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-func/Changes | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf | bin | 3384351 -> 3397668 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex | 110 | ||||
-rw-r--r-- | Master/texmf-dist/dvips/pst-func/pst-func.pro | 21 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-func/pst-func.tex | 170 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-func/pst-func.sty | 4 |
6 files changed, 293 insertions, 15 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-func/Changes b/Master/texmf-dist/doc/generic/pst-func/Changes index 8aa33af14e2..c15453770a6 100644 --- a/Master/texmf-dist/doc/generic/pst-func/Changes +++ b/Master/texmf-dist/doc/generic/pst-func/Changes @@ -1,4 +1,7 @@ ..... pst-func.tex +0.80 2014-05-19 - added \psZero for calculating and printing + the zeros of a function or the intermediate + point of two functions. 0.79 2014-03-21 - allow option algebraic for \psVolume 0.78 2014-02-03 - added \psWeierstrass as original defined 0.77 2014-02-01 - added \psWeierstrass diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf Binary files differindex 284f88e215f..367b9332fdf 100644 --- a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex index e582a82e4ea..6530ae60883 100644 --- a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex @@ -1,4 +1,4 @@ -%% $Id: pst-func-doc.tex 890 2014-02-02 15:47:16Z herbert $ +%% $Id: pst-func-doc.tex 918 2014-05-19 12:32:37Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, smallheadings, headexclude,footexclude,oneside]{pst-doc} \usepackage[utf8]{inputenc} @@ -66,6 +66,7 @@ Thanks to \\ Patrice Mégret, Svend Mortensen, Matthias Rüss, + Thomas Söll, Jose-Emilio Vila-Forcen, Timothy Van Zandt, Michael Zedler, @@ -496,6 +497,7 @@ options can be set in the usual way with \Lcs{psset}. \end{pspicture*} \end{LTXexample} + \clearpage \subsection{\Lcs{psBernstein}} The polynomials defined by @@ -586,6 +588,112 @@ which plots the envelope curve instead of the Bernstein polynomial. \end{pspicture*} \end{LTXexample} + +\clearpage +\subsection{Calculating the zeros of a function or the the intermediate point of two function} + +\begin{BDef} +\Lcs{psZero}\OptArgs\Largr{$x_0,x_1$}\Largb{functionA}\OptArg{functionB}\Largb{node name} +\end{BDef} + +If the second function is not given the macro calculates and displays the zeros of +the first function. If the second function is defined too, then the macro calculates the +intermediate point of the two functions. The intervall is defined as $[x_0,x_1]$. +Possible optional arguments are + + +\medskip +\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule +\emph{Name} & \emph{Default} & \emph{Meaning} \\\midrule +\Lkeyword{markZeros} & false & Mark the zeros/intermediate points with a symbol.\\ +\Lkeyword{Newton} & false & Use Newton method instead of the bisector one.\\ +\Lkeyword{PrintCoord} & false & Print the pair of coordinate of the zero/intermediate point.\\ +\Lkeyword{onlyNode} & false & Calculate only the node, do not print anything.\\ +\Lkeyword{onlyYVal} & false & Print only the value.\\ +\Lkeyword{originV} & false & Put the values without an offset.\\ +\Lkeyword{PointName} & I & The printed prefix for the calculated Points.\\ +\Lkeyword{decimals} & 2 & The decimals for the $x$ value.\\ +\Lkeyword{ydecimals} & 2 & The decimals for the $y$ value.\\ +\Lkeyword{xShift} & 0 & $x$ move for the printed value.\\ +\Lkeyword{yShift} & 0 & $y$ move for the printed value.\\\bottomrule +\end{tabularx} + +\medskip +The following example was done by Thomas Söll. + +\bigskip +\definecolor{BeigeTS}{rgb}{0.98,0.95,0.87} +\definecolor{CornBlauTS}{rgb}{0.39,0.59,0.93} +\definecolor{SandBraun}{rgb}{0.96,0.64,0.38} +\psset{yunit=1.25cm,arrowinset=0.02,arrowlength=2,linewidth=0.5pt,saveNodeCoors,NodeCoorPrefix=n} +\def\funkf{2*sqrt(x)*cos(ln(x))*sin(x)} +\begin{pspicture}[plotpoints=500,algebraic,fontscale=5,markZeros,PrintCoord, + PointName=N,dotscale=0.7](-0.5,-3)(10,2.5) +\psStep[fillstyle=solid,fillcolor=BeigeTS,opacity=0.7,linewidth=0.3pt, + linecolor=SandBraun!50](0.001,9.5){40}{\funkf} +\psStep[StepType=Riemann,fillstyle=solid,opacity=0.3,fillcolor=CornBlauTS, + linecolor=CornBlauTS,linewidth=0.3pt](0.001,9.5){40}{\funkf} +\psaxes[labelFontSize=\scriptstyle,ticksize=-0.1 0]{->}(0,0)(0,-2.75)(10,2.5) +\psplot[linecolor=BeigeTS!60,linewidth=0.8pt]{0.001}{9.75}{\funkf} +\psplotTangent[linecolor=blue,Derive={Derive(1,\funkf)}]{1.29}{1.5}{\funkf} +\uput[90](6,1.2){$f(x)=2\cdot\sqrt{x}\cdot\cos{(\ln{x})}\cdot\sin{x}$} +{\psset{dotscale=1.5,linecolor=blue!50!black!90,ydecimals=0} + \psZero[xShift=-0.2,yShift=0.15,postString=1,Newton](0.5,1){\funkf}{N1} + \psZero[xShift=-0.05,yShift=0.15,postString=2](2,4){\funkf}{N2} + \psZero[xShift=-0.45,yShift=0.15,postString=3](4,6){\funkf}{N3} + \psZero[xShift=-0.45,yShift=0.15,postString=4](6,7){\funkf}{N4} + \psZero[xShift=-0.45,yShift=0.15,postString=5](9,11){\funkf}{N5} + \psZero[xShift=-1.15,yShift=0,PointName=M, + postString={m=1}](0.5,2){Derive(1,\funkf)-1+\funkf}[\funkf]{M}% +} +\pcline{->}(0.5,-1)(M) +\nbput[nrot=:U,labelsep=0.01]{% + \scriptsize Steigung ist hier + \psPrintValueNew[PSfont=Palatino-Roman,decimals=0,round,fontscale=7]{nMx,{Derive(1,\funkf)}}} +\psdot[linecolor=green,strokeopacity=0.8](*{nMx} {\funkf}) +\uput[90](*{nMx} {\funkf}){$m=$ + \psPrintValueNew[PSfont=Palatino-Roman,decimals=0,round,fontscale=8]{nMx,{Derive(1,\funkf)}}} +\end{pspicture} + + +%\begin{LTXexample}[pos=t] +\begin{lstlisting} +\definecolor{BeigeTS}{rgb}{0.98,0.95,0.87} +\definecolor{CornBlauTS}{rgb}{0.39,0.59,0.93} +\definecolor{SandBraun}{rgb}{0.96,0.64,0.38} +\psset{yunit=1.25cm,arrowinset=0.02,arrowlength=2,linewidth=0.5pt,saveNodeCoors,NodeCoorPrefix=n} +\def\funkf{2*sqrt(x)*cos(ln(x))*sin(x)} +\begin{pspicture}[plotpoints=500,algebraic,fontscale=5,markZeros,PrintCoord, + PointName=N,dotscale=0.7](-0.5,-3)(10,2.5) +\psStep[fillstyle=solid,fillcolor=BeigeTS,opacity=0.7,linewidth=0.3pt, + linecolor=SandBraun!50](0.001,9.5){40}{\funkf} +\psStep[StepType=Riemann,fillstyle=solid,opacity=0.3,fillcolor=CornBlauTS, + linecolor=CornBlauTS,linewidth=0.3pt](0.001,9.5){40}{\funkf} +\psaxes[labelFontSize=\scriptstyle,ticksize=-0.1 0]{->}(0,0)(0,-2.75)(10,2.5) +\psplot[linecolor=BeigeTS!60,linewidth=0.8pt]{0.001}{9.75}{\funkf} +\psplotTangent[linecolor=blue,Derive={Derive(1,\funkf)}]{1.29}{1.5}{\funkf} +\uput[90](6,1.2){$f(x)=2\cdot\sqrt{x}\cdot\cos{(\ln{x})}\cdot\sin{x}$} +{\psset{dotscale=1.5,linecolor=blue!50!black!90,ydecimals=0} + \psZero[xShift=-0.2,yShift=0.15,postString=1,Newton](0.5,1){\funkf}{N1} + \psZero[xShift=-0.05,yShift=0.15,postString=2](2,4){\funkf}{N2} + \psZero[xShift=-0.45,yShift=0.15,postString=3](4,6){\funkf}{N3} + \psZero[xShift=-0.45,yShift=0.15,postString=4](6,7){\funkf}{N4} + \psZero[xShift=-0.45,yShift=0.15,postString=5](9,11){\funkf}{N5} + \psZero[xShift=-1.15,yShift=0,PointName=M, + postString={m=1}](0.5,2){Derive(1,\funkf)-1+\funkf}[\funkf]{M}% +} +\pcline{->}(0.5,-1)(M) +\nbput[nrot=:U,labelsep=0.01]{% + \scriptsize Steigung ist hier + \psPrintValueNew[PSfont=Palatino-Roman,decimals=0,round,fontscale=7]{nMx,{Derive(1,\funkf)}}} +\psdot[linecolor=green,strokeopacity=0.8](*{nMx} {\funkf}) +\uput[90](*{nMx} {\funkf}){$m=$ + \psPrintValueNew[PSfont=Palatino-Roman,decimals=0,round,fontscale=8]{nMx,{Derive(1,\funkf)}}} +\end{pspicture} +\end{lstlisting} +%\end{LTXexample} + + \psset{unit=1cm} \clearpage \section{\Lcs{psFourier}} diff --git a/Master/texmf-dist/dvips/pst-func/pst-func.pro b/Master/texmf-dist/dvips/pst-func/pst-func.pro index 6bbdb70d79c..25a8995ee10 100644 --- a/Master/texmf-dist/dvips/pst-func/pst-func.pro +++ b/Master/texmf-dist/dvips/pst-func/pst-func.pro @@ -1,4 +1,4 @@ -%% $Id: pst-func.pro 789 2013-06-10 13:50:35Z herbert $ +%% $Id: pst-func.pro 918 2014-05-19 12:32:37Z herbert $ %% %% This is file `pst-func.pro', %% @@ -16,7 +16,7 @@ %% `pst-func' is a PSTricks package to plot special math functions %% %% -%% version 0.15 / 2013-06-10 Herbert Voss +%% version 0.16 / 2014-05-07 Herbert Voss % /tx@FuncDict 100 dict def tx@FuncDict begin @@ -24,7 +24,8 @@ tx@FuncDict begin /eps1 1.0e-05 def /eps2 1.0e-04 def /eps8 1.0e-08 def -/Pi2 1.57079632679489661925640 def +% +/PiHalf 1.57079632679489661925640 def /CEuler 0.5772156649 def % Euler-Mascheroni constant % /factorial { % n on stack, returns n! @@ -113,8 +114,8 @@ tx@FuncDict begin dup dup /t ED % leave one on stack neg 1 add /t1 ED % t1=1-t envelope - { t t1 mul 4 mul Pi2 mul n mul sqrt 1 exch Div } % envelope - { noveri t i exp mul t1 ni exp mul } ifelse % t f(t) + { t t1 mul 4 mul PiHalf mul n mul sqrt 1 exch Div } % envelope + { noveri t i exp mul t1 ni exp mul } ifelse % t f(t) ScreenCoor % convert to screen coor } for end @@ -136,7 +137,7 @@ tx@FuncDict begin Sum } def /si { % integral sin from x to infty -> si(x)=Si(x)-pi/2 - Si Pi2 sub + Si PiHalf sub } def /Ci { % integral cosin from x to infty (arg on stack) abs /arg exch def @@ -187,8 +188,8 @@ tx@FuncDict begin /Steffensen {% the start value must be on top of the stack /y0 exch def % the start value - /Iter 0 def - { + /Iter 0 def /MaxIter 200 def + { pstack y0 func /F exch def F abs eps2 lt { exit } if y0 F sub /Phi exch def @@ -201,7 +202,9 @@ tx@FuncDict begin /Iter Iter 1 add def Iter MaxIter gt { exit } if } loop - y0 % the returned value ist the zero point + y0 28 mul % the returned value ist the zero point + 0 + 3 0 360 arc gsave 0 0 1 setrgbcolor fill grestore 1 setlinewidth stroke } def % /Horner {% x [coeff] must be on top of the stack diff --git a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex index cf5c27b9d78..790f1d01006 100644 --- a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex +++ b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex @@ -1,4 +1,4 @@ -%% $Id: pst-func.tex 897 2014-03-21 08:06:41Z herbert $ +%% $Id: pst-func.tex 918 2014-05-19 12:32:37Z herbert $ %% %% This is file `pst-func.tex', %% @@ -23,6 +23,7 @@ \ifx\PSTricksLoaded\endinput\else \input pstricks.tex\fi \ifx\PSTnodesLoaded\endinput\else \input pst-plot.tex\fi \ifx\PSTmathLoaded\endinput \else \input pst-math.tex\fi +\ifx\PSTtoolsLoaded\endinput \else \input pst-tools.tex\fi \ifx\PSTricksAddLoaded\endinput\else\input pstricks-add.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi % @@ -30,8 +31,8 @@ % interface to the `xkeyval' package \pst@addfams{pst-func} % -\def\fileversion{0.79} -\def\filedate{2014/03/21} +\def\fileversion{0.80} +\def\filedate{2015/05/19} \message{`PST-func' v\fileversion, \filedate\space (hv)} % \pstheader{pst-func.pro} @@ -100,6 +101,47 @@ zeroLineWidth=0.5\pslinewidth,% zeroLineColor=black}% % +\def\psGetZeros{\pst@object{psGetZeros}} +\def\psGetZeros@i(#1,#2)#3{% + \pst@killglue + \begin@SpecialObj + \use@par + \typeout{>>> GetZeros}% + \addto@pscode{ + tx@FuncDict begin + /xStart #1 def /xEnd #2 def + /x xStart def + /func { /x exch def \ifPst@algebraic (#3) AlgParser cvx exec \else #3 \fi } def + #1 Steffensen + \ifPst@markZeros \fi + end + }% + \end@SpecialObj +\ignorespaces +} +\iffalse +/Steffensen {% the start value and the function must be on top of the stack + /y0 exch def % the start value + /Iter 0 def /MaxIter 200 def + { + y0 Function /F exch def + F abs eps2 lt { exit } if + y0 F sub /Phi exch def + Phi Function /F2 exch def + F2 abs eps2 le { exit }{ + Phi y0 sub dup mul Phi F2 sub 2 Phi mul sub y0 add Div /Diff exch def + y0 Diff sub /y0 exch def + Diff abs eps1 le { exit } if + } ifelse + /Iter Iter 1 add def + Iter MaxIter gt { exit } if + } loop + y0 % the returned value ist the zero point + 0 \tx@ScreenCoor pstack + 3 0 360 arc gsave 0 0 1 setrgbcolor fill grestore 1 setlinewidth stroke +} def +\fi +% \def\psPolynomial{\pst@object{psPolynomial}} \def\psPolynomial@i#1#2{% \pst@killglue% @@ -1225,6 +1267,128 @@ \endgroup \ignorespaces} % +\define@boolkey[psset]{pst-func}[Pst@]{Newton}[true]{} +\define@boolkey[psset]{pst-func}[Pst@]{PrintCoord}[true]{} +\define@boolkey[psset]{pst-func}[Pst@]{onlyNode}[true]{} +\define@boolkey[psset]{pst-func}[Pst@]{onlyYVal}[true]{} +\define@boolkey[psset]{pst-func}[Pst@]{originV}[true]{} +\define@key[psset]{pst-func}{PointName}[]{\def\psk@PointName{#1}} +\define@key[psset]{pst-func}{ydecimals}[2]{\pst@getint{#1}\psk@ydecimals } +\psset[pst-func]{originV=false,onlyNode=false,ydecimals=2, + PrintCoord=false,onlyYVal=false,Newton=false,PointName=I, +} +%-------------------------------------------------------------------- +%------------- calculate the value of an intersectionpoint ----------- +%--------------------------------------------------------------------- +\def\psZero{\def\pst@par{}\pst@object{psZero}} +\def\psZero@i(#1,#2)#3{\@ifnextchar[{\psZero@ii(#1,#2)#3}{\psZero@ii(#1,#2){#3}[0]}} +\def\psZero@ii(#1,#2)#3[#4]#5{% +% (#1,#2) Intervall für die Nullstelle, bzw #1 Startwert für Newton, #3 1. Funktion, #4 2. Funktion, #5 Knotenname + \begingroup + \pst@killglue +% \addbefore@par{fontscale=40,PSfont=Times-Roman}% + \use@par + \pstVerb{ + /FunctionA + \ifPst@algebraic (#3) tx@AlgToPs begin AlgToPs end cvx \else {#3} \fi def + /FunctionB + \ifPst@algebraic (#4) tx@AlgToPs begin AlgToPs end cvx \else {#4} \fi def + \ifPst@Newton % --------------------------- Newton-Verfahren --- TS 05.2014 + /eps 1e-6 def % eps f\"{u}r (f(x+eps)-f(x))/eps + /x0 #1 def % Startwert wird vorgegeben + /Xend x0 def + { + /xe x0 eps add def % xe=x+eps + /x x0 def % x nun x0 setzen, damit f(x0) berechnet werden kann + /func0 FunctionA FunctionB sub def % func0=F(x0)-FB(x0) + func0 0 eq {exit} if % wenn func0 = 0 -> exit + /x xe def % x xe setzen + /func1 FunctionA FunctionB sub def % func1=F(xe)-FB(xe) + /Xend x0 func0 eps mul func1 func0 sub div sub def % Xend=x0-(func0*eps)/(func1-func0) + /x Xend def % x wird nun Xend + /funcend FunctionA FunctionB sub def % funcend=F(Xend)-FB(Xend) + funcend abs 1e-6 le {exit} if % Wenn funcend < 1e-6 -> exit + /x0 Xend def % sonst x0 = Xend und + } loop % die Schleife beginnt mit x0 = Xend + /xM Xend def + \else % -------------------- Intervallhalbierungsverfahren von Manuel L. + /Xinf #1 def % linker Wert des Intervalls, in dem die Nullstelle gesucht wird + /Xsup #2 def % linker Wert des Intervalls, in dem die Nullstelle gesucht wird + { /xM Xinf Xsup add 2 div def % Mittelwert -> Mitte des Intervalls ist xM2 + /x Xinf def % Variable x wird als linker Wert festgelegt + /F_1 FunctionA FunctionB sub def % Definition der Differenzfunktion F_1 an der Stelle x=Xinf2 + /x xM def % Variable x wird als Mittelwert festgelegt + /F_M FunctionA FunctionB sub def % Definition der Differenzfunktion F_M an der Stelle x=xM2 + F_M 0 eq {exit} if % Ist F_M = 0 => fertig + F_1 F_M mul 0 ge {/Xinf xM def} {/Xsup xM def} ifelse % F_1 * F_M > 0 (F_1 und F_M haben gleiches VZ) => neuer linker x-Wert = xM2 + Xinf Xsup sub abs 1e-6 le {exit} if } loop % Die Schleife endet, wenn die Differenz von linkem und rechtem Wert < 10^-6 + \fi + /x xM def FunctionA /yM exch def % x wird Mittelwert und an dieser Stelle die Funktion berechnet und als yM2 definiert + }% + \pnode(! xM yM){#5}% + \addto@pscode{ + \ifPst@onlyNode \else + /dec \psk@decimals\space def % Anzahl der Dezimahlen f\"{u}r x + /ydec \psk@ydecimals\space def % Anzahl der Dezimalen f\"{u}r y + /symb { /Symbol findfont \psk@fontscale\space scalefont setfont } bind def % Symbolschrift f\"{u}r Klammer und senkrechten Strich + /schrift { \psk@PSfont findfont \psk@fontscale scalefont setfont } bind def % Schrift f\"{u}r die Ergebnisse + /TiefSchrift { /Symbol findfont \psk@fontscale 1.6 div scalefont setfont } bind def % Schrift f\"{u}r tiefergestellte Buchstaben + /spdx \psk@fontscale 4 div def % Abstand, der mit der Schriftg\"{o}{\ss}e skaliert ist + /spdy \psk@fontscale 15 div def % Abstand, der mit der Schriftg\"{o}{\ss}e skaliert ist + /Wert { 10 dec exp mul round 10 dec exp div dec 0 eq {cvi 15 string cvs} {15 string cvs } ifelse % x-Wert runden und als string ablegen + \ifPst@comma dot2comma \fi show } def % gegebenenfalls Komma statt Punkt und Ergebnis anzeigen + /yWert { 10 ydec exp mul round 10 ydec exp div ydec 0 eq {cvi 15 string cvs} {15 string cvs } ifelse % y-Wert runden und als string ablegen + \ifPst@comma dot2comma \fi show } def % gegebenenfalls Komma statt Punkt und Ergebnis anzeigen + /FunctionA \ifPst@algebraic (#3) tx@AlgToPs begin AlgToPs end cvx \else {#3} \fi def + /FunctionB \ifPst@algebraic (#4) tx@AlgToPs begin AlgToPs end cvx \else {#4} \fi def + \ifPst@Newton + /eps 1e-6 def + /x0 #1 def + /Xend x0 def + { /xe x0 eps add def + /x x0 def + /func0 FunctionA FunctionB sub def + func0 0 eq {exit} if + /x xe def + /func1 FunctionA FunctionB sub def + /Xend x0 func0 eps mul func1 func0 sub div sub def + /x Xend def + /funcend FunctionA FunctionB sub def + funcend abs 1e-6 le {exit} if + /x0 Xend def + } loop + /xM Xend def + \else + /Xinf #1 def /Xsup #2 def + { /xM Xinf Xsup add 2 div def + /x Xinf def /F_1 FunctionA FunctionB sub def + /x Xsup def /F_2 FunctionA FunctionB sub def + /x xM def /F_M FunctionA FunctionB sub def + F_M 0 eq {exit} if + F_1 F_M mul 0 ge {/Xinf xM def} {/Xsup xM def} ifelse + Xinf Xsup sub abs 1e-6 le {exit} if } loop + \fi + /x xM def FunctionA /yM exch def + \ifPst@originV 0 0 \else + xM \psk@xShift\space add \pst@number\psxunit mul + yM \psk@yShift\space add \pst@number\psyunit mul + \fi + \ifPst@PrintCoord + moveto schrift (\psk@PointName) show + spdx neg spdy 2 mul neg rmoveto TiefSchrift (\psk@postString) show + 0 spdy 3 mul rmoveto symb (\string\050) show + 0 spdy neg rmoveto schrift xM Wert + spdx 3 div spdy rmoveto symb (\string\174) show + spdx 3 div spdy neg rmoveto yM yWert 0 spdy rmoveto symb (\string\051) show + \else + \ifPst@onlyYVal moveto schrift yM yWert \else moveto schrift xM Wert \fi + \fi\fi + }% + \ifPst@markZeros \psdot(#5)\fi +\endgroup\use@pscode\ignorespaces +}% +% + \catcode`\@=\PstAtCode\relax % %% END: pst-func.tex diff --git a/Master/texmf-dist/tex/latex/pst-func/pst-func.sty b/Master/texmf-dist/tex/latex/pst-func/pst-func.sty index 934cfad3050..2f8d9173e66 100644 --- a/Master/texmf-dist/tex/latex/pst-func/pst-func.sty +++ b/Master/texmf-dist/tex/latex/pst-func/pst-func.sty @@ -6,7 +6,7 @@ [\filedate\space v\fileversion\space `PST-func' (hv)] \IfFileExists{pst-func.pro}{% \ProvidesFile{pst-func.pro} - [2013/06/03 v. 0.14, PostScript prologue file (hv)] + [2014/05/07 v. 0.16, PostScript prologue file (hv)] \@addtofilelist{pst-func.pro}}{}% \endinput -%% $Id: pst-func.sty 784 2013-06-03 07:24:05Z herbert $ +%% $Id: pst-func.sty 918 2014-05-19 12:32:37Z herbert $ |