diff options
author | Karl Berry <karl@freefriends.org> | 2014-03-12 22:32:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-03-12 22:32:50 +0000 |
commit | 44df6d09616942cb3a83276fba2978bc9cdee561 (patch) | |
tree | 25d8704f6242db91513074383de6c56a9bcb10fe /Master/texmf-dist | |
parent | b2f136b4ef89ad57771cb79327eb0745a7c93bd1 (diff) |
pstricks (12mar14)
git-svn-id: svn://tug.org/texlive/trunk@33160 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/Changes.dvips | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/Changes.generic | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/pst-news14.pdf | bin | 54057 -> 65878 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/pst-news14.tex | 45 | ||||
-rw-r--r-- | Master/texmf-dist/dvips/pstricks/pstricks.pro | 99 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks/pstricks.tex | 70 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pstricks/pstricks.sty | 1 |
7 files changed, 197 insertions, 22 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.dvips b/Master/texmf-dist/doc/generic/pstricks/Changes.dvips index 9cb27ba7e92..a5769f1a0b6 100644 --- a/Master/texmf-dist/doc/generic/pstricks/Changes.dvips +++ b/Master/texmf-dist/doc/generic/pstricks/Changes.dvips @@ -1,4 +1,5 @@ ---- pstricks.pro +1.22 2014-03-12 - added cubic spline stuff (Christoph Bersch) 1.21 2013-11-28 - deleted the overlay stuff 1.20 2013-11-26 - fix for Rand 1.19 2013-11-08 - do not put /Uput in a local dictionary diff --git a/Master/texmf-dist/doc/generic/pstricks/Changes.generic b/Master/texmf-dist/doc/generic/pstricks/Changes.generic index 9e9e51e5f1b..c5bd29678d5 100644 --- a/Master/texmf-dist/doc/generic/pstricks/Changes.generic +++ b/Master/texmf-dist/doc/generic/pstricks/Changes.generic @@ -3,6 +3,9 @@ versions like 2.47a have only changes in other files, but not in this main package. +2.53 2014-03-12 - added cubic splines +2.52 2014-03-01 - allow rot=.. for all elliptic macros + - enable \SpecialCoor as default 2.51 2014-02-03 - make strokeopacity available for dots 2.50 2014-01-16 - added experimental fillstyle oefill, the inverse of eofill - allow PostScript notation for \pst@checknum diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news14.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news14.pdf Binary files differindex ddc0a8131d1..1ee07cc9a07 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news14.pdf +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news14.pdf diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex index 6ecca9b37a6..74c92823641 100644 --- a/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news14.tex @@ -37,7 +37,7 @@ basic package \nxLFile{pstricks}} %-------------------------------------------------------------------------------------- \section{\texttt{pstricks.tex} (\pstricksFV -- \pstricksFD)} %-------------------------------------------------------------------------------------- -\section{Opacity} +\subsection{Opacity} The keyword \Lkeyword{strokeopacity} is now also valid for \Lcs{psdot}, \Lcs{psdots}, and the \Lkeyword{linestyle}/\Lkeyword{plotstyle}=\Lkeyval{dots}. @@ -66,13 +66,11 @@ needs some tricky internal commands and may not work in all cases. \begin{pspicture}[linewidth=2pt](12,4) \pscustom[linestyle=none,fillstyle=eofill,fillcolor=blue!40]{% \psellipse(4,2)(2,2)\psellipse(2,2)(2,2)} -\psellipse[linecolor=red](4,2)(2,2) -\psellipse[linecolor=green](2,2)(2,2) +\psellipse[linecolor=red](4,2)(2,2)\psellipse[linecolor=green](2,2)(2,2) % \pscustom[linestyle=none,fillstyle=oefill,fillcolor=blue!40]{% \psellipse(10,2)(2,2)\psellipse(8,2)(2,2)} -\psellipse[linecolor=red](10,2)(2,2) -\psellipse[linecolor=green](8,2)(2,2) +\psellipse[linecolor=red](10,2)(2,2)\psellipse[linecolor=green](8,2)(2,2) \end{pspicture} \end{LTXexample} @@ -104,6 +102,43 @@ needs some tricky internal commands and may not work in all cases. \end{LTXexample} + +\subsection{New macro \nxLcs{pscspline} (by Christoph Bersch)} + +\begin{BDef} +\LcsStar{pscspline}\OptArgs\Largr{$x_0,y_0$}\Largr{$x_1,y_1$}\ldots\Largr{\CAny} +\end{BDef} + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](5,5) + \pscspline[arrows=|->, showpoints](0,0)(1,2) + \pscspline[arrows=->, showpoints](0,4)(2,3)(3,4)(5,0) + \pscspline(4,4) +\end{pspicture}\par +\begin{pspicture}[showgrid](5,5) + \pscspline[linestyle=symbol, symbol=U, + symbolStep=12pt](0,0)(1,2) + \pscspline[linestyle=symbol, symbol=a, + symbolStep=12pt](0,4)(2,3)(3,4)(5,0) +\end{pspicture} +\end{LTXexample} + +\bigskip +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](5,5) + \pscustom[fillcolor=red!20, fillstyle=solid]{% + \pscspline(0,3)(4,2)(5,0) + \lineto(0,0) + \closepath} +\end{pspicture} +\end{LTXexample} + +\subsection{\nxLcs{Special Coor}} + +The Macro \Lcs{SpecialCoor} for scanning special coodinate expressions is now enabled by +default. You can enable it with \Lcs{NormalCoor}. + \clearpage \nocite{*} \bibliographystyle{plain} diff --git a/Master/texmf-dist/dvips/pstricks/pstricks.pro b/Master/texmf-dist/dvips/pstricks/pstricks.pro index 0a60f8e4460..1349dc92d3e 100644 --- a/Master/texmf-dist/dvips/pstricks/pstricks.pro +++ b/Master/texmf-dist/dvips/pstricks/pstricks.pro @@ -1,7 +1,7 @@ -% $Id: pstricks.pro 856 2013-12-09 10:34:40Z herbert $ +% $Id: pstricks.pro 891 2014-02-03 10:05:33Z herbert $ % %% PostScript prologue for pstricks.tex. -%% Version 1.21, 2013/11/28 +%% Version 1.22, 2014/02/20 %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN archives @@ -30,6 +30,7 @@ tx@Dict begin /Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known /ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) /Div { dup 0 eq { pop } { div } ifelse } def % control the division +/Log { dup 1e-20 lt { pop -1e30 }{ log } ifelse } def % control the log /tan { dup cos abs 1.e-10 lt { pop 1.e10 } % return 1.e10 as infinit { dup sin exch cos div } ifelse % default sin/cos @@ -731,6 +732,100 @@ gsave CurvePath } def % +/CalcBezierSpline {% Christoph Bersch + 10 dict begin + /getX { Points exch 2 mul get } def + /getY { Points exch 2 mul 1 add get } def + /n Points length 1 sub 2 idiv def + /GetFirstControlPoints { + /x n array def + /tmp n array def + /b 2 def + x 0 rhs 0 get b div put + 1 1 n 1 sub { + /i exch def + tmp i 1 b div dup 4 1 roll put + i n 1 sub lt { 4 }{ 3.5 } ifelse exch sub /b exch def + x i rhs i get x i 1 sub get sub b div put + } for + 1 1 n 1 sub { + n exch sub + dup dup x exch 1 sub 2 copy 6 2 roll + get 3 1 roll tmp exch get + exch x exch get mul sub + put + } for + x + } def + % + n 1 eq { + 0 getX 2 mul 1 getX add 3 div + 0 getY 2 mul 1 getY add 3 div + exch dup 3 1 roll 2 mul 0 getX sub + exch dup 3 1 roll 2 mul 0 getY sub + [ 0 getX 0 getY 7 3 roll 1 getX 1 getY ] /outPoints exch def + } { + /outPoints 6 n mul 2 add array def + 0 1 n { + dup dup 6 mul dup 1 add + outPoints exch 5 -1 roll getY put + outPoints exch 3 -1 roll getX put + } for + /rhs n array def + 1 1 n 2 sub { + rhs exch dup dup getX 4 mul exch 1 add getX 2 mul add put + } for + rhs 0 0 getX 1 getX 2 mul add put + rhs n 1 sub dup getX 8 mul n getX add 2 div put + GetFirstControlPoints + 1 1 n 2 sub { + rhs exch dup dup getY 4 mul exch 1 add getY 2 mul add put + } for + rhs 0 0 getY 1 getY 2 mul add put + rhs n 1 sub dup getY 8 mul n getY add 2 div put + GetFirstControlPoints + 0 1 n 1 sub { + /i exch def + 2 copy + i get outPoints 6 i mul 3 add 3 -1 roll put + i get outPoints 6 i mul 2 add 3 -1 roll put + 2 copy + i n 1 sub lt { + i 1 add get i 1 add getY 2 mul exch sub outPoints 6 i mul 5 add 3 -1 roll put + i 1 add get i 1 add getX 2 mul exch sub outPoints 6 i mul 4 add 3 -1 roll put + }{ + n 1 sub get n getY add 2 div outPoints 6 n 1 sub mul 5 add 3 -1 roll put + n 1 sub get n getX add 2 div outPoints 6 n 1 sub mul 4 add 3 -1 roll put + } ifelse + } for + pop pop + } ifelse + outPoints + end +} def +/Spline { + /showpoints ED + counttomark 2 div dup cvi /n ED + n eq not { exch pop } if + ] /Points ED + n 1 gt { + CalcBezierSpline + mark exch aload pop + ArrowA + n 2 sub { + 6 2 roll 4 2 roll curveto + } repeat + 6 2 roll 4 2 roll ArrowB curveto + } if +} def +/OpenSymbolSpline { + Spline + 0.1 setflat + /Shift Symbol stringwidth pop 2 div def + CurvePath +} def + +% /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex index bf4e83c1847..243aa5ab387 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.tex +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.tex @@ -109,8 +109,8 @@ \input pgffor.code.tex \let\pgfforeach\foreach % -\def\fileversion{2.51} -\def\filedate{2014/02/03} +\def\fileversion{2.53} +\def\filedate{2014/03/12} \catcode`\@=11\relax \pst@addfams{pstricks} % @@ -788,7 +788,7 @@ }% \def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@cartesian}% } -\NormalCoor% set to normal read of coors, angles and lengths +%\NormalCoor% set to normal read of coors, angles and lengths % \def\degrees{\@ifnextchar[{\@degrees}{\def\pst@angleunit{}}} \def\@degrees[#1]{% @@ -831,6 +831,8 @@ }% \def\psput@##1{\pst@@getcoor{##1}\leavevmode\psput@special}% } +\SpecialCoor% set to special read of coors, angles and lengths +% \begingroup \catcode`\|=13 \catcode`\;=13 @@ -2209,6 +2211,28 @@ \ifx\pslinestyle\psls@@symbol\def\pslinestyle{none}\fi% \end@ClosedObj} % +\def\pscspline{\pst@object{pscspline}}% Christoph Bersch +\def\pscspline@i{% + \pst@getarrows{% + \begin@OpenObj + \pst@getcoors[\pscspline@ii + }% +} +\def\tx@Spline{Spline } +\def\pscspline@ii{% + \addto@pscode{ + \ifPst@noCurrentPoint\else\pst@cp\fi + \tx@setlinejoin + \ifshowpoints true \else false \fi + \ifx\pslinestyle\psls@@symbol + \psls@symbol OpenSymbolSpline + \else + \tx@Spline + \fi + }% + \end@OpenObj +} +% \define@key[psset]{pstricks}{dotsize}[2pt 2]{% \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil% \edef\psk@@dotsize{\pst@number\pst@dimg}% @@ -3182,7 +3206,12 @@ pop \ifx D\pst@tempg 2 % Down \else \ifx L\pst@tempg 3 % Left - \else 0 % Up + \else + \ifx l\pst@tempg 4 % |_ + \else + \ifx r\pst@tempg 5 % _| + \else 0 \fi % Up + \fi \fi \fi \fi}% @@ -3208,10 +3237,19 @@ pop \psline@iii pop 0.5 - \pst@number\pst@dimc \pst@number\pst@dimd - \ifodd\psk@trimode exch \fi + \pst@number\pst@dimc % Width + \pst@number\pst@dimd % Height + \ifcase\psk@trimode + \or %% 0 + exch \or %% 1 + \or %% 2 + exch \or %% 3 + \or %% 4 + \or %% 5 + \fi \psk@trimode -90 mul - \pst@number\pst@dima \pst@number\pst@dimb + \pst@number\pst@dima % x coor for text + \pst@number\pst@dimb % y coor for text \tx@Triangle}% \def\pst@linetype{2}% \end@ClosedObj @@ -3222,10 +3260,10 @@ pop \pst@dimh=\pslinewidth \advance\pst@dimh\psframesep \pst@dimg=\ht\pst@hbox - \advance\pst@dimg-\dp\pst@hbox - \divide\pst@dimg 2 - \edef\pst@tempa{\number\pst@dimg sp}% For use by nodes. - \ifodd\psk@trimode + \advance\pst@dimg-\dp\pst@hbox % totalheight + \divide\pst@dimg 2 % 0.5 totalheight + \edef\pst@tempa{\number\pst@dimg sp}% % For use by nodes. + \ifodd\psk@trimode % \pst@dimb\pst@dimg \else \pst@dima=\wd\pst@hbox @@ -3431,6 +3469,7 @@ pop \pst@@getcoor{#2}% \def\pst@linetype{1}% \addto@pscode{% + \ifx\psk@rot\@empty \else \psk@rot\space rotate \fi \pst@tempa \pst@tempb \pst@coor \pst@tempc moveto @@ -3504,6 +3543,7 @@ pop \end@OpenObj% } \def\psellipticarc@definearg{% + \ifx\psk@rot\@empty \else \psk@rot\space rotate \fi \pst@tempa /yOrig ED /xOrig ED % Origin \pst@tempb % radii. Now adjust: \ifdim\psk@dimen\p@=\z@\else @@ -3685,7 +3725,7 @@ pop \end@ClosedObj \ignorespaces} % -\def\pswedge{\pst@object{pswedge}} +\def\pswedge{\def\pst@par{}\pst@object{pswedge}} \def\pswedge@i{\@ifnextchar({\pswedge@ii}{\pswedge@ii(0,0)}} \def\pswedge@ii(#1)#2#3#4{% \begin@ClosedObj% @@ -3695,6 +3735,7 @@ pop \pst@@getcoor{#1}% \def\pst@linetype{1}% \addto@pscode{ + \ifx\psk@rot\@empty 0 \else \psk@rot \fi rotate \pst@coor 2 copy moveto @@ -3707,9 +3748,8 @@ pop \showpointsfalse% \end@ClosedObj% } -\def\tx@Ellipse{ - \ifx\psk@rot\@empty 0 \else \psk@rot \fi - Ellipse } +\def\tx@Ellipse{ \ifx\psk@rot\@empty 0 \else \psk@rot \fi Ellipse } +% \def\psellipse{\def\pst@par{}\pst@object{psellipse}} \def\psellipse@i(#1){\@ifnextchar({\psellipse@ii(#1)}{\psellipse@ii(0,0)(#1)}} \def\psellipse@ii(#1)(#2){% diff --git a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty index 17fc908ae80..03434925b16 100644 --- a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty +++ b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty @@ -41,6 +41,7 @@ \newif\ifpst@loadPDF \pst@loadPDFfalse \DeclareOption{pdf}{\global\pst@loadPDFtrue} %------------------------------------ PLAIN -------------------------------- + \DeclareOption{plain}{% \ifpst@OldVersion \def\psDEBUG[#1]#2{}% |