summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-02-17 23:49:31 +0000
committerKarl Berry <karl@freefriends.org>2010-02-17 23:49:31 +0000
commit31fd85170acdf20d47dac76d8ddb30b5372028ff (patch)
treeb259c37af0318a7ae938420ffeb0bce210e4512d /Master/texmf-dist/tex/generic
parent5cadf8084791f36763cd2feaf2c6efdcc303c5bb (diff)
pstricks update (17feb10)
git-svn-id: svn://tug.org/texlive/trunk@17078 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex66
1 files changed, 38 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index 06f90a2553e..94ad473f5c7 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -15,25 +15,19 @@
%
% This Current Maintainer of this work is Herbert Voss
%
-% This work consists of the file pstricks.tex, PostScript macros
-% for Generic TeX.
-% See the PSTricks User's Guide for description.
-% This uses the header file `pstricks.pro'.
-%
-%
\csname PSTricksLoaded\endcsname
\let\PSTricksLoaded\endinput
-\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
-\ifx\PSTFPloaded\endinput\else \input pst-fp.tex\fi
%
-\def\fileversion{2.0}
-\def\filedate{2010/02/11}
+%% !! loading additional TeX packages see line 70 !!
+%% !! loading config file pstricks.con line 380 !!
+%% !! loading pro files line 395 !!
+%
+\def\fileversion{2.01}
+\def\filedate{2010/02/16}
%
\edef\PstAtCode{\the\catcode`\@}
\catcode`\@=11\relax
%
-\pst@addfams{pstricks}
-%
\expandafter\ifx\csname @latexerr\endcsname\relax% do we have LaTeX?
\def\typeout#1{\immediate\write\@unused{#1}}
\alloc@7\write\chardef\sixt@@n\@unused
@@ -66,6 +60,12 @@
\def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@tempc\@ifnch}
\endgroup
\fi
+%
+% now we have all commands defined, for TeX and LaTeX
+%
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
+\pst@addfams{pstricks}
+\ifx\PSTFPloaded\endinput\else \input pst-fp.tex\fi
% stolen from latex.ltx to make it TeX compatible
\newcount\psLoopIndex
\def\@fornoop#1\@@#2#3{}
@@ -137,7 +137,6 @@
\psForeach@ii{#1}{\pst@tempa}{#5}}
%
%
-%
% hv 2007-10-16 to fix the bug in pst-node with \\[name=...]
% hv fix bug with empty fnodes in psmatrix
\def\ps@ifnextchar#1#2#3{%
@@ -550,7 +549,6 @@
\def\pst@tempA{#2}%
\ifx\pst@tempA\@empty\else\psset{#2}\fi}%
}
-%
\def\addto@psstyle#1#2{%
\pst@toks=\expandafter{#1#2}%
\edef#1{\the\pst@toks}}
@@ -3020,42 +3018,51 @@ pop
\let\if@psarcn\iffalse
\def\psellipticarc@ii{\pst@getarrows\psellipticarc@iii}
\def\psellipticarc@iii(#1){%
- \@ifnextchar({\psellipticarc@iv(#1)}{\psellipticarc@iv(0,0)(#1)}}
+ \@ifnextchar({\psellipticarc@iv(#1)}{\psellipticarc@iv(0,0)(#1)}}
\def\psellipticarc@iv(#1)(#2)#3#4{%
\begin@OpenObj
- \pst@getcoor{#1}\pst@tempa
- \pst@getcoor{#2}\pst@tempb
- \pst@getangle{#3}\pst@tempc
- \pst@getangle{#4}\pst@tempd
+ \pst@getcoor{#1}\pst@tempa% origin
+ \pst@getcoor{#2}\pst@tempb% a,b
+ \pst@getangle{#3}\pst@tempc% start angle
+ \pst@getangle{#4}\pst@tempd% end angle
\addto@pscode{\psellipticarc@definearg \psellipticarc@draw}%
\showpointsfalse
\end@OpenObj%
}
\def\psellipticarc@definearg{%
\pst@tempa /yOrig ED /xOrig ED % Origin
- \pst@tempb % radii. Now adjust:
+ \pst@tempb % radii. Now adjust:
\ifdim\psk@dimen\p@=\z@\else
\psk@dimen CLW mul dup 3 1 roll
sub 3 1 roll sub exch
\fi
- /ry ED /rx ED
+ /ry ED /rx ED % a b
/angleA
- /d { \if@psarcn sub \else add \fi } def
- \pst@tempc \psk@arcsepA 2 div
+ /d { \if@psarcn sub \else add \fi } def
+% \pst@tempc
+% the angle in the parameter equation is not proportional to the real angle!
+% phi=atan(b*tan(angle)/a)+floor(angle/180+0.5)*180
+ \pst@tempc cvi 90 mod 0 eq { \pst@tempc }
+ { rx ry \tx@UserCoor exch \pst@tempc tan mul exch atan
+ \pst@tempc 180 div .5 add floor 180 mul sub } ifelse
+ \psk@arcsepA 2 div
ArcAdjust
def
/angleB
/d { \if@psarcn add \else sub \fi } def
- \pst@tempd \psk@arcsepB 2 div ArcAdjust
- def
+% \pst@tempd
+ \pst@tempd cvi 90 mod 0 eq { \pst@tempd }
+ { rx ry \tx@UserCoor exch \pst@tempd tan mul exch atan
+ \pst@tempd 180 div .5 add floor 180 mul sub } ifelse
+ \psk@arcsepB 2 div ArcAdjust def
\ifshowpoints\psellipticarc@showpoints\fi
\ifx\psk@arrowA\@empty
\ifnum\psk@liftpen=2
angleA cos rx mul xOrig add
angleA sin ry mul yOrig add
moveto
- \fi
- \fi
+ \fi%
+ \fi%
}
\def\psellipticarc@draw{%
0 0 1
@@ -3074,7 +3081,9 @@ pop
/mtrx CM def
xOrig yOrig T
rx ry scale
+ \if@star 0 0 moveto \fi % for filling
\if@psarcn arcn \else arc \fi
+ \if@star 0 0 moveto \fi
mtrx setmatrix%
}
\def\psellipticarc@showpoints{%
@@ -3088,7 +3097,8 @@ pop
closepath
mtrx setmatrix
CLW 2 div SLW
- [ \psk@dash\space ] 0 setdash stroke
+ [ \psk@dash\space ] 0 setdash
+ stroke
grestore %
}
\def\pscircle{\def\pst@par{}\pst@object{pscircle}}