diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks/pst-plot.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks/pst-plot.tex | 709 |
1 files changed, 0 insertions, 709 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex b/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex deleted file mode 100644 index 11dd9385fef..00000000000 --- a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex +++ /dev/null @@ -1,709 +0,0 @@ -%% $Id: pst-plot.tex 119 2009-06-03 07:37:40Z herbert $ -%% BEGIN pst-plot.tex -%% -%% Plots and axes with PSTricks -%% See the PSTricks User's Guide for documentation. -%% -%% -%% COPYRIGHT 1993-2006 by Timothy Van Zandt, tvz@nwu.edu. -%% COPYRIGHT 2007-2009 by Herbert Voss, hvoss@tug.org -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt. -%% -\csname PSTplotLoaded\endcsname -\let\PSTplotLoaded\endinput -% -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex \fi -\ifx\MultidoLoaded\endinput\else \input multido.tex \fi -% -\def\fileversion{1.04} -\def\filedate{2009/06/08} -\message{ v\fileversion, \filedate} -% -\edef\TheAtCode{\the\catcode`\@} -\catcode`\@=11 -% -% Using lists of data is optimized for \dataplot and \fileplot -% Here is the tricky part. As each line is read from file, -% we want to ignore trailing delimiters, and convert arbitrary -% strings of non-trailing delimiters to _D_. -% We end up with -% D x1 D y1 D x2 D y2 ... D xn D yn -% -\begingroup -\catcode`\{=13 -\catcode`\}=13 -\catcode`\(=13 -\catcode`\)=13 -\catcode`\,=13 -\catcode`\!=1 -\catcode`\*=2 -\catcode`\ =13 -\catcode`\_=13 -\catcode`\^^M=13 -\gdef\pst@datadelimiters!% Begin def -\catcode`\{=13% -\catcode`\}=13% -\catcode`\(=13% -\catcode`\)=13% -\catcode`\,=13% -\catcode`\ =13% -\catcode`\^^M=13% -\def,##1!% -\ifcat\noexpand,\noexpand##1% -\expandafter##1% -\else\space% -D\space##1% -\fi*% -\let(,\let),\let{,\let},\let ,\let^^M,\let_\@empty*% End def -\endgroup -% -\begingroup -\catcode`\,=13 -\catcode`\_=13 -\gdef\savedata@#1[#2]{% - \xdef\pst@tempg{#2_}% - \endgroup - \let#1\pst@tempg - \global\let\pst@tempg\relax - \ignorespaces} -% -\gdef\readdata@{% - \read1 to \pst@tempa - \expandafter\readdata@@\pst@tempa_\@nil - \ifeof1\else\expandafter\readdata@\fi} - \gdef\pst@@readfile#1#2\@nil{\addto@pscode{,#1#2}}% - \gdef\readdata@@#1#2\@nil{\xdef\pst@tempg{\pst@tempg,#1#2}}% -\endgroup -% -\def\readdata#1#2{% - \openin1=#2 - \begingroup - \def\pst@tempg{}% - \ifeof1 - \@pstrickserr{Data file `#2' not found.}\@ehpa - \else - \pst@datadelimiters - \catcode`\[=1 - \catcode`\]=2 - \readdata@% - \fi - \endgroup - \let#1\pst@tempg -% \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot:readdata:\string\pst@tempg: \pst@tempg}\fi% hv 2008-02-28 - \global\let\pst@tempg\relax - \ignorespaces} -% -\def\pst@readfile#1{{\let\readdata@@\pst@@readfile\readdata\pst@tempg{#1}}} -\def\pst@altreadfile#1{% - \openin1=#1 - \ifeof1 - \@pstrickserr{Data file `#1' not found.}\@ehpa - \else - \catcode`\{=10 - \catcode`\}=10 - \catcode`\(=10 - \catcode`\)=10 - \catcode`\,=10 - \catcode`\^^M=10 - \catcode`\[=1 - \catcode`\]=2 - \pst@@altreadfile - \fi} -\def\pst@@altreadfile{% - \read1 to \pst@tempg - \expandafter\pst@@@altreadfile\pst@tempg\@empty\@nil - \ifeof1\else\expandafter\pst@@@altreadfile\fi} -\def\pst@@@altreadfile#1#2\@nil{\addto@pscode{#1#2}}% -% -\def\savedata#1{\begingroup\pst@datadelimiters\savedata@{#1}} -% -\def\beginplot@line{\begin@OpenObj} -\def\endplot@line{\psline@ii} -\def\beginplot@polygon{\begin@ClosedObj} -\def\endplot@polygon{\pspolygon@ii} -\def\beginplot@curve{\begin@OpenObj} -\def\endplot@curve{\pscurve@ii} -\def\beginplot@ecurve{\begin@OpenObj} -\def\endplot@ecurve{\psecurve@ii} -\def\beginplot@ccurve{\begin@ClosedObj} -\def\endplot@ccurve{\psccurve@ii} -\def\beginplot@dots{\begin@SpecialObj} -\def\endplot@dots{\psdots@ii} -\def\beginplot@bezier{\begin@OpenObj} -\def\endplot@bezier{\psbezier@ii} -\def\beginplot@cbezier{\begin@ClosedObj} -\def\endplot@cbezier{\pscbezier@ii} -% added 2007-06-26 (hv) -\let\beginplot@LineToYAxis\beginplot@line % all from pst-plot -\def\endplot@LineToYAxis{\psLineToYAxis@ii} -\let\beginqp@LineToYAxis\beginqp@line -\let\doqp@LineToYAxis\doqp@line -\let\endqp@LineToYAxis\endqp@line -\let\testqp@LineToYAxis\testqp@line -\let\beginplot@LineToXAxis\beginplot@line -\def\endplot@LineToXAxis{\psLineToXAxis@ii} -\let\beginqp@LineToXAxis\beginqp@line -\let\doqp@LineToXAxis\doqp@line -\let\endqp@LineToXAxis\endqp@line -\let\testqp@LineToXAxis\testqp@line -% end (hv) -\def\psset@plotstyle#1{% - \@ifundefined{beginplot@#1}% - {\@pstrickserr{Plot style `#1' not defined}\@eha}% - {\edef\psplotstyle{#1}}} -\psset@plotstyle{line} -% -\def\psset@plotpoints#1{% - \pst@cntg=#1\relax - \ifnum\pst@cntg<2 - \@pstrickserr{plotpoints parameter must be at least 2}\@ehpa - \else - \advance\pst@cntg-1 - \edef\psk@plotpoints{\the\pst@cntg\space}% - \fi} -\psset@plotpoints{50} -% -% For quick plots, define: -% \beginqp@<foo> : What to do to first point (PS code only). -% \doqp@<foo> : What to do to subsequent points (PS code only). -% \endqp@<foo> : How to end plot. -% \testqp@<foo> : Set \@psttrue if OK to use quick plot. -% -\def\beginqp@line{\pst@oplineto} -\def\doqp@line{L } -\def\endqp@line{\end@OpenObj}% -\def\testqp@line{% - \ifdim\pslinearc>\z@\else - \ifshowpoints\else - \ifx\psk@arrowA\@empty - \ifx\psk@arrowB\@empty - \@psttrue - \fi - \fi - \fi - \fi} -% -\def\beginqp@polygon{moveto } -\def\doqp@polygon{L } -\def\endqp@polygon{% - \addto@pscode{closepath}% - \end@ClosedObj} -\def\testqp@polygon{% - \ifdim\pslinearc>\z@\else - \ifshowpoints\else - \@psttrue - \fi - \fi} -% -\def\beginqp@dots{% - \psk@dotsize - \@nameuse{psds@\psk@dotstyle} -% DG/SR modification begin - Dec. 12, 1999 - Patch 2 -% /TheDot { gsave \psk@dotangle \psk@dotscale Dot grestore } def -% TheDot } - Dot } -%\def\doqp@dots{TheDot } -\def\doqp@dots{Dot } -% DG/SR modification end -\def\endqp@dots{\end@SpecialObj} -\def\testqp@dots{\@psttrue} -% -\def\beginqp@bezier{/n 0 def \pst@oplineto} -\def\doqp@bezier{/n n 1 add def n 3 mod 0 eq { curveto } if } -\def\endqp@bezier{% - \addto@pscode{n 3 mod { pop pop } repeat} - \end@OpenObj}% -\def\testqp@bezier{% - \ifshowpoints\else - \ifx\psk@arrowA\@empty - \ifx\psk@arrowB\@empty - \@psttrue - \fi - \fi - \fi} -% -\def\beginqp@cbezier{/n 0 def moveto } -\def\doqp@cbezier{\doqp@bezier} -\def\endqp@cbezier{% - \addto@pscode{n 3 mod { pop pop } repeat closepath} - \end@ClosedObj}% -\def\testqp@cbezier{\ifshowpoints\else\@psttrue\fi} -% -% added 2007-06-26 (hv) ------------------------------------------------- -\def\psLineToYAxis@ii{% -\addto@pscode{\pst@cp \psline@iii \tx@LineToYAxis}% -\end@OpenObj} -% -\def\tx@LineToYAxis{LineToYAxis } -% -\pst@def{LineToYAxis}<{ - NArray % all x-y pairs on stack - n { 2 copy moveto % go to current point - 0 exch Lineto % line to y-axis - pop % delete old x-value - } repeat -}> -% -\def\psLineToXAxis@ii{% -\addto@pscode{\pst@cp \psline@iii \tx@LineToXAxis}% -\end@OpenObj} -% -\def\tx@LineToXAxis{LineToXAxis } -% -\pst@def{LineToXAxis}<{% -NArray -n 0 eq not - { n 1 eq { 0 0 /n 2 def } if - ArrowA - /n n 2 sub def - CP 2 copy moveto pop 0 Lineto - n { 2 copy moveto pop 0 Lineto } repeat - CP - 4 2 roll - ArrowB - 2 copy moveto pop 0 - L - pop pop } if}> -% end (hv) -------------------------------------------------------------- -% -\def\psdataplot{\def\pst@par{}\pst@object{dataplot}} -\def\dataplot{\def\pst@par{}\pst@object{dataplot}} -\def\dataplot@i#1{% - \pst@killglue - \begingroup - \use@par - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \dataplot@ii{\addto@pscode{#1}}% - \else - \listplot@ii{\addto@pscode{#1}}% - \fi - \endgroup - \ignorespaces} -% -\def\dataplot@ii#1{% - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - /Dx { \pst@number\psxunit mul /D { Dy } def } def - /Dy { \pst@number\psyunit mul Do /D { Dx } def } def - /D { /D { Dx } def } def - /Do { - \@nameuse{beginqp@\psplotstyle}% - /Do { \@nameuse{doqp@\psplotstyle}} def - } def}% - #1% % this is \pst@readfile{#1} for fileplot - \addto@pscode{ D }% - \@nameuse{endqp@\psplotstyle}} -% -\def\psfileplot{\def\pst@par{}\pst@object{fileplot}} -\def\fileplot{\def\pst@par{}\pst@object{fileplot}} -\def\fileplot@i#1{% - \pst@killglue% - \begingroup% - \use@par% - \@pstfalse% - \@nameuse{testqp@\psplotstyle}% - \if@pst\dataplot@ii{\pst@readfile{#1}}\else\listplot@ii{\pst@altreadfile{#1}}\fi% - \endgroup% - \ignorespaces} -% -\pst@def{ScalePoints}<% - /y ED /x ED - counttomark dup dup cvi eq not { exch pop } if - /m exch def /n m 2 div cvi def - n { y mul m 1 roll x mul m 1 roll /m m 2 sub def } repeat> -% -\def\pslistplot{\def\pst@par{}\pst@object{listplot}} -\def\listplot{\def\pst@par{}\pst@object{listplot}} -\def\listplot@i#1{\listplot@ii{\addto@pscode{#1}}} -\def\listplot@ii#1{% - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{/D {} def mark}% - #1% - \addto@pscode{\pst@number\psxunit \pst@number\psyunit \tx@ScalePoints}% - \@nameuse{endplot@\psplotstyle}} -% -% \psplot -\def\psplotinit#1{\xdef\psplot@init{#1 }} -\def\psplot@init{} -% -\def\psplot{\def\pst@par{}\pst@object{psplot}} -\def\psplot@i#1#2#3{% - \pst@killglue - \begingroup - \use@par - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - \psplot@init - /x #1 def - /x1 #2 def - /dx x1 x sub \psk@plotpoints div def - /xy { - x \pst@number\psxunit mul - #3 \pst@number\psyunit mul - } def}% - \gdef\psplot@init{}% - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \psplot@ii - \else - \psplot@iii - \fi - \endgroup - \ignorespaces} -\def\psplot@ii{% - \addto@pscode{% - /ps@Exit false def % hv 2008-11-22 - xy \@nameuse{beginqp@\psplotstyle} - \psk@plotpoints 1 sub { - /x x dx add def - xy \@nameuse{doqp@\psplotstyle} - ps@Exit { exit } if % hv 2008-11-22 - } repeat - ps@Exit not { % hv 2008-11-22 - /x x1 def - xy \@nameuse{doqp@\psplotstyle} - } if }% - \@nameuse{endqp@\psplotstyle}} -\def\psplot@iii{% - \addto@pscode{% - mark - /n 2 def - \psk@plotpoints { - xy - n 2 roll - /n n 2 add def - /x x dx add def - } repeat - /x x1 def - xy - n 2 roll}% - \@nameuse{endplot@\psplotstyle}} -% -\def\psparametricplot{\def\pst@par{}\pst@object{parametricplot}}% hv 2008-11-22 -\def\parametricplot{\def\pst@par{}\pst@object{parametricplot}} -\def\parametricplot@i#1#2#3{% - \pst@killglue - \begingroup - \use@par - \@nameuse{beginplot@\psplotstyle}% - \addto@pscode{% - \psplot@init - /t #1 def - /t1 #2 def - /dt t1 t sub \psk@plotpoints div def - /xy { - #3 - \pst@number\psyunit mul exch - \pst@number\psxunit mul exch - } def}% - \gdef\psplot@init{}% - \@pstfalse - \@nameuse{testqp@\psplotstyle}% - \if@pst - \parametricplot@ii - \else - \parametricplot@iii - \fi - \endgroup - \ignorespaces} -\def\parametricplot@ii{% - \addto@pscode{% - /ps@Exit false def % hv 2008-11-22 - xy \@nameuse{beginqp@\psplotstyle} - \psk@plotpoints 1 sub { - /t t dt add def - xy \@nameuse{doqp@\psplotstyle} - ps@Exit { exit } if % hv 2008-11-22 - } repeat - ps@Exit not { - /t t1 def - xy \@nameuse{doqp@\psplotstyle} - } if }% - \@nameuse{endqp@\psplotstyle}} -\def\parametricplot@iii{% - \addto@pscode{% - mark - /n 2 def - \psk@plotpoints { - xy - n 2 roll - /n n 2 add def - /t t dt add def - } repeat - /t t1 def - xy - n 2 roll}% - \@nameuse{endplot@\psplotstyle}} -% -% These axes macros are complicated. Be careful. -% -% \pst@ticks{angle}{dx}{n}{int} -% int=1 if ticks appear on top of axes, 0 otherwise. -\def\pst@ticks#1#2#3#4{% - \begin@SpecialObj - \addto@pscode{% - #1 rotate - /n #3 def - /dx #2 def - n 0 lt { /dx dx neg def /n n neg def } if - /y2 \psk@ticksize CLW 2 div add def - /y1 y2 neg def - \ifnum\psk@tickstyle=1 - \ifdim#4<\z@ /y2 \else /y1 \fi 0 def - \else - \ifnum\psk@tickstyle=-1 - \ifdim#4<\z@ /y1 \else /y2 \fi 0 def - \fi - \fi - /x dx def - n { x y1 moveto x y2 lineto stroke /x x dx add def } repeat}% - \end@SpecialObj} -% -\def\psset@ticksize#1{\pst@getlength{#1}\psk@ticksize} -\psset@ticksize{3pt} -% -\def\psset@tickstyle#1{\pst@expandafter\psset@@tickstyle{#1}\@nil} -\def\psset@@tickstyle#1#2\@nil{% - \ifx#1f\let\psk@tickstyle\z@\else - \ifx#1t\let\psk@tickstyle\@ne\else - \ifx#1b\let\psk@tickstyle\m@ne\else - \@pstrickserr{Bad tick style: `#1#2'}\@ehpa - \fi\fi\fi} -\psset@tickstyle{full} -% -\def\psset@ticks#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@ticks} -\def\psset@@ticks#1#2\@nil#3{% - \ifx#1a\let#3\z@\else - \ifx#1x\let#3\@ne\else - \ifx#1y\let#3\tw@\else - \ifx#1n\let#3\thr@@\else - \@pstrickserr{Bad argument: `#1#2'}\@ehpa - \fi\fi\fi\fi} -\psset@ticks{all} -% -\def\psset@labels#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@labels} -\psset@labels{all} -% -\def\psset@Ox#1{\edef\psk@Ox{#1}} -\psset@Ox{0} -\def\psset@Dx#1{\edef\psk@Dx{#1}} -\psset@Dx{1} -\def\psset@dx#1{% - \pssetxlength\pst@dimg{#1}% - \edef\psk@dx{\number\pst@dimg}} -\psset@dx{0} -% -\def\psset@Oy#1{\edef\psk@Oy{#1}} -\psset@Oy{0} -\def\psset@Dy#1{\edef\psk@Dy{#1}} -\psset@Dy{1} -\def\psset@dy#1{% - \pssetylength\pst@dimg{#1}% - \edef\psk@dy{\number\pst@dimg}} -\psset@dy{0} -% -\newif\ifshoworigin -\def\psset@showorigin#1{\@nameuse{showorigin#1}} -\psset@showorigin{true} -% -\def\psaxes{\def\pst@par{}\pst@object{psaxes}} -\def\psaxes@i{\pst@getarrows\psaxes@ii} -\def\psaxes@ii(#1){\@ifnextchar({\psaxes@iii(#1)}{\psaxes@iv(0,0)(0,0)(#1)}} -\def\psaxes@iii(#1)(#2){% - \@ifnextchar(% - {\psaxes@iv(#1)(#2)}% - {\psaxes@iv(#1)(#1)(#2)}} -\def\psaxes@iv(#1,#2)(#3,#4)(#5,#6){% - \setbox\pst@hbox=\hbox\bgroup - \use@par - \pssetxlength\pst@dimg{#1}% o-x - \pssetylength\pst@dimh{#2}% o-y - \pssetxlength\pst@dima{#3}% bl-x - \pssetylength\pst@dimb{#4}% bl-y - \pssetxlength\pst@dimc{#5}% ur-x - \pssetylength\pst@dimd{#6}% ur-y -% Whole thing will be translated to origin: - \advance\pst@dima-\pst@dimg % Dist. from bl-x to o-x - \advance\pst@dimb-\pst@dimh % Dist. from bl-y to o-y - \advance\pst@dimc-\pst@dimg % Dist. from ur-x to o-x - \advance\pst@dimd-\pst@dimh % Dist. from ur-y to o-y -% Make lines/arrows or frame: - \@nameuse{psxs@\psk@axesstyle}% -% "\pslabelsep" should be from the edge of the axis. - \advance\pslabelsep.5\pslinewidth -% Now the ticks and labels. Start by checking for "\multido". -% !!Need to fix this so that does nothing when there are 0 ticks.!! - \begingroup - \ifdim\pst@dimb=\z@\else\showoriginfalse\fi - \ifnum\psk@dx=\z@ - \pst@dimg=\psk@Dx\psxunit - \psDEBUG[psaxes@iv]{local:\textbackslash pst@dimg=\the\pst@dimg}% v.1.01 - \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dx \edef\psk@Dx{-\the\pst@cnta} % v.1.01 - \psDEBUG[psaxes@iv]{Dx -> -Dx (was negative)}% v.1.01 - \fi % v.1.01 - \edef\psk@dx{\number\pst@dimg}% - \psDEBUG[psaxes@iv]{local: \textbackslash psk@dx=\psk@dx}% v.1.01 - \else\psDEBUG[psaxes@iv]{global: \textbackslash psk@dx=\psk@dx}% - \fi - \ifnum\psk@ticks<\tw@ - \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi - \fi - \pst@hlabels\pst@dimc\psk@arrowB - \pst@hlabels\pst@dima\psk@arrowA - \endgroup - \begingroup - \ifdim\pst@dima=\z@\else\showoriginfalse\fi - \ifnum\psk@dy=\z@ - \pst@dimg=\psk@Dy\psyunit - \psDEBUG[psaxes@iv]{\textbackslash pst@dimg=\the\pst@dimg}% v.1.01 - \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta} % v.1.01 - \psDEBUG[psaxes@iv]{Dy -> -Dy (was negative)}% v.1.01 - \fi % v.1.01 - \edef\psk@dy{\number\pst@dimg}% - \psDEBUG[psaxes@iv]{\textbackslash psk@dy=\psk@dy}% v.1.01 - \fi - \ifodd\psk@ticks\else - \ifnum\psk@tickstyle>\z@ \else\advance\pslabelsep\psk@ticksize\p@\fi - \fi - \pst@vlabels\pst@dimd\psk@arrowB - \pst@vlabels\pst@dimb\psk@arrowA - \endgroup -% Now close "\pst@hbox" (which is 0-dimensional), and put it at the origin. - \egroup - \pssetxlength\pst@dimg{#1}% - \pssetylength\pst@dimh{#2}% - \leavevmode\psput@cartesian\pst@hbox - \ignorespaces} -% -\def\psxs@axes{% - \psxs@@axes\pst@dima\pst@dimc{}% - \psxs@@axes\pst@dimb\pst@dimd{exch}} -\def\psxs@@axes#1#2#3{% - \begin@SpecialObj - \ifdim#1=\z@ - \def\psk@arrowA{C}% - \else - \ifdim#2=\z@ - \def\psk@arrowB{C}% - \fi - \fi - \let\pst@linetype\pst@arrowtype - \pst@addarrowdef - \addto@pscode{% - \pst@number#2 0 #3 - \pst@number#1 0 #3 - ArrowA - CP 4 2 roll - ArrowB - L - pop pop}% - \pst@stroke - \end@SpecialObj} -% -\def\psxs@frame{% - \begin@SpecialObj - \addto@pscode{% - 0 0 moveto \pst@number\pst@dimc 0 L - 0 \pst@number\pst@dimd 2 copy rlineto L closepath}% - \pst@stroke - \psk@fillstyle - \end@SpecialObj - \let\psk@arrowA\@empty - \let\psk@arrowB\@empty} - -\def\psset@axesstyle#1{% - \@ifundefined{psxs@#1}% - {\@pstrickserr{Axes style `#1' not defined}\@eha}% - {\edef\psk@axesstyle{#1}}} -\psset@axesstyle{axes} -% -\def\psxs@none{\let\psk@arrowA\@empty\let\psk@arrowB\@empty} -% -% The origin is never the only label. -\def\pst@hlabels#1#2{% - \ifdim#1=\z@\else - \ifx#2\empty\else\advance#1\ifdim#1>\z@-\fi7\pslinewidth\fi - \pst@cnta=#1\relax % Distance (in sp) to end. - \divide\pst@cnta\psk@dx\relax % Number of ticks/labels - \ifnum\pst@cnta=\z@\else - \pst@dimb=\psk@dx sp % Space between ticks. - \ifnum\psk@ticks<\tw@ - \pst@ticks{0}{\pst@number\pst@dimb}{\the\pst@cnta}{\pst@dimd}% - \fi - \ifnum\psk@labels<\tw@ \pst@@hlabels\fi - \showoriginfalse - \fi -\fi} -% -% Knows \pst@dimb and \pst@cnta -\def\pst@minusZero{-0} -\def\pst@@hlabels{% - \vbox to\z@{% - \ifdim\pst@dimd>\z@\vskip\pslabelsep\else\vss\fi - \ifnum\pst@cnta<\z@ \pst@dimb=-\pst@dimb\fi - \hbox to\z@{% - \ifshoworigin\hbox to \z@{\hss\pshlabel{\psk@Ox}\hss}\fi - \mmultido - {\nA=\psk@Ox+\psk@Dx}% - {\pst@cnta}% - {\hskip\pst@dimb\hbox to \z@{% - \hss\ifx\nA\pst@minusZero \pshlabel{0}\else\pshlabel{\nA}\fi -% \hss\ifdim\nA pt=\z@ \pshlabel{0}\else\pshlabel{\nA}\fi - \hss}}% prevent "-0" - \hss}% - \ifdim\pst@dimd>\z@\vss\else\vskip\pslabelsep\fi}}% - -\def\pshlabel#1{$#1$} -% -\def\pst@vlabels#1#2{% - \ifdim#1=\z@\else - \ifx#2\empty\else - \advance#1\ifdim#1>\z@-\fi7\pslinewidth - \fi - \pst@cnta=#1\relax % Distance (in sp) to end. - \divide\pst@cnta\psk@dy\relax % Number of ticks/labels - \ifnum\pst@cnta=\z@\else - \pst@dima=\psk@dy sp % Space between ticks. - \ifodd\psk@ticks\else - \pst@ticks{90}{\pst@number\pst@dima}{\the\pst@cnta}{-\pst@dimc}% - \fi - \ifodd\psk@labels\else\pst@@vlabels\fi - \showoriginfalse - \fi - \fi} -% -% Knows \pst@dima and \pst@cnta -\def\pst@@vlabels{% - \vbox to\z@{% - \ifnum\pst@cnta>\z@ - \pst@dima=-\pst@dima - \fi - \offinterlineskip - \ifshoworigin - \vbox to \z@{\vss\hbox to\z@{% - \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi - \psvlabel{\psk@Oy}% - \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}% - \fi - \mmultido - {\nA=\psk@Oy+\psk@Dy}% - {\pst@cnta}% - {\vbox to\pst@dima{\vss}\vbox to \z@{\vss\hbox to\z@{% - \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi - \ifx\nA\pst@minusZero \psvlabel{0}\else\psvlabel{\nA}\fi% -% \ifdim\nA sp=\z@ \psvlabel{0}\else\psvlabel{\nA}\fi% prevent -0, doesn't work with \ifnum - \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}}% - \vss}} -% -\def\psvlabel#1{$#1$} -% -\catcode`\@=\TheAtCode\relax -\endinput -%% -%% END pst-plot.tex |