% This macro source file is from the four volume series
% "TeX in Practice" by Stephan von Bechtolsheim, published
% 1993 by Springer-Verlag, New York.
% Copyright 1993 Stephan von Bechtolsheim.
% No warranty or liability is assumed.
% This macro may be copied freely if no fees other than
% media cost or shipping charges are charged and as long
% as this copyright and the following source code itself
% is not changed. Please see the series for further information.
%
% Version: 1.0
% Date: May 1, 1993
%
%
% This source code is documented in 9.3.6.1, p. I-327.
% Original source in file "boxit.TEX", starting line 719.
\wlog{L: "boxing5.tip" ["boxit.TEX," l. 719, p. I-327]}%
% This file DOES belong to format "texip."
\InputD{box-zero.tip}
\InputD{box-bul.tip}
\InputD{box-bb.tip}
\InputD{box-thck.tip}
\catcode`\@ = 11
\newif\ifBulletAndBaseLine
\BulletAndBaseLinetrue
\def\RulesOutSide #1#2#3{%
   {%
       \setbox 0 = \hbox{%
           \ifBulletAndBaseLine
               \copy\@BulletBox
           \fi
           \hskip -\BoxRuleThickness
           \vrule width \BoxRuleThickness height #1 depth #2%
           \hskip #3%
           \vrule width \BoxRuleThickness height #1 depth #2%
           \dimen0 = #3%
           \advance \dimen0 by 2\BoxRuleThickness
           \hskip -\dimen0
           \dimen2 = #1%
           \advance\dimen2 by \BoxRuleThickness
           \vrule width \dimen0 height \dimen2 depth -#1%
           \hskip -\dimen0
           \dimen2 = #2%
           \advance\dimen2 by \BoxRuleThickness
           \vrule width \dimen0 height -#2 depth \dimen2
       }%
       \ZeroBoxOut{0}%
   }%
}
\def\RulesInSide #1#2#3{%
   {%
       \setbox 0 = \hbox{%
           \ifBulletAndBaseLine
               \copy\@BulletBox
           \fi
           \vrule width \BoxRuleThickness height #1 depth #2%
           \hskip #3%
           \hskip -\BoxRuleThickness
           \hskip -\BoxRuleThickness
           \vrule width \BoxRuleThickness height #1 depth #2%
           \hskip -#3%
           \dimen2 = #1%
           \advance\dimen2 by -\BoxRuleThickness
           \vrule width #3 height #1 depth -\dimen2
           \hskip -#3%
           \dimen2 = #2%
           \advance\dimen2 by -\BoxRuleThickness
           \vrule width #3 height -\dimen2 depth #2%
       }%
       \ZeroBoxOut{0}%
   }%
}
\def\RulesOnSide #1#2#3{%
   {%
       \setbox 0 = \hbox{%
           \ifBulletAndBaseLine
               \copy\@BulletBox
           \fi
           \hskip -0.5\BoxRuleThickness
           \vrule width \BoxRuleThickness height #1 depth #2%
           \hskip #3%
           \hskip -\BoxRuleThickness
           \vrule width \BoxRuleThickness height #1 depth #2%
           \hskip -#3%
           \hskip -\BoxRuleThickness
           \dimen0 = #3%
           \advance\dimen0 by \BoxRuleThickness
           \dimen2 = #1%
           \advance\dimen2 by 0.5\BoxRuleThickness
           \dimen4 = #1%
           \advance\dimen4 by -0.5\BoxRuleThickness
           \dimen4 = -\dimen4
           \vrule width \dimen0 height \dimen2 depth \dimen4
           \hskip -\dimen0
           \dimen2 = #2%
           \advance\dimen2 by -0.5\BoxRuleThickness
           \dimen2 = -\dimen2
           \dimen4 = #2%
           \advance\dimen4 by 0.5\BoxRuleThickness
           \vrule width \dimen0 height \dimen2 depth \dimen4
       }%
       \ZeroBoxOut{0}%
   }%
}
\catcode`\@ = 12