summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-plot
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/pst-plot')
-rw-r--r--graphics/pstricks/contrib/pst-plot/Changes4
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib34
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdfbin1316550 -> 1202217 bytes
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex56
-rw-r--r--graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty2
-rw-r--r--graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex89
6 files changed, 122 insertions, 63 deletions
diff --git a/graphics/pstricks/contrib/pst-plot/Changes b/graphics/pstricks/contrib/pst-plot/Changes
index c7ab6a9df4..a47e13f871 100644
--- a/graphics/pstricks/contrib/pst-plot/Changes
+++ b/graphics/pstricks/contrib/pst-plot/Changes
@@ -1,4 +1,8 @@
----- pst-plot.tex
+1.93 2021-09-23 - dont't use function names from pstricks.pro
+ for own use NArray->NArray@i
+ - fix for LSM plots; needs gsave .. grestore
+ - fix for lualatex and \psparametricplot -> use a userdict
1.92 2019-05-16 - fix for missing position test of special labels
1.91 2018-08-31 - fix for showorigin and triglabels
1.90 2018-03-28 - fix for showoriginfalse and yAxis=false
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
index 24773cb3c6..41a57247ce 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
@@ -1,6 +1,22 @@
%% -*-bibtex-*-
@STRING{tugboat = {TUGboat} }
@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{beiprogramm = {{\TeX}-Beiprogramm}}
+@STRING{bretter = {Bretter, die die Welt bedeuten}}
+@STRING{editorial = {Editorial}}
+@STRING{fremdebuehne = {Von fremden Bühnen}}
+@STRING{fundus = {Aus dem Fundus}}
+@STRING{grusswort = {Grußwort}}
+@STRING{hinterbuehne = {Hinter der Bühne}}
+@STRING{komascript = {\KOMAScript}}
+@STRING{leserbriefe = {Leserbriefe}}
+@STRING{magazin = {Magazin}}
+@STRING{rezensionen = {Bücher und Rezensionen}}
+@STRING{schonimmer = {Was Sie schon immer über {\TeX} wissen wollten, \dots}}
+@STRING{spielplan = {Spielplan}}
+@STRING{theaterkasse = {Von der Theaterkasse}}
+@STRING{theatertage = {{\TeX}-Theatertage}}
+@STRING{tippstricks = {Tipps und Tricks}}
@Book{companion,
author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
@@ -95,3 +111,21 @@ version = {1.42},
location = {Heidelberg and Berlin}
}
+@Article{dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Voß},
+ title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
index a82d02ccc1..1d763d0fe2 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
index 00617d6ad3..c1d7f891cc 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
@@ -1,8 +1,10 @@
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
% $Id: pst-plot-doc.tex 1056 2019-05-17 07:39:59Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
- headexclude,footexclude,oneside,dvipsnames,svgnames]{pst-doc}
+\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,twoside]{pst-doc}
\listfiles
-\usepackage[utf8]{inputenc}
+%\usepackage[utf8]{inputenc}
\usepackage{pst-ode,
pst-node,
pst-calculate,
@@ -31,7 +33,7 @@
\author{Timothy Van Zandt\\Herbert Vo\ss}
\date{\today}
-\maketitle
+\settitle
\begin{abstract}
@@ -40,7 +42,7 @@ of \LPack{pst-xkey} and has a lot of the macros which were recently in
the package \LPack{pstricks-add}. This documentation describes only the
new and changed stuff. For the default behaviour look into the
documentation part of the base \LPack{pstricks} package. You find the
-documentation here: \url{http://mirrors.ctan.org/graphics/pstricks/base/doc/}.
+documentation here: \url{https://mirror.ctan.org/graphics/pstricks/base/doc/}.
\vfill
\noindent
@@ -58,6 +60,7 @@ Peter Hutnick;
Christophe Jorssen;
Uwe Kern;
Alexander Kornrumpf;
+Marcel Krüger;
Manuel Luque;
Patrice Mégret;
Jens-Uwe Morawski;
@@ -321,6 +324,9 @@ is possible. The following examples show how it can be used.
{ const1 x 100 mul dup mul mul Euler const2 neg x 100 mul dup mul mul exp mul 2000 mul}
\end{pspicture}
+
+
+
%--------------------------------------------------------------------------------------
\clearpage
\section{New Macro \nxLcs{psBoxplot}}
@@ -394,8 +400,6 @@ is the black dot.
-
-
The next example uses an external file for the data, which must first be read by the
macro \Lcs{readdata}. The next one creates a horizontal boxplot by rotating
the output with $-90$ degrees.
@@ -950,15 +954,15 @@ The legend has to be defined \emph{before} the environment \Lenv{psgraph}.
\begin{compactitem}
\item \Lcs{pslegend} uses the commands \Lcs{tabular} and \Lcs{endtabular}, which are only available
- when running \LaTeX. With \TeX\ you have to redefine the macro \Lcs{pslegend@ii}:
+ when running \LaTeX. With \TeX\ you have to redefine the macro \nxLcs{pslegend@ii}:
\begin{lstlisting}
\def\pslegend@ii[#1](#2){\rput[#1](!#2){\psframebox[style=legendstyle]{%
\footnotesize\tabcolsep=2pt%
\tabular[t]{@{}ll@{}}\pslegend@text\endtabular}}\gdef\pslegend@text{}}
\end{lstlisting}
\item The fontsize can be changed locally for each cell or globally, when also redefining the
- macro \Lcs{pslegend@ii}.
-\item If you want to use more than two columns for the table or a shadow box, then redefine \Lcs{pslegend@ii}.
+ macro \nxLcs{pslegend@ii}.
+\item If you want to use more than two columns for the table or a shadow box, then redefine \nxLcs{pslegend@ii}.
\end{compactitem}
The macro \Lcs{psframebox} uses the style \Lkeyval{legendstyle} which is preset to \Lkeyset{fillstyle=solid},
@@ -1079,8 +1083,8 @@ usual way. Only the additional value \Lkeyval{inner} is valid for
\Lkeyword{trigLabels} option, the macros \Lcs{pshlabel} and
\Lcs{psvlabel} shouldn't be redefined, because the package does
it itself internally in these cases. However, if you need a
-redefinition, then do it for \Lcs{pst@@@hlabel} and
-\Lcs{pst@@@vlabel} with
+redefinition, then do it for \nxLcs{pst@@@hlabel} and
+\nxLcs{pst@@@vlabel} with
\begin{lstlisting}[style=syntax]
\makeatletter
@@ -1153,12 +1157,12 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and
\Lkeyword{ury} & length & 0pt & \pageref{psgraphoptions}\\
\Lkeyword{valuewidth} & integer & 10 & \pageref{values}\\
\Lkeyword{xAxis} & boolean & \true & \pageref{xyAxes}\\%ok
-\Lkeyword{xAxisLabel} & literal & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
-\Lkeyword{xAxisLabelPos} & (x,y) or empty & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{xAxisLabel} & literal & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{xAxisLabelPos} & (x,y) or empty & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
\Lkeyword{xDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{xEnd} & integer or empty & \{\} & \pageref{nxend}\\
-\Lkeyword{xLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\
-\Lkeyword{xlabelFactor} & anything & \{\Lcs{@empty}\} & \pageref{labelfactor}\\
+\Lkeyword{xLabels} & list & \{\nxLcs{empty}\} & \pageref{xLabels}\\
+\Lkeyword{xlabelFactor} & anything & \{\nxLcs{@empty}\} & \pageref{labelfactor}\\
\Lkeyword{xlabelFontSize} & macro & \{\} & \pageref{labelfontsize}\\
\Lkeyword{xlabelOffset} & length & 0 & \pageref{labelOffset}\\
\Lkeyword{xlabelPos} & \Lkeyval{bottom},\Lkeyval{axis},\Lkeyval{top}
@@ -1183,12 +1187,12 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and
\Lkeyword{xyDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{xylogBase} & integer or empty & \{\} & \pageref{xylogbase}\\
\Lkeyword{yAxis} & boolean & \true & \pageref{xyAxes}\\%ok
-\Lkeyword{yAxisLabel} & literal & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
-\Lkeyword{yAxisLabelPos} & (x,y) or empty & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{yAxisLabel} & literal & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{yAxisLabelPos} & (x,y) or empty & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
\Lkeyword{yDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{yEnd} & integer or empty & \{\} & \pageref{ystartend}\\
-\Lkeyword{yLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\
-\Lkeyword{ylabelFactor} & literal & \{\Lcs{empty}\} & \pageref{labelfactor}\\
+\Lkeyword{yLabels} & list & \{\nxLcs{empty}\} & \pageref{xLabels}\\
+\Lkeyword{ylabelFactor} & literal & \{nx\Lcs{empty}\} & \pageref{labelfactor}\\
\Lkeyword{ylabelFontSize} & macro & \{\} & \pageref{labelfontsize}\\
\Lkeyword{ylabelOffset} & length & 0 & \pageref{labelOffset}\\
\Lkeyword{ylabelPos} & \Lkeyval{left}|\Lkeyval{axis}|\Lkeyval{right}
@@ -2493,6 +2497,9 @@ This mode in math is also called double logarithmic. It is a
combination of the two foregoing modes and the function is now
$y=\log x$ and is shown in the following example.
+\psset{xyAxes=true}
+
+
\medskip
\begin{LTXexample}[width=7cm]
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
@@ -2737,6 +2744,10 @@ This is only a demonstration that the default option \xLkeyword{xylogBase}=\{\}
ticksize=10pt,subtickcolor=blue,subticksize=0.75,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)
\end{lstlisting}
+
+\psset{xyAxes=true}
+
+
\begin{LTXexample}[width=5.5cm]
\pspicture(5,5.5)
\psaxes[subticks=4,ticksize=6pt,subticksize=0.5,%
@@ -3340,6 +3351,9 @@ best all data records.
\bgroup
\centering
\psset{lly=-.5cm}
+\begin{filecontents*}[force]{data/LSM.data}
+0 1 1 3 2.8 4 3 2.9 2 5 4 4 5 5.5 6 8.2 8 7
+\end{filecontents*}
\readdata{\data}{data/LSM.data}
\begin{psgraph}[arrows=->](0,0)(0,0)(8,8){.5\textwidth}{!}
\listplot[plotstyle=dots]{\data}
@@ -3349,7 +3363,7 @@ best all data records.
\begin{lstlisting}
-\begin{filecontents*}{data/LSM.data}
+\begin{filecontents*}[force]{data/LSM.data}
0 1 1 3 2.8 4 3 2.9 2 5 4 4 5 5.5 6 8.2 8 7
\end{filecontents*}
\psset{lly=-.5cm}
diff --git a/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty b/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
index 1e9c4f018d..01ede3063f 100644
--- a/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
+++ b/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
@@ -29,7 +29,7 @@
\RequirePackage{pstricks}
\RequirePackage{pst-xkey}
\RequirePackage{multido}
-\ProvidesPackage{pst-plot}[2011/04/13 package wrapper for pst-plot.tex (hv)]
+\ProvidesPackage{pst-plot}[2021/09/23 package wrapper for pst-plot.tex (hv)]
\input{pst-plot.tex}
\ProvidesFile{pst-plot.tex}
[\filedate\space \fileversion\space `pst-plot' (tvz,hv)]
diff --git a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
index 2436a84739..a426f7fb51 100644
--- a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
+++ b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
@@ -1,4 +1,4 @@
-% $Id: pst-plot.tex 1056 2019-05-17 07:39:59Z herbert $
+% $Id: pst-plot.tex 1074 2019-07-16 16:07:00Z herbert $
%%
%% BEGIN pst-plot.tex
%%
@@ -23,8 +23,8 @@
\ifx\PSTFPloaded\endinput\else \input pst-fp.tex \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
%
-\def\fileversion{1.92}
-\def\filedate{2019/05/16}
+\def\fileversion{1.93}
+\def\filedate{2021/09/23}
\message{ v\fileversion, \filedate\space (tvz,hv)}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -378,11 +378,14 @@ D\space##1%
} repeat
/u xiSquare fi mul xi xifi mul sub n xiSquare mul xi dup mul sub div def
/v n xifi mul xi fi mul sub n xiSquare mul xi dup mul sub div def
+ gsave
\Pst@Debug\space 0 gt { % print the equation
- /NimbusSanL-Regu findfont 12 scalefont setfont
+ \ifpstGSfonts /NimbusSanL-Regu \else /Helvetica \fi
+ findfont 12 scalefont setfont
0 -50 moveto (y=) show % print y=
v \pst@number\psyunit \pst@number\psxunit div div 20 string cvs show ( x+) show % m*x+
u \pst@number\psyunit div 20 string cvs show } if
+ grestore
newpath
(\psk@xStart) length 0 gt % special start value?
{ \psk@xStart\space \pst@number\psxunit mul }
@@ -417,64 +420,64 @@ D\space##1%
\addto@pscode{
/Barwidth \number\Add@barwidth 2 div def
/Endwidth Barwidth \psk@arrowlength\space mul def
- NArray bubblesort
- /NArray ED % save sorted array
- [ NArray { yUnit mul } forall ] /NArray ED % multiply with y unit
- NArray 0 get /MinVal ED % save minimum
- NArray m 1 sub get /MaxVal ED % maximum
+ NArray@i bubblesort
+ /NArray@i ED % save sorted array
+ [ NArray@i { yUnit mul } forall ] /NArray@i ED % multiply with y unit
+ NArray@i 0 get /MinVal ED % save minimum
+ NArray@i m 1 sub get /MaxVal ED % maximum
m 2 div cvi /M ED % the middle
- NArray length 2 mod 0 eq { % even numbers of entries
- M 1 sub NArray exch get % even number of values
- NArray M get % and the upper one
+ NArray@i length 2 mod 0 eq { % even numbers of entries
+ M 1 sub NArray@i exch get % even number of values
+ NArray@i M get % and the upper one
add 2 div /Median ED % the median
}{
- NArray M get /Median ED % odd numbers of values
+ NArray@i M get /Median ED % odd numbers of values
} ifelse
m 4 mod 0 eq { % get the lower Quartil even/odd
- m 4 div cvi dup 1 sub NArray exch get
- exch NArray exch get
+ m 4 div cvi dup 1 sub NArray@i exch get
+ exch NArray@i exch get
% M 2 div cvi 1 add dup /M2 ED % save middle index
-% 1 sub NArray exch get
-% NArray M2 get
+% 1 sub NArray@i exch get
+% NArray@i M2 get
add 2 div floor /LowerQuartil ED
}{
- NArray M 2 div cvi get /LowerQuartil ED
+ NArray@i M 2 div cvi get /LowerQuartil ED
} ifelse % end even/odd
m 0.75 mul dup dup cvi sub 0 eq { % get the upper Quartil
% 0.75*m is an integer
- cvi dup 1 sub NArray exch get exch NArray exch get
+ cvi dup 1 sub NArray@i exch get exch NArray@i exch get
% M 1.5 mul cvi 1 add dup /M3 ED
-% 1 sub NArray exch get
-% NArray M3 get
+% 1 sub NArray@i exch get
+% NArray@i M3 get
add 2 div floor /UpperQuartil ED
}{ % upper quartil
- NArray m 0.75 mul floor cvi get /UpperQuartil ED
+ NArray@i m 0.75 mul floor cvi get /UpperQuartil ED
} ifelse
%
/IQL UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul def
0 1 m 1 sub { % Index on stack
dup /Index ED
- NArray exch get LowerQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get LowerQuartil sub abs IQL sub 0 gt {
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction
+ 0 NArray@i Index get \psk@postAction
Dot
- NArray Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
+ NArray@i Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
dup /MinVal ED put % replace with 1.5 IQL
- NArray Index 1 add get /MinVal ED
+ NArray@i Index 1 add get /MinVal ED
} { exit } ifelse
} for
m 1 sub -1 0 { % Index on stack
dup /Index ED
- NArray exch get UpperQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get UpperQuartil sub abs IQL sub 0 gt {
% newpath
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction\space
+ 0 NArray@i Index get \psk@postAction\space
Dot
- NArray Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
+ NArray@i Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
dup /MaxVal ED put % replace with 1.5 IQL
- NArray Index 1 sub get /MaxVal ED
+ NArray@i Index 1 sub get /MaxVal ED
}{ exit } ifelse
} for
%
@@ -544,8 +547,8 @@ D\space##1%
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{
/D {} def
- [ #1 ] /NArray ED
- NArray aload length /m ED
+ [ #1 ] /NArray@i ED
+ NArray@i aload length /m ED
/xUnit \pst@number\psxunit def
/yUnit \pst@number\psyunit def
}%
@@ -1082,11 +1085,12 @@ D\space##1%
\def\parametricplot@i#1#2{\@ifnextchar[{\parametricplot@x{#1}{#2}}{\parametricplot@x{#1}{#2}[]}}
\def\parametricplot@x#1#2[#3]{\@ifnextchar[{\parametricplot@xi{#1}{#2}[#3]}{\parametricplot@xi{#1}{#2}[#3][]}}
\def\parametricplot@xi#1#2[#3][#4]#5{%
- \pst@killglue%
+ \pst@killglue
\begingroup%
- \use@par%
+ \use@par
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{%
+ 20 dict begin
#3 %prefix PS code
\psplot@init
/t #1 def
@@ -1126,7 +1130,7 @@ D\space##1%
\@pstfalse
\@nameuse{testqp@\psplotstyle}%
\if@pst\parametricplot@ii{#4}\else\parametricplot@iii{#4}\fi
- \endgroup%
+ \endgroup
\ignorespaces}
%
\def\parametricplot@ii#1{% para is the post code
@@ -1138,7 +1142,8 @@ D\space##1%
/t 3 -1 roll def 2 copy gt { exch } if pop
/t t 3 -1 roll add dup t1 gt {pop t1} if def
xy \@nameuse{doqp@\psplotstyle}
- t t1 eq { exit } if } loop}%
+ t t1 eq { exit } if } loop
+ }%
\else\pst@killglue%
\addto@pscode{%
/ps@Exit false def
@@ -1154,7 +1159,7 @@ D\space##1%
} if
}%
\fi%
- \addto@pscode{ #1 }%
+ \addto@pscode{ #1 end }% also end of userdict
\@nameuse{endqp@\psplotstyle}}
%
\def\parametricplot@iii#1{%
@@ -1170,7 +1175,8 @@ D\space##1%
t t1 eq { exit } if } loop
xy
2 copy \tx@UserCoor 2 array astore /FinalState ED
- n 2 roll}%
+ n 2 roll
+ }%
\else\pst@killglue%
\addto@pscode{
mark
@@ -1183,9 +1189,10 @@ D\space##1%
} repeat
/t t1 def
xy
- n 2 roll}%
- \fi%
- \addto@pscode{ #1 }%
+ n 2 roll
+ }%
+ \fi
+ \addto@pscode{ #1 end}% also end of userdict
\@nameuse{endplot@\psplotstyle}}
%
%