%% 
%% This is file `web.sty' generated
%% on <1991/6/19> with the docstrip utility (v1.1l test). 
%% 
%% The original source file was `web.doc'.
%% 
%% You are not allowed to distribute this file without the corresponding 
%% `.doc' version containing the documentation. 
%% 
\iffalse % -*-latex-*-

%% Copyright D.Love, SERC Daresbury Laboratory, 1991
%% The `doc' version of this style is re-distributable and usuable
%% under conditions of the GNU copyleft, but please mark any changes,
%% list them here and report any major enhancements to the author.


\fi

\iffalse %  hack RCS info into a sensible form:
\fi
\def\next$#1: #2/#3/#4 #5 ${\def\filedate{#4/#3/#2}\def\filetime{#5}}
\next$Date: 91/04/30 19:30:11 $

\def\next$#1: #2 ${\def\fileversion{#2}}
\next$Revision: 1.1 $



\typeout{Sub-style `web', version \fileversion\space of \filedate}
\parskip \z@
\ifx\DocInput\undefined
\ifcase \@ptsize
   \textheight = 53 \baselineskip
\or
   \textheight = 47 \baselineskip
\or
   \textheight = 43 \baselineskip
\fi  \advance \textheight by \topskip
\textwidth=6.27in  \oddsidemargin=\z@  \evensidemargin=\z@
\fi
\pagestyle{myheadings}
\ifx\DocInput\undefined \sectionmark{1} \fi
\@ifundefined{selectfont}{%
     \let\normal@font=\relax}   % old scheme
   {% new scheme
     \def\normal@font{\series \mediumseriesdefault
     \shape \normalshapedefault}}
\ifx\DocInput\undefined
\def\@maketitle{%
  \newpage  \thispagestyle{empty} \null
  \begin{center}
  {\LARGE \@title \par}  \vskip 1.5em
  {\large   \lineskip .5em
    \begin{tabular}[t]{c} \@author  \end{tabular} \par}
  \vskip 1em  {\large \@date}
  \end{center}
  \par   \vskip 1.5em
  \topofcontents  \tableofcontents  \par  \botofcontents \newpage }
\fi
\ifx\DocInput\undefined
\def\maketitle{%
  \par \begingroup
    \pagenumbering{roman}  \setcounter{page}{0}
    \def\thefootnote{\fnsymbol{footnote}}
    \def\@makefnmark{\hbox to \z@ {$^{\@thefnmark}$\hss}}
    \if@twocolumn  \twocolumn[\@maketitle]
    \else  \newpage  \global\@topnum\z@  \@maketitle  \fi
    \@thanks
  \endgroup
  \setcounter{footnote}{0}  \pagenumbering{arabic}
  \let\maketitle\relax  \let\@maketitle\relax
  \gdef\@thanks{}\let\thanks\relax}
\fi
\let\@title=\empty  \let\@author=\empty
\def\tableofcontents{%
  \noindent Section \hfill Page \par  \@starttoc{toc}}
\def\topofcontents{}  \def\botofcontents{}
\let\ttitlefont=\tt  \let\titlefont=\rm
\newcommand{\id}[1]{\mbox{\idfont #1\/\kern.05em}}
\newcommand{\ida}[1]{\mbox{$ #1 $}}
\newcommand{\idfont}{\normal@font \it}
\newcommand{\reservedfont}{\normal@font \bf}
\newcommand{\res}[1]{\mbox{\reservedfont#1\/}}
\def\str#1{%
  \ifmmode \gdef\@tempa{\null$\null}\else \gdef\@tempa{}\fi
  \@tempa {%
  \let\\=\BS  \let\'=\RQ  \let\`=\LQ  \let\{=\LB  \let\}=\RB
  \let\~=\TL  \let\ =\SP  \let\&=\AM  \def\^{{\tt \char`\^}}%
  \leavevmode \normal@font\tt #1}\@tempa}
\chardef\AM=`\&                 % ampersand
\chardef\BS=`\\                 % backslash
\chardef\LB=`\{                 % left brace
\def\LQ{{\tt\char'22}}          % left quote
\chardef\RB=`\}                 % right brace
\def\RQ{{\tt\char'23}}          % right quote
\def\UL{{\tt\char`\_}}          % underline character in a string
\def\TL{{\tt\char`\~}}          % tilde
\newcommand{\SP}{\char`\ \discretionary{\hbox{\char`\\}}{}{}}
\newcommand{\vstr}[1]{\kern 2pt \fbox{\str{#1}}\kern 2pt}
\setlength{\fboxsep}{2pt}
\def\const#1{{%
  \def\?{\kern.2em}%
  \def\${\ell}% long
  \def\_{\RealConstFormat{\aftergroup}}% power of ten
  \def\~{\hbox{\rm \char'23\kern-.2em \it \aftergroup\?\aftergroup}}% octal
  \def\^{\hbox{\rm "\tt \aftergroup}}% hex
  #1}}                          % (\def{\const})
\newcommand{\RealConstFormat}{\cdot 10^}
\newcount\ind
\newbox\bak  \setbox\bak=\hbox to \m@ne em{}
\newbox\bakk \setbox\bakk=\hbox to -2em{}
\def\0{%
  \ifmmode
    \ifinner$\par\hangindent\ind em\noindent\kern\ind em\ignorespaces$\fi
  \else
    \par\hangindent\ind em\noindent \kern\ind em\ignorespaces
  \fi}
\newcommand{\1}{\global\advance\ind by 1 \hangindent\ind em}
\newcommand{\2}{\global\advance\ind by \m@ne }
\newcommand{\3}[1]{\hfil \penalty#10 \hfilneg}
\newcommand{\4}{\copy\bak}
\newcommand{\5}{\hfil \penalty \m@ne  \hfilneg \kern 2.5em \copy\bakk
  \ignorespaces}
\def\6{\ifmmode \else \par
  \hangindent\ind em\startline \ignorespaces \fi}
\def\startline{\noindent \count255=\ind \advance\count255 by -2
  \hskip\count255 em}
\newcommand{\7}{\Y\6}
\newcommand{\8}{\unskip}
\newcommand{\J}{\str{@\&}}
\def\C#1{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi
   \XX \hfil \penalty \m@ne\hfilneg\quad % original spider
   $\commentbegin\,$\endcodehook{#1}\startcodehook$\,
   \commentend$\XX}
\def\onmaybe{\let\ifon=\maybe}  \let\maybe=\iftrue  \newif\ifon
\outer\def\M#1.{%
  \MN#1.\ifon\vfil\penalty-100\vfilneg
  \vskip12ptminus3pt \startsection \ignorespaces}
\def\startsection{\Q \noindent {\let\*=\lapstar \bf \modstar.\quad }}
\newcommand{\lapstar}{\rlap{*}}
\outer\def\N#1.#2.{%
  \MN#1.\headcheck#2\headcheck
  \typeout{*\modno} % progress report
  \addcontentsline{toc}{\headcheck@type}
    {\hbox to 2em{\modno\hfill} \quad \theopen \relax \themodtitle}
  \markboth{% running headline
    {\protect\small \qquad\uppercase{\ignorespaces\themodtitle}}
      \hfill {\protect\small \@title}\qquad{\rm \old@S \modno}}
    {\rm \old@S \modno\qquad {\protect\small \@title}\hfill
      {\protect\small \uppercase{\ignorespaces\themodtitle\qquad}}}
  \ifon\startsection {\bf \ignorespaces \themodtitle.\quad }\ignorespaces}

\def\MN#1.{%
  \par {\xdef\modstar{#1}\let\*=\empty\xdef\modno{#1}}%
  \ifx\modno\modstar \onmaybe \else \ontrue \fi
  \sectionmark{\modno}
  \let\@tempa\protect
  \def\protect{\noexpand\protect\noexpand}%
  \def\@currentlabel{#1}%
  \let\protect\@tempa} % def\MN
\def\note#1#2.{\Y \noindent {\hangindent 2em \footnotesize
  \baselineskip 10pt#1 #2.\par}}
\newcommand{\A}{\note{See also}}
\def\l@part{\addpenalty{\@secpenalty}
   \addvspace{3pt plus 1pt}     % space above part line
   \@dottedtocline{0}{\z@ }{4em}}
\def\l@norm{\addpenalty{\@secpenalty}
   \@dottedtocline{0}{\z@ }{4em}}
\def\l@num{\@dottedtocline{0}{0em}{4em}}
\newif\ifcancel  \cancelfalse
\def\ifnextchar#1#2#3{%
  \let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\@ifnch}
\def\@ifnch{%
  \ifx \@tempc \@tempe\let\@tempd\@tempa
  \else \let\@tempd\@tempb
  \fi
  \@tempd}
\def\makethechar#1{\let\@tempc=#1}
\def\headcheck#1#2\headcheck{%
  \makethechar{#1}%
  \def\theskipper{\vfil\penalty-100 % skip before new module
    \vfilneg\vskip12ptminus3pt}%
  \def\theopen{}% opening skip in toc entry
  \def\thetocskip{}% vertical skip before toc entry
  \def\themodtitle{{#2}}%
  \def\headcheck@type{num}%
  \ifnextchar={%
    \def\theskipper{\newpage}  \canceltrue
    \def\headcheck@type{part}       \def\theopen{\bf}%
    \def\thetocskip{\vskip 3pt plus 1in \penalty-100
      \vskip \z@  plus -1in}%
    }{\ifnextchar1{%
      \cancelfalse      \def\theskipper{\newpage}%
      \def\theopen{\hskip2em}%
    }{\ifnextchar2{%
      \cancelfalse      \def\theopen{\hskip2em}%
    }{\ifnextchar3{%
      \cancelfalse      \def\theskipper{\newpage}%
      \def\theopen{\hskip4em}%
    }{\ifnextchar4{%
      \cancelfalse      \def\theopen{\hskip4em}%
    }{% else
      \ifcancel\else \def\theskipper{\newpage}\fi
      \cancelfalse      \def\headcheck@type{norm}%
      \def\themodtitle{#1{#2}}%
    }}}}}%
    \theskipper }
\newcommand{\code}{%
  \rightskip=\z@  plus 100pt minus 10pt
  \sfcode`;=3000    \pretolerance \@M
  \hyphenpenalty 9999  \exhyphenpenalty \@M
  \global\ind=2 \1 \startline
  \startcodehook} % \def\code
\let\old@=\@   \let\old@S=\S  \let\old@percent=\%
\let\old@hash=\#
\chardef\code@=`\@
\def\tt@percent{\hbox{\tt\char`\%}}  \def\tt@hash{\hbox{\tt\char`\#}}
\def\startcodehook{\let\@=\code@  \let\S=\equiv  \let\%=\tt@percent
  \let\#=\tt@hash  \def\^{\hbox{\tt\char`\^}}}
\def\endcodehook{\let\@=\old@  \let\S=\old@S  \let\%=\old@percent
  \let\#=\old@hash  \def\^##1{{\accent94 ##1}}}
\def\Q{\rightskip=\z@   \sfcode`;=1500  \pretolerance 200
  \endcodehook}
\def\DC{\endcodehook \egroup}
\def\CD{\relax
  \ifmmode \hbox\fi \bgroup \startcodehook}
\newcommand{\U}{\note{This code is used in}}
\def\X#1:#2\X{%
  \ifmmode \gdef\XX{\null$\null}\else \gdef\XX{}\fi
  \XX$\langle\,$#2{\footnotesize \kern.5em #1}$\,\rangle$\XX }
\def\XF#1:#2\XF{%
  \ifmmode \gdef\XX{\null$\null}\else \gdef\XX{}\fi
  \XX {\tt (#2{\footnotesize \kern.5em #1})}\XX}
\newcommand{\Y}{\par\yskip}
\let\yskip=\smallskip
\newcommand{\D}{\defin{define}} % macro definition
\newcommand{\F}{\defin{format}} % format definition
\newcommand{\defin}[1]{\global\advance\ind by 2 \1\res{#1 }}
\newcommand{\DO}{\hbox{\sl\char'044}}    % slant dollar sign (used by awkweb)
\let\G=\ge                      % greater than or equal sign
\let\I=\ne                      % unequal sign
\let\K=\gets                    % left arrow
\let\L=\le                      % less than or equal sign
\let\R=\lnot                    % logical not
\let\TI=\sim                    % tilde
\let\V=\lor                     % logical or
\let\W=\land                    % logical and
\def\vert{|}   \let\amp=\&   \let\PP=\P   \let\*=*
\def\AT!{@}
\def\ch{\note{The following sections were changed by the change file:}
  \let\*=\relax}
\def\inx{%
  \typeout{Index:}
  \begin{multicols}{2}
  \parskip \z@  plus .5pt
  \parfillskip \z@  plus .6\hsize % try to avoid almost empty lines
  \outer\def\:##1, {\par\hangindent2em\noindent##1:\kern1em} % index entry
  \rm  \tolerance \@M  \let\*=\lapstar
  \hyphenpenalty \@M \parindent=\z@  }
\def\fin{%
  \end{multicols}  \newpage
  \parfillskip \z@  plus 1fil
  \markboth{{\protect\small NAMES OF THE SECTIONS}\hfill
      {\protect\small\@title}}
    {{\protect\small\@title}\hfill
    {\protect\small NAMES OF THE SECTIONS\quad}}
  \typeout{Section names:}
  \def\note##1##2.{\quad{\footnotesize##1 ##2.}}
  \def\U{\note{Used in}}%
  \def\:{\par\hangindent 2em}\let\*=*}
\newcommand{\con}{\end{document}}
\input{multicol.sty}
\input{\webmacs}
\let\webmacs=\empty

%% \endinput