%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The TeX-macros of the border-project % % This file has version number 1.2a. % % 16.07.1993 % % (c) by Andreas Schrell, Wuppertal % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newskip\Randsep \Randsep=3pt \newif\ifnotempty \def\ifne#1{\def\ifnetest{#1}\ifx\empty\ifnetest\notemptyfalse\else \notemptytrue\fi\ifnotempty} \def\hScanDef #1 #2 #3 (#4[#5]#6) {% \setbox#1\hbox{\SEP#4\ifne{#4}\SEP\fi}% \setbox#2\hbox{#5\SEP}% \ifdim\wd#2>0pt\else \errhelp{If you proceed now, you will enter an infinite loop...}% \errmessage{A sequence [#5] given to \string\RandBox\space has a width <= 0pt (\the\wd#2). Type x or e!}% \fi \setbox#3\hbox{#6\ifne{#6}\SEP\fi}% \MyNext} \def\vScanDef #1 #2 #3 (#4[#5]#6) {% \setbox#1\hbox{\vbox{\halign{##\cr#4\cr}\ifne{#4}\SEP\fi}}% \setbox#2\hbox{\vbox{\halign{##\cr#5\cr}\SEP}}% \ifdim\ht#2>0pt\else \ifdim\dp#2>0pt\else \errhelp{If you proceed now, you will enter an infinite loop...}% \errmessage{A sequence [#5] given to \string\RandBox\space has a height/depth <= 0pt (\the\ht#2.\the\dp#2). Type x or e!}% \fi\fi \setbox#3\hbox{\vbox{% \halign{##\cr#6\cr}\ifne{#6}\SEP\fi}}% \MyNext} \def\RandBox #1 font #2 [#3] (#4) {\leavevmode\hbox\bgroup \ifdim#3<0pt \def\K{{#2\kern-#3\kern\Randsep\relax}}% \else \def\K{{#2\kern\Randsep\relax}}% \fi \setbox20\hbox{\vbox{\K\hbox{\K{#1}\K}\K}}% \topskip=0pt \offinterlineskip #2% \def\ISEP{#3}% \def\SEP{\kern\ISEP}% \setbox0\hbox{#4}% \let\MyNext\RBA \def\\{\SEP}% \hScanDef 4 5 6 } \def\RBA (#1) {\setbox7\hbox{#1}% \let\MyNext\RBB \def\\{\cr\noalign{\SEP}}% \vScanDef 8 9 10 } \def\RBB {% \let\MyNext\RBC \def\\{\cr\noalign{\vskip\ISEP}}% \vScanDef 11 12 13 } \def\RBC (#1) {\setbox14\hbox{#1}% \let\MyNext\RBD \def\\{\SEP}% \hScanDef 15 16 17 } \def\RBD (#1){\setbox18\hbox{#1}% % 4 5 6 \dimen0=\wd20 \advance\dimen0 by -\wd6 \setbox21\hbox{\unhbox4}% \def\done{0}% \loop \ifdim\wd21<\dimen0 \setbox21\hbox{\unhbox21\copy5}% \def\done{1}% \repeat \setbox21\hbox{\unhbox21%\if\done0\kern-\ISEP\fi \copy6}% % 15 16 17 \dimen0=\wd20 \advance\dimen0 by -\wd17 \setbox22\hbox{\unhbox15}% \def\done{0}% \loop \ifdim\wd22<\dimen0 \setbox22\hbox{\unhbox22\copy16}% \def\done{1}% \repeat \setbox22\hbox{\unhbox22%\if\done0\kern-\ISEP\fi \copy17}% % 8 9 10 \dimen0=\ht20 \advance\dimen0 by \dp20 \advance\dimen0 by -\ht10 \advance\dimen0 by -\dp10 \setbox23\vbox{\copy8}% \def\done{0}% \loop \dimen1\ht23 \advance\dimen1 by \dp23 \ifdim\dimen1<\dimen0 \setbox23\vbox{\unvbox23\copy9}% \def\done{1}% \repeat \setbox23\vbox{\unvbox23%\if\done0\kern-\ISEP\fi \copy10}% % 11 12 13 \dimen0=\ht20 \advance\dimen0 by \dp20 \advance\dimen0 by -\ht13 \advance\dimen0 by -\dp13 \setbox24\vbox{\copy11}% \def\done{0}% \loop \dimen1\ht24 \advance\dimen1 by \dp24 \ifdim\dimen1<\dimen0 \setbox24\vbox{\unvbox24\copy12}% \def\done{1}% \repeat \setbox24\vbox{\unvbox24%\if\done0\kern-\ISEP\fi \copy13}% % \dimen0=\ht23 \advance\dimen0 by \dp23 \advance\dimen0 by \ISEP \dimen1=\wd21 \advance\dimen1 by \ISEP \hbox{$\vcenter{\copy0\SEP\copy23\copy14}% \vcenter{\copy21 \hbox to \wd21{\hss \vbox to \dimen0{\vss\copy20\vss}% \hss}% \copy22}% \vcenter{\copy7\SEP\copy24\copy18}$}\egroup} \def\EinfachRand #1 font #2 char #3 [#4] {% \RandBox {#1} font {#2} [#4] (#3) ([#3]) (#3) ([#3]) ([#3]) (#3) ([#3]) (#3) } \def\countpluseins#1#2{\count#1=\count#2 \advance\count#1 by 1} \def\LinienBox #1 font #2 ecken #3 linien #4 { {\count100='#3 \count200='#4 % oktal!!! \countpluseins{101}{100} \countpluseins{102}{101} \countpluseins{103}{102} \countpluseins{201}{200} \countpluseins{202}{201} \countpluseins{203}{202} \def\e##1{\char\the\count10##1} \def\l##1{\char\the\count20##1} \RandBox {#1} font {#2} [0pt] (\e1) ([\l1]) (\e0) ([\l2]) ([\l0]) (\e2) ([\l3]) (\e3) }} \def\C{\char'} \def\MeanderBox #1 at #2 {% {\font\MeanderFont=umranda at #2 \RandBox {#1} font {\MeanderFont} [0pt] (\C136) ([\C137]) (\C140) ([\C145]) ([\C141]) (\C144) ([\C143]) (\C142) }} \endinput