summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pstricks-add
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-19 00:14:41 +0000
committerKarl Berry <karl@freefriends.org>2009-11-19 00:14:41 +0000
commit4d009ca7c9f1312489e10e6956242106b57d57bc (patch)
tree9c096d917ee536ce8365a79b532b34f3cd0c0a59 /Master/texmf-dist/tex/generic/pstricks-add
parent8968ecaf8fa9c4e06cdc046034b4ffd9569df83f (diff)
pstricks-add update
git-svn-id: svn://tug.org/texlive/trunk@16068 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/pst-fp.tex132
-rw-r--r--Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex73
2 files changed, 170 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks-add/pst-fp.tex b/Master/texmf-dist/tex/generic/pstricks-add/pst-fp.tex
index 8cc3d9751f2..ff145b5e251 100644
--- a/Master/texmf-dist/tex/generic/pstricks-add/pst-fp.tex
+++ b/Master/texmf-dist/tex/generic/pstricks-add/pst-fp.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-fp.tex 112 2009-04-17 19:21:56Z herbert $
+%% $Id: pst-fp.tex 148 2009-11-14 09:01:39Z herbert $
%%
%%
%% This is file `pst-fp.tex',
@@ -23,8 +23,8 @@
% Requires some packages
\ifx\PSTricksLoaded\endinput\else\input pstricks \fi
%
-\def\fileversion{0.02}
-\def\filedate{2009/04/02}
+\def\fileversion{0.03}
+\def\filedate{2009/11/14}
\message{`pst-fp' v\fileversion, \filedate\space (hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -33,6 +33,7 @@
% -999999999999999999.999999999999999999
% and +999999999999999999.999999999999999999
+\def\pstFPmul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}} % #1 := #2*#3
\def\pstFPdiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}} % #1 := #2/#3
\countdef\pstFP@actcounter=10 % register 0 for counter
@@ -93,6 +94,7 @@
\countdef\pstFP@res=46
\countdef\pstFP@shift=47
\newcount\pstFP@times
+\countdef\pstFP@prod=49
%auxiliary macros which may be used in all of the following macros
\newif\ifpstFP@test
@@ -492,6 +494,130 @@
}%
\let#1\pstFP@tmp%
}
+%multiply two values
+
+\def\pstFP@firstnine#1#2#3#4#5#6#7#8#9{%
+ \pstFP@res=#1#2#3#4#5#6#7#8#9\relax%
+}
+\def\pstFP@@ninesplit#1\relax#2\end#3{%
+ #1%
+ \edef#3{#2}%
+}
+\def\pstFP@ninesplit#1{%
+ \edef#1{\expandafter\pstFP@firstnine\pstFP@rd}%
+ \expandafter\pstFP@@ninesplit#1\end#1\relax%
+}
+
+\def\pstFP@split#1#2#3#4{%
+ % #1 highest three digits
+ % #2 medium three digits
+ % #3 least three digits
+ % #4 counter
+ \pstFP@regc=#4%
+ \divide\pstFP@regc1000000\relax%
+ #1=\pstFP@regc%
+ \multiply\pstFP@regc-1000000\relax\advance\pstFP@regc#4%
+ #3=\pstFP@regc%
+ \divide\pstFP@regc1000\relax%
+ #2=\pstFP@regc%
+ \multiply\pstFP@regc-1000\relax\advance\pstFP@regc#3%
+ #3=\pstFP@regc%
+}
+
+\def\pstFP@@mul#1#2#3{%
+ \pstFP@regc=\csname pstFP@x#1\endcsname%
+ \multiply\pstFP@regc\csname pstFP@y#2\endcsname%
+ \advance\pstFP@prod\pstFP@regc%
+ %
+ \ifx#3\relax%
+ \let\next=\relax%
+ \else%
+ \let\next=\pstFP@@mul%
+ \fi%
+ \next#3%
+}
+
+\def\pstFP@saveshift{%
+ % save rightmost three digits
+ \pstFP@regc=\pstFP@prod%
+ \divide\pstFP@prod1000\relax%
+ \multiply\pstFP@prod1000\relax%
+ \advance\pstFP@regc-\pstFP@prod%
+ \advance\pstFP@regc1000\relax%
+ \edef\pstFP@rd{\expandafter\pstFP@ignorenext\the\pstFP@regc\pstFP@rd}%
+ %
+ \divide\pstFP@prod1000\relax%
+}
+
+\def\pstFP@mul#1#2.#3.#4\relax#5.#6.#7\relax{%
+ % #1 macro, which gets the result
+ % #2 integer part of 1st value
+ % #3 fractional part of 1st value
+ % #4 dummy to swallow everthing after the 2nd '.'
+ % #5 integer part of 2nd value
+ % #6 fractional part of 2nd value
+ % #7 dummy to swallow everthing after the 2nd '.'
+ %
+ % split value in various parts
+ % x y = 123 456 789 123 456 789 . 123 456 789 123 456 789
+ % -> xk xl xm xn xo xp xq xr xs xt xu xv
+ % -> yk yl ym yn yo yp yq yr ys yt yu yv
+ % multiply these parts and save the result wrt the necessary shifts
+ %
+ {\pstFP@readvalue{x}{#2}{#3}%
+ \pstFP@readvalue{y}{#5}{#6}%
+ %
+ %sign
+ \multiply\pstFP@xs\pstFP@ys%
+ \pstFP@rs=\pstFP@xs%
+ %
+ % split parts
+ \pstFP@split\pstFP@xk\pstFP@xl\pstFP@xm\pstFP@xia\pstFP@split\pstFP@xn\pstFP@xo\pstFP@xp\pstFP@xib%
+ \pstFP@split\pstFP@xq\pstFP@xr\pstFP@xz\pstFP@xfa\pstFP@split\pstFP@xt\pstFP@xu\pstFP@xv\pstFP@xfb%
+ \pstFP@split\pstFP@yk\pstFP@yl\pstFP@ym\pstFP@yia\pstFP@split\pstFP@yn\pstFP@yo\pstFP@yp\pstFP@yib%
+ \pstFP@split\pstFP@yq\pstFP@yr\pstFP@yz\pstFP@yfa\pstFP@split\pstFP@yt\pstFP@yu\pstFP@yv\pstFP@yfb%
+ %
+ \pstFP@prod=0\relax%
+ \edef\pstFP@rd{}%
+ %
+ %compute result
+ \pstFP@@mul vv \relax\pstFP@saveshift%
+ \pstFP@@mul vu uv \relax\pstFP@saveshift%
+ \pstFP@@mul uu vt tv \relax\pstFP@saveshift%
+ \pstFP@@mul ut tu vz zv \relax\pstFP@saveshift%
+ \pstFP@@mul tt zu uz rv vr \relax\pstFP@saveshift%
+ \pstFP@@mul zt tz ur ru vq qv \relax\pstFP@saveshift%
+ \pstFP@@mul zz rt tr uq qu vp pv \relax\pstFP@saveshift%
+ \pstFP@@mul zr rz tq qt up pu vo ov \relax\pstFP@saveshift%
+ \pstFP@@mul rr qz zq tp pt uo ou vn nv \relax\pstFP@saveshift%
+ \pstFP@@mul rq qr zp pz to ot un nu vm mv \relax\pstFP@saveshift%
+ \pstFP@@mul qq rp pr zo oz tn nt um mu vl lv \relax\pstFP@saveshift%
+ \pstFP@@mul qp pq ro or zn nz tm mt ul lu kv vk \relax\pstFP@saveshift%
+ \pstFP@@mul pp oq qo rn nr zm mz tl lt ku uk \relax\pstFP@saveshift%
+ \pstFP@@mul op po nq qn rm mr zl lz tk kt \relax\pstFP@saveshift%
+ \pstFP@@mul oo pn np mq qm rl lr kz zk \relax\pstFP@saveshift%
+ \pstFP@@mul no on mp pm lq ql kr rk \relax\pstFP@saveshift%
+ \pstFP@@mul nn mo om pl lp qk kq \relax\pstFP@saveshift%
+ \pstFP@@mul mn nm lo ok pk kp \relax\pstFP@saveshift%
+ \pstFP@@mul mm ln nl ko ok \relax\pstFP@saveshift%
+ \pstFP@@mul lm ml kn nk \relax\pstFP@saveshift%
+ \pstFP@@mul ll km mk \relax\pstFP@saveshift%
+ \pstFP@@mul kl lk \relax\pstFP@saveshift%
+ \pstFP@@mul kk \relax\pstFP@saveshift\pstFP@saveshift%
+ \pstFP@ninesplit\pstFP@rd%
+ \ifnum\pstFP@res=0\relax%
+ \pstFP@ninesplit\pstFP@rd%
+ \ifnum\pstFP@res=0\relax%
+ \pstFP@ninesplit\pstFP@rd\pstFP@ria=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rib=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rfa=\pstFP@res%
+ \pstFP@ninesplit\pstFP@rd\pstFP@rfb=\pstFP@res%
+ \pstFP@store\pstFP@tmp{r}%
+ \else\typeout{pstFPmul: Overflow}\fi%
+ \else\typeout{pstFPmul: Overflow}\fi%
+ \global\let\pstFP@tmp\pstFP@tmp}%
+ \let#1\pstFP@tmp%
+}
%
\catcode`\@=\PstAtCode\relax
%
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 7b9214d004c..9f85653803b 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 139 2009-10-13 12:16:45Z herbert $
+%% $Id: pstricks-add.tex 150 2009-11-14 09:25:53Z herbert $
%%
%%
%% This is file `pstricks-add.tex',
@@ -7,8 +7,8 @@
%%
%% Package `pstricks-add.tex'
%%
-%% Dominique Rodriguez <DR _at_ pstricks.de>
-%% Herbert Voss <Herbert.Voss _at_ pstricks.de>
+%% Dominique Rodriguez
+%% Herbert Voss <herbert _at_ dante.de>
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -31,8 +31,8 @@
\ifx\PSTFPloaded\endinput\else \input pst-fp \fi
\ifx\PSTmathLoaded\endinput\else \input pst-math \fi
%
-\def\fileversion{3.35}
-\def\filedate{2009/10/12}
+\def\fileversion{3.36}%%% CTAN 3.36
+\def\filedate{2009/11/14}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -173,6 +173,8 @@
\def\pst@int#1{\expandafter\pst@@int#1..\@nil}
\def\pst@@int#1.#2.\@nil{#1}
%
+\def\pstFPMul#1#2#3{\pstFP@callc\pstFP@mul#1{#2}{#3}% % #1 := int(#2/#3)
+ \edef#1{\pst@int{#1}}}%
\def\pstFPDiv#1#2#3{\pstFP@callc\pstFP@div#1{#2}{#3}% % #1 := int(#2/#3)
\edef#1{\pst@int{#1}}}%
%
@@ -182,7 +184,14 @@
\pst@dimn=#2pt%
\advance\pst@dimn by -#4pt
\pst@divide{\pst@dimn}{\pst@dimm}#5}
-%
+\def\psGetDistance(#1,#2)(#3,#4)#5{% 4 values without a dimen! #5 is a macro
+ \pst@dimm=#1pt%
+ \advance\pst@dimm by -#3pt%
+ \pst@dimn=#2pt%
+ \advance\pst@dimn by -#4pt
+ \pst@pyth\pst@dimm\pst@dimn\pst@dimo
+ \edef#5{\strip@pt\pst@dimo}
+}%
%--------------------------------------- small stuff -------------------------------
\def\use@keep@par{% same as \use@par, but keeps the values
\ifx\pst@par\@empty\else
@@ -226,7 +235,7 @@
}
% #1: (x,y) #2: rotAngle #3: object
-\def\psrotate{\pst@object{psrotate}}
+\def\psrotate{\def\pst@par{}\pst@object{psrotate}}
\def\psrotate@i(#1)#2{%
\pst@killglue
\begingroup%
@@ -249,7 +258,7 @@
\pst@Verb{ \tx@TMRestore }\endgroup}
%
% [#1]: obtargs; (#2,#3): center; {#4}: factor; {#5}: object
-\def\psHomothetie{\pst@object{psHomothetie}}
+\def\psHomothetie{\def\pst@par{}\pst@object{psHomothetie}}
\def\psHomothetie@i(#1)#2{%
\begin@SpecialObj%
\pst@getcoor{#1}\pst@tempA% converts the coordinates without a unit into pt
@@ -373,7 +382,7 @@
\define@key[psset]{pstricks-add}{braceWidthInner}{\pst@getlength{#1}\psk@braceWidthInner}
\define@key[psset]{pstricks-add}{braceWidthOuter}{\pst@getlength{#1}\psk@braceWidthOuter}
%
-\def\psbrace{\pst@object{psbrace}}
+\def\psbrace{\def\pst@par{}\pst@object{psbrace}}
\def\psbrace@i(#1)(#2)#3{%
\addbefore@par{ref=lb,linewidth=0.01pt,fillstyle=solid,fillcolor=black}% default setting
\begin@SpecialObj
@@ -988,7 +997,7 @@
\define@boolkey[psset]{pstricks-add}[Pst@]{color}[true]{}
%\psset{randomPoints=1000,color=false}
%
-\def\psRandom{\pst@object{psRandom}}% hv 2004-11-12
+\def\psRandom{\def\pst@par{}\pst@object{psRandom}}% hv 2004-11-12
\def\psRandom@i{\@ifnextchar({\psRandom@ii}{\psRandom@iii(0,0)(1,1)}}
\def\psRandom@ii(#1){\@ifnextchar({\psRandom@iii(#1)}{\psRandom@iii(0,0)(#1)}}
\def\psRandom@iii(#1)(#2)#3{%
@@ -1021,7 +1030,7 @@
\ignorespaces
}
%
-\def\psComment{\pst@object{psComment}}
+\def\psComment{\def\pst@par{}\pst@object{psComment}}
\def\psComment@i{\pst@getarrows\psComment@ii}
\def\psComment@ii(#1)(#2)#3{\@ifnextchar[
{\psComment@iii(#1)(#2){#3}}
@@ -1045,7 +1054,7 @@
%/amplHand {.8} def
%/dtHand 2 def
-\def\pslineByHand{\pst@object{pslineByHand}}
+\def\pslineByHand{\def\pst@par{}\pst@object{pslineByHand}}
\def\pslineByHand@i{%
\addbefore@par{VarStepEpsilon=2,varsteptol=0.8}
\pst@getarrows{%
@@ -1186,7 +1195,7 @@
/VPutPos { VPutLines } def
}>
%
-\def\ncbarr{\pst@object{ncbarr}}
+\def\ncbarr{\def\pst@par{}\pst@object{ncbarr}}
\def\ncbarr@i#1#2{
\begingroup
\use@par%
@@ -1234,7 +1243,7 @@
\define@boolkey[psset]{pstricks-add}[Pst@]{trueAngle}[true]{}
%\psset{trueAngle=false}
%
-\def\psRelNode{\pst@object{psRelNode}}
+\def\psRelNode{\def\pst@par{}\pst@object{psRelNode}}
\def\psRelNode@i(#1)(#2)#3#4{{% A - B - factor - node name
\use@par
\pst@getcoor{#1}\pst@tempA%
@@ -1256,7 +1265,7 @@
laenge beta sin mul \ifPst@trueAngle\space unit div \fi\space YA add ){#4}%
}}
%
-\def\psRelLine{\pst@object{psRelLine}}
+\def\psRelLine{\def\pst@par{}\pst@object{psRelLine}}
\def\psRelLine@i{\@ifnextchar({\psRelLine@iii}{\psRelLine@ii}}
\def\psRelLine@ii#1{%
\addto@par{arrows=#1}%
@@ -1275,7 +1284,7 @@
% #4----------#5(new node)
% #5 length of the line
% #6 node name
-\def\psParallelLine{\pst@object{psParallelLine}}
+\def\psParallelLine{\def\pst@par{}\pst@object{psParallelLine}}
\def\psParallelLine@i{\@ifnextchar({\psParallelLine@iii}{\psParallelLine@ii}}
\def\psParallelLine@ii#1{\addto@par{arrows=#1}\psParallelLine@iii}
\def\psParallelLine@iii(#1)(#2)(#3)#4#5{{
@@ -1352,7 +1361,7 @@
/linelength \pst@number\pst@dimp \pst@number\psunit div def
XA linelength angle cos mul add YA linelength angle sin mul add ){#4}%
}
-\def\nlput{\pst@object{nlput}}
+\def\nlput{\def\pst@par{}\pst@object{nlput}}
\def\nlput@i(#1)(#2)#3#4{%
\begin@SpecialObj
\psLDNode(#1)(#2){#3}{temp@lnput}
@@ -1368,7 +1377,7 @@
blName=PSPbl,bcName=PSPbc,brName=PSPbr,
clName=PSPcl,ccName=PSPcc,crName=PSPcr,
tlName=PSPtl,tcName=PSPtc,trName=PSPtr}
-\def\psDefPSPNodes{\pst@object{psDefPSPNodes}}
+\def\psDefPSPNodes{\def\pst@par{}\pst@object{psDefPSPNodes}}
\def\psDefPSPNodes@i{%
\pst@killglue
\begingroup
@@ -1681,7 +1690,7 @@
%% #1 : optional arguments passed to psline
%% #2 : x value
%% #3 : label
-\def\psxTick{\pst@object{psxTick}}% idea by Martin Chicoine
+\def\psxTick{\def\pst@par{}\pst@object{psxTick}}% idea by Martin Chicoine
\def\psxTick@i(#1)#2{{
\pst@killglue
\addbefore@par{arrows=-,linewidth=\psk@xtickwidth\pslinewidth}
@@ -1694,7 +1703,7 @@
%% #1 : optional arguments passed to psline
%% #2 : y value
%% #3 : label
-\def\psyTick{\pst@object{psyTick}}% idea by Martin Chicoine
+\def\psyTick{\def\pst@par{}\pst@object{psyTick}}% idea by Martin Chicoine
\def\psyTick@i(#1)#2{{
\pst@killglue
\addbefore@par{arrows=-,linewidth=\psk@ytickwidth\pslinewidth}
@@ -1778,7 +1787,7 @@
\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}}
%
-\def\psaxes{\pst@object{psaxes}}
+\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)}}
@@ -1827,7 +1836,7 @@
\ifdim\pst@dimg<\p@\pst@cnta=\psk@Dy\edef\psk@Dy{-\the\pst@cnta}\fi% v.1.21
\edef\psk@dy{\number\pst@dimg}%
\fi%
- \ifPst@xAxis\else\showorigintrue\fi%
+% \ifPst@xAxis\else\showorigintrue\fi% 2009-10-21
\pst@vlabels{\pst@dimd}{\psk@arrowB}{#3}{#5}%
\ifPst@xAxis\showoriginfalse\fi%
\pst@vlabels{\pst@dimb}{\psk@arrowA}{#3}{#5}%
@@ -1842,7 +1851,7 @@
\fi% v.1.21
\edef\psk@dx{\number\pst@dimg}%
\fi%
- \ifPst@yAxis\else\showorigintrue\fi%
+% \ifPst@yAxis\else\showorigintrue\fi% 2009-10-21
\pst@hlabels{\pst@dimc}{\psk@arrowB}{#4}{#6}%
\ifPst@yAxis\showoriginfalse\fi%
\pst@hlabels{\pst@dima}{\psk@arrowA}{#4}{#6}%
@@ -2538,7 +2547,7 @@
\newdimen\pst@xunit
\newdimen\pst@yunit
%
-\def\psgraph{\pst@object{psgraph}}
+\def\psgraph{\def\pst@par{}\pst@object{psgraph}}
\def\psgraph@i{\pst@getarrows\psgraph@ii}
\def\psgraph@ii(#1,#2){\catcode`\!=12\relax
\@ifnextchar({\psgraph@iii(#1,#2)}{\psgraph@iv(0,0)(#1,#2)}}
@@ -3077,7 +3086,7 @@
\else\let\psk@StepType\tw@\fi\fi\fi\fi}
\psset{StepType=lower} % alternative StepType=upper/inf/sup/Riemann
%
-\def\psStep{\pst@object{psStep}}
+\def\psStep{\def\pst@par{}\pst@object{psStep}}
\def\psStep@i(#1,#2)#3#4{%
\begin@ClosedObj%
\addto@pscode{
@@ -3159,7 +3168,7 @@
\psset[pstricks-add]{CMYK=true}
\def\@NOTEMPTY{NOT@EMPTY}%%dr 0606
%
-\def\psTangentLine{\pst@object{psTangentLine}}
+\def\psTangentLine{\def\pst@par{}\pst@object{psTangentLine}}
\def\psTangentLine@i(#1,#2)(#3,#4)(#5,#6)#7#8{%
\begin@OpenObj%
\addto@pscode{
@@ -3331,7 +3340,7 @@
}
\def\EndSaveFinalState{\pstverb{\End@SaveFinalState}}
-\def\psplotDiffEqn{\pst@object{psplotDiffEqn}}% initial code by Dominique 2005-05-21
+\def\psplotDiffEqn{\def\pst@par{}\pst@object{psplotDiffEqn}}% initial code by Dominique 2005-05-21
\def\psplotDiffEqn@i#1#2#3#4{%
\addbefore@par{xStart=#1}%
\pst@killglue%
@@ -3519,7 +3528,7 @@
}
%
%
-\def\psGTriangle{\pst@object{psGTriangle}}
+\def\psGTriangle{\def\pst@par{}\pst@object{psGTriangle}}
\def\psGTriangle@i(#1)(#2)(#3)#4#5#6{{%
\def\solid@star{}%
\begin@ClosedObj
@@ -3546,7 +3555,7 @@
\end@ClosedObj%
}\ignorespaces}
%
-\def\psdice{\pst@object{psdice}}
+\def\psdice{\def\pst@par{}\pst@object{psdice}}
\def\psdice@i#1{{%
\pst@killglue%
\addbefore@par{framearc=0.3,linewidth=1pt}%
@@ -3683,7 +3692,7 @@
%
\define@key[psset]{pstricks-add}{colorType}[0]{\def\psk@colorType{#1}}
\psset[pstricks-add]{colorType=0} % 0-> two color mode 1->wavelength mode (400..700nm)
-\def\psMatrixPlot{\pst@object{psMatrixPlot}}
+\def\psMatrixPlot{\def\pst@par{}\pst@object{psMatrixPlot}}
\def\psMatrixPlot@i#1#2#3{%
\pst@killglue%
\addbefore@par{xStep=1,yStep=1}%
@@ -3768,7 +3777,7 @@
\define@key[psset]{pstricks-add}{chartNodeO}{\def\psk@chartNodeO{#1}}
\psset[pstricks-add]{chartNodeI=0.75,chartNodeO=1.5}
%
-\def\psChart{\pst@object{psChart}}
+\def\psChart{\def\pst@par{}\pst@object{psChart}}
\def\psChart@i#1#2#3{%
% #1:values #2:separated charts
% #3 radius->pie; max height->histogram
@@ -4011,7 +4020,7 @@
\global\advance\chart@ColorIndex by 1pt
}
%
-\def\psCancel{\pst@object{psCancel}}% by Stefano Baroni 2008-06-21
+\def\psCancel{\def\pst@par{}\pst@object{psCancel}}% by Stefano Baroni 2008-06-21
\def\psCancel@i{\pst@makebox\psCancel@ii}
\def\psCancel@ii{%
\begingroup