summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pstricks-add
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-06-14 23:12:32 +0000
committerKarl Berry <karl@freefriends.org>2008-06-14 23:12:32 +0000
commitf8cc855cd0280fbde00de48149d235af253554fd (patch)
treed46c2dcb1fec82b2650f38151315fb6f72d9e728 /Master/texmf-dist/tex/generic/pstricks-add
parent1b839cac605520b4304daee2b100f17d559d70fd (diff)
pstricks-add update (14jun08)
git-svn-id: svn://tug.org/texlive/trunk@8737 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks-add')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex338
1 files changed, 186 insertions, 152 deletions
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 b8520590dcf..b4af4db6b5d 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 24 2008-05-16 18:33:45Z herbert $
+%% $Id: pstricks-add.tex 25 2008-06-06 10:33:45Z 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.04}
-\def\filedate{2008/06/02}
+\def\fileversion{3.05}
+\def\filedate{2008/06/12}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -142,6 +142,13 @@
\global#3=\the\pst@dimm%
\endgroup%
}
+\def\pst@mindim#1#2#3{%
+ \begingroup%
+ \pst@dimm=#1\pst@dimn=#2\relax%
+ \ifdim\pst@dimm>\pst@dimn\pst@dimm=\pst@dimn\fi
+ \global#3=\the\pst@dimm%
+ \endgroup%
+}
\def\pst@abs#1#2{%
\begingroup%
\pst@cntm=#1\relax%
@@ -1029,49 +1036,13 @@
\def\psk@nodeseptypeA{1 }%
\def\psk@nodeseptypeB{1 }%
}
+%
% \psGetNodeCenter defines the PS variable #1.x and #1.y, which can then
% be used by the user. #1 must be a valid node name
-%
\def\psGetNodeCenter#1{ tx@NodeDict begin /N@#1 load GetCenter end % x y on stack in system coor
\pst@number\psyunit div /#1.y ED % /#1.y in user coor
\pst@number\psxunit div /#1.x ED } % /#1.x in user coor
%
-\pst@def{NCLineII}<{
- NCCoor
- /y1 ED /x1 ED x1 y1 ArrowA x1 y1 moveto
- /y2 ED /x2 ED
- /y0 y1 def /x0 x1 def
- /linelength x2 x1 sub y2 y1 sub Pyth def
- \psk@dashNo\space 1.0 lt
- {/cntMax 1.0 \psk@dashNo\space div .49 add cvi def}
- {/cntMax linelength \psk@dashNo\space div .49 add cvi def} ifelse
- x2 x1 sub cntMax div /dx ED
- y2 y1 sub cntMax div /dy ED
- /cnt 0 def
- cntMax {
- gsave
- /x1 x1 dx add def
- /y1 y1 dy add def
- x1 y1
- cnt 2 mod 0 eq
- { \pst@usecolor\psDashColorI }
- { \pst@usecolor\psDashColorII } ifelse
- lineto stroke
- /cnt cnt 1 add def
- grestore
- x1 y1 moveto
- } repeat
- x0 y0 x2 y2 ArrowB L pop pop%
-}>
-%
-\def\nclineII{\pst@object{nclineII}}%
-\def\nclineII@i{\check@arrow{\nclineII@ii}}%
-\def\nclineII@ii#1#2{\nc@object{Open}{#1}{#2}{.5}%
- {\tx@NCLineII /LPutPos { xB yB xA yA \tx@LPutLine } def}%
-}%
-\def\pclineII{\pst@object{pclineII}}%
-\def\pclineII@i{\pc@object\nclineII@ii}%
-%
\define@key[psset]{pstricks-add}{lineAngle}{\psset{armB=0.5}\def\psk@lineAngle{#1}}%
%\psset{lineAngle=0}%
%
@@ -1368,7 +1339,7 @@
\def\pshlabel##1{\psk@labelFontSize##1}%
\def\psvlabel##1{\psk@labelFontSize##1}
\fi}
-\psset{labelFontSize={},mathLabel}
+%\psset{labelFontSize={},mathLabel}
%
\define@boolkey[psset]{pstricks-add}[Pst@]{comma}[true]{}
\define@boolkey[psset]{pstricks-add}[Pst@]{xAxis}[true]{}
@@ -1377,6 +1348,34 @@
\@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}
+\def\psset@@xlabelPos#1#2\@nil{%
+ \ifx#1t
+ \def\psk@xlabelPos{\tw@}% 2=top
+ \pst@xticksizeC=\pst@xticksizeB%
+ \else
+ \ifx#1a
+ \def\psk@xlabelPos{\@ne}% 1=axis
+ \pst@xticksizeC=\z@%
+ \else
+ \def\psk@xlabelPos{\z@}% 0=bottom
+ \pst@xticksizeC=\pst@xticksizeA%
+ \fi\fi}%
+\def\psset@@ylabelPos#1#2\@nil{%
+ \ifx#1r
+ \def\psk@ylabelPos{\tw@}% 2=right
+ \pst@yticksizeC=\pst@yticksizeB%
+ \else
+ \ifx#1a
+ \def\psk@ylabelPos{\@ne}% 1=axis
+ \pst@yticksizeC=\z@%
+ \else
+ \def\psk@ylabelPos{\z@}% 0=left
+ \pst@yticksizeC=\pst@yticksizeA%
+ \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}}
@@ -1401,27 +1400,54 @@
\pst@mod{\pst@cntm}{\de@nominator}\pst@cntp % cntb=##1 modulo trigLabelBase
\ifnum\@ne>\pst@cntp % 1 > modulo -> then we have pi/x
\pst@cnto=\pst@cntm \divide\pst@cnto by \de@nominator
- \psk@labelFontSize
- \ifnum\pst@tempA<0 $-$\fi%
- \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
- $\pi$ % print pi
- \else
- $\the\pst@cnto\pi$ % print \pst@cnto/\de@nominator pi
- \fi
+ \ifPst@mathLabel
+ $\psk@labelFontSize
+ \ifnum\pst@tempA<0 -\fi%
+ \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
+ \pi % print pi
+ \else
+ \the\pst@cnto\pi % print \pst@cnto/\de@nominator pi
+ \fi$
+ \else
+ \psk@labelFontSize
+ \ifnum\pst@tempA<0 -\fi%
+ \ifnum\pst@cnto=\@ne % #1 = trigLabelBase
+ $\pi$ % print pi
+ \else
+ \the\pst@cnto$\pi$ % print \pst@cnto/\de@nominator pi
+ \fi
+ \fi
\else
- \psk@labelFontSize
- \ifnum\pst@cntp=\@ne % < 1 pi?
- \if\pst@cntm=\@ne
- $\frac{\pi}{\de@nominator}$ % pi/x
- \else\ifnum\pst@tempA=-1 $\frac{-\pi}{\de@nominator}$
- \else \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
- \else$\frac{\pst@tempA\pi}{\de@nominator}$ % (x pi)/y
+ \ifPst@mathLabel
+ $\psk@labelFontSize
+ \ifnum\pst@cntp=\@ne % < 1 pi?
+ \if\pst@cntm=\@ne
+ \frac{\pi}{\de@nominator} % pi/x
+ \else\ifnum\pst@tempA=-1 \frac{-\pi}{\de@nominator}
+ \else \ifnum\pst@tempA=1 \frac{\pi}{\de@nominator}
+ \else\frac{\pst@tempA\pi}{\de@nominator} % (x pi)/y
+ \fi\fi\fi
+ \else
+ \ifnum\pst@tempA=1 \frac{\pi}{\de@nominator}
+ \else\ifnum\pst@tempA=\de@nominator \pi
+ \else\frac{\pst@tempA\pi}{\de@nominator}
+ \fi\fi\fi$
+ \else
+ \psk@labelFontSize
+ \ifnum\pst@cntp=\@ne % < 1 pi?
+ \if\pst@cntm=\@ne
+ $\frac{\pi}{\de@nominator}$ % pi/x
+ \else\ifnum\pst@tempA=-1 $\frac{-\pi}{\de@nominator}$
+ \else \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
+ \else$\frac{\pst@tempA\pi}{\de@nominator}$ % (x pi)/y
+ \fi\fi\fi
+ \else
+ \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
+ \else\ifnum\pst@tempA=\de@nominator $\pi$
+ \else$\frac{\pst@tempA\pi}{\de@nominator}$
\fi\fi\fi
- \else
- \ifnum\pst@tempA=1 $\frac{\pi}{\de@nominator}$
- \else\ifnum\pst@tempA=\de@nominator $\pi$
- \else$\frac{\pst@tempA\pi}{\de@nominator}$
- \fi\fi\fi\fi%
+ \fi
+ \fi%
}%
\else
\def\pst@@@hlabel##1{%
@@ -1435,7 +1461,7 @@
\fi%
}
\ifPst@mathLabel
- \def\pshlabel##1{\psk@labelFontSize$##1$}\else
+ \def\pshlabel##1{$\psk@labelFontSize##1$}\else
\def\pshlabel##1{\psk@labelFontSize##1}%
\fi
\fi
@@ -1554,11 +1580,6 @@
\let\psk@arrowB\@empty%
\psxs@axes%
}
-%\def\psxs@axes{%
-% \psxs@@axes\pst@dima\pst@dimc{}%
-% \psxs@@axes\pst@dimb\pst@dimd{exch}%
-%}
-
%
\def\psxs@axes{{%
\ifPst@xAxis\psxs@@axes\pst@dima\pst@dimb\pst@dimc\pst@dimd{}\fi%
@@ -1570,7 +1591,7 @@
\def\psaxes@iii(#1)(#2){\@ifnextchar({\psaxes@iv(#1)(#2)}{\psaxes@iv(#1)(#1)(#2)}}
\def\psaxes@iv(#1)(#2)(#3){\@ifnextchar[{\psaxes@v(#1)(#2)(#3)}{\psaxes@vii(#1)(#2)(#3)}}%
\def\psaxes@v(#1)(#2)(#3)[#4]{\@ifnextchar[{\psaxes@vi(#1)(#2)(#3)[#4]}{\psaxes@vi(#1)(#2)(#3)[#4][]}}%
-\def\psaxes@v(#1)(#2)(#3)[#4,#5][#6,#7]{%
+\def\psaxes@vi(#1)(#2)(#3)[#4,#5][#6,#7]{%
\psaxes@vii(#1)(#2)(#3)%
\uput[#5](#3|0,0){#4}\uput[#7](0,0|#3){#6}%
}
@@ -1578,12 +1599,16 @@
\def\psaxes@vii(#1,#2)(#3,#4)(#5,#6){%
\pst@killglue%
\begingroup%
+ \pssetxlength\pst@dimc{#5}% ur-x
+ \pssetylength\pst@dimd{#6}% ur-y
+ \ifdim\pst@dimc<\z@ \ifdim\pst@dimd<\z@ % axes show to left and down
+ \addbefore@par{xlabelPos=top,ylabelPos=right}\fi\fi
\setbox\pst@hbox=\hbox\bgroup%
- \use@par%
+ \use@par% now the same with an optional unit=... in 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@dima{#3}% ll-x
+ \pssetylength\pst@dimb{#4}% ll-y
\pssetxlength\pst@dimc{#5}% ur-x
\pssetylength\pst@dimd{#6}% ur-y
% If minimum values are negative in log mode, we modify Ox
@@ -1591,8 +1616,8 @@
% X axis labels (\psk@log = 0 or 1)
%
% 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@dima-\pst@dimg% Dist. from ll-x to o-x
+ \advance\pst@dimb-\pst@dimh% Dist. from ll-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:
@@ -1602,12 +1627,8 @@
\ifdim\pst@dima=\z@\else\showoriginfalse\fi%
\ifnum\psk@dy=\z@%
\pst@dimg=\psk@Dy\psyunit%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash pst@dimg=\the\pst@dimg}\fi % v.1.21
- \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta} % v.1.21
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): Dy -> -Dy (was negative)}\fi % v.1.21
- \fi % v.1.21
+ \ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dy \edef\psk@Dy{-\the\pst@cnta}\fi % v.1.21
\edef\psk@dy{\number\pst@dimg}%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash psk@dy=\psk@dy}\fi % v.1.21
\fi%
\ifPst@xAxis\else\showorigintrue\fi%
\pst@vlabels{\pst@dimd}{\psk@arrowB}{#3}{#5}%
@@ -1620,12 +1641,9 @@
\ifdim\pst@dimb=\z@\else\showoriginfalse\fi%
\ifnum\psk@dx=\z@%
\pst@dimg=\psk@Dx\psxunit%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash pst@dimg=\the\pst@dimg}\fi % v.1.21
\ifdim\pst@dimg<\p@ \pst@cnta=\psk@Dx \edef\psk@Dx{-\the\pst@cnta} % v.1.21
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): Dx -> -Dx (was negative)}\fi % v.1.21
\fi % v.1.21
\edef\psk@dx{\number\pst@dimg}%
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): \textbackslash psk@dx=\psk@dx}\fi % v.1.21
\fi%
\ifPst@yAxis\else\showorigintrue\fi%
\pst@hlabels{\pst@dimc}{\psk@arrowB}{#4}{#6}%
@@ -1651,31 +1669,35 @@
\newdimen\pst@yticksizeC
%
\def\set@xticksize#1{%
- \pst@expandafter\pst@getydimdim{#1} {} {}\@nil % y-unit!!
- \pst@xticksizeA=\the\pst@dimm%
- \pst@xticksizeB=\the\pst@dimn%
+ \pst@expandafter\pst@getydimdim{#1} {} {}\@nil % y-unit!!
+ \ifdim\pst@dimm>\pst@dimn % first > second value
+ \pst@xticksizeA=\the\pst@dimn%
+ \pst@xticksizeB=\the\pst@dimm%
+ \else
+ \pst@xticksizeA=\the\pst@dimm%
+ \pst@xticksizeB=\the\pst@dimn% first > second value
+ \fi
\edef\psk@xticksize{\pst@number\pst@xticksizeA \pst@number\pst@xticksizeB}%
- \ifdim\pst@dimm=\z@\relax
- \pst@xticksizeC=\z@
- \else%
- \pst@absdim{\pst@xticksizeA}\pst@dimm%
- \pst@absdim{\pst@xticksizeB}\pst@dimn%
- \pst@maxdim{\pst@dimm}{\pst@dimn}\pst@dimo%
- \pst@xticksizeC=\pst@dimo%
+ \ifnum\psk@xlabelPos<\z@ % top
+ \pst@xticksizeC=\pst@dimn
+ \else
+ \pst@xticksizeC=\pst@dimm% bottom
\fi%
}
\def\set@yticksize#1{%
\pst@expandafter\pst@getxdimdim{#1} {} {}\@nil % x-unit!
- \pst@yticksizeA=\the\pst@dimm%
- \pst@yticksizeB=\the\pst@dimn%
+ \ifdim\pst@dimm>\pst@dimn % first > second value
+ \pst@yticksizeA=\the\pst@dimn%
+ \pst@yticksizeB=\the\pst@dimm%
+ \else
+ \pst@yticksizeA=\the\pst@dimm%
+ \pst@yticksizeB=\the\pst@dimn% first > second value
+ \fi
\edef\psk@yticksize{\pst@number\pst@yticksizeA \pst@number\pst@yticksizeB}%
- \ifdim\pst@dimm=\z@\relax
- \pst@yticksizeC=\z@
- \else%
- \pst@absdim{\pst@yticksizeA}\pst@dimm%
- \pst@absdim{\pst@yticksizeB}\pst@dimn%
- \pst@maxdim{\pst@dimm}{\pst@dimn}\pst@dimo%
- \pst@yticksizeC=\pst@dimo%
+ \ifnum\psk@ylabelPos<\z@ % right
+ \pst@yticksizeC=\pst@dimn
+ \else
+ \pst@yticksizeC=\pst@dimo% left
\fi%
}
\define@key[psset]{}{ticksize}{\set@xticksize{#1}\set@yticksize{#1}}
@@ -1698,24 +1720,6 @@
\@pstrickserr{Bad tick style: `#1#2'}\@ehpa
\fi\fi\fi
}
-
-\iffalse
-\define@key[psset]{}{tickstyle}{%
- \pst@expandafter\psset@@tickstyle{#1}\@nil%
- \pst@cnta=\psk@tickstyle
- \advance\pst@cnta by \@ne
- \ifcase\pst@cnta% bottom
- \pst@xticksizeB=\z@
- \pst@yticksizeB=\z@
- \or% full
- \or% top
- \pst@xticksizeA=\z@
- \pst@yticksizeA=\z@
- \fi
-}
-\fi
-%\psset{tickstyle=full}%
-%
%
\define@key[psset]{pstricks-add}{subticks}{\def\psk@xsubticks{#1}\def\psk@ysubticks{#1}}
\define@key[psset]{pstricks-add}{xsubticks}{\def\psk@xsubticks{#1}}
@@ -2000,20 +2004,22 @@
}
% Knows \pst@dimb and \pst@cnta
\def\pst@@hlabels{%
- \pst@dimm=\pst@xticksizeC\advance\pst@dimm by \pslabelsep%
+ \psDEBUG[pst@@hlabels]{xticksizeC=\the\pst@xticksizeC}%
\vbox to\z@{%
- \ifdim\pst@dimd>\z@\vskip\pst@dimm\else\vss\fi%
- \ifnum\pst@cnta<\z@\pst@dimb=-\pst@dimb\fi%
+ \ifcase\psk@xlabelPos
+ \vskip-\pst@xticksizeA\vskip\pslabelsep\or
+ \vskip-1ex\or%
+ \vskip-\pst@xticksizeB\vskip-\pslabelsep\vskip-1ex%
+ \fi%
\hbox to\z@{%
+ \ifnum\pst@cnta<\z@\pst@dimb=-\pst@dimb\fi%
\ifshoworigin\hbox to \z@{\hss\pst@@@hlabel{\psk@Ox}\hss}\fi%
\mmultido{\nA=\psk@Ox+\psk@Dx}{\pst@cnta}{%
\hskip\pst@dimb\hbox to \z@{\hss%
\ifdim\nA pt=\z@ \pst@@@hlabel{0}\else\expandafter\pst@@@hlabel{\nA}\fi% prevent -0, doesn't work with \ifnum
-% \ifnum\nA=0 \pst@@@hlabel{0}\else\expandafter\pst@@@hlabel{\nA}\fi
\hss}%
}\hss%
- }%
- \ifdim\pst@dimd>\z@\vss\else\vskip\pst@dimm\fi%
+ }
}}%
% #1:Max/Min in pt from origin; #2:arrow; #3:min; #4:max
@@ -2034,33 +2040,32 @@
% \pst@dima: the width between two labels in pt
% \pst@dimc: the coordinate of the origin in pt
% \pst@cnta: the lowest label
+% \pst@ticksizeC the lowest or highest value
\def\pst@@vlabels{%
- \pst@dimm=\pst@yticksizeC%
- \advance\pst@dimm by \pslabelsep%
+ \psDEBUG[pst@@vlabels]{yticksizeC=\the\pst@yticksizeC}%
+% for left labels we use \def\llap#1{\hb@xt@\z@{\hss#1}}
\vbox to\z@{%
- \ifnum\pst@cnta>\z@\pst@dima=-\pst@dima\fi%
+ \ifnum\pst@cnta>\z@ \pst@dima=-\pst@dima\fi% up or down label positions
\offinterlineskip%
- \ifshoworigin
+ \ifshoworigin%
\vbox to \z@{\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@\hss\else\hskip\pst@dimm\fi
- \pst@@@vlabel{\psk@Oy}%
- \ifdim\pst@dimc>\z@\hskip\pst@dimm\else\hss\fi}\vss}%
+ \ifcase\psk@ylabelPos
+ \hss\pst@@@vlabel{\psk@Oy}\hskip\pslabelsep\hskip-\pst@yticksizeA\or
+ \hskip\pslabelsep\hss\pst@@@vlabel{\psk@Oy}\hss\or % right labels
+ \hskip\pst@yticksizeB\hskip\pslabelsep\pst@@@vlabel{\psk@Oy}%
+ \fi}\vss}%
\fi%
\mmultido{\nA=\psk@Oy+\psk@Dy}{\pst@cnta}{%
- \vbox to\pst@dima{\vss}
+ \vbox to\pst@dima{\vss}%
\vbox to \z@{%
\vss\hbox to\z@{%
- \ifdim\pst@dimc>\z@%
- \hss\pst@@@vlabel{\nA}\hskip\pst@dimm%
- \else%
- \hskip\pst@dimm%\ifnum\nA=0 \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi
- \ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi% prevent -0, doesn't work with \ifnum
- \hss%
- \fi
- }\vss%
- }}%
- \vss%
-}}
+ \ifcase\psk@ylabelPos% and also check for -0
+ \hss\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi\hskip\pslabelsep\hskip-\pst@yticksizeA\or
+ \hskip\pslabelsep\hss\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi\hss\or % right labels
+ \hskip\pst@yticksizeB\hskip\pslabelsep\ifdim\nA pt=\z@ \pst@@@vlabel{0}\else\pst@@@vlabel{\nA}\fi%
+ \fi}\vss}
+ }\vss}%
+}
%
\define@key[psset]{pstricks-add}{nStep}{\def\psk@nStep{#1}}
\define@key[psset]{pstricks-add}{nStart}{\def\psk@nStart{#1}}
@@ -2184,8 +2189,19 @@
\define@key[psset]{pstricks-add}{xAxisLabel}{\def\psk@xAxisLabel{#1}}
\define@key[psset]{pstricks-add}{yAxisLabel}{\def\psk@yAxisLabel{#1}}
%\psset{xAxisLabel=x,yAxisLabel=y}
+\iffalse
+\define@key[psset]{pstricks-add}{xAxisLabelPos}{%
+ \def\pst@tempA{#1}%
+ \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
+ \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}}
+
%\psset{yAxisLabelPos={},xAxisLabelPos={}}
%
\newdimen\psk@llx
@@ -2231,7 +2247,7 @@
\use@par%
\psaxes(#1,#2)(#3,#4)%
\egroup%
- \psgraph@vi(#1,#2)(#3,#4)%
+ \psgraph@vi(#1,#2)(#1,#2)(#3,#4)%
}
\def\psgraph@v(#1,#2)(#3,#4)(#5,#6)#7#8{% with special origin
% Xorig | yorig | minX | minY | maxX | maxY | Length x-axis | length y-axis%
@@ -2256,18 +2272,34 @@
\use@par%
\psaxes(#1,#2)(#3,#4)(#5,#6)%
\egroup%
- \psgraph@vi(#1,#2)(#5,#6)%
+ \psgraph@vi(#1,#2)(#3,#4)(#5,#6)%
}
-\def\psgraph@vi(#1,#2)(#3,#4){%
+%
+\def\setxLabelC@@r#1,#2(#3,#4){%
+ \ifx#1c
+ \pssetylength\pst@dimm{#2}
+ \rput(! #4 #3 add 2 div \pst@number\pst@dimm \pst@number\psyunit div ){\psk@xAxisLabel}
+ \else
+ \pst@getcoor{\psk@xAxisLabelPos}\pst@tempA
+ \rput(! \pst@tempA\space \tx@UserCoor ){\psk@xAxisLabel}
+ \fi}
+\def\setyLabelC@@r#1,#2(#3,#4){%
+ \ifx#2c
+ \pssetxlength\pst@dimm{#1}
+ \rput{90}(! \pst@number\pst@dimm \pst@number\psxunit div #4 #3 add 2 div ){\psk@yAxisLabel}
+ \else
+ \pst@getcoor{\psk@yAxisLabelPos}\pst@tempA
+ \rput{90}(! \pst@tempA\space \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](#3,#2){\psk@xAxisLabel}%
- \else\rput(\psk@xAxisLabelPos){\psk@xAxisLabel}%
- \fi%
+ \ifx\psk@xAxisLabelPos\@empty \uput[0](#5,#2){\psk@xAxisLabel}%
+ \else \expandafter\setxLabelC@@r\psk@xAxisLabelPos(#3,#5)\fi%
\fi%
\ifx\psk@yAxisLabel\@empty\else%
- \ifx\psk@yAxisLabelPos\@empty\uput[90](#1,#4){\psk@yAxisLabel}%
- \else\rput{90}(\psk@yAxisLabelPos){\psk@yAxisLabel}%
- \fi%
+ \ifx\psk@yAxisLabelPos\@empty \uput[90](#1,#6){\psk@yAxisLabel}%
+ \else \expandafter\setyLabelC@@r\psk@yAxisLabelPos(#4,#6)\fi%
\fi%
\ignorespaces%
}
@@ -3225,9 +3257,11 @@
arrowLW=0,
dashNo=0.2,linecap=0,
xyAxes=true,
+ xlabelPos=bottom, ylabelPos=left,
trigLabels=false,trigLabelBase=0,
xDecimals={},yDecimals={},
xlogBase={},ylogBase={},
+ labelFontSize={},mathLabel,
logLines=none,
ignoreLines=0,
nStep=1,nStart=0,nEnd={},
@@ -3239,7 +3273,7 @@
randomPoints=1000,color=false,
method={},whichabs={},whichord={},
plotfuncx={},plotfuncy={},buildvector=false,
-% algebraic=false, % indivisuelly set
+% algebraic=false, % individuelly set
Derive={},adamsorder=4,
VarStep=false, PlotDerivative=none, VarStepEpsilon=default,
varsteptol=.001,