summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pstricks
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-08-24 23:39:47 +0000
committerKarl Berry <karl@freefriends.org>2012-08-24 23:39:47 +0000
commit306f3a8701f9ffc15a69bf77f89777b162de87d6 (patch)
tree8c8f26a4383e6881ceaf8ed3a7fd3580d44ba001 /Master/texmf-dist/tex/generic/pstricks
parent9861eb844e29dea93b9d8076d61cffe8b1ccef85 (diff)
pstricks (24aug12)
git-svn-id: svn://tug.org/texlive/trunk@27515 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks/pstricks.tex60
1 files changed, 49 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
index cc03844a3ad..5e55998297f 100644
--- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
+++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex
@@ -94,8 +94,8 @@
\catcode`\@=\PstAtCode\relax
\ifx\PSTFPloaded\endinput\else \input pst-fp.tex\fi
%
-\def\fileversion{2.30}
-\def\filedate{2012/08/13}
+\def\fileversion{2.31}
+\def\filedate{2012/08/24}
\catcode`\@=11\relax
\pst@addfams{pstricks}
%
@@ -253,6 +253,7 @@
\newif\if@star
\def\pst@ifstar#1{%
\@ifnextchar*{\@startrue\def\ps@next*{#1}\ps@next}{\@starfalse#1}}
+%
\def\pst@expandafter#1#2{%
\def\ps@next{#1}%
\edef\@tempa{#2}%
@@ -1929,6 +1930,7 @@
\pst@customdefs{%
\def\newpath{\addto@pscode{newpath}}%
\def\moveto(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor moveto}}%
+ \def\rmoveto(#1){\pst@@getcoor{#1}\addto@pscode{\pst@coor rmoveto}}%
\def\closepath{\addto@pscode{closepath}}%
\def\gsave{\begingroup\addto@pscode{gsave}}%
\def\grestore{\endgroup\addto@pscode{grestore}}%
@@ -2810,9 +2812,15 @@
%
\def\psdblframebox{\def\pst@par{}\pst@object{psdblframebox}}
\def\psdblframebox@i{\addto@par{doubleline=true}\psframebox@i}
-\def\psclip#1{%
+%
+\define@key[psset]{pstricks}{clipcommand}[clip]{\def\pst@clipcommand{#1 }}
+\psset[pstricks]{clipcommand=clip}% alternative is eoclip
+%
+\def\psclip{\@ifnextchar[\psclip@i{\psclip@i[]}}%
+\def\psclip@i[#1]#2{%
\leavevmode%
\begingroup%
+ \ifx\relax#1\relax\else\psset{#1}\fi%
\begin@psclip%
\begingroup%
\def\use@pscode{%
@@ -2825,7 +2833,7 @@
\psk@swapaxes
newpath
\pst@code
- clip
+ \pst@clipcommand
newpath
mtrxc setmatrix
moveto
@@ -2835,7 +2843,7 @@
\gdef\pst@code{}}%
\def\@multips(##1)(##2)##3##4{\pst@misplaced\multips}%
\def\nc@object##1##2##3##4{\pst@misplaced{node connection}}%
- \hbox to\z@{#1}%
+ \hbox to\z@{#2}%
\endgroup%
\def\endpsclip{%
\end@psclip%
@@ -2870,7 +2878,7 @@
w h L
w d L
closepath
- clip
+ \pst@clipcommand
newpath
0 0 moveto
setmatrix}%
@@ -3351,6 +3359,7 @@ pop
\psset{correctAngle}
\let\if@psarcn\iffalse
+
\def\psellipticarc@ii{\pst@getarrows\psellipticarc@iii}
\def\psellipticarc@iii(#1){%
\@ifnextchar({\psellipticarc@iv(#1)}{\psellipticarc@iv(0,0)(#1)}}
@@ -3358,13 +3367,42 @@ pop
% \addbefore@par{correctAngle=false}
\begin@OpenObj%
\pst@getcoor{#1}\pst@tempa% origin
- \pst@getcoor{#2}\pst@tempb% a,b
+ \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
- \ifPst@variableLW \pst@flattenpath \fi
+ \addto@pscode{ \psellipticarc@definearg \psellipticarc@draw
+ \ifPst@variableLW \pst@flattenpath \fi
}%
- \showpointsfalse%
+ \ifshowpoints
+ \addto@pscode{
+ gsave
+ xOrig yOrig T % set origin to ellipse origin
+ rx ry scale % now we draw a circle :-)
+ 1 \pst@tempc % start angle
+ \ifPst@correctAngle
+ cvi 90 mod 0 eq { \pst@tempc }
+ { rx abs ry abs sub cvi 0 eq { \pst@tempc }{ rx ry
+ \tx@UserCoor exch \pst@tempc tan mul exch atan
+ \pst@tempc 180 div 0.5 add floor
+ 180 mul sub } ifelse } ifelse
+ \fi
+ PtoC moveto
+ 0 0 lineto
+ 1 \pst@tempd % end angle
+ \ifPst@correctAngle
+ 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
+ \fi
+ PtoC lineto
+% \ifcase\psarc@type arc \or arcn \fi
+ CLW 2 div SLW
+ [ 1 1 \tx@UserCoor ] 0 setdash
+ stroke
+ grestore
+ }
+ \showpointsfalse%
+ \fi
\end@OpenObj%
}
\def\psellipticarc@definearg{%
@@ -3399,7 +3437,7 @@ pop
\pst@tempd 180 div .5 add floor 180 mul sub } ifelse
\fi
\psk@arcsepB 2 div ArcAdjust def
- \ifshowpoints\psellipticarc@showpoints\fi
+% \ifshowpoints\psellipticarc@showpoints\fi
\ifx\psk@arrowA\@empty
\ifnum\psk@liftpen=2
angleA cos rx mul xOrig add