summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-03-05 16:48:40 +0000
committerKarl Berry <karl@freefriends.org>2009-03-05 16:48:40 +0000
commit2fc1044994b1fb6b87f31e03f19550390e2433d6 (patch)
tree184ba9ae6a314e034e8e77c102c2d4b7211252c4 /Master
parentee0a8f0a1356961de5774c1001ae13f270da85ba (diff)
pstricks-add 3.18 (3mar09)
git-svn-id: svn://tug.org/texlive/trunk@12315 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/Changes6
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdfbin1981930 -> 2011245 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex159
-rw-r--r--Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex318
4 files changed, 278 insertions, 205 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/Changes b/Master/texmf-dist/doc/generic/pstricks-add/Changes
index 4dba0f8bacc..3dabe9a7c81 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 83 2009-01-23 19:59:51Z herbert $
+%% $Id: Changes 99 2009-03-03 10:37:34Z herbert $
%%
pstricks-add.pro -----------
v 0.21 2008-10-13 - add bubblesort macro
@@ -34,7 +34,9 @@ pstricks-add.sty ----------- (hv)
pstricks-add.tex ----------- (Dominik Rodriguez/hv)
- v 3.18 2009-01-23 - add optional argument for \psplot and \parametricplot
+ v 3.18 2009-03-03 - fix bug with division in the \psgraph macro
+ - add macro \psComment
+ - add optional argument for \psplot and \parametricplot
for additional PostScript settings
- add macro \psGetSlope
- add \psForeach (without grouping its contents)
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
index f006870f903..469f538c432 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
Binary files differ
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 2f8fef61632..ee9879b5fbf 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 81 2009-01-21 11:26:09Z herbert $
+%% $Id: pstricks-add-doc.tex 99 2009-03-03 10:37:34Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
@@ -1115,7 +1115,7 @@ It is now possible to have arrows inside lines and not only at the
beginning or the end. The new defined options
\psset{arrowscale=2,linecolor=red,unit=1cm,linewidth=1.5pt}
-\begin{longtable}{l|p{9cm}|p{2.2cm}}
+\begin{longtable}{l|>{\RaggedRight}p{8.5cm}|p{2.2cm}}
Name & Example & Output\\\hline
\endfirsthead
Name & Example & Output\\\hline
@@ -1159,7 +1159,7 @@ Name & Example & Output\\\hline
\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowFill=false,\%}
\hspace*{20pt}\texttt{arrowinset=0]\{<<->>\}(0,0)(2,0)} &
\psline[ArrowFill=false,arrowinset=0]{<<->>}(0,0)(2,0)\\
-\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowInside=->,\%}
+\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowInside=->,\%}\newline
\hspace*{20pt}\texttt{arrowinset=0,\%}\newline
\hspace*{20pt}\texttt{ArrowFill=false,\%}\newline
\hspace*{20pt}\texttt{ArrowInsideNo=2,\%}\newline
@@ -1174,7 +1174,7 @@ relative to the length of the whole line. $0.25$ means at $25\%$
of the line length. The peak of the arrow gets the coordinates
which are calculated by the macro. If you want arrows with an
absolute position difference, then choose a value greater than
-\verb|1|, e.g. \verb|10| which places an arrow every 10 pt. The
+\verb|1|, e.\,g. \verb|10| which places an arrow every 10~pt. The
default unit \verb|pt| cannot be changed.
\medskip
@@ -1570,6 +1570,7 @@ These examples also need the package \verb|pst-node|.
\end{pspicture}
\end{LTXexample}
+\clearpage
\subsection{Special arrows \texttt{v--V},\texttt{t--T}, and \texttt{f--F}}
@@ -1637,7 +1638,7 @@ name & meaning\\\hline
\subsection{Special arrow option \texttt{arrowLW}}
-Only for the arrowtype \texttt{o} and \texttt{*} it is possible to
+Only for the arrowtype \Lnotation{o} and \Lnotation{*} it is possible to
set the arrowlinewidth with the optional keyword \Lkeyword{arrowLW}.
When scaling an arrow by the keyword \Lkeyword{arrowscale} the width
of the borderline is also scaled. With the optional argument
@@ -1685,8 +1686,8 @@ With the option \Lkeyword{intSeparator} the symbol can be changed to any any non
Transparency is now part of the main \texttt{pstricks} package.
But pay attention, the names and syntax have changed and you need
-to run \verb+ps2pdf+ with the option
-\verb+-dCompatibilityLevel=1.4+.
+to run \Lprog{ps2pdf} with the option
+\Loption{-dCompatibilityLevel}=1.4.
%--------------------------------------------------------------------------------------
@@ -1812,7 +1813,7 @@ calculated on the \PS side.
\uput[270](11,0){\textbf{\white$\lambda$(nm)}}
\end{pspicture}}
-Spectrum of hydrogen emission (Manuel Luque)
+\Index{Spectrum} of \Index{hydrogen} emission (Manuel Luque)
\end{center}
\begin{lstlisting}
@@ -1880,7 +1881,7 @@ Spectrum of hydrogen emission (Manuel Luque)
\subsection{Gouraud shading}
%--------------------------------------------------------------------------------------
\begin{quotation}
-Gouraud shading is a method used in computer graphics to simulate the differing effects of
+\Index{Gouraud} shading is a method used in computer graphics to simulate the differing effects of
light and colour across the surface of an object. In practice, Gouraud shading is used to
achieve smooth lighting on low-polygon surfaces without the heavy computational requirements
of calculating lighting for each pixel. The technique was first presented by Henri Gouraud in 1971.\\
@@ -2101,10 +2102,10 @@ is
\end{pspicture}
\end{LTXexample}
-The only catch for \verb+\ncdiagg+ is that you need the right
-value for \verb+lineAngle+. If the node connection is on the wrong
+The only catch for \Lcs{ncdiagg} is that you need the right
+value for \Lkeyword{lineAngle}. If the node connection is on the wrong
side of the second node, then choose the corresponding angle,
-e.g.: if $20$ is wrong then take $-160$, which differs by $180$.
+e.\,g.: if $20$ is wrong then take $-160$, which differs by $180$.
\begin{LTXexample}[width=4cm]
@@ -2134,8 +2135,8 @@ e.g.: if $20$ is wrong then take $-160$, which differs by $180$.
%--------------------------------------------------------------------------------------
\section{\nxLcs{ncbarr}}
%--------------------------------------------------------------------------------------
-This has the same behaviour as \verb+ncbar+, but has 5 segments
-and all are horizontal ones. This is the reason why \verb+angleA+
+This has the same behaviour as \Lcs{ncbar}, but has 5 segments
+and all are horizontal ones. This is the reason why \Lkeyword{angleA}
must be $0$ or alternatively $180$. All other values are set to
$0$ by the macro. The intermediate horizontal line is symmetrical
to the distance of the two nodes.
@@ -2166,7 +2167,7 @@ to the distance of the two nodes.
\section{\nxLcs{psRelNode} and \nxLcs{psDefPSPNodes}}
%--------------------------------------------------------------------------------------
With these macros it is possible to put a node relative to a given line or given
-\verb+pspicture+-environment. In the frist case the parameters are
+\Lenv{pspicture}-environment. In the frist case the parameters are
the angle and the length factor:
\begin{lstlisting}[style=syntax]
\psRelNode(<P0>)(<P1>){<length factor>}{<end node name>}
@@ -2178,13 +2179,13 @@ the end node name must be a valid nodename and shouldn't contain
any of the special PostScript characters. There are two valid
options:
-\begin{tabularx}{\linewidth}{l|l|X}
-name & default & meaning\\\hline \verb|angle| & $0$ & angle
-between the given line $\overline{P_0P_1}$ and the new one
-$\overline{P_0P_{endNode}}$\tabularnewline \verb+trueAngle+ &
-false & defines whether the angle refers to the seen line or to
+\begin{tabularx}{\linewidth}{@{} l|l| X @{} }
+name & default & meaning\\\hline
+\Lkeyword{angle} & $0$ & angle between the given line $\overline{P_0P_1}$ and the new one
+ $\overline{P_0P_{endNode}}$\tabularnewline
+\Lkeyword{trueAngle} & \false & defines whether the angle refers to the seen line or to
the mathematical one, which respect the scaling factors
-\verb+xunit+ and \verb+yunit+.
+\Lkeyword{xunit} and \Lkeyword{yunit}.
\end{tabularx}
\begin{LTXexample}[width=7cm]
@@ -2199,10 +2200,10 @@ the mathematical one, which respect the scaling factors
\end{pspicture}
\end{LTXexample}
-In the second case the new macro \verb+\psDefPSPNodes+ defines nine nodes that corresponds to
+In the second case the new macro \Lcs{psDefPSPNodes} defines nine nodes that corresponds to
nine particular points (namely bottom left, bottom center,
bottom right, center left, center center, center right, top left,
-top center, top right) of the \verb+pspicture+ box.
+top center, top right) of the \Lenv{pspicture} box.
\begin{LTXexample}[width=6cm,wide=false]
\begin{pspicture}[showgrid=true](-1,-1)(4,4)
@@ -2237,18 +2238,18 @@ and can be modified in the same way.
With this macro it is possible to plot lines relative to a given one. Parameter are
the angle and the length factor:
-\begin{lstlisting}[style=syntax]
-\psRelLine(<P0>)(<P1>){<length factor>}{<end node name>}
-\psRelLine{<arrows>}(<P0>)(<P1>){<length factor>}{<end node name>}
-\psRelLine[<options>](<P0>)(<P1>){<length factor>}{<end node name>}
-\psRelLine[<options>]{<arrows>}(<P0>)(<P1>){<length factor>}{<end node name>}
-\end{lstlisting}
+\begin{BDef}
+\Lcs{psRelLine}\Largr{P0}\Largr{P1}\Largb{length factor}\Largb{<end node name>}\\
+\Lcs{psRelLine}\OptArg{\Largb{arrows}}\Largr{P0}\Largr{P1}\Largb{length factor}\Largb{end node name}\\
+\Lcs{psRelLine}\OptArgs\Largr{P0}\Largr{P1}\Largb{length factor}\Largb{end node name}\\
+\Lcs{psRelLine}\OptArgs\OptArg{\Largb{arrows}}\Largr{P0}\Largr{P1}\Largb{length factor}\Largb{end node name}
+\end{BDef}
The length factor relates to the distance $\overline{P_0P_1}$ and
the end node name must be a valid nodename and shouldn't contain
any of the special PostScript characters. There are two valid
options which are described in the foregoing section for
-\verb+\psRelNode+.
+\Lcs{psRelNode}.
The following two figures show the same, the first one with a scaling different to $1:1$,
this is the reason why the end points are on an ellipse and not on a circle like in the
@@ -2290,7 +2291,7 @@ second figure.
\medskip
The following figure has also a different scaling, but has set the
-option \verb+trueAngle+, all angles refer to "what you see".
+option \Lkeyword{trueAngle}, all angles refer to "what you see".
\begin{LTXexample}[width=6.5cm]
\psset{yunit=2,xunit=1}
@@ -2581,12 +2582,12 @@ the arrows, one for the x-label and one for the y-label. If you
want only a y-label, then leave the x one empty. A missing y-label
is possible. The following examples show how it can be used.
-The option \verb+tickstyle=full|top|bottom+ no longer works in the
-usual way. Only the additional value \texttt{inner} is valid for
+The option \Lkeyset{tickstyle=full}|\Lkeyval{top}|\Lkeyval{bottom} no longer works in the
+usual way. Only the additional value \Lkeyval{inner} is valid for
\LPack{pstricks-add}, because everything can be set by the
-\verb+ticksize+ option. When using the \verb+comma+ or
-\verb+trigLabels+ option, the macros \verb+\pshlabel+ and
-\verb+\psvlabel+ shouldn't be redefined, because the package does
+\verb+ticksize+ option. When using the \Lkeyword{comma} or
+\verb+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
@@ -2689,9 +2690,9 @@ yAxis=true|false
Sometimes there is only a need for one axis with ticks. In this
case you can set one of the preceding options to false. The
-\verb+xyAxes+ only makes sense when you want to set both x and y
+\Lkeyword{xyAxes} only makes sense when you want to set both x and y
to true with only one command, back to the default, because with
-\verb+xyAxes=false+ you get nothing with the \verb+psaxes+ macro.
+\Lkeyword{xyAxes}=\false you get nothing with the \Lcs{psaxes} macro.
\resetOptions%
@@ -2713,8 +2714,8 @@ to true with only one command, back to the default, because with
\end{LTXexample}
As seen in the example, a single y axis gets the labels on the left side. This can be
-changed with the option \verb+ylabelPos+ or with \verb+xlabelPos+ for the
-x-axis.
+changed with the option \Lkeyword{ylabelPos} or with \Lkeyword{xlabelPos} for the
+$x$-axis.
%--------------------------------------------------------------------------------------
@@ -2725,7 +2726,7 @@ Syntax:
labels=all|x|y|none
\end{lstlisting}
-This option is also already in the \verb+pst-plot+ package and
+This option is also already in the \LPack{pst-plot} package and
only mentioned here for completeness.
\begin{LTXexample}[width=3.5cm]
@@ -2767,10 +2768,9 @@ ylabelPos=left|axis|right
By default the labels for ticks are placed at the bottom (x axis)
and left (y-axis). If both axes are drawn in the negative
direction the default is top (x axis) and right (y axis). It be
-changed with the two options \texttt{xlabelPos} and
-\texttt{ylabelPos}. With the value \texttt{axis} the user can
-place the labels depending on the value of \texttt{labelsep},
-which is taken into account for \texttt{axis}.
+changed with the two options \Lkeyword{xlabelPos} and
+\Lkeyword{ylabelPos}. With the value \Lkeyval{axis} the user can
+place the labels depending on the value of \Lkeyword{labelsep}, which is taken into account for \texttt{axis}.
\resetOptions%
\bigskip
@@ -2812,7 +2812,7 @@ which is taken into account for \texttt{axis}.
%--------------------------------------------------------------------------------------
This option sets the horizontal \textbf{and} vertical font size
-for the labels depending on the option \verb+mathLabel+ for the
+for the labels depending on the option \Lkeyword{mathLabel} for the
text or the math mode. It will be overwritten when another package
or a user defines
\begin{lstlisting}[style=syntax]
@@ -2821,10 +2821,9 @@ or a user defines
\def\pshlabel#1{$\labelFontSize ...$}% for mathLabel=true (default)
\def\psvlabel#1{$\labelFontSize ...$}% for mathLabel=true (default)
\end{lstlisting}
-in another way. Note that for \verb+mathLabel=true+ the font size
-must be set by one of the mathematical styles \verb+\textstyle+,
-\verb+\displaystyle+, \verb+\scriptstyle+, or
-\verb+\scriptscriptstyle+.
+in another way. Note that for \Lkeyword{mathLabel}=\true the font size
+must be set by one of the mathematical styles \Lcs{textstyle},
+\Lcs{displaystyle}, \Lcs{scriptstyle}, or \Lcs{scriptscriptstyle}.
\begin{LTXexample}[width=6cm]
\psset{mathLabel=false}
@@ -2878,7 +2877,7 @@ Syntax:
comma=false|true
\end{lstlisting}
Setting this option to true gives labels with a comma as a decimal separator instead
-of the dot. \verb|comma| and \verb|comma=true| is the same.
+of the dot. \Lkeyword{comma} and \verb|comma=true| is the same.
\resetOptions
\medskip
@@ -2903,7 +2902,7 @@ yDecimals=<any>
By default the labels of the axes get numbers with or without
decimals, depending on the numbers. With these options
\verb|??Decimals| it is possible to determine the decimals, where
-the option \verb|xyDecimals| sets this identical for both axes.
+the option \Lkeyword{xyDecimals} sets this identical for both axes.
The default setting \verb|{}| means, that you'll get the standard
behaviour.
@@ -3304,7 +3303,7 @@ only mentioned here for some completeness.
\end{pspicture}
\end{LTXexample}
-Single ticks can be set with the two macros
+Single ticks with labels can be set with the two macros \Lcs{psxTick} and \Lcs{psyTick}:
%
\begin{lstlisting}[style=syntax]
\psxTick[options](x value){label}
@@ -3329,8 +3328,8 @@ Syntax:
tickstyle=full|top|bottom|inner
\end{lstlisting}
-The value \texttt{inner} (not available with the basic \texttt{pstricks} package) is
-only valid for the axes style \texttt{frame}.
+The value \Lkeyval{inner} (not available with the basic \LPack{pstricks} package) is
+only valid for the axes style \Lkeyval{frame}.
\medskip
\begin{LTXexample}[pos=t]
@@ -3348,9 +3347,8 @@ only valid for the axes style \texttt{frame}.
\subsection{\texttt{ticksize}, \texttt{xticksize}, \texttt{yticksize}}
%--------------------------------------------------------------------------------------
-With this new option the recent \verb+tickstyle+ option of
-\verb+pst-plot+ is obsolete and no longer supported by
-\LPack{pstricks-add}.
+With this new option the recent \Lkeyword{tickstyle} option of
+\LPack{pst-plot} is obsolete and no longer supported by \LPack{pstricks-add}.
Syntax:
\begin{lstlisting}[style=syntax]
@@ -3362,9 +3360,9 @@ yticksize=value[unit]
yticksize=value[unit] value[unit]
\end{lstlisting}
-\verb+ticksize+ sets both values. The first one is left/below and the optional second
-one is right/above of the coordinate axis. The old setting \verb+tickstyle=bottom+ is
-now easy to realize, e.g.: \verb+ticksize=-6pt 0+, or vice versa, if the coordinates
+\Lkeyword{ticksize} sets both values. The first one is left/below and the optional second
+one is right/above of the coordinate axis. The old setting \Lkeyset{tickstyle=bottom} is
+now easy to realize, e.g.: \Lkeyword{ticksize}=-6pt 0, or vice versa, if the coordinates
are set from positive to negative values.
\medskip
@@ -3402,7 +3400,7 @@ Syntax:
subticks=<number>
\end{lstlisting}
-By default subticks cannot have labels.
+By default \Lkeyword{subticks} cannot have labels.
\begin{LTXexample}[width=3.5cm]
\psset{ticksize=6pt}
@@ -3441,7 +3439,7 @@ xsubticksize=value
ysubticksize=value
\end{lstlisting}
-\verb+subticksize+ sets both values, which are relative to the ticksize length and
+\Lkeyword{subticksize} sets both values, which are relative to the ticksize length and
can have any number. 1 sets it to the same length as the main ticks.
\begin{LTXexample}[preset=\centering,pos=t]
@@ -3467,7 +3465,7 @@ xsubtickcolor=<color>
ysubtickcolor=<color>
\end{lstlisting}
-\verb+tickcolor+ and \verb+subtickcolor+ set both for the x- and the y-Axis.
+\Lkeyword{tickcolor} and \Lkeyword{subtickcolor} set both for the $x$- and the $y$-Axis.
\begin{LTXexample}[preset=\centering,pos=t]
\begin{pspicture}(0,-0.75)(10,1)
@@ -4685,6 +4683,7 @@ we subtract 0.003 from all x-values and then scale them with
\end{lstlisting}
+\clearpage
%--------------------------------------------------------------------------------------
\section{Polar plots}
%--------------------------------------------------------------------------------------
@@ -4692,7 +4691,7 @@ we subtract 0.003 from all x-values and then scale them with
With the option \Lkeyword{polarplot}=\false|\true\ it is possible to use \Lcs{psplot}
in polar mode:
\begin{BDef}
-\Lcs{psplot}\OptArg{polarplot=true,...}\Largb{<start angle>}\Largb{<end angle>}\%
+\Lcs{psplot}\OptArg{polarplot=true,...}\Largb{<start angle>}\Largb{<end angle>}\%\\
\OptArg{PS command}\Largb{<r(alpha)>}
\end{BDef}
@@ -4761,6 +4760,7 @@ x sin dup mul x cos dup mul add sqrt
\resetOptions
+\clearpage
%--------------------------------------------------------------------------------------
\section{\nxLcs{pstScalePoints}}
%--------------------------------------------------------------------------------------
@@ -4798,10 +4798,6 @@ Changes with \Lcs{pstScalePoints} are always global to all following \Lcs{listpl
macros. This is the reason why it is a good idea to reset the values at the end of the
\Lenv{pspicture} environment.
-\begin{BDef}
-\pstScalePoints(1,1){}{}
-\end{BDef}
-
\clearpage
%--------------------------------------------------------------------------------------
@@ -4896,6 +4892,7 @@ objects. Lines can also be transparent when the option
\end{lstlisting}
+\clearpage
%--------------------------------------------------------------------------------------
\section{\texttt{psgraph} environment}
%--------------------------------------------------------------------------------------
@@ -5240,6 +5237,7 @@ depending on the linewidth of the document.
\resetOptions
+\clearpage
%--------------------------------------------------------------------------------------
\section{\nxLcs{psStep}}
%--------------------------------------------------------------------------------------
@@ -5323,7 +5321,7 @@ the mathematical function in postfix or algebraic notation (with
\end{pspicture}
\end{LTXexample}
-
+\clearpage
%--------------------------------------------------------------------------------------
\section{\nxLcs{psplotTangent} and option \nxLkeyword{Tnormal}}
%--------------------------------------------------------------------------------------
@@ -5519,6 +5517,7 @@ a \Lnotation{|} (see example).
\resetOptions
+\clearpage
\section{Successive derivatives of a function}
The new PostScript function \Lps{Derive} has been added for
@@ -5569,6 +5568,7 @@ the cosine.
\end{LTXexample}
+\clearpage
\section{Variable step for plotting a curve}
\subsection{Theory}
@@ -5709,6 +5709,7 @@ Impossible to draw, but let's try!
+\clearpage
\subsection{A really complecated function}
Just appreciate the difference between the normal behavior and the plotting with the
@@ -5737,6 +5738,7 @@ Just appreciate the difference between the normal behavior and the plotting with
\end{lstlisting}
+\clearpage
\subsection{A hyperbola}
\begin{center}
@@ -5797,6 +5799,7 @@ Just appreciate the difference between the normal behavior and the plotting with
\end{lstlisting}
+\clearpage
\subsection{The variable step algorithm together with the \texttt{IfTE} primitive}
\begin{center}
@@ -5825,6 +5828,7 @@ Just appreciate the difference between the normal behavior and the plotting with
+\clearpage
\subsection{Using \nxLcs{parametricplot}}
\begin{BDef}
@@ -6271,6 +6275,7 @@ The new options are:
+\clearpage
\subsection{Variable step for differential equations}
A new algorithm has been added for adjusting the step according to the variations of
@@ -6456,6 +6461,7 @@ the algortihm.
+\clearpage
\subsection{Equation of second order}
Here is the traditional simulation of two stars attracting each
@@ -6610,6 +6616,7 @@ stars} \egroup
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{Simple equation of first order $y'=y$}
%--------------------------------------------------------------------------------------
@@ -6666,6 +6673,7 @@ with $y_0=1$:
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{$y'=\displaystyle\frac{2-ty}{4-t^2}$}% $
%--------------------------------------------------------------------------------------
@@ -6739,6 +6747,7 @@ The following example uses $y_0=1$.
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{$y'=-2xy$}
%--------------------------------------------------------------------------------------
@@ -6789,6 +6798,7 @@ For $y(-1)=\frac{1}{e}$ we get $y(x)=e^{-x^2}$.
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{Spiral of Cornu}
%--------------------------------------------------------------------------------------
@@ -6822,6 +6832,7 @@ The integrals of \Index{Fresnel}:
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{Lotka-Volterra}
%--------------------------------------------------------------------------------------
@@ -6901,6 +6912,7 @@ converters and many connectors.
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{$y''=y$}
%--------------------------------------------------------------------------------------
@@ -6958,6 +6970,7 @@ trigonometrical functions.
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{$y''=-y$}
%--------------------------------------------------------------------------------------
\begin{center}
@@ -6999,6 +7012,7 @@ trigonometrical functions.
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{The mechanical pendulum: $y''=-\frac{g}{l}\sin(y)$}% $
%--------------------------------------------------------------------------------------
@@ -7047,6 +7061,7 @@ exch RadtoDeg sin -9.8 mul %% y' -gsin(y)
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\subsubsection{$y''=-\frac{y'}{4}-2y$}% $
%--------------------------------------------------------------------------------------
@@ -7092,6 +7107,7 @@ For $y_0=5$ and $y'_0=0$ the solution is:
\end{lstlisting}
%--------------------------------------------------------------------------------------
+\clearpage
\section{\nxLcs{psBoxplot}}
%--------------------------------------------------------------------------------------
@@ -7204,6 +7220,7 @@ the output with $-90$ degrees.
%--------------------------------------------------------------------------------------
+\clearpage
\section{\nxLcs{psMatrixPlot}}
%--------------------------------------------------------------------------------------
\begin{filecontents}{matrix.data}
@@ -7282,6 +7299,7 @@ is the first plotted line ($y=1$). With the option
\egroup
%--------------------------------------------------------------------------------------
+\clearpage
\section{\nxLcs{psforeach} and \nxLcs{psForeach}}
%--------------------------------------------------------------------------------------
@@ -7332,6 +7350,7 @@ $y=2^x$\\
%--------------------------------------------------------------------------------------
+\clearpage
\section{\nxLcs{resetOptions}}
%--------------------------------------------------------------------------------------
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 31c7715954b..e86aaf65755 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 83 2009-01-23 19:59:51Z herbert $
+%% $Id: pstricks-add.tex 99 2009-03-03 10:37:34Z herbert $
%%
%%
%% This is file `pstricks-add.tex',
@@ -29,8 +29,8 @@
\ifx\MultidoLoaded\endinput\else \input multido \fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{3.17}
-\def\filedate{2009/01/21}
+\def\fileversion{3.18}
+\def\filedate{2009/03/03}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -110,7 +110,7 @@
\expandafter\@fornoop \else
#4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}
\def\psforeach#1#2#3{%
- \begingroup
+ \begingroup%
\edef\reserved@a{#2}%
\@for#1:=\reserved@a\do{#3}%
\endgroup%
@@ -262,7 +262,7 @@
\define@key[psset]{}{dash}{% defined in pstricks.tex
\pst@expandafter\psset@@dash{#1}\@nil% Error handling for empty argument.
}
-\define@key[psset]{pstricks-add}{maxdashes}{\def\psk@maxdashes{#1}}
+\define@key[psset]{pstricks-add}{maxdashes}[11]{\def\psk@maxdashes{#1}}
%\psset{maxdashes=11}
\def\psset@@dash#1\@nil{%
\def\psk@dash{}%
@@ -434,20 +434,20 @@
\edef\pst@arrowtable{\pst@arrowtable,v-v,V-V,f-f,F-F,t-t,T-T}
% Vee arrow
-\define@key[psset]{pstricks-add}{veearrowlength}{\pst@getlength{#1}\psk@veearrowlength}
+\define@key[psset]{pstricks-add}{veearrowlength}[3mm]{\pst@getlength{#1}\psk@veearrowlength}
\psset[pstricks-add]{veearrowlength=3mm} % default projected length
-\define@key[psset]{pstricks-add}{veearrowangle}{\pst@getangle{#1}\psk@veearrowangle}
+\define@key[psset]{pstricks-add}{veearrowangle}[30]{\pst@getangle{#1}\psk@veearrowangle}
\psset[pstricks-add]{veearrowangle=30} % default angle
-\define@key[psset]{pstricks-add}{veearrowlinewidth}{\pst@getlength{#1}\psk@veearrowlinewidth}
-\psset[pstricks-add]{veearrowlinewidth=.35mm} % default vee arrow line width
+\define@key[psset]{pstricks-add}{veearrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@veearrowlinewidth}
+\psset[pstricks-add]{veearrowlinewidth=0.35mm} % default vee arrow line width
% Filled vee arrow
-\define@key[psset]{pstricks-add}{filledveearrowlength}{\pst@getlength{#1}\psk@filledveearrowlength}
+\define@key[psset]{pstricks-add}{filledveearrowlength}[3mm]{\pst@getlength{#1}\psk@filledveearrowlength}
\psset[pstricks-add]{filledveearrowlength=3mm} % default projected length
-\define@key[psset]{pstricks-add}{filledveearrowangle}{\pst@getangle{#1}\psk@filledveearrowangle}
+\define@key[psset]{pstricks-add}{filledveearrowangle}[15]{\pst@getangle{#1}\psk@filledveearrowangle}
\psset[pstricks-add]{filledveearrowangle=15} % default angle
-\define@key[psset]{pstricks-add}{filledveearrowlinewidth}{\pst@getlength{#1}\psk@filledveearrowlinewidth}
-\psset[pstricks-add]{filledveearrowlinewidth=.35mm} % default vee arrow line width
+\define@key[psset]{pstricks-add}{filledveearrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@filledveearrowlinewidth}
+\psset[pstricks-add]{filledveearrowlinewidth=0.35mm} % default vee arrow line width
\define@key[psset]{pstricks-add}{arrowLW}{\pst@getlength{#1}\psk@arrowLW}
% arrowLW as LineWidth for the circled line ends
%
@@ -487,10 +487,10 @@
% architectural tick / oblique arrow
% Tick arrow
-\define@key[psset]{pstricks-add}{tickarrowlength}{\pst@getlength{#1}\psk@tickarrowlength}
+\define@key[psset]{pstricks-add}{tickarrowlength}[1.5mm]{\pst@getlength{#1}\psk@tickarrowlength}
\psset[pstricks-add]{tickarrowlength=1.5mm} % default projected length
-\define@key[psset]{pstricks-add}{tickarrowlinewidth}{\pst@getlength{#1}\psk@tickarrowlinewidth}
-\psset[pstricks-add]{tickarrowlinewidth=.35mm} % default tick arrow line width
+\define@key[psset]{pstricks-add}{tickarrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@tickarrowlinewidth}
+\psset[pstricks-add]{tickarrowlinewidth=0.35mm} % default tick arrow line width
\pst@def{TickArrow}<%
1 setlinecap % round caps
@@ -510,8 +510,8 @@
% HookLeft/RightArrow
\newdimen\pshooklength
\newdimen\pshookwidth
-\define@key[psset]{pstricks-add}{hooklength}{\pssetlength\pshooklength{#1}}
-\define@key[psset]{pstricks-add}{hookwidth}{\pssetlength\pshookwidth{#1}}
+\define@key[psset]{pstricks-add}{hooklength}[3mm]{\pssetlength\pshooklength{#1}}
+\define@key[psset]{pstricks-add}{hookwidth}[1mm]{\pssetlength\pshookwidth{#1}}
%\psset{hooklength=3mm,hookwidth=1mm}
%
\edef\pst@arrowtable{\pst@arrowtable,H-H,h-h} % add new arrow
@@ -564,9 +564,9 @@
0 h a sub moveto
}>
%
-\define@key[psset]{pstricks-add}{nArrowsA}{\def\psk@nArrowsA{#1}}
-\define@key[psset]{pstricks-add}{nArrowsB}{\def\psk@nArrowsB{#1}}
-\define@key[psset]{pstricks-add}{nArrows}{\def\psk@nArrowsA{#1}\def\psk@nArrowsB{#1}}
+\define@key[psset]{pstricks-add}{nArrowsA}[2]{\def\psk@nArrowsA{#1}}
+\define@key[psset]{pstricks-add}{nArrowsB}[2]{\def\psk@nArrowsB{#1}}
+\define@key[psset]{pstricks-add}{nArrows}[2]{\def\psk@nArrowsA{#1}\def\psk@nArrowsB{#1}}
%\psset{nArrows=2}
%
\@namedef{psas@>>}{%
@@ -629,9 +629,7 @@
moveto
\fi
} def
- /ArrowB {
- \ifx\psk@arrowB\@empty \else \pst@arrowdef{B} \fi
- } def
+ /ArrowB { \ifx\psk@arrowB\@empty \else \pst@arrowdef{B} \fi } def
% DG addition
/ArrowInside {
\ifx\psk@ArrowInside\@empty \else \pst@arrowdefA{Inside} \fi
@@ -640,9 +638,7 @@
}
% Adapted from \pst@arrowdef
\def\pst@arrowdefA#1{%
- \ifnum\pst@repeatarrowsflag>\z@
- /Arrow#1c [ 6 2 roll ] cvx def Arrow#1c
- \fi
+ \ifnum\pst@repeatarrowsflag>\z@ /Arrow#1c [ 6 2 roll ] cvx def Arrow#1c\fi
\tx@BeginArrow
\psk@arrowscale
\@nameuse{psas@\@nameuse{psk@Arrow#1}}
@@ -982,7 +978,7 @@
%
\define@key[psset]{pstricks-add}{dashNo}{\def\psk@dashNo{#1}}
\define@key[psset]{pstricks-add}{linecap}{\def\psk@linecap{#1}}
-\define@key[psset]{pstricks-add}{randomPoints}{\def\psk@randomPoints{#1}}
+\define@key[psset]{pstricks-add}{randomPoints}[1000]{\def\psk@randomPoints{#1}}
\define@boolkey[psset]{pstricks-add}[Pst@]{color}[true]{}
%\psset{randomPoints=1000,color=false}
%
@@ -1019,6 +1015,25 @@
\ignorespaces
}
%
+\def\psComment{\pst@object{psComment}}
+\def\psComment@i{\pst@getarrows\psComment@ii}
+\def\psComment@ii(#1)(#2)#3{\@ifnextchar[
+ {\psComment@iii(#1)(#2){#3}}
+ {\psComment@iii(#1)(#2){#3}[\ncput]}}
+\def\psComment@iii(#1)(#2)#3[#4]{%
+ \let\pst@Comment#4
+ \addbefore@par{npos=0}%
+ \begin@SpecialObj%
+ \pcline(#1)(#2)
+ \ifx#4\rput\relax
+ \if@star\rput*(#1){#3}\else\rput(#1){#3}\fi
+ \else
+ \if@star\pst@Comment*{#3}\else\pst@Comment*{#3}\fi
+ \fi
+ \end@SpecialObj%
+ \ignorespaces%
+}
+%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% %%%%%%%%%%
@@ -1228,10 +1243,7 @@
% #6 node name
\def\psParallelLine{\pst@object{psParallelLine}}
\def\psParallelLine@i{\@ifnextchar({\psParallelLine@iii}{\psParallelLine@ii}}
-\def\psParallelLine@ii#1{%
- \addto@par{arrows=#1}%
- \psParallelLine@iii%
-}
+\def\psParallelLine@ii#1{\addto@par{arrows=#1}\psParallelLine@iii}
\def\psParallelLine@iii(#1)(#2)(#3)#4#5{{
\pst@killglue
\use@par
@@ -1353,7 +1365,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%the following works only for plotstyle line, polygon and bezier
-\define@key[psset]{pstricks-add}{yMaxValue}{\def\psk@yMaxValue{#1 }}
+\define@key[psset]{pstricks-add}{yMaxValue}[-1.0]{\def\psk@yMaxValue{#1 }}
\psset{yMaxValue=-1.0}
% can be in PS syntax (eg 1e1.2) and must be positiv! negative values
% will beignored
@@ -1459,7 +1471,7 @@
\def\ps@ir@unit{#2}%
}
%
-\define@key[psset]{pstricks-add}{labelFontSize}{\def\psk@labelFontSize{#1}}%
+\define@key[psset]{pstricks-add}{labelFontSize}[{}]{\def\psk@labelFontSize{#1}}%
\define@boolkey[psset]{pstricks-add}[Pst@]{mathLabel}[true]{%
\ifPst@mathLabel%
\def\pshlabel##1{$\psk@labelFontSize##1$}%
@@ -1477,8 +1489,8 @@
\@nameuse{Pst@xAxis#1}\@nameuse{Pst@yAxis#1}}%
%\psset{xyAxes=true}%
%
-\define@key[psset]{pstricks-add}{xlabelPos}{\pst@expandafter\psset@@xlabelPos{#1}\@nil}
-\define@key[psset]{pstricks-add}{ylabelPos}{\pst@expandafter\psset@@ylabelPos{#1}\@nil}
+\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
\def\psk@xlabelPos{\tw@}% 2=top
@@ -1505,17 +1517,17 @@
\fi\fi}
%\psset{xlabelPos=b, ylabelPos=l}%
%
-\define@key[psset]{pstricks-add}{xyDecimals}{\def\psk@xDecimals{#1}\def\psk@yDecimals{#1}}
-\define@key[psset]{pstricks-add}{xDecimals}{\def\psk@xDecimals{#1}}
-\define@key[psset]{pstricks-add}{yDecimals}{\def\psk@yDecimals{#1}}
+\define@key[psset]{pstricks-add}{xyDecimals}[{}]{\def\psk@xDecimals{#1}\def\psk@yDecimals{#1}}
+\define@key[psset]{pstricks-add}{xDecimals}[{}]{\def\psk@xDecimals{#1}}
+\define@key[psset]{pstricks-add}{yDecimals}[{}]{\def\psk@yDecimals{#1}}
%\psset{xyDecimals={}}%
%
-\define@key[psset]{pstricks-add}{xlogBase}{\def\psk@xlogBase{#1}}
-\define@key[psset]{pstricks-add}{ylogBase}{\def\psk@ylogBase{#1}}
-\define@key[psset]{pstricks-add}{xylogBase}{\def\psk@xlogBase{#1}\def\psk@ylogBase{#1}}%
+\define@key[psset]{pstricks-add}{xlogBase}[{}]{\def\psk@xlogBase{#1}}
+\define@key[psset]{pstricks-add}{ylogBase}[{}]{\def\psk@ylogBase{#1}}
+\define@key[psset]{pstricks-add}{xylogBase}[{}]{\def\psk@xlogBase{#1}\def\psk@ylogBase{#1}}%
%\psset{xylogBase={}}%
%
-\define@key[psset]{pstricks-add}{trigLabelBase}{\pst@getint{#1}{\psk@trigLabelBase}}
+\define@key[psset]{pstricks-add}{trigLabelBase}[0]{\pst@getint{#1}{\psk@trigLabelBase}}
\psset{trigLabelBase=0}
%
\define@boolkey[psset]{pstricks-add}[Pst@]{trigLabelsSimplify}[true]{}
@@ -1601,7 +1613,7 @@
\psset{trigLabels=false}
%
%logLines=all|x|y|none (0,1,2,3)
-\define@key[psset]{pstricks-add}{logLines}{\pst@expandafter\psset@@logLines{#1}\@nil\psk@logLines}
+\define@key[psset]{pstricks-add}{logLines}[none]{\pst@expandafter\psset@@logLines{#1}\@nil\psk@logLines}
\def\psset@@logLines#1#2\@nil#3{%
\ifx#1a
\let#3\z@
@@ -1626,8 +1638,8 @@
% Define "ticklines" parameter (ticklines=all|x|y|none with default=none)
%\def\psset@ticklines#1{\pst@expandafter\psset@@ticklines{#1}\@nil\psk@ticklines}
%\psset@ticklines{none}
-\define@key[psset]{pstricks-add}{ylabelFactor}{\def\psk@ylabelFactor{#1}}
-\define@key[psset]{pstricks-add}{xlabelFactor}{\def\psk@xlabelFactor{#1}}
+\define@key[psset]{pstricks-add}{ylabelFactor}[\relax]{\def\psk@ylabelFactor{#1}}
+\define@key[psset]{pstricks-add}{xlabelFactor}[\relax]{\def\psk@xlabelFactor{#1}}
%\psset{xlabelFactor=\relax,ylabelFactor=\relax}%
%% #1 : optional arguments passed to psline
@@ -1895,57 +1907,57 @@
\fi\fi\fi\fi
}
%
-\define@key[psset]{pstricks-add}{subticks}{\def\psk@xsubticks{#1}\def\psk@ysubticks{#1}}
-\define@key[psset]{pstricks-add}{xsubticks}{\def\psk@xsubticks{#1}}
-\define@key[psset]{pstricks-add}{ysubticks}{\def\psk@ysubticks{#1}}
+\define@key[psset]{pstricks-add}{subticks}[1]{\def\psk@xsubticks{#1}\def\psk@ysubticks{#1}}
+\define@key[psset]{pstricks-add}{xsubticks}[1]{\def\psk@xsubticks{#1}}
+\define@key[psset]{pstricks-add}{ysubticks}[1]{\def\psk@ysubticks{#1}}
%
-\define@key[psset]{pstricks-add}{subticksize}{\def\psk@xsubticksize{#1}\def\psk@ysubticksize{#1}}
-\define@key[psset]{pstricks-add}{xsubticksize}{\def\psk@xsubticksize{#1}}
-\define@key[psset]{pstricks-add}{ysubticksize}{\def\psk@ysubticksize{#1}}
+\define@key[psset]{pstricks-add}{subticksize}[0.75]{\def\psk@xsubticksize{#1}\def\psk@ysubticksize{#1}}
+\define@key[psset]{pstricks-add}{xsubticksize}[0.75]{\def\psk@xsubticksize{#1}}
+\define@key[psset]{pstricks-add}{ysubticksize}[0.75]{\def\psk@ysubticksize{#1}}
%
-\define@key[psset]{pstricks-add}{tickwidth}{%
+\define@key[psset]{pstricks-add}{tickwidth}[0.5\pslinewidth]{%
\pst@getlength{#1}\psk@xtickwidth%
\pst@getlength{#1}\psk@ytickwidth}
-\define@key[psset]{pstricks-add}{xtickwidth}{\pst@getlength{#1}\psk@xtickwidth}
-\define@key[psset]{pstricks-add}{ytickwidth}{\pst@getlength{#1}\psk@ytickwidth}
-\define@key[psset]{pstricks-add}{subtickwidth}{%
+\define@key[psset]{pstricks-add}{xtickwidth}[0.5\pslinewidth]{\pst@getlength{#1}\psk@xtickwidth}
+\define@key[psset]{pstricks-add}{ytickwidth}[0.5\pslinewidth]{\pst@getlength{#1}\psk@ytickwidth}
+\define@key[psset]{pstricks-add}{subtickwidth}[0.25\pslinewidth]{%
\pst@getlength{#1}\psk@xsubtickwidth%
\pst@getlength{#1}\psk@ysubtickwidth}
-\define@key[psset]{pstricks-add}{xsubtickwidth}{\pst@getlength{#1}\psk@xsubtickwidth}
-\define@key[psset]{pstricks-add}{ysubtickwidth}{\pst@getlength{#1}\psk@ysubtickwidth}
+\define@key[psset]{pstricks-add}{xsubtickwidth}[0.25\pslinewidth]{\pst@getlength{#1}\psk@xsubtickwidth}
+\define@key[psset]{pstricks-add}{ysubtickwidth}[0.25\pslinewidth]{\pst@getlength{#1}\psk@ysubtickwidth}
%
-\define@key[psset]{pstricks-add}{tickcolor}{%
+\define@key[psset]{pstricks-add}{tickcolor}[black]{%
\pst@getcolor{#1}\psk@xtickcolor%
\pst@getcolor{#1}\psk@ytickcolor}
-\define@key[psset]{pstricks-add}{xtickcolor}{\pst@getcolor{#1}\psk@xtickcolor}
-\define@key[psset]{pstricks-add}{ytickcolor}{\pst@getcolor{#1}\psk@ytickcolor}
-\define@key[psset]{pstricks-add}{subtickcolor}{%
+\define@key[psset]{pstricks-add}{xtickcolor}[black]{\pst@getcolor{#1}\psk@xtickcolor}
+\define@key[psset]{pstricks-add}{ytickcolor}[black]{\pst@getcolor{#1}\psk@ytickcolor}
+\define@key[psset]{pstricks-add}{subtickcolor}[gray]{%
\pst@getcolor{#1}\psk@xsubtickcolor%
\pst@getcolor{#1}\psk@ysubtickcolor}
-\define@key[psset]{pstricks-add}{xsubtickcolor}{\pst@getcolor{#1}\psk@xsubtickcolor}
-\define@key[psset]{pstricks-add}{ysubtickcolor}{\pst@getcolor{#1}\psk@ysubtickcolor}
+\define@key[psset]{pstricks-add}{xsubtickcolor}[gray]{\pst@getcolor{#1}\psk@xsubtickcolor}
+\define@key[psset]{pstricks-add}{ysubtickcolor}[gray]{\pst@getcolor{#1}\psk@ysubtickcolor}
%
-\define@key[psset]{pstricks-add}{xticklinestyle}{%
+\define@key[psset]{pstricks-add}{xticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psxticklinestyle{#1}}}
-\define@key[psset]{pstricks-add}{xsubticklinestyle}{%
+\define@key[psset]{pstricks-add}{xsubticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psxsubticklinestyle{#1}}}
-\define@key[psset]{pstricks-add}{yticklinestyle}{%
+\define@key[psset]{pstricks-add}{yticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psyticklinestyle{#1}}}
-\define@key[psset]{pstricks-add}{ysubticklinestyle}{%
+\define@key[psset]{pstricks-add}{ysubticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psysubticklinestyle{#1}}}
-\define@key[psset]{pstricks-add}{ticklinestyle}{%
+\define@key[psset]{pstricks-add}{ticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psxticklinestyle{#1}\def\psyticklinestyle{#1}}}
-\define@key[psset]{pstricks-add}{subticklinestyle}{%
+\define@key[psset]{pstricks-add}{subticklinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psxsubticklinestyle{#1}\def\psysubticklinestyle{#1}}}
@@ -2287,19 +2299,19 @@
}\vss}%
}
%
-\define@key[psset]{pstricks-add}{nStep}{\def\psk@nStep{#1}}
-\define@key[psset]{pstricks-add}{nStart}{\def\psk@nStart{#1}}
-\define@key[psset]{pstricks-add}{nEnd}{\def\psk@nEnd{#1}}
-\define@key[psset]{pstricks-add}{xStep}{\def\psk@xStep{#1}}
-\define@key[psset]{pstricks-add}{yStep}{\def\psk@yStep{#1}}
+\define@key[psset]{pstricks-add}{nStep}[1]{\def\psk@nStep{#1}}
+\define@key[psset]{pstricks-add}{nStart}[0]{\def\psk@nStart{#1}}
+\define@key[psset]{pstricks-add}{nEnd}[{}]{\def\psk@nEnd{#1}}
+\define@key[psset]{pstricks-add}{xStep}[0]{\def\psk@xStep{#1}}
+\define@key[psset]{pstricks-add}{yStep}[0]{\def\psk@yStep{#1}}
%
-\define@key[psset]{pstricks-add}{xStart}{\def\psk@xStart{#1}}
-\define@key[psset]{pstricks-add}{xEnd}{\def\psk@xEnd{#1}}
-\define@key[psset]{pstricks-add}{yStart}{\def\psk@yStart{#1}}
-\define@key[psset]{pstricks-add}{yEnd}{\def\psk@yEnd{#1}}
+\define@key[psset]{pstricks-add}{xStart}[{}]{\def\psk@xStart{#1}}
+\define@key[psset]{pstricks-add}{xEnd}[{}]{\def\psk@xEnd{#1}}
+\define@key[psset]{pstricks-add}{yStart}[{}]{\def\psk@yStart{#1}}
+\define@key[psset]{pstricks-add}{yEnd}[{}]{\def\psk@yEnd{#1}}
%
-\define@key[psset]{pstricks-add}{plotNo}{\def\psk@plotNo{#1}}
-\define@key[psset]{pstricks-add}{plotNoMax}{\def\psk@plotNoMax{#1}}
+\define@key[psset]{pstricks-add}{plotNo}[1]{\def\psk@plotNo{#1}}
+\define@key[psset]{pstricks-add}{plotNoMax}[1]{\def\psk@plotNoMax{#1}}
%
%\psset{nStep=1, nStart=0, nEnd={},%
% xStep=0, yStep=0, xStart={}, xEnd={}, yStart={}, yEnd={}, comma=false,%
@@ -2324,11 +2336,11 @@
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{/D {} def mark}%
#1%
- \addto@pscode{%
+ \addto@pscode{
\tx@PreparePoints
\pst@number\psxunit
\pst@number\psyunit
- \tx@ScalePoints%
+ \tx@ScalePoints
}%
\@nameuse{endplot@\psplotstyle}%
}
@@ -2416,8 +2428,8 @@
}>
%
%
-\define@key[psset]{pstricks-add}{xAxisLabel}{\def\psk@xAxisLabel{#1}}
-\define@key[psset]{pstricks-add}{yAxisLabel}{\def\psk@yAxisLabel{#1}}
+\define@key[psset]{pstricks-add}{xAxisLabel}[x]{\def\psk@xAxisLabel{#1}}
+\define@key[psset]{pstricks-add}{yAxisLabel}[y]{\def\psk@yAxisLabel{#1}}
%\psset{xAxisLabel=x,yAxisLabel=y}
\iffalse
\define@key[psset]{pstricks-add}{xAxisLabelPos}{%
@@ -2429,8 +2441,8 @@
\ifx\pst@tempA\@empty\let\psk@yAxisLabelPos\relax\else
\pst@getcoor{#1}\psk@yAxisLabelPos\fi}
\fi
-\define@key[psset]{pstricks-add}{xAxisLabelPos}{\def\psk@xAxisLabelPos{#1}}
-\define@key[psset]{pstricks-add}{yAxisLabelPos}{\def\psk@yAxisLabelPos{#1}}
+\define@key[psset]{pstricks-add}{xAxisLabelPos}[{}]{\def\psk@xAxisLabelPos{#1}}
+\define@key[psset]{pstricks-add}{yAxisLabelPos}[{}]{\def\psk@yAxisLabelPos{#1}}
%\psset{yAxisLabelPos={},xAxisLabelPos={}}
%
@@ -2438,10 +2450,10 @@
\newdimen\psk@lly
\newdimen\psk@urx
\newdimen\psk@ury
-\define@key[psset]{pstricks-add}{llx}{\pssetxlength\psk@llx{#1}}
-\define@key[psset]{pstricks-add}{lly}{\pssetylength\psk@lly{#1}}
-\define@key[psset]{pstricks-add}{urx}{\pssetxlength\psk@urx{#1}}
-\define@key[psset]{pstricks-add}{ury}{\pssetylength\psk@ury{#1}}
+\define@key[psset]{pstricks-add}{llx}[\z@]{\pssetxlength\psk@llx{#1}}
+\define@key[psset]{pstricks-add}{lly}[\z@]{\pssetylength\psk@lly{#1}}
+\define@key[psset]{pstricks-add}{urx}[\z@]{\pssetxlength\psk@urx{#1}}
+\define@key[psset]{pstricks-add}{ury}[\z@]{\pssetylength\psk@ury{#1}}
%\psset{llx=\z@, lly=\z@, urx=\z@, ury=\z@}% prevents rounding errors
\newif\ifPst@plot@box
\define@key[psset]{pstricks-add}{box}[true]{\@nameuse{Pst@plot@box#1}}
@@ -2451,28 +2463,47 @@
%
\def\psgraph{\pst@object{psgraph}}
\def\psgraph@i{\pst@getarrows\psgraph@ii}
-\def\psgraph@ii(#1,#2){\catcode`\!=12\@ifnextchar({\psgraph@iii(#1,#2)}{\psgraph@iv(0,0)(#1,#2)}}
+\def\psgraph@ii(#1,#2){\catcode`\!=12
+ \@ifnextchar({\psgraph@iii(#1,#2)}{\psgraph@iv(0,0)(#1,#2)}}
\def\psgraph@iii(#1,#2)(#3,#4){\@ifnextchar({\psgraph@v(#1,#2)(#3,#4)}{\psgraph@iv(#1,#2)(#3,#4)}}
%
\def\psgraph@iv(#1,#2)(#3,#4)#5#6{% no special origin defined
% minX | minY | maxX | maxY | Length x-axis | length y-axis%
\pst@killglue%
\begingroup%
- \pst@dimo=#3\p@\advance\pst@dimo by -#1\p@% delta x
- \pst@divide{#5}{\pst@dimo}\pst@tempA%
- \pst@xunit=\pst@tempA\p@%
- \pst@dimo=#4\p@\advance\pst@dimo by -#2\p@% delta y
- \ifx!#6 \pst@dima=\pst@tempA\pst@dimo\else\pst@dima=#6\fi
- \pst@divide\pst@dima{\pst@dimo}\pst@tempA%
- \pst@yunit=\pst@tempA\p@%
+ \pst@dimo=#3\p@
+ \pst@dimp=#1\p@ \multiply\pst@dimp by \m@ne
+ \advance\pst@dimo by \pst@dimp% delta x
+ \pst@dimm=#5
+ \pst@cntm=\pst@dimm
+ \pst@cntn=\pst@dimo
+ \divide\pst@cntm by \pst@cntn
+ \ifnum\pst@cntm=0 \pst@divide{\pst@dimm}{\pst@dimo}\pst@tempA
+ \pst@xunit=\pst@tempA\p@%
+ \else\pst@xunit=\pst@cntm\p@\fi
+%
+ \pst@dimo=#4\p@
+ \pst@dimp=#2\p@ \multiply\pst@dimp by \m@ne
+ \advance\pst@dimo by \pst@dimp% delta y
+ \ifx!#6 \pst@dimm=\pst@cntm\pst@dimo\else\pst@dimm=#6\fi
+ \pst@cntm=\pst@dimm
+ \pst@cntn=\pst@dimo
+ \divide\pst@cntm by \pst@cntn
+ \ifnum\pst@cntm=0 \pst@divide{\pst@dimm}{\pst@dimo}\pst@tempA
+ \pst@yunit=\pst@tempA\p@%
+ \else\pst@yunit=\pst@cntm\p@\fi
%
- \pst@dima=#1\pst@xunit \advance\pst@dima by \psk@llx%
- \pst@dimb=#2\pst@yunit \advance\pst@dimb by \psk@lly%
- \pst@dimc=#3\pst@xunit \advance\pst@dimc by \psk@urx%
- \pst@dimd=#4\pst@yunit \advance\pst@dimd by \psk@ury%
- \if@star\pspicture*(\pst@dima,\pst@dimb)(\pst@dimc,\pst@dimd)\else%
- \pspicture(\pst@dima,\pst@dimb)(\pst@dimc,\pst@dimd)\fi%
- \psset{xunit=\pst@xunit,yunit=\pst@yunit}%
+ \pst@dimm=#1\pst@xunit
+ \advance\pst@dimm by \psk@llx%
+ \pst@dimn=#2\pst@yunit
+ \advance\pst@dimn by \psk@lly%
+ \pst@dimo=#3\pst@xunit
+ \advance\pst@dimo by \psk@urx%
+ \pst@dimp=#4\pst@yunit
+ \advance\pst@dimp by \psk@ury%
+ \if@star\pspicture*(\pst@dimm,\pst@dimn)(\pst@dimo,\pst@dimp)\else
+ \pspicture(\pst@dimm,\pst@dimn)(\pst@dimo,\pst@dimp)\fi
+ \psset{xunit=\pst@xunit,yunit=\pst@yunit}
\bgroup%
\use@par%
\psaxes(#1,#2)(#3,#4)%
@@ -2483,6 +2514,28 @@
% Xorig | yorig | minX | minY | maxX | maxY | Length x-axis | length y-axis%
\pst@killglue%
\begingroup%
+ \pst@dimo=#5\p@
+ \pst@dimp=#3\p@ \multiply\pst@dimp by \m@ne
+ \advance\pst@dimo by \pst@dimp% delta x
+ \pst@dimm=#7
+ \pst@cntm=\pst@dimm
+ \pst@cntn=\pst@dimo
+ \divide\pst@cntm by \pst@cntn
+ \ifnum\pst@cntm=0 \pst@divide{\pst@dimm}{\pst@dimo}\pst@tempA
+ \pst@xunit=\pst@tempA\p@%
+ \else\pst@xunit=\pst@cntm\p@\fi
+%
+ \pst@dimo=#6\p@
+ \pst@dimp=#4\p@ \multiply\pst@dimp by \m@ne
+ \advance\pst@dimo by \pst@dimp% delta y
+ \ifx!#8 \pst@dimm=\pst@cntm\pst@dimo\else\pst@dimm=#8\fi
+ \pst@cntm=\pst@dimm
+ \pst@cntn=\pst@dimo
+ \divide\pst@cntm by \pst@cntn
+ \ifnum\pst@cntm=0 \pst@divide{\pst@dimm}{\pst@dimo}\pst@tempA
+ \pst@yunit=\pst@tempA\p@%
+ \else\pst@yunit=\pst@cntm\p@\fi
+\iffalse
\pst@dimo=#5\p@\advance\pst@dimo by -#3\p@% delta x
\pst@divide{#7}{\pst@dimo}\pst@tempA%
\pst@xunit=\pst@tempA\p@%
@@ -2490,6 +2543,7 @@
\ifx!#8 \pst@dima=\pst@tempA\pst@dimo\else\pst@dima=#8\fi
\pst@divide\pst@dima{\pst@dimo}\pst@tempA%
\pst@yunit=\pst@tempA\p@%
+\fi
%
\pst@dima=#3\pst@xunit \advance\pst@dima by \psk@llx%
\pst@dimb=#4\pst@yunit \advance\pst@dimb by \psk@lly%
@@ -3601,18 +3655,16 @@
\pst@cnta=1% number of entries
\pst@dimn=\z@% greatest entry
\psforeach{\chart@tempA}{#1}{%
- \global\advance\pst@cnta by \@ne % no of entries
- \global\advance\pst@dimm by \chart@tempA pt % sum of all entries
- \pst@dima=\chart@tempA pt
+ \global\advance\pst@cnta by \@ne% % no of entries
+ \global\advance\pst@dimm by \chart@tempA pt% % sum of all entries
+ \pst@dima=\chart@tempA pt%
\ifdim\pst@dima>\pst@dimn \global\pst@dimn=\pst@dima\fi}%
\addbefore@par{dimen=outer}%
- \typeout{<psChart>: pst@par=\pst@par}%
\begin@SpecialObj%
\ifnum\psk@chartColor>0
\chart@ColorStep=400\p@\else\chart@ColorStep=\p@\fi % the "numerical color"
\divide\chart@ColorStep by \pst@cnta% % step =1/no or 400/no
\chart@ColorIndex=\psk@chartColor pt% % the start color (gray or wave)
- \psDEBUG[psChart]{psk@chartStack=\psk@chartStack}%
\@nameuse{pscs@\psk@chartStyle}%
\end@SpecialObj%
\endgroup%
@@ -3626,20 +3678,20 @@
\global\chart@Toggle=1
\ifpsshadow% create shadow first
\psforeach{\chart@tempA}{\psk@chartValues}{%
- \global\advance\pst@dimm by \chart@tempA pt%
- \global\advance\pst@dimn by \chart@alpha pt%
- \global\advance\pst@cnta by \@ne%
+ \global\advance\pst@dimm by \chart@tempA pt
+ \global\advance\pst@dimn by \chart@alpha pt
+ \global\advance\pst@cnta by \@ne
\pst@dimo=0.5\pst@dimn\advance\pst@dimo by 0.5\pst@dimm% half angle of the chart
\global\@chartSepfalse%
\psforeach{\chart@tempC}{\psk@chartSepValues}{\ifnum\chart@tempC=\the\pst@cnta
\global\@chartSeptrue\fi}%
- \if@chartSep
+ \if@chartSep%
\pswedge(\psk@chartSep pt;\pst@number\pst@dimo){\pst@chartRadius}{\pst@number\pst@dimn}{\pst@number\pst@dimm}%
- \else
+ \else%
\pswedge{\pst@chartRadius}{\pst@number\pst@dimn}{\pst@number\pst@dimm}
\fi%
\global\let\chart@alpha\chart@tempA%
- }
+ }%
\psshadowfalse%
\fi%
\def\chart@alpha{0}%
@@ -3650,40 +3702,40 @@
\def\pst@tempB{\pst@number\chart@ColorIndex}%
\psDEBUG[psChart:wave:color]{\pst@tempB}%
\global\advance\pst@cnta by \@ne%
- \if@chartUserColor\else
- \def\chart@FillColor{chartFillColor\the\pst@cnta}
+ \if@chartUserColor\else%
+ \def\chart@FillColor{chartFillColor\the\pst@cnta}%
\ifnum\psk@chartColor>0 \xglobal\definecolor{\chart@FillColor}{wave}{\pst@tempB}%
\else\xglobal\definecolor{\chart@FillColor}{gray}{\pst@tempB}\fi%
- \fi
+ \fi%
\pst@dimo=0.5\pst@dimn\advance\pst@dimo by 0.5\pst@dimm% half angle of the chart
\global\@chartSepfalse%
- \psforeach{\chart@tempC}{\psk@chartSepValues}{\ifnum\chart@tempC=\the\pst@cnta
+ \psforeach{\chart@tempC}{\psk@chartSepValues}{\ifnum\chart@tempC=\the\pst@cnta\relax%
\global\@chartSeptrue\fi}%
\if@chartSep%
\pswedge[linecolor={chartFillColor\the\pst@cnta},fillstyle=solid,fillcolor={chartFillColor\the\pst@cnta}]%
(\psk@chartSep pt;\pst@number\pst@dimo){\pst@chartRadius}{\pst@number\pst@dimn}{\pst@number\pst@dimm}%
- \pst@dima=\pst@chartRadius\advance\pst@dima by \psk@chartSep pt
+ \pst@dima=\pst@chartRadius\advance\pst@dima by \psk@chartSep pt%
\pnode(\pst@dima;\pst@number\pst@dimo){psChart\the\pst@cnta}%
- \pst@dimb=\psk@chartNodeI\pst@dima
- \pst@dimc=\psk@chartNodeO\pst@dima
+ \pst@dimb=\psk@chartNodeI\pst@dima%
+ \pst@dimc=\psk@chartNodeO\pst@dima%
\pnode(\pst@dimb;\pst@number\pst@dimo){psChartI\the\pst@cnta}%
\pnode(\pst@dimc;\pst@number\pst@dimo){psChartO\the\pst@cnta}%
- \else
+ \else%
\pswedge[linecolor={chartFillColor\the\pst@cnta},fillstyle=solid,fillcolor={chartFillColor\the\pst@cnta}]%
- {\pst@chartRadius}{\pst@number\pst@dimn}{\pst@number\pst@dimm}
+ {\pst@chartRadius}{\pst@number\pst@dimn}{\pst@number\pst@dimm}%
\pnode(\pst@chartRadius;\pst@number\pst@dimo){psChart\the\pst@cnta}%
\pst@dima=\pst@chartRadius%
- \pst@dimb=\psk@chartNodeI\pst@dima
- \pst@dimc=\psk@chartNodeO\pst@dima
+ \pst@dimb=\psk@chartNodeI\pst@dima%
+ \pst@dimc=\psk@chartNodeO\pst@dima%
\pnode(\pst@dimb;\pst@number\pst@dimo){psChartI\the\pst@cnta}%
\pnode(\pst@dimc;\pst@number\pst@dimo){psChartO\the\pst@cnta}%
\fi%
\global\let\chart@alpha\chart@tempA%
- \global\advance\chart@Toggle by \@ne
- \ifnum\chart@Toggle<3
- \global\advance\chart@ColorIndex by 2\chart@ColorStep
- \else
- \global\chart@Toggle=0
+ \global\advance\chart@Toggle by \@ne%
+ \ifnum\chart@Toggle<3\relax
+ \global\advance\chart@ColorIndex by 2\chart@ColorStep%
+ \else%
+ \global\chart@Toggle=0%
\global\advance\chart@ColorIndex by -\chart@ColorStep%
\fi%
}% end foreach