\input 17Point.TeX
\input 14Point.TeX
\input 12Point.TeX
\tenpoint
% This is a file of commands for printing out programs using TeX
%    -- see DIRTY TRICKS in TeXbook
%
%  This version is designed to print source code at 9 point
%  fitting an 80 column line into a 6 true inch width with
%  8 point line numbers before each line.
% It handles TAB (^I) characters almost the same as DEC
%
%  usage:
%  \input fortran          % put this early in the file
%  \listing{file.ext}      % use dev:[dir] if you wish
%
% B.H. Toby  8/86
%
\newcount\lineno
\font\Alisttt=cmtt9 at 9 truept
\font\Alistrm=cmr8 at 8 truept
\font\fourteentt=cmtt10 at 14.4 truept
\font\titlefont=cmbx12 scaled 1440
\newcount\partpageno
\def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials}
\def\listing#1{\mark{\currentsection \noexpand\else #1}
   \penalty-200\vskip18pt plus4pt minus6pt
   \leftline{\fourteentt #1}
   \mark{#1\noexpand\else #1} \def\currentsection{#1}
   \nobreak\smallskip
   \par\begingroup\setupverbatim\input#1 \endgroup}
\def\setupverbatim{
  \Alisttt\baselineskip= 8.5truept\lineskip=1truept
  \lineskiplimit=1truept\topskip=0pt
  \lineno=0
  \def\par{\leavevmode\egroup\box0\endgraf}
  \obeylines \uncatcodespecials \obeyspaces
  \catcode`\`=\active \catcode`\^^I=\active
  \everypar{\startbox}}
\newdimen\w \setbox0=\hbox{\Alisttt\space} \w=8\wd0
\def\startbox{\setbox0=\hbox\bgroup}
{\catcode`\^^I=\active
  \gdef^^I{\leavevmode\egroup
    \dimen0=\wd0
    \divide\dimen0 by\w
    \multiply\dimen0 by\w
    \advance\dimen0 by\w
    \wd0=\dimen0 \box0 \startbox}}
{\obeyspaces\global\let =\ }
{\catcode`\`=\active \gdef`{\relax\lq}}
 
\def\header#1{\vfill\eject\null\medskip\centerline{\fourteenpoint\bf #1}\bigskip
    \message{\noexpand#1}\def\part{#1}\partpageno=\count0}
 
\def\title#1{\pageno=0\null\vfill\centerline{\seventeenpoint\bf#1}}
 
\def\currentsection{}
 
\headline{\ifnum\pageno=\partpageno\hfill\else
         \ifodd\pageno{\bf\part}\hss{\tt\iftrue\botmark\fi}
         \else{\tt\expandafter\iffalse\topmark\fi}\hss{\bf\part}\fi\fi}
\footline{\ifnum\pageno=0\hfil\else\hfil\tenbf\folio\hfil\fi}