home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / graphics / graph / latex / graph.sty < prev    next >
Text File  |  1993-09-19  |  13KB  |  298 lines

  1. %% 
  2. %% This is file `graph.sty', generated 
  3. %% on <1993/9/19> with the docstrip utility (2.0r).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% graph.doc  (with options: `style')
  8. %% 
  9. %% Copyright (C) 1993 by Christoph Ostendorf. 
  10. %% Alle Rechte vorbehalten 
  11. %% 
  12. %% Diese Datei ist Teil des GRAPH-Programmpaketes. 
  13. %% 
  14. %% 
  15. %% WICHTIGER HINWEIS: 
  16. %% Diese Datei darf NICHT weitergegeben werden ! 
  17. %% Zur Weitergabe der urspr"unglichen Quelldatei siehe 
  18. %% die Copyright-Hinweise in der Datei graph.doc 
  19. %% 
  20. \def\fileversion{1.1a}
  21. \def\filedate{93/09/19}
  22. \def\docdate{93/09/19}
  23. %% \CharacterTable
  24. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  25. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  26. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  27. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  28. %%   Dollar        \$     Percent       \%     Ampersand     \&
  29. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  30. %%   Asterisk      \*     Plus          \+     Comma         \,
  31. %%   Minus         \-     Point         \.     Solidus       \/
  32. %%   Colon         \:     Semicolon     \;     Less than     \<
  33. %%   Equals        \=     Greater than  \>     Question mark \?
  34. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  35. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  36. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  37. %%   Right brace   \}     Tilde         \~}
  38. %%
  39. \@ifundefined{COdot}{}{\endinput}
  40. \typeout{style-Option: `graph' \fileversion\space\space <\filedate>
  41.    by Christoph Ostendorf}
  42. \newcount\@sc
  43. \newcount\@scm
  44. \newcount\@t
  45. \newcount\@lx
  46. \newcount\@ly
  47. \newdimen\@x
  48. \newdimen\@dx
  49. \newdimen\@y
  50. \newdimen\@dy
  51. \newbox\@pt
  52. \newif\iffin@l \fin@ltrue
  53. \newcount\COmagnification  \COmagnification=1000
  54. \def\@signum#1#2{%
  55.   \ifnum#2>0\relax #1=1\relax%
  56.   \else \ifnum#2<0\relax #1=-1\relax \else #1=0\relax\fi \fi }
  57. \def\@BoxToPoint(#1,#2)(#3,#4)#5#6{%
  58.   #5=#1\relax \advance#5 by #3\relax%
  59.   #6=#2\relax \advance#6 by #4\relax }
  60. \def\@LineToPoint(#1,#2)#3#4#5{%
  61.   \ifnum#1=0 #4=\z@%
  62.              \@signum{#5}{#2} \multiply#5 by #3\relax%
  63.   \else \@signum{#4}{#1} \multiply#4 by #3%
  64.         #5=#2\relax \multiply#5 by #3\relax \divide#5 by #1\relax \fi }
  65. \def\COcalcunitlength{%
  66.    \multiply\unitlength by \COmagnification \divide\unitlength by 1000}
  67. \def\COtextheight#1{%
  68.    \@t=#1 \multiply\@t by \COmagnification%
  69.    \@ifundefined{slide}{%
  70.       \@ifundefined{@ptsize}{\@sc=0}{\@sc=\@ptsize}%
  71.       \ifcase\@sc\relax%
  72.            \ifnum\@t<5500 \tiny
  73.            \else \ifnum\@t<7500  \scriptsize
  74.            \else \ifnum\@t<8500  \footnotesize
  75.            \else \ifnum\@t<9500  \small
  76.            \else \ifnum\@t<10500 \normalsize
  77.            \else \ifnum\@t<12500 \large
  78.            \else \ifnum\@t<14500 \Large
  79.            \else \ifnum\@t<17500 \LARGE
  80.            \else \ifnum\@t<20500 \huge
  81.            \else \Huge \fi\fi\fi\fi\fi\fi\fi\fi\fi%
  82.       \or  \ifnum\@t<6500 \tiny
  83.            \else \ifnum\@t<8500  \scriptsize
  84.            \else \ifnum\@t<9500  \footnotesize
  85.            \else \ifnum\@t<10500 \small
  86.            \else \ifnum\@t<11500 \normalsize
  87.            \else \ifnum\@t<12500 \large
  88.            \else \ifnum\@t<14500 \Large
  89.            \else \ifnum\@t<17500 \LARGE
  90.            \else \ifnum\@t<20500 \huge
  91.            \else \Huge \fi\fi\fi\fi\fi\fi\fi\fi\fi%
  92.       \or  \ifnum\@t<6500 \tiny
  93.            \else \ifnum\@t<8500  \scriptsize
  94.            \else \ifnum\@t<10500 \footnotesize
  95.            \else \ifnum\@t<11500 \small
  96.            \else \ifnum\@t<12500 \normalsize
  97.            \else \ifnum\@t<14500 \large
  98.            \else \ifnum\@t<17500 \Large
  99.            \else \ifnum\@t<20500 \LARGE
  100.            \else \ifnum\@t<25500 \huge
  101.            \else \Huge \fi\fi\fi\fi\fi\fi\fi\fi\fi%
  102.       \fi }{
  103.      \ifnum\@t<14500 \tiny
  104.      \else \ifnum\@t<17500 \small
  105.      \else \ifnum\@t<20500 \normalsize
  106.      \else \ifnum\@t<24500 \large
  107.      \else \ifnum\@t<29500 \Large
  108.      \else \ifnum\@t<34500 \LARGE
  109.      \else \ifnum\@t<41500 \huge
  110.      \else \Huge \fi\fi\fi\fi\fi\fi\fi }}
  111. \def\COdot(#1,#2){\put(#1,#2){\rule[-0.2pt]{0.4pt}{0.4pt}}}
  112. \def\LaTeXdot(#1,#2){\COdot(#1,#2)
  113.    \typeout{*** use \string\COdot instead of \string\LaTeXdot ! ***}}
  114. \def\LaTeXgraphics{%
  115.   \def\COinitgraphics{}
  116.   \def\COlinethickness##1{\@x=##1%
  117.     \multiply\@x by \COmagnification \divide\@x by 1000%
  118.     \linethickness{\the\@x}%
  119.     \ifdim\@x>0.4pt\relax\thicklines\else\thinlines\fi }
  120.    \def\COlinestyle##1{
  121.          \ifcase ##1\or \let\COrect=\solidb@x%
  122.                    \or  \let\COrect=\longdashb@x%
  123.                    \or  \let\COrect=\dotb@x%
  124.                    \or  \let\COrect=\solidb@x%
  125.                    \or  \let\COrect=\dashb@x%
  126.                    \or  \let\COrect=\solidb@x%
  127.                    \else \let\COrect\solidb@x \fi }
  128.   \def\COellipt(##1,##2)##3##4{%
  129.     \ifnum##3>##4\relax \@t=##4\relax \else \@t=##3\relax \fi%
  130.     \multiply\@t by \tw@ \put(##1,##2){\circle{\@t}} }
  131.   \def\COfellipt(##1,##2)##3##4{%
  132.     \ifnum##3>##4\relax \@t=##4\relax \else \@t=##3\relax \fi%
  133.     \multiply\@t by \tw@ \put(##1,##2){\circle*{\@t}} }
  134.   \def\solidb@x(##1,##2)(##3,##4){%
  135.     \@BoxToPoint(##1,##2)(##3,##4){\@sc}{\@scm}%
  136.     \COline(##1,##2)(1,0){##3}\COline(##1,##2)(0,1){##4}%
  137.     \COline(##1,\@scm)(1,0){##3}\COline(\@sc,##2)(0,1){##4} }
  138.   \def\dotb@x(##1,##2)(##3,##4){%
  139.     \put(##1,##2){\dashbox{3}(##3,##4){}} }
  140.   \def\dashb@x(##1,##2)(##3,##4){%
  141.     \put(##1,##2){\dashbox{15}(##3,##4){}} }
  142.   \def\longdashb@x(##1,##2)(##3,##4){%
  143.     \put(##1,##2){\dashbox{40}(##3,##4){}} }
  144.   \def\COfrect(##1,##2)(##3,##4){%
  145.     \put(##1,##2){\rule{##3\unitlength}{##4\unitlength}} }
  146.   \def\COline(##1,##2)(##3,##4)##5{%
  147.     \put(##1,##2){\line(##3,##4){##5}} }
  148.   \def\COvector(##1,##2)(##3,##4)##5{%
  149.     \put(##1,##2){\vector(##3,##4){##5}} }
  150.    \def\n@line##1(##2,##3)(##4,##5){}
  151.   \def\fr@@line##1(##2,##3)(##4,##5){%
  152.     \@sc=##1\relax  \@scm=\@sc \advance\@scm by -\@ne%
  153.     \@dx=##4\unitlength \divide\@dx by \@scm%
  154.     \@dy=##5\unitlength \divide\@dy by \@scm%
  155.     \setbox\@pt\hbox{\vrule height\@halfwidth  depth\@halfwidth%
  156.       width\@wholewidth}%
  157.     \@t=\z@%
  158.     \put(##2,##3){\@whilenum{\@t<\@sc}\do%
  159.        {\@x=\@t\@dx \@y=\@t\@dy%
  160.         \raise \@y \hbox to \z@{\hskip \@x\unhcopy\@pt\hss}%
  161.           \advance\@t by \@ne}} }%
  162.    \def\COdraftmode{\let\COfreeline=\n@line  \fin@lfalse}
  163.    \def\COfinalmode{\let\COfreeline=\fr@@line \fin@ltrue}
  164.    \let\COrect=\solidb@x
  165.    \iffin@l\COfinalmode\else\COdraftmode\fi }
  166. \def\CSgraphics{%
  167.   \def\COinitgraphics{%
  168.     \special{CS!r}\special{CS!u \the\unitlength} }
  169.   \def\COlinethickness##1{%
  170.     \@x=##1 \multiply\@x by \COmagnification \divide\@x by 1000%
  171.     \special{CS!w \the\@x}%
  172.     \ifdim\@x>0.4pt\relax\thicklines\else\thinlines\fi }
  173.   \def\COlinestyle##1{%
  174.     \@t=##1\relax \advance\@t by -\@ne \special{CS!t \the\@t} }
  175.   \def\COellipt(##1,##2)##3##4{%
  176.     \put(##1,##2){\special{CS!a ##3 ##4 0 0 360}}}
  177.   \def\COfellipt(##1,##2)##3##4{
  178.     \put(##1,##2){\special{CS!e ##3 ##4}}}
  179.   \def\COrect(##1,##2)(##3,##4){%
  180.     \@BoxToPoint(##1,##2)(##3,##4){\@sc}{\@scm}%
  181.     \COline(##1,##2)(1,0){##3}\COline(##1,##2)(0,1){##4}%
  182.     \COline(##1,\@scm)(1,0){##3}\COline(\@sc,##2)(0,1){##4} }
  183.   \def\COfrect(##1,##2)(##3,##4){%
  184.     \put(##1,##2){\rule{##3\unitlength}{##4\unitlength}} }
  185.   \def\COline(##1,##2)(##3,##4)##5{%
  186.     \ifnum##5>0  \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}
  187.       \put(##1,##2){\special{CS!l \the\@lx\space\the\@ly}}
  188.     \else
  189.       \typeout{*** Call of \string\COline\space with zero length ! ***}
  190.     \fi }
  191.   \def\COvector(##1,##2)(##3,##4)##5{%
  192.     \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}
  193.     \ifnum##5>0 \put(##1,##2){\special{CS!l \the\@lx\space\the\@ly}}\fi%
  194.     \advance\@lx by ##1\relax  \advance\@ly by ##2\relax%
  195.     \put(\@lx,\@ly){\vector(##3,##4){0}} }
  196.   \def\COfreeline##1(##2,##3)(##4,##5){
  197.     \put(##2,##3){\special{CS!l ##4 ##5}} }
  198.   \def\COdraftmode{\fin@lfalse}
  199.   \def\COfinalmode{\fin@ltrue}
  200.   \iffin@l\COfinalmode\else\COdraftmode\fi   }
  201. \def\EPICgraphics{%
  202.   \def\COinitgraphics{}
  203.   \def\COlinethickness##1{\@x=##1%
  204.     \multiply\@x by \COmagnification \divide\@x by 1000%
  205.     \linethickness{\the\@x}%
  206.     \ifdim\@x>0.4pt\relax\thicklines\else\thinlines\fi}
  207.   \def\COlinestyle##1{%
  208.     \ifcase ##1\relax \or \let\COline=\solid@line%
  209.                           \let\COfreeline=\solid@freeline%
  210.                       \or \let\COline=\longdash@line%
  211.                           \let\COfreeline=\longdash@freeline%
  212.                       \or \let\COline=\dot@line%
  213.                           \let\COfreeline=\dot@freeline%
  214.                       \or \let\COline=\solid@line%
  215.                           \let\COfreeline=\solid@freeline%
  216.                       \or \let\COline=\dash@line%
  217.                           \let\COfreeline=\dash@freeline%
  218.                       \or \let\COline=\solid@line%
  219.                           \let\COfreeline=\solid@freeline%
  220.                     \else \let\COline\solid@line%
  221.                           \let\COfreeline=\solid@freeline \fi }%
  222.   \def\COellipt(##1,##2)##3##4{%
  223.     \ifnum##3>##4\relax \@t##4\relax \else \@t##3\relax \fi%
  224.     \multiply\@t \tw@ \put(##1,##2){\circle{\@t}} }
  225.   \def\COfellipt(##1,##2)##3##4{%
  226.     \ifnum##3>##4\relax \@t##4\relax \else \@t##3\relax \fi%
  227.     \multiply\@t \tw@ \put(##1,##2){\circle*{\@t}} }
  228.   \def\COrect(##1,##2)(##3,##4){%
  229.     \@BoxToPoint(##1,##2)(##3,##4){\@sc}{\@scm}
  230.     \COline(##1,##2)(1,0){##3}\COline(##1,##2)(0,1){##4}%
  231.     \COline(##1,\@scm)(1,0){##3}\COline(\@sc,##2)(0,1){##4} }
  232.   \def\COfrect(##1,##2)(##3,##4){%
  233.     \put(##1,##2){\rule{##3\unitlength}{##4\unitlength}} }
  234.   \def\solid@line(##1,##2)(##3,##4)##5{%
  235.     \put(##1,##2){\line(##3,##4){##5}} }
  236.   \def\dot@line(##1,##2)(##3,##4)##5{%
  237.     \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}%
  238.     \advance\@lx by ##1\relax  \advance\@ly by ##2\relax%
  239.     \dottedline{15}(##1,##2)(\@lx,\@ly) }
  240.   \def\dash@line(##1,##2)(##3,##4)##5{%
  241.     \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}%
  242.     \advance\@lx by ##1\relax  \advance\@ly by ##2\relax%
  243.     \dashline[8]{15}(##1,##2)(\@lx,\@ly) }
  244.   \def\longdash@line(##1,##2)(##3,##4)##5{%
  245.     \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}%
  246.     \advance\@lx by ##1\relax  \advance\@ly by ##2\relax%
  247.     \dashline[37]{40}(##1,##2)(\@lx,\@ly) }
  248.   \def\COvector(##1,##2)(##3,##4)##5{%
  249.     \ifnum##5>0\relax \COline(##1,##2)(##3,##4){##5} \fi %
  250.     \@LineToPoint(##3,##4){##5}{\@lx}{\@ly}%
  251.     \advance\@lx by ##1\relax  \advance\@ly by ##2\relax%
  252.     \put(\@lx,\@ly){\vector(##3,##4){0}} }
  253.   \def\solid@freeline##1(##2,##3)(##4,##5){%
  254.     \@lx##2\relax \advance\@lx by ##4\relax%
  255.     \@ly##3\relax \advance\@ly by ##5\relax%
  256.     \drawline(##2,##3)(\@lx,\@ly) }
  257.   \def\dot@freeline##1(##2,##3)(##4,##5){%
  258.     \@lx##2\relax \advance\@lx by ##4\relax%
  259.     \@ly##3\relax \advance\@ly by ##5\relax%
  260.     \dottedline{15}(##2,##3)(\@lx,\@ly) }
  261.   \def\dash@freeline##1(##2,##3)(##4,##5){%
  262.     \@lx##2\relax \advance\@lx by ##4\relax%
  263.     \@ly##3\relax \advance\@ly by ##5\relax%
  264.     \dashline[8]{15}(##2,##3)(\@lx,\@ly) }
  265.   \def\longdash@freeline##1(##2,##3)(##4,##5){%
  266.     \@lx##2\relax \advance\@lx by ##4\relax%
  267.     \@ly##3\relax \advance\@ly by ##5\relax%
  268.     \dashline[37]{40}(##2,##3)(\@lx,\@ly) }
  269.   \def\COdraftmode{\fin@lfalse}
  270.   \def\COfinalmode{\fin@ltrue}
  271.   \let\COline=\solid@line%
  272.   \let\COfreeline=\solid@freeline%
  273.   \iffin@l\COfinalmode\else\COdraftmode\fi }
  274. \def\EEPICgraphics{%
  275.    \EPICgraphics%
  276.   \def\COlinethickness##1{\@x=##1%
  277.     \multiply\@x by \COmagnification \divide\@x by 1000%
  278.     \ifdim\@x>0.4pt\relax%
  279.       \ifdim\@x>0.6pt\relax \Thicklines \else \thicklines \fi%
  280.       \else \thinlines \fi%
  281.     \linethickness{\@x}\allinethickness{\@x} }
  282.    \def\COellipt(##1,##2)##3##4{\put(##1,##2){\ellipse{##3}{##4}}}
  283.    \def\COfellipt(##1,##2)##3##4{\put(##1,##2){\ellipse*{##3}{##4}}}
  284.   \def\solid@freeline##1(##2,##3)(##4,##5){%
  285.     \@lx##2\relax \advance\@lx by ##4\relax%
  286.     \@ly##3\relax \advance\@ly by ##5\relax%
  287.     \path(##2,##3)(\@lx,\@ly) }
  288.   \def\COdraftmode{\fin@lfalse}
  289.   \def\COfinalmode{\fin@ltrue}
  290.   \let\COline=\solid@line%
  291.   \let\COfreeline=\solid@freeline%
  292.   \iffin@l\COfinalmode\else\COdraftmode\fi }
  293. \LaTeXgraphics
  294. \COfinalmode
  295. \endinput
  296. %% 
  297. %% End of file `graph.sty'.
  298.