% macros for verbatim scanning
% im wesentlichen dem file MANHDR TEX von DEK entnommen
\catcode`@=11
\def\tt{\fam\ttfam\tentt}%
\newskip\ttglue  \ttglue=.5em plus .25em minus .15em
\chardef\other=12
\def\ttverbatim{\begingroup
  \catcode`\\=\other
  \catcode`\{=\other
  \catcode`\}=\other
  \catcode`\$=\other
  \catcode`\&=\other
  \catcode`\#=\other
  \catcode`\%=\other
  \catcode`\~=\other
  \catcode`\_=\other
  \catcode`\^=\other
  \catcode`\"=\other
  \parskip \z@
  \obeyspaces \obeylines \tt}

\def\begintt{$$\let\par=\endgraf \ttverbatim
  \catcode`\|=0 \rightskip-5pc \ttfinish}
{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
  |obeylines % end of line is active
  |gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$}}

\catcode`\|=11
\def\|{\char`\|}
\catcode`\|=\active
{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\  \let|=\endgroup}}
%\def\ttspace{{\tt\hskip\ttglue}}

\def\vrt{\hbox{\tt\char`\|}} % vertical line
\def\dn{\hbox{\tt\char'14}} % downward arrow
\def\up{\hbox{\tt\char'13}} % upward arrow
\def\]{\hbox{\tt\char`\ }} % visible space

\catcode`@=12 % at signs are no longer letters
\def\verbatimon{\catcode`\|=\active}
\def\verbatimoff{\catcode`\|=\other}
\verbatimoff

% -eof-
