diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex | 84 |
1 files changed, 50 insertions, 34 deletions
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 70fbd31dd2d..c2d2cd8037e 100644 --- a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex +++ b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex @@ -1,4 +1,4 @@ -%% $Id: pstricks-add.tex 903 2019-01-12 17:16:09Z herbert $ +%% $Id: pstricks-add.tex 1105 2019-11-02 08:20:49Z herbert $ %% %% This is file `pstricks-add.tex', %% @@ -31,8 +31,8 @@ \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi \ifx\PSTmathLoaded\endinput\else \input pst-math \fi % -\def\fileversion{3.87} -\def\filedate{2019/01/12} +\def\fileversion{3.89} +\def\filedate{2019/11/01} \let\pstricksaddFV\fileversion \message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)} % @@ -107,7 +107,8 @@ [ax by cx dy ex fy] concat } \tx@TMChange }% \box\pst@hbox - \pst@Verb{ \tx@TMRestore grestore }\endgroup} + \pst@Verb{ \tx@TMRestore grestore }\endgroup + \ignorespaces} % % [#1]: obtargs; (#2,#3): center; {#4}: factor; {#5}: object \def\psHomothetie{\def\pst@par{}\pst@object{psHomothetie}} @@ -164,6 +165,9 @@ \define@key[psset]{pstricks-add}{braceWidthInner}{\pst@getlength{#1}\psk@braceWidthInner} \define@key[psset]{pstricks-add}{braceWidthOuter}{\pst@getlength{#1}\psk@braceWidthOuter} % +\define@boolkey[psset]{pstricks-add}[PST@]{singleline}[true]{}%use \ifPST@metricFunction +\psset{singleline=false} + \def\psbrace{\def\pst@par{}\pst@object{psbrace}} \def\psbrace@i(#1)(#2)#3{% \addbefore@par{ref=lb,linewidth=0.01pt,fillstyle=solid,fillcolor=black}% default setting @@ -194,21 +198,30 @@ Left radius2 neg Left radius1 add radius2 neg radius1 arcto pop4 Right radius2 sub radius1 sub 0 rlineto Length radius2 neg Length 0 radius2 arcto pop4 + \ifPST@singleline\else % 0 Width neg rlineto - Length radius2 Width add neg Length radius2 sub radius2 Width add neg radius2 arcto pop4 - Right radius2 sub radius1 sub neg 0 rlineto - Left radius1 add Width radius1 add radius2 add neg radius1 90 180 arc - Left radius1 sub Width radius1 add radius2 add neg radius1 0 90 arc - Left radius2 sub radius1 sub neg 0 rlineto - radius2 Width neg radius2 270 180 arcn - 0 0 lineto - \ifx\psk@fillstyle\relax\else - gsave - ifStar { \pst@usecolor\pslinecolor }{ \pst@usecolor\psfillcolor } ifelse - fill - grestore - \fi - \pst@number\pslinewidth setlinewidth \pst@usecolor\pslinecolor stroke + Length radius2 Width add neg Length radius2 sub radius2 Width add neg radius2 arcto pop4 + Right radius2 sub radius1 sub neg 0 rlineto + Left radius1 add Width radius1 add radius2 add neg radius1 90 180 arc + Left radius1 sub Width radius1 add radius2 add neg radius1 0 90 arc + Left radius2 sub radius1 sub neg 0 rlineto + radius2 Width neg radius2 270 180 arcn + 0 0 lineto + \ifx\psk@fillstyle\relax\else + gsave + ifStar { \pst@usecolor\pslinecolor }{ \pst@usecolor\psfillcolor } ifelse + fill + grestore + \fi + \fi +% \pst@number\pslinewidth setlinewidth \pst@usecolor\pslinecolor stroke + \ifx\pslinestyle\@none\else + \pst@number\pslinewidth SLW + \pst@usecolor\pslinecolor + \@nameuse{psls@\pslinestyle} + \tx@setStrokeTransparency + \fi + stroke 0 0 moveto grestore % now calculate the label pos @@ -1960,29 +1973,30 @@ a add \def\psCircleTangents{\pst@object{psCircleTangents}} \def\psCircleTangents@i(#1){\@ifnextchar({\psCircleTangents@ii(#1)}{\psCircleTangents@iii(#1)}}% \def\psCircleTangents@ii(#1)(#2)#3{% (viewpoint) (circle) {radius} - \pst@killglue% - \begingroup% - \pst@getlength{#3}\pst@LengthA% + \pst@killglue + \begingroup + \pst@getlength{#3}\pst@LengthA \addbefore@par{basename=CircleT}% - \use@par% - \edef\@cmd{\noexpand\psEllipseTangentsN(#2)(! \pst@LengthA dup % - \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}}% - \@cmd% - \endgroup% - \ignorespaces% + \use@par +% \edef\@cmd{\noexpand\psEllipseTangentsN(#2)(! \pst@LengthA dup +% \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}}% +% \@cmd + \psEllipseTangentsN(#2)(!\pst@LengthA dup \pst@number\psxunit div exch \pst@number\psyunit div )(#1){\psk@basename}% + \endgroup + \ignorespaces }% \def\psCircleTangents@iii(#1)#2(#3)#4{% two circles--- (Cntr1){radius1}(Cntr2){radius2} - \pst@killglue% - \begingroup% + \pst@killglue + \begingroup \pst@getlength{#2}\pst@LengthA% radius1 \pst@getlength{#4}\pst@LengthB% radius2 \addbefore@par{basename=CircleT}% - \use@par% - \psLCNodeVar(#1)(#3)(! \pst@LengthA \pst@number\psrunit div dup \pst@LengthB % + \use@par + \psLCNodeVar(#1)(#3)(! \pst@LengthA \pst@number\psrunit div dup \pst@LengthB \pst@number\psrunit div % r1 r1 r2 on stack 3 copy add div /tti ED sub dup 0 eq % r1 r1-r2 on stack { pop pop /ttx 1000 def }{ div dup abs 1000 gt % r1/(r1-r2) on stack - { 0 gt { ttx 1000 def }{ ttx -1000 def } ifelse}{ /ttx ED } ifelse } ifelse % + { 0 gt { ttx 1000 def }{ ttx -1000 def } ifelse}{ /ttx ED } ifelse } ifelse 1 tti sub tti )% 1-tti tti on stack {\psk@basename C1}% % tti=r1/(r1+r2), ttx=r1/(r1-r2) @@ -2011,14 +2025,16 @@ a add \def\psEllipseTangentsN(#1)(#2)(#3)#4{% (xe,ye)(a,b)(xP,yP){basename} % no optional arguments \pst@killglue % \pst@getcoor{#1}\pst@tempA - \pnodes(#1){E@Cntr}(#2){@@TMP}(#3){@@@TMP}% (center)(semimajor, semiminor)(viewpt) + \pnode(#1){E@Cntr}% + \pnode(#2){@@TMP}% + \pnode(#3){@@@TMP}% (center)(semimajor, semiminor)(viewpt) \pst@getcoor{#3}\my@tempC% external viewpoint \AtoB(E@Cntr)(@@@TMP){@TMP}% center to viewpoint \ifnum\Pst@Debug>0 \shownode(E@Cntr)% \shownode(@TMP)% \shownode(@@@TMP)% - \fi% + \fi \pnode(! \psGetNodeCenter{E@Cntr}\space /Xc E@Cntr.x def /Yc E@Cntr.y def |