diff options
author | Karl Berry <karl@freefriends.org> | 2009-04-30 00:42:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-04-30 00:42:38 +0000 |
commit | f45d184aee6deefd464c66bfc98b59ac92c0da16 (patch) | |
tree | e6c16764f420807b7e610a08a42d0139a7aabc0c /Master/texmf-dist | |
parent | fbb9340f54cd0f028e4c18f444b9b4075d18e00e (diff) |
pstricks-add update (29apr09)
git-svn-id: svn://tug.org/texlive/trunk@12873 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/Changes | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf | bin | 2044104 -> 2127836 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex | 178 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex | 110 |
4 files changed, 213 insertions, 82 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks-add/Changes b/Master/texmf-dist/doc/generic/pstricks-add/Changes index d39f665c68b..9b52ca56881 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 112 2009-04-17 19:21:56Z herbert $ +%% $Id: Changes 114 2009-04-24 19:25:37Z herbert $ %% pstricks-add.pro ----------- v 0.22 2009-03-17 - add LineByHand stuff @@ -36,6 +36,11 @@ pstricks-add.sty ----------- (hv) pstricks-add.tex ----------- (Dominik Rodriguez/hv) + v 3.31 2009-04-24 - added \pstFPDiv for division int(#1=#2/#3) + - added axes style "polar" \psaxes[axesstyle=polar](5,5) + - fix trailing space with yAxisLabel + - added option decimalSeparator to allow special symbols + for persian language v 3.30 2009-04-17 - rewrote unit calculation for \psgraph. It uses now the package pst-fp, which has the division macro (stolen from the fp package) diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf Binary files differindex 8689eb79e57..954c14cf845 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf +++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex index cd13e8fcf5a..b1408858a32 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 112 2009-04-17 19:21:56Z herbert $ +%% $Id: pstricks-add-doc.tex 115 2009-04-29 08:19:40Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside]{pst-doc} \listfiles @@ -10,6 +10,7 @@ \usepackage{pstricks-add} \usepackage{pifont} \let\pstricksaddFV\fileversion +\let\belowcaptionskip\abovecaptionskip % \newcommand{\pstEllipse}[5][]{% \psset{#1} @@ -308,7 +309,6 @@ throughout, e.g. \verb+\let\modulo\pst@mod+. %-------------------------------------------------------------------------------------- \subsection{\nxLcs{pst@absdim}} %-------------------------------------------------------------------------------------- - \begin{BDef} \Lcs{pst@absdim}\Largb{dimension}\Largb{result as a dimension register} \end{BDef} @@ -322,6 +322,35 @@ throughout, e.g. \verb+\let\modulo\pst@mod+. \end{LTXexample} %-------------------------------------------------------------------------------------- +\subsection{\nxLcs{pst@int}} +%-------------------------------------------------------------------------------------- +\begin{BDef} +\Lcs{pst@int}\Largb{number}\Largb{result as a truncated integer} +\end{BDef} + +\begin{LTXexample}[width=2cm] +\makeatletter +\pst@int{-34.0}\\ +\pst@int{234.123} +\makeatother +\end{LTXexample} + +%-------------------------------------------------------------------------------------- +\subsection{\nxLcs{pstFPDiv}} +%-------------------------------------------------------------------------------------- +\begin{BDef} +\Lcs{pstFPDiv}\Largb{result as a truncated integer}\Largb{number}\Largb{number} +\end{BDef} + +\begin{LTXexample}[width=2cm] +\makeatletter +\pstFPDiv\Result{-3.405}{0.02345} \Result\\ +\pstFPDiv\Result{0.02345}{-3.405} \Result\\ +\pstFPDiv\Result{234.123}{33} \Result +\makeatother +\end{LTXexample} + +%-------------------------------------------------------------------------------------- \subsection{\nxLcs{psGetSlope}} %-------------------------------------------------------------------------------------- @@ -336,6 +365,7 @@ throughout, e.g. \verb+\let\modulo\pst@mod+. \psGetSlope(-2111,-12)(3,1)\SlopeVal \SlopeVal \end{LTXexample} +\clearpage %-------------------------------------------------------------------------------------- \section{Dashed Lines} %-------------------------------------------------------------------------------------- @@ -2678,7 +2708,7 @@ additional \PS commands into the code. This makes the use of \Lcs{pstVerb} in mo -\section{ New options} +\section{New or extended options} %-------------------------------------------------------------------------------------- The axes macro has now two additional optional arguments for placing labels at @@ -2696,8 +2726,8 @@ is possible. The following examples show how it can be used. 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 \Lkeyword{comma} or -\verb+trigLabels+ option, the macros \Lcs{pshlabel} and +\Lkeyword{ticksize} option. When using the \Lkeyword{comma} or +\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 @@ -2720,19 +2750,21 @@ redefinition, then do it for \Lcs{pst@@hlabel} and \endfirsthead \rowcolor{white}\textrm{\bfseries Name} & \textrm{\bfseries Type} & \textrm{\bfseries Default}\\\hline \endhead -\Lkeyword{labels} & <\Lkeyval{all}|\Lkeyval{x}|\Lkeyval{y}|\Lkeyval{none}> & all\\%ok +\Lkeyword{axesstyle} & <\Lkeyval{none}|\Lkeyval{axes}|\Lkeyval{frame}|\Lkeyval{polar}> & axes\\ +\Lkeyword{labels} & <\Lkeyval{all}|\Lkeyval{x}|\Lkeyval{y}|\Lkeyval{none}> & all\\%ok \Lkeyword{xlabelPos} & <\Lkeyval{bottom},\Lkeyval{axis},\Lkeyval{top}>& \Lkeyval{bottom}\\ \Lkeyword{ylabelPos} & <\Lkeyval{left},\Lkeyval{axis},\Lkeyval{right}>& left\\ -\Lkeyword{xlabelFactor} & <anything> & \{\textbackslash\@ empty\}\\ -\Lkeyword{ylabelFactor} & <anything> & \{\textbackslash\@ empty\}\\ -\Lkeyword{labelFontSize} & <fontsize macro> & \{\} \\ -\Lkeyword{trigLabels} & false|true & false\\ -\Lkeyword{trigLabelBase} & <number> & 0\\ -\Lkeyword{algebraic} & false|true & false\\ %ok -\Lkeyword{comma} & false|true & false\\ %ok -\Lkeyword{xAxis} & false|true & true\\%ok -\Lkeyword{yAxis} & false|true & true\\%ok -\Lkeyword{xyAxes} & false|true & true\\%ok +\Lkeyword{xlabelFactor} & <anything> & \{\textbackslash\@ empty\}\\ +\Lkeyword{ylabelFactor} & <anything> & \{\textbackslash\@ empty\}\\ +\Lkeyword{labelFontSize} & <fontsize macro> & \{\} \\ +\Lkeyword{trigLabels} & false|true & false\\ +\Lkeyword{trigLabelBase} & <number> & 0\\ +\Lkeyword{algebraic} & false|true & false\\ %ok +\Lkeyword{decimalSeparator} & <character> & .\\ %ok +\Lkeyword{comma} & false|true & false\\ %ok +\Lkeyword{xAxis} & false|true & true\\%ok +\Lkeyword{yAxis} & false|true & true\\%ok +\Lkeyword{xyAxes} & false|true & true\\%ok \Lkeyword{xDecimals} & <number> or empty & \{\}\\%ok \Lkeyword{yDecimals} & <number> or empty & \{\}\\%ok \Lkeyword{xyDecimals} & <number> or empty & \{\}\\%ok @@ -2781,7 +2813,7 @@ redefinition, then do it for \Lcs{pst@@hlabel} and \Lkeyword{lly} & <length> & 0pt\\ \Lkeyword{urx} & <length> & 0pt\\ \Lkeyword{ury} & <length> & 0pt\\ -\Lkeyword{polarplot} & false|true & false\\ +\Lkeyword{polarplot} & false|true & false\\ \Lkeyword{ChangeOrder} & false|true & false\\ \end{longtable} } @@ -2790,6 +2822,48 @@ redefinition, then do it for \Lcs{pst@@hlabel} and \clearpage %-------------------------------------------------------------------------------------- +\subsection{\nxLkeyword{axesstyle}} +%-------------------------------------------------------------------------------------- +There is a new axes style \Lkeyval{polar} which plots a polar coordinate system. + +Syntax: +\begin{lstlisting}[style=syntax] +\psplot[axesstyle=polar](Rx,Ry) +\psplot[axesstyle=polar](...)(Rx,Ry) +\psplot[axesstyle=polar](...)(...)(Rx,Ry) +\end{lstlisting} + +Important is the fact, that only one pair of coordinates is taken into account for +the radius. It is \emph{always} the last pair in a sequence of allowed coordinates +for the \Lcs{psaxes} macro. The other ones are ignored; they are not valid for the +polar coordinate system. + +\resetOptions% +\begin{LTXexample}[wide=true,pos=t] +%\usepackage{pstricks-add} + +\begin{pspicture}(-3.5,-3.5)(3.5,3.5) +\psaxes[axesstyle=polar](3,3) +\psplot[polarplot,algebraic,linecolor=blue,linewidth=2pt, + plotpoints=2000]{0}{TwoPi 4 mul}{2*(sin(x)-x)/(cos(x)+x)} +\end{pspicture} +% +\begin{pspicture}(-3.5,-3.5)(3.5,3.5) +\psaxes[axesstyle=polar,subticklinestyle=dashed,subticks=2, + labelFontSize=\scriptstyle](3,3) +\psplot[polarplot,algebraic,linecolor=red,linewidth=2pt, + plotpoints=2000]{0}{TwoPi}{6*sin(x)*cos(x)} +\end{pspicture} +\end{LTXexample} + +All valid optional arguments for the axes are also possible for the polar style, if they make sense \ldots\ :-) +Important are the \Lkeyword{Dy} option, it defines the angle interval and \Lkeyword{subticks}, for +the intermediate circles and lines. The number can be different for the circles (\Lkeyword{ysubticks}) and the +lines (\Lkeyword{xsubticks}). + +\clearpage + +%-------------------------------------------------------------------------------------- \subsection{\texttt{xyAxes}, \texttt{xAxis} and \texttt{yAxis}} %-------------------------------------------------------------------------------------- Syntax: @@ -2981,14 +3055,18 @@ it must be set in math mode when using math operators! %-------------------------------------------------------------------------------------- -\subsection{\texttt{comma}} +\subsection{\nxLkeyword{decimalSeparator} and \nxLkeyword{comma}} %-------------------------------------------------------------------------------------- Syntax: \begin{lstlisting}[style=syntax] comma=false|true +decimalSeparator=<charactor> \end{lstlisting} -Setting this option to true gives labels with a comma as a decimal separator instead -of the dot. \Lkeyword{comma} and \verb|comma=true| is the same. +Setting the option \Lkeyword{comma} to true gives labels with a comma as a decimal separator instead +of the dot. \Lkeyword{comma} and \verb|comma=true| is the same. The optional argument +\Lkeyword{decimalSeparator} allows an individual setting for languages with a different +character than a dot or a comma. The character has to set into braces, if it is an +active, e.\,g. \Lkeyword{decimalSeparator}=\Largb{,}. \resetOptions \medskip @@ -4807,7 +4885,8 @@ in polar mode: \end{BDef} The equation in PostScript code is interpreted as a function $r=f(\alpha)$, e.g. for the -circle with radius 1 as $r=\sqrt{\sin^2x+\cos^2x}$: +circle with radius 1 as $r=\sqrt{\sin^2x+\cos^2x}$, or $r=a*\dfrac{sin(x)*cos(x)}{(sin(x)^3+cos(x)^3)}$ +for the following examples: \begin{lstlisting}[style=syntax] x sin dup mul x cos dup mul add sqrt @@ -4815,34 +4894,45 @@ x sin dup mul x cos dup mul add sqrt \medskip -\begin{LTXexample}[width=6cm] \resetOptions +\begin{LTXexample}[pos=t] \psset{plotpoints=200,unit=0.75} -\begin{pspicture}*(-5,-5)(3,3) - \psaxes[arrowlength=1.75,ticksize=2pt,% - labelFontSize=\scriptstyle,% - linewidth=0.17mm]{->}(0,0)(-4.99,-4.99)(3,3) - \rput[Br](3,-.35){$x$} - \rput[tr](-.15,3){$y$} - \rput[Br](-.15,-.35){$0$} - \psset{linewidth=.35mm,polarplot=true} +\begin{pspicture*}(-5,-5)(5.1,5.1) + \psaxes[arrowlength=1.75,ticksize=2pt,labelFontSize=\scriptstyle, + linewidth=0.2mm]{->}(0,0)(-4.99,-4.99)(5,5)[x,-90][y,180] + \rput[Br](-.15,-.35){$0$} \psset{linewidth=.35mm,polarplot} \psplot[linecolor=red]{140}{310}{3 neg x sin mul x cos mul x sin 3 exp x cos 3 exp add div} - \psplot[linecolor=cyan]{140}{310}{6 neg x sin mul x cos mul x sin 3 exp x cos 3 exp add div} - \psplot[linecolor=blue]{140}{310}{9 neg x sin mul x cos mul x sin 3 exp x cos 3 exp add div} -\end{pspicture} + \psplot[linecolor=cyan]{140}{310}{6 x sin mul x cos mul x sin 3 exp x cos 3 exp add div} + \psplot[linecolor=blue,algebraic]{2.44}{5.41}{-8*sin(x)*cos(x)/(sin(x)^3+cos(x)^3)} +\end{pspicture*} \end{LTXexample} \medskip -\begin{LTXexample}[width=5cm] \resetOptions +\begin{LTXexample}[pos=t] +\psset{unit=0.5cm} +\begin{pspicture}(-6,-6)(6,6) +\psaxes[axesstyle=polar,labelFontSize=\scriptstyle,linewidth=0.2mm]{->}(6,6) +\psset{linewidth=3pt,polarplot,plotpoints=500,plotstyle=curve} +\psclip{\pscircle[linestyle=none]{6}} + \psplot[linecolor=red]{140}{310}{3 neg x sin mul x cos mul x sin 3 exp x cos 3 exp add div} + \psplot[linecolor=cyan]{140}{310}{6 x sin mul x cos mul x sin 3 exp x cos 3 exp add div} + \psplot[linecolor=blue,algebraic]{2.44}{5.41}{-8*sin(x)*cos(x)/(sin(x)^3+cos(x)^3)} +\endpsclip +\end{pspicture} +\end{LTXexample} + + +\medskip +\resetOptions +\begin{LTXexample}[width=5cm] \psset{plotpoints=200,unit=1} \begin{pspicture}(-2.5,-2.5)(2.5,2.5)% Ulrich Dirr \psaxes[arrowlength=1.75,% - ticksize=2pt,linewidth=0.17mm]{->}(0,0)(-2.5,-2.5)(2.5,2.5) - \rput[Br](2.5,-.35){$x$} - \rput[tr](-.15,2.5){$y$} + ticksize=2pt,linewidth=0.17mm]{->}% + (0,0)(-2.5,-2.5)(2.5,2.5)[$x$,-90][$y$,180] \rput[Br](-.15,-.35){$0$} \psset{linewidth=.35mm,plotstyle=curve,polarplot=true} \psplot[linecolor=red]{0}{360}{x cos 2 mul x sin mul} @@ -7513,10 +7603,12 @@ This refers to all options of the packages \LPack{pstricks}, \newlength{\Li}\settowidth{\Li}{Function} \begin{table}[htbp] - \begin{center}{\ttfamily - \begin{tabular}{|l|r@{ $\rightarrow$ }l|}\hline - \multirow{2}{\Li}{\normalfont Function}&\multicolumn{2}{c|}{\normalfont Meaning}\\ - &\normalfont on stack before & \normalfont after\\\hline +\caption{Some primitive PostScript macros}\label{tab:primpost} +\centering +\ttfamily + \begin{tabular}{@{} l | r@{ $\rightarrow$ } l @{}}\hline + \multirow{2}{\Li}{\normalfont\emph{Function}} & \multicolumn{2}{ c }{\normalfont\emph{Meaning}}\\ + &\normalfont\emph{on stack before} & \normalfont\emph{after}\\\hline \Lps{add} & $x\quad y$&$x+y$\\ \Lps{sub} & $x\quad y$&$x-y$\\ \Lps{mul} & $x\quad y$&$x\times y$\\ @@ -7536,9 +7628,7 @@ This refers to all options of the packages \LPack{pstricks}, \Lps{pop} & $x$ & --\\ \Lps{dup} & $x$ & $x\quad x$ \\\hline % \Lps{roll} & $x_1\quad x_2\quad \cdots\quad x_n\quad n p$ &\\\hline - \end{tabular}} - \caption{Some primitive PostScript macros}\label{tab:primpost} - \end{center} + \end{tabular} \end{table} 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 145b576a517..3fc77bf7dea 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 112 2009-04-17 19:21:56Z herbert $ +%% $Id: pstricks-add.tex 115 2009-04-29 08:19:40Z herbert $ %% %% %% This is file `pstricks-add.tex', @@ -30,8 +30,8 @@ \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi \ifx\PSTFPloaded\endinput\else \input pst-fp \fi % -\def\fileversion{3.30} -\def\filedate{2009/04/17} +\def\fileversion{3.31} +\def\filedate{2009/04/29} \message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -171,6 +171,9 @@ \def\pst@int#1{\expandafter\pst@@int#1..\@nil} \def\pst@@int#1.#2.\@nil{#1} % +\def\pstFPDiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}% % #1 := int(#2/#3) + \edef#1{\pst@int{#1}}}% +% \def\psGetSlope(#1,#2)(#3,#4)#5{% 4 values without a dimen! #5 is a macro \pst@dimm=#1pt% \advance\pst@dimm by -#3pt% @@ -1508,12 +1511,14 @@ \fi} %\psset{labelFontSize={},mathLabel} % -\define@boolkey[psset]{pstricks-add}[Pst@]{comma}[true]{} +\define@key[psset]{pstricks-add}{decimalSeparator}[.]{\def\psk@decimalSeparator{#1}}% +\define@boolkey[psset]{pstricks-add}[Pst@]{comma}[true]{% + \ifPst@comma\def\psk@decimalSeparator{,}\else\def\psk@decimalSeparator{.}\fi} \define@boolkey[psset]{pstricks-add}[Pst@]{xAxis}[true]{} \define@boolkey[psset]{pstricks-add}[Pst@]{yAxis}[true]{} \define@boolkey[psset]{pstricks-add}[Pst@]{xyAxes}[true]{% \@nameuse{Pst@xAxis#1}\@nameuse{Pst@yAxis#1}}% -%\psset{xyAxes=true}% +%\psset{decimalSeparator=.}% % \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} @@ -1680,8 +1685,9 @@ \addbefore@par{arrows=-,linewidth=\psk@xtickwidth\pslinewidth} \use@par \psline(#1,\pst@xticksizeB)(#1,\pst@xticksizeA) - \rput[t](! #1 \pst@number\pslabelsep \pst@number\pst@xticksizeB add - \pst@number\psyunit div neg ){\pshlabel{#2\vphantom{1}}}}\ignorespaces} + \rput[t](! \psk@origin + #1 \pst@number\pslabelsep \pst@number\pst@xticksizeB add + \pst@number\psyunit div neg ){\pshlabel{#2\vphantom{1}}}}\ignorespaces} % %% #1 : optional arguments passed to psline %% #2 : y value @@ -1692,8 +1698,9 @@ \addbefore@par{arrows=-,linewidth=\psk@ytickwidth\pslinewidth} \use@par \psline(\pst@yticksizeB,#1)(\pst@yticksizeA,#1) - \rput[r]{0}(!\pst@number\pst@yticksizeB \pst@number\pslabelsep add - \pst@number\psxunit div neg #1){\psvlabel{#2}}}\ignorespaces} + \rput[r]{0}(! \psk@origin + \pst@number\pst@yticksizeB \pst@number\pslabelsep add + \pst@number\psxunit div neg #1){\psvlabel{#2}}}\ignorespaces} % %% #1 integer %% #2 decimals @@ -1739,13 +1746,10 @@ \ifx\@xyDecimals\@empty% take value as is \def\@tempa{#1}% write only if not empty \ifx\@tempa\@empty% write nothing - \else - \ifPst@comma{,}\else.\fi% - #1% - \fi% + \else\psk@decimalSeparator#1\fi% \else% write only \xy@decimals \ifnum\@xyDecimals>\@zero - \ifPst@comma{,}\else.\fi + \psk@decimalSeparator% \@Reset@digitcounter \expandafter\@process@digits#1*; \fi% @@ -1765,6 +1769,7 @@ \let\psk@arrowB\@empty% \psxs@axes} % +% \def\psxs@axes{{% \ifPst@xAxis\psxs@@axes\pst@dima\pst@dimb\pst@dimc\pst@dimd{}{x}\fi% \ifPst@yAxis\psxs@@axes\pst@dima\pst@dimb\pst@dimc\pst@dimd{exch}{y}\fi}} @@ -1808,7 +1813,7 @@ \advance\pst@dimc by -\pst@dimg% Dist. from ur-x to o-x \advance\pst@dimd by -\pst@dimh% Dist. from ur-y to o-y % Make lines/arrows or frame: - \@nameuse{psxs@\psk@axesstyle}% \psxs@axes or \psxs@frame + \@nameuse{psxs@\psk@axesstyle}% \psxs@axes or \psxs@frame or \psxs@polar \ifPst@yAxis% \begingroup% \ifdim\pst@dima=\z@\else\showoriginfalse\fi% @@ -2246,6 +2251,36 @@ \fi% } % +\def\psxs@polar{% (rx,ry) % all other values are ignored + \pst@killglue + \begingroup + \edef\pst@dimC{\strip@pt\pst@dimc}% RadiusX + \pstFPDiv\pstR@dius{\pst@dimC}{\strip@pt\psxunit}% in cm and as int + \addbefore@par{Dy=30}% for the angle step + \use@keep@par + \pstFPDiv\pstN@lpha{360}{\psk@Dy}% No of (int) main lines + \pstFPdiv\pstd@lpha{\psk@Dy}{\psk@ysubticks}% sub dAlpha + \pstFPdiv\pstdR@dius{1}{\psk@xsubticks}% sub dRadius + \pst@cntm=\psk@xsubticks\advance\pst@cntm by \m@ne + \multido{\iA=\psk@Dx+\psk@Dx,\rB=\pstdR@dius+\psk@Dx,\iB=0+1}{\pstR@dius}{% + \multido{\rA=\rB+\pstdR@dius}{\the\pst@cntm}{\pscircle[linestyle=\psxsubticklinestyle, + linecolor=\psk@xsubtickcolor,linewidth=\psk@xsubtickwidth pt]{\rA}} + \pscircle[linestyle=\psxticklinestyle,linecolor=\psk@xtickcolor, + linewidth=\psk@xtickwidth pt]{\iA}% + \uput[-45](\iB,0){\pshlabel{\iB}}\uput[45](0,\iB){\pshlabel{\iB}}% + }% +% \uput[-45](\pstR@dius,0){\pstR@dius}\uput[45](0,\pstR@dius){\pstR@dius}% + \pst@cntm=\psk@ysubticks\advance\pst@cntm by \m@ne + \multido{\iA=\psk@Dy+\psk@Dy,\rB=\pstd@lpha+\psk@Dy}{\pstN@lpha}{% + \multido{\rA=\rB+\pstd@lpha}{\the\pst@cntm}{\psline[linestyle=\psysubticklinestyle, + linecolor=\psk@ysubtickcolor,linewidth=\psk@ysubtickwidth pt](\pstR@dius;\rA)} + \psline[linestyle=\psyticklinestyle, + linecolor=\psk@ytickcolor,linewidth=\psk@ytickwidth pt](\pstR@dius;\iA)% + \uput[\iA](\pstR@dius;\iA){\psvlabel{\iA}}} + \endgroup\ignorespaces% + \Pst@xAxisfalse\Pst@yAxisfalse% +} + % #1:Max/Min in pt from origin; #2:arrow; #3:min; #4:max \def\pst@hlabels#1#2#3#4{% \ifdim#1=\z@\else% % start from 0 ? @@ -2469,11 +2504,11 @@ \iffalse \define@key[psset]{pstricks-add}{xAxisLabelPos}{% \def\pst@tempA{#1}% - \ifx\pst@tempA\@empty\let\psk@xAxisLabelPos\relax\else + \ifx\pst@tempA\@empty\let\psk@xAxisLabelPos\relax\else% \pst@getcoor{#1}\psk@xAxisLabelPos\fi} \define@key[psset]{pstricks-add}{yAxisLabelPos}{% \def\pst@tempA{#1}% - \ifx\pst@tempA\@empty\let\psk@yAxisLabelPos\relax\else + \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}} @@ -2516,7 +2551,7 @@ \advance\pst@dimo by \pst@dimp% delta y \ifx!#6\pst@dimm=\pst@@dx\pst@dimo\else\pst@dimm=#6\fi% \pstFPdiv\pst@@dy{\strip@pt\pst@dimm}{\strip@pt\pst@dimo}% - \pst@yunit=\pst@@dy\p@ + \pst@yunit=\pst@@dy\p@% % \pst@dimm=#1\pst@xunit% \advance\pst@dimm by \psk@llx% @@ -2543,7 +2578,7 @@ \advance\pst@dimo by \pst@dimp% delta x \pst@dimm=#7% \pstFPdiv\pst@@dx{\strip@pt\pst@dimm}{\strip@pt\pst@dimo}% - \pst@xunit=\pst@@dx\p@ + \pst@xunit=\pst@@dx\p@% % \pst@dimo=#6\p@\pst@dimp=#4\p@\multiply\pst@dimp by \m@ne% \advance\pst@dimo by \pst@dimp% delta y @@ -2566,33 +2601,33 @@ } % \def\setxLabelC@@r#1,#2(#3,#4)(#5){% - \pst@getcoor{#5}\pst@tempB - \ifx#1c - \pssetylength\pst@dimm{#2} + \pst@getcoor{#5}\pst@tempB% + \ifx c#1 + \pssetylength\pst@dimm{#2}% \rput(! #4 #3 add 2 div \pst@number\pst@dimm \pst@tempB\space exch pop add - \pst@number\psyunit div ){\psk@xAxisLabel} - \else - \pst@getcoor{\psk@xAxisLabelPos}\pst@tempA - \rput(! \pst@tempA\space \pst@tempB\space exch pop add \tx@UserCoor ){\psk@xAxisLabel} + \pst@number\psyunit div ){\psk@xAxisLabel}% + \else% + \pst@getcoor{\psk@xAxisLabelPos}\pst@tempA% + \rput(! \pst@tempA\space \pst@tempB\space exch pop add \tx@UserCoor ){\psk@xAxisLabel}% \fi} \def\setyLabelC@@r#1,#2(#3,#4)(#5){% - \pst@getcoor{#5}\pst@tempB - \ifx#2c - \pssetxlength\pst@dimm{#1} - \rput{90}(! \pst@number\pst@dimm \pst@tempB\space pop add - \pst@number\psxunit div #4 #3 add 2 div ){\psk@yAxisLabel} - \else - \pst@getcoor{\psk@yAxisLabelPos}\pst@tempA - \rput{90}(! \pst@tempB\space pop \pst@tempA\space 3 1 roll add exch \tx@UserCoor ){\psk@yAxisLabel} - \fi} + \pst@getcoor{#5}\pst@tempB% + \ifx c#2 + \pssetxlength\pst@dimm{#1}% + \rput{90}(! \pst@number\pst@dimm \pst@tempB\space pop add \pst@number\psxunit div #4 #3 add 2 div ){\psk@yAxisLabel}% + \else% + \pst@getcoor{\psk@yAxisLabelPos}\pst@tempA% + \rput{90}(! \pst@tempB\space pop \pst@tempA\space 3 1 roll add exch \tx@UserCoor ){\psk@yAxisLabel}% + \fi +} % \def\psgraph@vi(#1,#2)(#3,#4)(#5,#6){% \ifx\psk@xAxisLabel\@empty\else% - \ifx\psk@xAxisLabelPos\@empty \uput[0](#5,#2){\psk@xAxisLabel}% + \ifx\psk@xAxisLabelPos\@empty\uput[0](#5,#2){\psk@xAxisLabel}% \else \expandafter\setxLabelC@@r\psk@xAxisLabelPos(#3,#5)(#1,#2)\fi% \fi% \ifx\psk@yAxisLabel\@empty\else% - \ifx\psk@yAxisLabelPos\@empty \uput[90](#1,#6){\psk@yAxisLabel}% + \ifx\psk@yAxisLabelPos\@empty\uput[90](#1,#6){\psk@yAxisLabel}% \else\expandafter\setyLabelC@@r\psk@yAxisLabelPos(#4,#6)(#1,#2)\fi% \fi% \ignorespaces% @@ -3961,6 +3996,7 @@ ignoreLines=0, nStep=1,nStart=0,nEnd={}, xStep=0,yStep=0,xStart={},xEnd={},yStart={},yEnd={},comma=false, + decimalSeparator=., plotNo=1,plotNoMax=1, xAxisLabel=x,yAxisLabel=y, yAxisLabelPos={},xAxisLabelPos={}, |