% Program texts -----------------------------------------\newcommand{\programenvironment}{\programmode% \def\par{\leavevmode\endgraf}\obeylines\nobreak% \programmode}\newcommand{\programinfig}{% \parindent 0em \nobreak\programenvironment}\newcommand{\programmode}{\tt% \catcode`\_=12 \catcode`\?=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\:=12 \catcode`\@=12 \catcode`\~=12 \catcode`\#=12 \catcode`\&=12 % Added by PS 1991-06-17 \catcode`\^=12 % Added by PS 1992-11-03 \obeyspaces\frenchspacing}%\newenvironment{programintext}{\programenvironment}{}\newlength{\programwidth}\newenvironment{program}{% \setlength{\programwidth}{\textwidth} \addtolength{\programwidth}{-\leftmargin} \setlength{\partopsep}{0mm}\setlength{\topsep}{0mm} \begin{trivlist}\item[] \addtolength{\programwidth}{-\mathindent} \hspace*{\mathindent}\begin{minipage}{\programwidth} \vspace{1mm} \begin{programintext} }{\end{programintext} \vspace{1mm} \end{minipage} \end{trivlist} \noindent}% The following is an environment for listing (long) programs in% appendices etc., by PS 1991-06-17\newcommand{\separatingline}{\noindent\rule[0.5\baselineskip]{\linewidth}{0.3mm}}\newenvironment{longprogram}{% \parindent 0em \programenvironment \setlength{\baselineskip}{0.8\baselineskip} }{}% What the following code does is not clear. Maybe it makes Tex% respect spaces and tabs in the source text, which is useful for% program layout.{\catcode`\^^I=\active \obeyspaces\global\def^^I{ }}{\obeyspaces\global\let =\ } % let active space = control space{\catcode`\`=\active \gdef`{\relax\lq}}
% Program texts -----------------------------------------
\newcommand{\programenvironment}{\programmode%
\def\par{\leavevmode\endgraf}\obeylines\nobreak%
\programmode}
\newcommand{\programinfig}{%
\parindent 0em
\nobreak\programenvironment}
\newcommand{\programmode}{\tt%
\catcode`\_=12 \catcode`\?=12 \catcode`\.=12 \catcode`\,=12
\catcode`\;=12 \catcode`\:=12 \catcode`\@=12 \catcode`\~=12
\catcode`\#=12 \catcode`\&=12 % Added by PS 1991-06-17
\catcode`\^=12 % Added by PS 1992-11-03
\obeyspaces\frenchspacing}%
\newenvironment{programintext}{\programenvironment}{}
\newlength{\programwidth}
\newenvironment{program}{%
\setlength{\programwidth}{\textwidth}
\addtolength{\programwidth}{-\leftmargin}
\setlength{\partopsep}{0mm}\setlength{\topsep}{0mm}
\begin{trivlist}\item[]
\addtolength{\programwidth}{-\mathindent}
\hspace*{\mathindent}\begin{minipage}{\programwidth}
\vspace{1mm}
\begin{programintext}
}{\end{programintext}
\vspace{1mm}
\end{minipage}
\end{trivlist}
\noindent}
% The following is an environment for listing (long) programs in
% appendices etc., by PS 1991-06-17
\newcommand{\separatingline}{\noindent\rule[0.5\baselineskip]{\linewidth}{0.3mm}}
\newenvironment{longprogram}{%
\parindent 0em
\programenvironment
\setlength{\baselineskip}{0.8\baselineskip}
}{}
% What the following code does is not clear. Maybe it makes Tex
% respect spaces and tabs in the source text, which is useful for
% program layout.
{\catcode`\^^I=\active \obeyspaces\global\def^^I{ }}
{\obeyspaces\global\let =\ } % let active space = control space
{\catcode`\`=\active \gdef`{\relax\lq}}