summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-func
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-04-09 21:10:42 +0000
committerKarl Berry <karl@freefriends.org>2018-04-09 21:10:42 +0000
commit33c34a3cbe55e895506b7bfb14dc562b87b41a82 (patch)
tree4db2b92876ca96b4347d18dbb808ea6f1950742d /Master/texmf-dist/tex/generic/pst-func
parent7671bfb8ed52d8d9ce3a720eacad7b1fee553c28 (diff)
pst-func (9apr18)
git-svn-id: svn://tug.org/texlive/trunk@47400 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-func')
-rw-r--r--Master/texmf-dist/tex/generic/pst-func/pst-func.tex47
1 files changed, 29 insertions, 18 deletions
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 af5c8c4b35d..8b9572fc3d6 100644
--- a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex
+++ b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex
@@ -31,8 +31,8 @@
% interface to the `xkeyval' package
\pst@addfams{pst-func}
%
-\def\fileversion{0.88}
-\def\filedate{2017/08/24}
+\def\fileversion{0.89}
+\def\filedate{2018/04/08}
\message{`PST-func' v\fileversion, \filedate\space (hv)}
%
\pstheader{pst-func.pro}
@@ -106,7 +106,6 @@
\pst@killglue
\begin@SpecialObj
\use@par
- \typeout{>>> GetZeros}%
\addto@pscode{
tx@FuncDict begin
/xStart #1 def /xEnd #2 def
@@ -543,7 +542,8 @@
\def\psfs@alternateColors{}
\def\pst@alternateColors{alternateColors}
%
-\psset[pst-func]{printValue=false,barwidth=1,labelangle=90,xlabelsep=0,LabelColor=black,LineEndColorL=green,LineEndColorR=red,radiusout=2, radiusinL=0,radiusinR=1.5,LineEnding=true,leftEnd=1,rightEnd=2,VLines=false,fillcolorA=blue!40,fillcolorB=red!40,PrintVLimit=1e-64,Switch2Log=80}
+\psset[pst-func]{printValue=false,barwidth=1,labelangle=90,xlabelsep=0,LabelColor=black,LineEndColorL=green,LineEndColorR=red,radiusout=2, radiusinL=0,radiusinR=1.5,LineEnding=true,leftEnd=1,rightEnd=2,VLines=false,
+ fillcolorA=blue!40,fillcolorB=red!40,PrintVLimit=1e-64,Switch2Log=80}
%
\def\psBinomial{\pst@object{psBinomial}}
\def\psBinomial@i#1#2{\psBinomial@ii#1,,,\@nil{#2}}%
@@ -1714,19 +1714,23 @@
\define@boolkey[psset]{pst-func}[Pst@]{originV}[true]{}
\define@key[psset]{pst-func}{PointName}[I]{\def\psk@func@PointName{#1}}
\define@key[psset]{pst-func}{ydecimals}[2]{\pst@getint{#1}\psk@ydecimals }
-\psset[pst-func]{originV=false,onlyNode=false,ydecimals=2,
+\define@key[psset]{pst-func}{labeldistance}[0]{\def\psk@ldistance{#1 }}
+\psset[pst-func]{originV=false,onlyNode=false,ydecimals=2,labeldistance=0,
PrintCoord=false,onlyYVal=false,Newton=false,PointName=I,Framed=false,xory=false,approx=true}
%
%--------------------------------------------------------------------
%------------- 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\"{u}r die Nullstelle, bzw #1 Startwert f\"{u}r Newton, #3 1. Funktion, #4 2. Funktion, #5 Knotenname
\begingroup
\pst@killglue
- \addbefore@par{framesep=1pt}%fontscale=40,PSfont=NimbusRomNo9L-Regu}%
+ \addbefore@par{labelangle=0,framesep=1pt}%fontscale=40,PSfont=NimbusRomNo9L-Regu}%
+ % labelangle=0 -> take xShift and yShift into account, otherwise xShift=pslabelsep * cos(labelangle)
+ % yShift=pslabelsep * sin(labelangle)
\use@par
\pst@Verb{
/FunctionA
@@ -1767,6 +1771,13 @@
}%
\pnode(! xM yM){#5}%
\addto@pscode{%
+ \iftrue %\psFunc@langle pt>\z@
+ /xShift \psFunc@langle cos \psk@ldistance mul def
+ /yShift \psFunc@langle sin \psk@ldistance mul def
+ \else
+ /xShift \psk@xShift\space def
+ /yShift \psk@yShift\space def
+ \fi
\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
@@ -1811,8 +1822,8 @@
\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
+ xM xShift add \pst@number\psxunit mul
+ yM yShift add \pst@number\psyunit mul
\fi
\pst@usecolor\pslinecolor
\ifPst@PrintCoord
@@ -1831,8 +1842,8 @@
\ifPst@originV
frs neg \psk@fontscale 0.75 mul frs add L
\else
- xM \psk@xShift\space add \pst@number\psxunit mul frs sub
- yM \psk@yShift\space add \pst@number\psyunit mul \psk@fontscale 0.75 mul add frs add L
+ xM xShift add \pst@number\psxunit mul frs sub
+ yM yShift add \pst@number\psyunit mul \psk@fontscale 0.75 mul add frs add L
\fi
0 \psk@fontscale 0.9 mul frs 2 mul add neg rlineto closepath
gsave
@@ -1842,8 +1853,8 @@
\pst@number\pslinewidth SLW \pst@usecolor\pslinecolor \tx@setStrokeTransparency \@nameuse{psls@\pslinestyle} stroke
\fi
\ifPst@originV 0 0 \else
- xM \psk@xShift\space add \pst@number\psxunit mul
- yM \psk@yShift\space add \pst@number\psyunit mul
+ xM xShift add \pst@number\psxunit mul
+ yM yShift add \pst@number\psyunit mul
\fi
xytext
0 spdy neg rmoveto
@@ -1851,8 +1862,8 @@
%------------------------------ Wenn nicht die Form P(a|b) sondern x = a oder y = b oder nur a oder nur b -------------------
\else
\ifPst@originV 0 0 \else
- xM \psk@xShift\space add \pst@number\psxunit mul
- yM \psk@yShift\space add \pst@number\psyunit mul
+ xM xShift add \pst@number\psxunit mul
+ yM yShift add \pst@number\psyunit mul
\fi
/xorytext { moveto schrift
\ifPst@onlyYVal% nur der y-Wert
@@ -1879,8 +1890,8 @@
\ifPst@originV
frs neg \psk@fontscale 0.75 mul frs add L
\else
- xM \psk@xShift\space add \pst@number\psxunit mul frs sub
- yM \psk@yShift\space add \pst@number\psyunit mul \psk@fontscale 0.75 mul add frs add L
+ xM xShift add \pst@number\psxunit mul frs sub
+ yM yShift add \pst@number\psyunit mul \psk@fontscale 0.75 mul add frs add L
\fi
0 \psk@fontscale 0.9 mul frs 2 mul add neg rlineto closepath
gsave
@@ -1890,8 +1901,8 @@
\pst@number\pslinewidth SLW \pst@usecolor\pslinecolor \tx@setStrokeTransparency \@nameuse{psls@\pslinestyle} stroke
\fi
\ifPst@originV 0 0 \else
- xM \psk@xShift\space add \pst@number\psxunit mul
- yM \psk@yShift\space add \pst@number\psyunit mul
+ xM xShift add \pst@number\psxunit mul
+ yM yShift add \pst@number\psyunit mul
\fi
xorytext
\fi