summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex36
1 files changed, 26 insertions, 10 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 37c0a3ccd0c..106280bbb54 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 847 2013-11-13 18:44:15Z herbert $
+%% $Id: pstricks-add.tex 858 2013-12-14 14:38:20Z 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.62}
-\def\filedate{2013/11/13}
+\def\fileversion{3.63}
+\def\filedate{2013/12/14}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -1126,6 +1126,7 @@ a add
\def\psRelNode{\pst@object{psRelNode}}
\def\psRelNode@i(#1)(#2)#3#4{{% A - B - factor - node name
\use@par
+% \pst@killglue
\pst@getcoor{#1}\pst@tempA%
\pst@getcoor{#2}\pst@tempB%
\pnode(!
@@ -1143,7 +1144,7 @@ a add
/beta Alpha AlphaStrich add def
laenge beta cos mul XA add
laenge beta sin mul \ifPst@trueAngle\space unit div \fi\space YA add ){#4}%
-}}
+}\ignorespaces}
%
\def\psRelLine{\def\pst@par{}\pst@object{psRelLine}}
\def\psRelLine@i{\@ifnextchar({\psRelLine@iii}{\psRelLine@ii}}
@@ -2353,23 +2354,37 @@ a add
\pnode(#1){E@Cntr}% center of ellipse
\pnode(#2){@@TMP}% semimajor, semiminor
\pnode(#3){@@@TMP}% viewpt
- \pst@getcoor{#3}\my@tempC% external viewpoint
- \AtoB(E@Cntr)(@@@TMP){@TMP}% center to viewpoint
+ \pnode(!
+ \psGetNodeCenter{E@Cntr}
+ \psGetNodeCenter{@@@TMP}
+ /Dx E@Cntr.x @@@TMP.x sub def
+ /Dy E@Cntr.y @@@TMP.y sub def
+ /Radius Dx Dy Pyth def
+ Dx 30 cos Radius mul sub @@@TMP.x add
+ Dy 30 sin Radius mul sub @@@TMP.y add
+ ){@@@@TMP}% viewpt
+ \psdot[linecolor=red](@@@@TMP)%
+% \pst@getcoor{#3}\my@tempC% external viewpoint
+ \pst@getcoor{@@@@TMP}\my@tempC% external viewpoint
+ \AtoB(E@Cntr)(@@@@TMP){@TMP}% center to viewpoint
\ifnum\Pst@Debug>0
\shownode(E@Cntr)%
\shownode(@TMP)%
\shownode(@@@TMP)%
+ \shownode(@@@@TMP)%
\fi%
\pnode(!
- \psGetNodeCenter{@@TMP}\space
+ \psGetNodeCenter{@@TMP}
/B @@TMP.y def% semiminor
/A @@TMP.x def% semimajor
/A2 A dup mul def /B2 B dup mul def
/C2 B A div dup mul def
- \psGetNodeCenter{@TMP}\space
+ \psGetNodeCenter{@TMP}
/Xp @TMP.x def /Yp @TMP.y def % center to viewpoint
/Xp2 Xp dup mul def /Yp2 Yp dup mul def
- \psGetNodeCenter{E@Cntr}\space
+ \psGetNodeCenter{E@Cntr}
+ gsave
+ 30 rotate
/Xc E@Cntr.x def /Yc E@Cntr.y def
/R Xp2 A2 sub C2 mul Yp2 add Sqrt def % R=Sqrt{(Xp2-A2) C2 + Yp2}
/Q C2 Xp2 mul Yp2 add def % C2 Xp2 + Yp2
@@ -2379,7 +2394,8 @@ a add
/Ytb Yp Xp R mul A div sub B2 mul Q div def
0 Xta Yp mul Yta Xp mul sub gt % swap a, b
{ /A Xta def /B Yta def /Xta Xtb def /Yta Ytb def /Xtb A def /Ytb B def } if
- Xta Xc add Yta Yc add ){#42}%
+ Xta Xc add Yta Yc add
+ grestore ){#42}%
\pnode(! Xtb Xc add Ytb Yc add ){#41}%
\ignorespaces}%
%