
% Latex macros for The Scheme of Things

\newcommand{\ev}{\hbox{$\longrightarrow$}}
\newcommand{\asterisk}{\hbox{$\ast$}}
\newcommand{\foo}{\discretionary{}{}{}}
\newcommand{\var}[1]{\hbox{\em{}#1}}
\newcommand{\piece}[1]{\subsubsection*{#1}}
\newcommand{\syn}[1]{\hbox{$\langle$\rm#1$\rangle$}}
\newcommand{\xform}{\hbox{$\Longrightarrow$}}
\newcommand{\etc}{$\ldots$}
\newcommand{\ok}{\discretionary{}{}{}}

\newcommand{\separator}{
\vspace{1ex}
\begin{center}
\noindent \asterisk\hspace{1em}\asterisk\hspace{1em}\asterisk
\end{center}
\vspace{1ex}}


% -----------------------------------------------------------------------------
  %% doframeit draws a box around it argument by manipulating boxes.  It
  %% is used in the frame environments.
  %% 
  %%  Rene' Seindal (seindal@diku.dk) Fri Feb 12 16:03:07 1988
  %%  added \fboxrule and \fboxsep to \doframeit

\def\doframeit#1{\vbox{%
  \hrule height\fboxrule
    \hbox{%
      \vrule width\fboxrule \kern\fboxsep
      \vbox{\kern\fboxsep #1\kern\fboxsep }%
      \kern\fboxsep \vrule width\fboxrule }%
    \hrule height\fboxrule }}

  %% The frameit and Frameit environments formats text within a single 
  %% Anything can be framed, including verbatim text.

\def\frameit{\smallskip \advance \linewidth by -7.5pt \setbox0=\vbox \bgroup
\strut \ignorespaces }

\def\endframeit{\ifhmode \par \nointerlineskip \fi \egroup
\doframeit{\box0}}
% -----------------------------------------------------------------------------
