diff options
author | Karl Berry <karl@freefriends.org> | 2008-06-14 23:12:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-06-14 23:12:32 +0000 |
commit | f8cc855cd0280fbde00de48149d235af253554fd (patch) | |
tree | d46c2dcb1fec82b2650f38151315fb6f72d9e728 /Master/texmf-dist/tex/generic/pstricks-add | |
parent | 1b839cac605520b4304daee2b100f17d559d70fd (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.tex | 338 |
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, |