From cb72a109260611fc385763b7288db209e5c86165 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 17 Mar 2010 18:40:40 +0000 Subject: pstricks-add 3.39 (13mar10) git-svn-id: svn://tug.org/texlive/trunk@17472 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pstricks-add/Changes | 1 + .../doc/generic/pstricks-add/pstricks-add-doc.pdf | Bin 1674646 -> 1719994 bytes .../doc/generic/pstricks-add/pstricks-add-doc.tex | 8 +++- .../tex/generic/pstricks-add/pstricks-add.tex | 48 +++++++++++---------- 4 files changed, 34 insertions(+), 23 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/pstricks-add/Changes b/Master/texmf-dist/doc/generic/pstricks-add/Changes index e9336c7bce3..5d2e60bd6e1 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/Changes +++ b/Master/texmf-dist/doc/generic/pstricks-add/Changes @@ -39,6 +39,7 @@ pstricks-add.sty ----------- (hv) pstricks-add.tex ----------- (Dominik Rodriguez/hv) + v 3.39 2010-03-12 - fixed bug with algebraic option in \psplotTangent v 3.38 2009-12-13 - moved \Pst@algebraic into the base pstricks.tex - add SAveFinalState for plots v 3.37 2009-12-01 - fix bug with Tnormal in \psPlotTangent diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf index f241af37d7b..b775025d074 100644 Binary files a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf and b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex index 72901032fcb..9c7a4c9fd83 100644 --- a/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex +++ b/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex @@ -3,6 +3,13 @@ headexclude,footexclude,oneside]{pst-doc} \listfiles +\makeatletter +\RequirePackage{ltxcmds}[2010/01/28] +\@ifpackagelater{ltxcmds}{2010/03/09}{}{% + \def\ltx@pkgextension{sty}% +} +\makeatother + \input{pstricks-add-doc.dat} \usepackage[utf8]{inputenc} @@ -57,7 +64,6 @@ \advance\fullWidth by \marginparsep \advance\fullWidth by \marginparwidth -\fileversion \begin{abstract} This version of \verb+pstricks-add+ needs \verb+pstricks.tex+ 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 0cf76d4e7af..7fd67ab5812 100644 --- a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex +++ b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex @@ -30,8 +30,8 @@ \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi \ifx\PSTmathLoaded\endinput\else \input pst-math \fi % -\def\fileversion{3.38} -\def\filedate{2009/12/13} +\def\fileversion{3.39} +\def\filedate{2010/03/12} \message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -1116,17 +1116,18 @@ %% #1 : x value %% #2 : delta x or x0,x1 %% #3 : function -\def\psplotTangent{\@ifnextchar*{\def\pst@tempA{true }\psplotTangent@v}{\def\pst@tempA{false }\psplotTangent@v*}} -\def\psplotTangent@v*{\@ifnextchar[{\psplotTangent@i}{\psplotTangent@i[]}} -\def\psplotTangent@i[#1]#2#3#4{% - \expandafter\psplotTangent@ii#3,,\@nil - \def\pst@par{#1}% - \ifx\psk@Derive\@empty\ifPst@algebraic\addbefore@par{Derive=NOT@EMPTY}\fi\fi%%dr 0606 +\def\psplotTangent{\pst@object{psplotTangent}}% +%\def\psplotTangent{\@ifnextchar*{\def\pst@tempA{true }\psplotTangent@v}{\def\pst@tempA{false }\psplotTangent@v*}} +%\def\psplotTangent@v*{\@ifnextchar[{\psplotTangent@i}{\psplotTangent@i[]}} +\def\psplotTangent@i#1#2#3{% + \expandafter\psplotTangent@ii#2,,\@nil +% \def\pst@par{#1}% \begin@OpenObj% + \ifx\psk@Derive\@empty\ifPst@algebraic\def\psk@Derive{NOT@EMPTY}\fi\fi%%dr 0606 hv 1003 \addto@pscode{ - /StarVersion \pst@tempA def +% /StarVersion \if@star true \else false \fi def gsave % save current state - /F@pstplot \ifPst@algebraic (#4) tx@addDict begin AlgParser end cvx \else { #4 } \fi def % define function + /F@pstplot \ifPst@algebraic (#3) tx@addDict begin AlgParser end cvx \else { #3 } \fi def % define function \ifx\psk@Derive\@empty\else \ifx\psk@Derive\@NOTEMPTY\else%%dr 0606 /FDer@pstplot % do we have a derivation defined? @@ -1135,39 +1136,39 @@ \fi /@parametric false def %%dr 0606 % first we calculate the origin - #2 dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot %%{ /y ED /x ED } % if yes, then we have 2 values { /y ED /x ED /@parametric true def } % if yes, then we have 2 values%%dr 0606 { \ifPst@polarplot x \ifPst@algebraic RadtoDeg \fi PtoC /y ED /x ED \else /y ED \fi } ifelse cleartomark \ifx\psk@Derive\@NOTEMPTY%%begin dr 0606 %% algebraic we can use the derivative machine - /FDer@pstplot (#4) @parametric { (t) } { (x) } ifelse + /FDer@pstplot (#3) @parametric { (t) } { (x) } ifelse tx@Derive begin Derive end tx@addDict begin AlgParser end cvx def \fi%%end dr 0606 x \pst@number\psxunit mul y \pst@number\psyunit mul translate % define the temporary origin % now we calculate the slope of the tangent \ifx\psk@Derive\@empty% de we have a derivation defined? - #2 abs 1.0e-6 lt % no, we choose secant for the tangent - { #2 0.0005 add dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 abs 1.0e-6 lt % no, we choose secant for the tangent + { #1 0.0005 add dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y2 ED /x2 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x2 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x2 x def \fi /y2 ED } ifelse cleartomark % delete the mark - #2 0.0005 sub dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 0.0005 sub dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y1 ED /x1 ED } { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x1 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x1 x def \fi /y1 ED } ifelse cleartomark y2 y1 sub x2 x1 sub } % dy dx { % > 1.0e-06 - #2 1.0005 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 1.0005 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y2 ED /x2 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x2 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x2 x def \fi /y2 ED } ifelse cleartomark - #2 .9995 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 .9995 mul dup /x ED /t ED tx@addDict begin mark F@pstplot end counttomark 1 gt % test, if we have parametricplot { /y1 ED /x1 ED } % we have 2 values { \ifPst@polarplot dup x \ifPst@algebraic RadtoDeg \fi cos mul /x1 ED x \ifPst@algebraic RadtoDeg \fi sin mul \else /x1 x def \fi /y1 ED } ifelse @@ -1176,7 +1177,7 @@ atan % atan(dy dx), we have the slope angle of the secant \ifPST@Tnormal 90 add \fi \else % there is a derivation defined - #2 dup /x ED /t ED tx@addDict begin mark FDer@pstplot end counttomark 1 gt % test, if we have parametricplot + #1 dup /x ED /t ED tx@addDict begin mark FDer@pstplot end counttomark 1 gt % test, if we have parametricplot { /y ED /x ED } { \ifPst@polarplot /Fphi ED % the value F'(phi) tx@addDict begin F@pstplot end x \ifPst@algebraic RadtoDeg \fi PtoC /y0 ED /x0 ED % the x y values @@ -1193,12 +1194,15 @@ [ % start array of points \ifPST@Tnormal 0 0 % moveto - #3 + #2 y \pst@number\psyunit mul x \pst@number\psxunit mul Atan cos div \pst@number\psxunit mul 0 % lineto \else % points are in reverse order ... - \ifx\pst@tempRight\@empty #3 \else \pst@tempRight\space \fi \pst@number\psxunit mul 0 % moveto - StarVersion { 0 }{\ifx\pst@tempRight\@empty #3 neg \else - \pst@tempLeft\space \fi \pst@number\psxunit mul} ifelse 0 % lineto + \ifx\pst@tempRight\@empty #2 \else \pst@tempRight\space \fi \pst@number\psxunit mul 0 % moveto + \if@star 0 + \else + \ifx\pst@tempRight\@empty #2 neg \else \pst@tempLeft\space \fi + \pst@number\psxunit mul + \fi 0 % lineto \fi \pst@cp % kill the currentpoint, if any false % don't show the points -- cgit v1.2.3