diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/texdraw/txdtools.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/texdraw/txdtools.tex | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/texdraw/txdtools.tex b/Master/texmf-dist/tex/generic/texdraw/txdtools.tex new file mode 100644 index 00000000000..c3d5ee1aa01 --- /dev/null +++ b/Master/texmf-dist/tex/generic/texdraw/txdtools.tex @@ -0,0 +1,80 @@ +% TeXdraw toolbox macros, useful for extended TeXdraw commands + +% $Id: txdtools.tex,v 1.8 1993/04/10 texdraw-V2R0 $ + +% Copyright (C) 1991,1992 Peter Kabal + +% The routines in this file are provided free of charge without +% warranty of any kind. Note that the TeXdraw routines are copyrighted. +% They may be distributed freely provided that the recipients also +% acquire the right to distribute them freely. The notices to this +% effect must be preserved when the files are distributed. + +% Peter Kabal +% Department of Electrical Engineering +% McGill University +% 3480 University +% Montreal, Quebec +% Canada H3A 2A7 + +% kabal@TSP.EE.McGill.CA +\chardef\catamp=\the\catcode`\@ +\catcode`\@=11 +\def\realadd #1#2#3{\dimen0=#1pt +\dimen2=#2pt +\advance \dimen0 by \dimen2 +\edef #3{\expandafter\c@lean\the\dimen0}} +\def\realdiv #1#2#3{\dimen0=#1pt +\t@counta=\dimen0 +\dimen0=#2pt +\t@countb=\dimen0 +\intdiv \t@counta \t@countb #3} +\def\lenhyp #1#2#3{\t@counta=#1% +\multiply \t@counta by \t@counta +\t@countb=#2% +\multiply \t@countb by \t@countb +\advance \t@counta by \t@countb +\sqrtnum \t@counta #3} +\let\bk=\t@counta +\let\bn=\t@countb +\let\xval=\t@countc +\def\sqrtnum #1#2{\xval=#1% +\bk=\xval +\loop +\bn=\xval +\divide \bn by \bk +\advance \bn by \bk +\advance \bn by 1 +\divide \bn by 2 +\ifnum \bn < \bk +\bk=\bn +\repeat +#2=\bn} +\def\currentpos #1#2{\t@pixa=\x@pix +\advance \t@pixa by -\x@segoffpix +\pixtocoord \t@pixa #1 +\t@pixa=\y@pix +\advance \t@pixa by -\y@segoffpix +\pixtocoord \t@pixa #2} +\def\vectlen (#1 #2)(#3 #4)#5{\getpos (#1 #2)\x@arga\y@arga +\getpos (#3 #4)\x@argb\y@argb +\coordtopix \x@arga \t@pixa +\coordtopix \x@argb \t@pixb +\advance \t@pixb by -\t@pixa +\coordtopix \y@arga \t@pixc +\coordtopix \y@argb \t@pixd +\advance \t@pixd by -\t@pixc +\lenhyp \t@pixb \t@pixd \t@pixc +\pixtocoord \t@pixc #5} +\def\cossin (#1 #2)(#3 #4)#5#6{\getpos (#1 #2)\x@arga\y@arga +\getpos (#3 #4)\x@argb\y@argb +\coordtopix \x@arga \t@pixa +\coordtopix \x@argb \t@pixb +\advance \t@pixb by -\t@pixa +\coordtopix \y@arga \t@pixc +\coordtopix \y@argb \t@pixd +\advance \t@pixd by -\t@pixc +\lenhyp \t@pixb \t@pixd \t@pixc +\intdiv \t@pixb\t@pixc #5% +\intdiv \t@pixd\t@pixc #6} +\catcode`\@=\catamp |