summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pstricks
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-node.tex141
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pst-plot.tex38
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex246
3 files changed, 271 insertions, 154 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex b/Master/texmf-dist/tex/generic/pstricks/pst-node.tex
index 36d61daba0e..ab6a512ef1b 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pst-node.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pst-node.tex
@@ -4,11 +4,11 @@
%% See the betadoc documentation for usage.
%% This uses the header file `pst-node.pro'.
%%
-\def\fileversion{1.00}
-\def\filedate{2007/10/16}
+\def\fileversion{1.01}
+\def\filedate{2008/11/26}
%%
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
-%% COPYRIGHT by Herbert Voss, hvoss@tug.org.
+%% COPYRIGHT 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
@@ -301,29 +301,31 @@ exch
\ifnodealign\lower\pst@dimb\fi
\box\pst@hbox
\endgroup}
+%
\def\dotnode{\pst@object{dotnode}}
\def\dotnode@i{\@ifnextchar({\dotnode@ii}{\dotnode@ii(\z@,\z@)}}
\def\dotnode@ii(#1)#2{%
-\leavevmode
-\hbox{%
-\use@par
-\pst@@getcoor{#1}%
-\pst@getdotsize
-\pstree@nodehook
-\ifnodealign
-\pst@dima=\pst@dimg
-\kern\pst@dima
-\vrule width\z@ height \pst@dimh depth \pst@dimh
-\fi
-\pst@newnode{#2}{14}{}{%
-\pst@coor
-/Y ED /X ED
-/w \pst@number\pst@dimg def
-/h \pst@number\pst@dimh def
-/NodePos { \tx@OvalNodePos } def}%
-\psdot@ii(#1)%
-\ifnodealign\kern\pst@dima\fi}%
-\ignorespaces}
+ \leavevmode%
+ \hbox{%
+ \use@par%
+ \pst@@getcoor{#1}%
+ \pst@getdotsize%
+ \pstree@nodehook%
+ \ifnodealign%
+ \pst@dima=\pst@dimg%
+ \kern\pst@dima%
+ \vrule width\z@ height \pst@dimh depth \pst@dimh%
+ \fi%
+ \pst@newnode{#2}{14}{}{
+ \pst@coor
+ /Y ED /X ED
+ /w \pst@number\pst@dimg def
+ /h \pst@number\pst@dimh def
+ /NodePos { \tx@OvalNodePos } def}%
+ \psdot@ii(#1)%
+ \ifnodealign\kern\pst@dima\fi}%
+ \ignorespaces}
+%
\def\psset@framesize#1{\pst@expandafter\psset@@framesize{#1} \@nil}
\def\psset@@framesize#1 #2\@nil{%
\pssetlength\pst@dimg{#1}%
@@ -336,46 +338,47 @@ exch
\divide\pst@dimg2
\edef\psk@frameheight{\pst@number\pst@dimg}%
\fi}
+%
\psset@framesize{10pt}
+%
\def\fnode{\pst@object{fnode}}
\def\fnode@i{\@ifnextchar({\fnode@ii}{\fnode@ii(\z@,\z@)}}
\def\fnode@ii(#1)#2{%
-\leavevmode
-\pst@killglue
-\hbox{%
-\use@par
-\begin@ClosedObj
-\ifnodealign
-\kern\psk@framewidth\p@
-\vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@
-\edef\pst@coor{0 0 }%
-\else
-\pst@@getcoor{#1}%
-\fi
-\pst@newnode{#2}{14}{}{%
-\pst@coor
-/Y ED /X ED
-/d \psk@dimen .5 sub CLW mul neg def
-/r \psk@framewidth d add def
-/l r neg def
-/u \psk@frameheight d add def
-/d u neg def
-/NodePos { \tx@GetRnodePos } def}%
-\addto@pscode{%
-/x2 \psk@framewidth CLW \psk@dimen mul sub def
-/y2 \psk@frameheight CLW \psk@dimen mul sub def
-\pst@coor 2 copy
-y2 sub /y1 ED
-x2 sub /x1 ED
-y2 add /y2 ED
-x2 add /x2 ED
-\psk@cornersize
-1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}%
-\def\pst@linetype{2}%
-\showpointsfalse
-\end@ClosedObj
-\ifnodealign\kern\psk@framewidth\p@\fi}%
-\ignorespaces}
+ \leavevmode
+ \pst@killglue
+ \hbox{%
+ \use@par%
+ \begin@ClosedObj%
+ \ifnodealign
+ \kern\psk@framewidth\p@
+ \vrule width\z@ height \psk@frameheight\p@ depth \psk@frameheight\p@
+ \edef\pst@coor{0 0 }%
+ \else\pst@@getcoor{#1}\fi
+ \pst@newnode{#2}{14}{}{
+ \pst@coor
+ /Y ED /X ED
+ /d \psk@dimen .5 sub CLW mul neg def
+ /r \psk@framewidth d add def
+ /l r neg def
+ /u \psk@frameheight d add def
+ /d u neg def
+ /NodePos { \tx@GetRnodePos } def}%
+ \addto@pscode{
+ /x2 \psk@framewidth CLW \psk@dimen mul sub def
+ /y2 \psk@frameheight CLW \psk@dimen mul sub def
+ \pst@coor 2 copy
+ y2 sub /y1 ED
+ x2 sub /x1 ED
+ y2 add /y2 ED
+ x2 add /x2 ED
+ \psk@cornersize
+ 1 index 0 eq { pop pop \tx@Rect } { \tx@OvalFrame } ifelse}%
+ \def\pst@linetype{2}%
+ \showpointsfalse%
+ \end@ClosedObj%
+ \ifnodealign\kern\psk@framewidth\p@\fi}% end of \hbox
+ \ignorespaces}
+%
\def\psset@nodesepA#1{%
\pst@getlength{#1}\psk@nodesepA
\def\psk@nodeseptypeA{0 }}
@@ -704,24 +707,24 @@ tx@Dict begin \psline@iii pop end
\def\ncput{\pst@object{ncput}}
\def\ncput@i{\pst@killglue\pst@makebox{\ncput@ii}}
\def\ncput@ii{%
- \begingroup
- \use@par
- \if@star\pst@starbox\fi
- \pst@makesmall\pst@hbox
- \pst@rotate\psk@nrot\pst@hbox
- \ncput@iii
- \endgroup
+ \begingroup%
+ \use@par%
+ \if@star\pst@starbox\fi%
+ \pst@makesmall\pst@hbox%
+ \pst@rotate\psk@nrot\pst@hbox%
+ \ncput@iii%
+ \endgroup%
\pst@shortput}
\def\ncput@iii{%
- \leavevmode
+ \leavevmode%
\hbox{%
- \pst@Verb{%
+ \pst@Verb{
\pst@nodedict
/t \psk@npos def
\tx@LPut
end
\tx@PutBegin}%
- \box\pst@hbox
+ \box\pst@hbox%
\pst@Verb{\tx@PutEnd}}}
\def\naput{\pst@object{naput}}
\def\naput@i{\pst@killglue\pst@makebox{\naput@ii{NAngle 90 add}}}
diff --git a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex b/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex
index d2fff22ed98..0c0bd221216 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pst-plot.tex
@@ -4,8 +4,8 @@
%% See the PSTricks User's Guide for documentation.
%%
%%
-%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
-%% COPYRIGHT 2007-2008 by Herbert Voss, hvoss@tug.org
+%% 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
@@ -24,8 +24,8 @@
\expandafter\next
\fi
-\def\fileversion{1.01}
-\def\filedate{2008/01/26}
+\def\fileversion{1.03}
+\def\filedate{2008/11/24}
\message{ v\fileversion, \filedate}
@@ -172,7 +172,7 @@ D\space##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).
@@ -275,7 +275,9 @@ n 0 eq not
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
@@ -305,6 +307,7 @@ n 0 eq not
\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%
@@ -322,6 +325,7 @@ n 0 eq not
/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{%
@@ -363,13 +367,17 @@ n 0 eq not
\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
- /x x1 def
- xy \@nameuse{doqp@\psplotstyle}}%
+ ps@Exit not { % hv 2008-11-22
+ /x x1 def
+ xy \@nameuse{doqp@\psplotstyle}
+ } if }%
\@nameuse{endqp@\psplotstyle}}
\def\psplot@iii{%
\addto@pscode{%
@@ -386,6 +394,7 @@ n 0 eq not
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
@@ -414,13 +423,17 @@ n 0 eq not
\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
- /t t1 def
- xy \@nameuse{doqp@\psplotstyle}}%
+ ps@Exit not {
+ /t t1 def
+ xy \@nameuse{doqp@\psplotstyle}
+ } if }%
\@nameuse{endqp@\psplotstyle}}
\def\parametricplot@iii{%
\addto@pscode{%
@@ -541,12 +554,13 @@ n 0 eq not
\ifdim\pst@dimb=\z@\else\showoriginfalse\fi
\ifnum\psk@dx=\z@
\pst@dimg=\psk@Dx\psxunit
- \psDEBUG[psaxes@iv]{\textbackslash pst@dimg=\the\pst@dimg}% v.1.01
+ \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
- \ifnum\Pst@Debug>0 \typeout{==DEBUG== pst-plot(psaxes@iv): Dx -> -Dx (was negative)}\fi % 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]{\textbackslash psk@dx=\psk@dx}% v.1.01
+ \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
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index d1faa16d836..5b28c6a631b 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -1,7 +1,7 @@
%% pstricks.tex
%% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu.
%% COPYRIGHT 2000-2003 by Denis Girou.
-%% Copyright 2004-2008 Herbert Voss
+%% Copyright 2004-2009 Herbert Voss
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -20,8 +20,8 @@
% See the PSTricks User's Guide for description.
% This uses the header file `pstricks.pro'.
%
-\def\fileversion{1.26}
-\def\filedate{2008/07/31}
+\def\fileversion{1.27}
+\def\filedate{2009/01/25}
%
\csname PSTricksLoaded\endcsname
\let\PSTricksLoaded\endinput
@@ -107,19 +107,23 @@
\newcount\pst@cntd
\newcount\pst@cntg
\newcount\pst@cnth
+%
+\newif\ifPst@SpecialLength
+\Pst@SpecialLengthfalse
+%
\newif\if@pst
\newtoks\pst@toks
\newif\if@star
\def\pst@ifstar#1{%
- \@ifnextchar*{\@startrue\def\next*{#1}\next}{\@starfalse#1}}
+ \@ifnextchar*{\@startrue\def\ps@next*{#1}\ps@next}{\@starfalse#1}}
\def\pst@expandafter#1#2{%
- \def\next{#1}%
+ \def\ps@next{#1}%
\edef\@tempa{#2}%
\ifx\@tempa\@empty
\@pstrickserr{Unexpected empty argument!}\@ehpb
\def\@tempa{\@empty}%
\fi
- \expandafter\next\@tempa}
+ \expandafter\ps@next\@tempa}
\def\pst@dimtonum#1#2{\edef#2{\pst@@dimtonum#1}}
\def\pst@@dimtonum#1{\expandafter\pst@@@dimtonum\the#1}
{\catcode`\p=12 \catcode`\t=12 \global\@namedef{pst@@@dimtonum}#1pt{#1}}
@@ -150,6 +154,7 @@
\fi
\endgroup
#3=\pst@dimg}
+%
\def\pst@@pyth{% dimd = g <-- (g + u/g)/2
\pst@@divide\pst@dima\pst@dimd
\advance\pst@dimd\pst@dimg
@@ -243,11 +248,11 @@
%
\def\pst@number#1{\pst@@dimtonum#1\space}
\def\pst@checknum#1#2{%
- \edef\next{#1}%
- \ifx\next\@empty
+ \edef\ps@next{#1}%
+ \ifx\ps@next\@empty
\let\pst@num\z@
\else
- \expandafter\pst@@checknum\next..\@nil
+ \expandafter\pst@@checknum\ps@next..\@nil
\fi
\ifnum\pst@num=\z@
\@pstrickserr{Bad number: `#1'. 0 substituted.}\@ehpa
@@ -485,6 +490,7 @@
}
\def\pst@getangle#1#2{\pst@@getangle{#1}\let#2\pst@angle}
\def\pst@angle{0 }
+%
\def\cartesian@coor#1,#2,#3\@nil{%
\pssetxlength\pst@dimg{#1}%
\pssetylength\pst@dimh{#2}%
@@ -492,13 +498,20 @@
}
\def\NormalCoor{%
\def\pst@@getcoor##1{\pst@expandafter\cartesian@coor{##1},\relax,\@nil}%
+ \Pst@SpecialLengthfalse
+ \def\pssetlength##1##2{%
+ \let\@psunit\psunit
+ \afterassignment\pstunit@off
+ ##1 ##2\@psunit%
+ }
\def\pst@@getangle##1{%
\pst@checknum{##1}\pst@angle%
\edef\pst@angle{\pst@angle \pst@angleunit}%
}%
\def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}%
}
-\NormalCoor
+\NormalCoor% set to normal read of coors, angles and lengths
+%
\def\degrees{\@ifnextchar[{\@degrees}{\def\pst@angleunit{}}}
\def\@degrees[#1]{%
\pst@checknum{#1}\pst@tempg
@@ -506,6 +519,7 @@
\ignorespaces}
\def\radians{\def\pst@angleunit{57.2956 mul }}
\def\pst@angleunit{}
+%
\def\SpecialCoor{%
\def\pst@@getcoor##1{%
\begingroup%
@@ -514,7 +528,14 @@
\endgroup%
\expandafter\special@coor\pst@tempg||\@nil%
}%
-\def\pst@@getangle##1{%
+ \def\pssetlength##1##2{%
+ \begingroup
+ \pst@activecoor%
+ \xdef\pst@tempg{##2}%
+ \endgroup%
+ \expandafter\special@length\pst@tempg\@nil{##1}%
+ }
+ \def\pst@@getangle##1{%
\begingroup%
\pst@activecoor%
\xdef\pst@tempg{##1}%
@@ -542,25 +563,26 @@
\special@@coor#1;;\@nil
\fi%
}
+%
\def\special@@coor#1{%
\ifcat#1a\relax% node names should start with a letter
- \def\next{\node@coor#1}%
+ \def\ps@next{\node@coor#1}%
\else
\ifx#1[\relax% special node coor: [..]A
- \def\next{\Node@coor[}%
+ \def\ps@next{\Node@coor[}%
\else
\ifx#1!\relax% PostScript code: x y
- \def\next{\raw@coor}%
+ \def\ps@next{\raw@coor}%
\else
\ifx#1*\relax% algebraic PostScript code: x f(x)
- \def\next{\alg@coor}%
+ \def\ps@next{\alg@coor}%
\else
- \def\next{\special@@@coor#1}%
+ \def\ps@next{\special@@@coor#1}%
\fi
\fi
\fi
\fi
- \next%
+ \ps@next%
}
\def\special@@@coor#1;#2;#3\@nil{%
\ifx#3;\relax
@@ -611,18 +633,32 @@
\def\pst@coor{0 0 }%
}
\def\Node@coor{\node@coor}
+%
\def\special@angle#1#2)#3\@nil{%
-\ifx!#1\relax
-\edef\pst@angle{#2 \pst@angleunit}%
-\else
-\ifx(#1\relax
-\pst@@getcoor{#2}%
-\edef\pst@angle{\pst@coor exch \tx@Atan}%
-\else
-\pst@checknum{#1#2}\pst@angle
-\edef\pst@angle{\pst@angle \pst@angleunit}%
-\fi
-\fi}
+ \ifx!#1\relax
+ \edef\pst@angle{#2 \pst@angleunit}%
+ \else\ifx(#1\relax
+ \pst@@getcoor{#2}%
+ \edef\pst@angle{\pst@coor exch \tx@Atan}%
+ \else
+ \pst@checknum{#1#2}\pst@angle
+ \edef\pst@angle{\pst@angle \pst@angleunit}%
+ \fi\fi}
+%
+\def\special@length#1#2\@nil#3{%
+ \psDEBUG[special@length]{ #1|#2|#3 }%
+ \ifx!#1\relax
+ \edef\pst@SpecialLength{ #2 \pst@number\psunit mul }%
+ \Pst@SpecialLengthtrue%
+ \psDEBUG[special@length]{ Special length: \pst@SpecialLength}%
+ \else
+ \let\@psunit\psunit
+ \afterassignment\pstunit@off
+ #3 #1#2\@psunit%
+ \Pst@SpecialLengthfalse%
+ \psDEBUG[special@length]{ Normal length: \the#3 }%
+ \fi}
+%
\def\Cartesian{%
\def\cartesian@coor##1,##2,##3\@nil{%
\pssetxlength\pst@dimg{##1}%
@@ -898,8 +934,8 @@
}
\def\psset@@arrows#1-#2\@empty#3\@nil{%
\@psttrue
- \def\next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
- \expandafter\next\pst@arrowtable,#1-#1,\@nil
+ \def\ps@next##1,#1-##2,##3\@nil{\def\pst@tempg{##2}}%
+ \expandafter\ps@next\pst@arrowtable,#1-#1,\@nil
\@ifundefined{psas@\pst@tempg}%
{\@pstfalse\def\psk@arrowA{}}%
{\let\psk@arrowA\pst@tempg}%
@@ -1884,6 +1920,30 @@
\ifshowpoints true \else false \fi
\tx@setlinejoin % hv 2007-10-13
}
+%
+\def\psPline{\pst@object{psPline}}% perpendicular to another line B-C
+\def\psPline@i{%
+ \pst@getarrows{%
+ \begin@OpenObj
+ \pst@getcoors[\psPline@ii}% \pst@coors on stack
+}
+\def\psPline@ii{%
+ \addto@pscode{ % [ pC pB pA is on stack
+ /yA ED /xA ED
+ /yB ED /xB ED
+ yB sub exch xB sub div /mBC ED % the slope
+ /mA 1 mBC neg div def % orthogonal
+ /xS yA yB sub mBC xB mul add mA xA mul sub mBC mA sub div def
+ /yS mBC xS xB sub mul yB add def
+ xS yS xA yA
+ \pst@cp % current point
+ \psline@iii % arc and lineto type
+ \tx@Line % .pro function
+ }%
+ \end@OpenObj%
+ \ignorespaces%
+}
+%
\def\qline(#1)(#2){%
\def\pst@par{}%
\begin@SpecialObj
@@ -2611,7 +2671,7 @@ pop
}
\def\psarc@iv{%
\pst@coor /y ED /x ED
- /r \pst@number\pst@dima def
+ /r \ifPst@SpecialLength \pst@SpecialLength \else \pst@number\pst@dima \fi def
/c 57.2957 r \tx@Div def
/angleA
\pst@tempa
@@ -2671,6 +2731,44 @@ pop
\def\psarcn{\pst@object{psarcn}}
\def\psarcn@i{\def\psarc@type{1}\psarc@i}
%
+\def\psarcAB{\pst@object{psarcAB}}% hv 2008-11-26
+\def\psarcAB@i{%
+ \addbefore@par{psscale=1}% be sure, that it is defined
+ \pst@getarrows{%
+ \begin@OpenObj
+ \pst@getcoors{}\psarcAB@ii%
+ }%
+}
+\def\psarcAB@ii{%
+ \addto@pscode{%
+ /y ED /x ED /yA ED /xA ED /yB ED /xB ED
+ /r xB yB x y Pyth2 \psk@psscale\space mul def
+ /c 57.2957 r \tx@Div def
+ /angleA
+ yA y sub xA x sub atan
+ \psk@arcsepA c mul 2 div
+ \ifcase\psarc@type add \else sub \fi
+ def
+ /angleB
+ yB y sub xB x sub atan
+ \psk@arcsepB c mul 2 div
+ \ifcase\psarc@type sub \else add \fi
+ def
+ \ifx\psk@arrowA\@empty
+ \ifnum\psk@liftpen=2
+ r angleA \tx@PtoC
+ y add exch x add exch moveto
+ \fi
+ \fi
+ \psarc@v
+ }
+ \gdef\psarc@type{0}%
+ \showpointsfalse
+ \end@OpenObj%
+}
+\def\psarcnAB{\pst@object{psarcnAB}}
+\def\psarcnAB@i{\def\psarc@type{1}\psarcAB@i}
+%
%------------------ tvz/DG/hv (2004-05-10) begin -------------------%%
% from Denis Giroux: http://www.tug.org/pipermail/pstricks/2001/000507.html
%
@@ -2796,7 +2894,8 @@ pop
\def\pst@linetype{4}%
\addto@pscode{
\pst@coor
- \pst@number\pst@dimc
+ \ifPst@SpecialLength \pst@SpecialLength \else \pst@number\pst@dimc \fi
+% \pst@number\pst@dimc
\psk@dimen CLW mul sub
0 360 arc
closepath }%
@@ -2830,7 +2929,11 @@ pop
\begin@SpecialObj
\pst@@getcoor{#1}%
\pssetlength\pst@dimg{#2}%
- \addto@pscode{ \pst@coor \pst@number\pst@dimg \tx@SD }%
+ \addto@pscode{
+ \pst@coor
+ \ifPst@SpecialLength \pst@SpecialLength \else \pst@number\pst@dimg \fi
+% \pst@number\pst@dimg
+ \tx@SD }%
\end@SpecialObj}
%
\def\psset@radius#1{\pst@@getlength{#1}\psk@radius}
@@ -2843,21 +2946,23 @@ pop
\def\pswedge{\pst@object{pswedge}}
\def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}}
\def\pswedge@ii(#1)#2#3#4{%
- \begin@ClosedObj
- \pssetlength\pst@dimc{#2}
- \pst@getangle{#3}\pst@tempa
- \pst@getangle{#4}\pst@tempb
+ \begin@ClosedObj%
+ \pssetlength\pst@dimc{#2}%
+ \pst@getangle{#3}\pst@tempa%
+ \pst@getangle{#4}\pst@tempb%
\pst@@getcoor{#1}%
\def\pst@linetype{1}%
- \addto@pscode{%
+ \addto@pscode{
\pst@coor
2 copy
moveto
- \pst@number\pst@dimc \psk@dimen CLW mul sub % Adjusted radius
+ \ifPst@SpecialLength \pst@SpecialLength \else \pst@number\pst@dimc \fi
+% \pst@number\pst@dimc
+ \psk@dimen CLW mul sub % Adjusted radius
\pst@tempa \pst@tempb
arc
closepath}%
- \showpointsfalse
+ \showpointsfalse%
\end@ClosedObj%
}
\def\tx@Ellipse{Ellipse }
@@ -3046,13 +3151,13 @@ pop
\def\psset@rot#1{%
\pst@expandafter{\@ifnextchar*{\psset@@@rot}{\psset@@rot}}{#1}\@nil}
\def\psset@@rot#1\@nil{%
-\def\next##1@#1=##2@##3\@nil{%
+\def\ps@next##1@#1=##2@##3\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@rot
\else
\def\psk@rot{##2}%
\fi}%
-\expandafter\next\pst@rottable @#1=\relax @\@nil}
+\expandafter\ps@next\pst@rottable @#1=\relax @\@nil}
\def\psset@@@rot#1#2\@nil{%
\psset@@rot#2\@nil
\edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}}
@@ -3094,13 +3199,13 @@ pop
\def\rput@iii#1{\addto@par{rot={#1}}\@ifnextchar({\rput@iv}{\rput@iv(\z@,\z@)}}
\def\rput@iv(#1){\pst@killglue\pst@makebox{\rput@v{#1}}}
\def\rput@v#1{%
- \begingroup
- \use@par
- \if@star\pst@starbox\fi
- \pst@makesmall\pst@hbox
- \pst@rotate\psk@rot\pst@hbox
- \psput@{#1}\pst@hbox
- \endgroup
+ \begingroup%
+ \use@par%
+ \if@star\pst@starbox\fi%
+ \pst@makesmall\pst@hbox%
+ \pst@rotate\psk@rot\pst@hbox%
+ \psput@{#1}\pst@hbox%
+ \endgroup%
\ignorespaces%
}
\def\multirput{%
@@ -3173,7 +3278,7 @@ pop
\psset@labelsep{5pt}
\def\psset@refangle#1{\pst@expandafter\psset@@refangle{#1}\@nil}
\def\psset@@refangle#1\@nil{%
-\def\next##1@#1=##2"##3@##4\@nil{%
+\def\ps@next##1@#1=##2"##3@##4\@nil{%
\ifx\relax##2%
\pst@getangle{#1}\psk@refangle
\def\psk@uputref{}%
@@ -3181,7 +3286,7 @@ pop
\def\psk@refangle{##2 }%
\def\psk@uputref{##3}%
\fi}%
-\expandafter\next\pst@refangletable @#1=\relax"@\@nil}
+\expandafter\ps@next\pst@refangletable @#1=\relax"@\@nil}
\def\pst@refangletable{%
@r=0"20%
@u=90"02%
@@ -3198,30 +3303,26 @@ pop
% DG/SR modification end
\def\uput@i#1{\addto@par{labelsep=#1}\uput@ii}
\def\uput@ii[#1]{%
-\addto@par{refangle={#1}}%
-\@ifnextchar({\uput@iv}{\uput@iii}}
+ \addto@par{refangle={#1}}%
+ \@ifnextchar({\uput@iv}{\uput@iii}}
\def\uput@iii#1{%
-\addto@par{rot={#1}}%
-\@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}}
+ \addto@par{rot={#1}}%
+ \@ifnextchar({\uput@iv}{\uput@iv(\z@,\z@)}}
\def\uput@iv(#1){\pst@killglue\pst@makebox{\uput@v{#1}}}
\def\uput@v#1{%
-\begingroup
-\use@par
-\if@star\pst@starbox\fi
-\uput@vi
-\psput@{#1}\pst@hbox
-\endgroup
-\ignorespaces}
+ \begingroup
+ \use@par
+ \if@star\pst@starbox\fi
+ \uput@vi
+ \psput@{#1}\pst@hbox
+ \endgroup
+ \ignorespaces}
\def\uput@vi{%
-\ifx\psk@uputref\@empty
-\uput@vii\tx@UUput{}%
-\else
-\ifx\psk@rot\@empty
-\expandafter\uput@viii\psk@uputref
-\else
-\uput@vii\tx@UUput{}%
-\fi
-\fi}
+ \ifx\psk@uputref\@empty\uput@vii\tx@UUput{}%
+ \else
+ \ifx\psk@rot\@empty\expandafter\uput@viii\psk@uputref
+ \else\uput@vii\tx@UUput{}\fi
+ \fi}
\def\uput@vii#1#2{%
\edef\pst@coor{%
\pst@number\pslabelsep
@@ -3299,7 +3400,6 @@ pop
\psset@shift{0}
% ----------- 1.10/12 end hv -------------------
%
-%
%------------------------------- pspicture ------------------------------
%
\def\pspicture{\begingroup\pst@ifstar\pst@picture}
@@ -3333,7 +3433,7 @@ pop
\ifx\pst@tempA\@empty\else\psset{#1}\fi% sets the shift and grid option
\ifshowgrid\psgrid[style=gridstyle]\fi%
% ----------- 1.10/12 end hv -------------------
-% \ignorespaces%
+ \ignorespaces% % 2008-12-07
}
\def\pic@coor{(0,0)(0,0)(10,10)}
%\newdimen\pst@shift