You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
% Makes a landscape listing of one or more files
|
|
% Typical usage:
|
|
% tex llist *.c \\end
|
|
|
|
\def\grabfile#1 {\setbox0=\lastbox\endgraf\doit{#1}}
|
|
\everypar{\grabfile}
|
|
|
|
\font\filenamefont= cmtt8 scaled\magstep3
|
|
\font\headlinefont= cmr8
|
|
\font\listingfont= cmtex8
|
|
\font\eoffont= cmti8
|
|
|
|
\def\today{\ifcase\month\or
|
|
January\or February\or March\or April\or May\or June\or
|
|
July\or August\or September\or October\or November\or December\fi
|
|
\space\number\day, \number\year}
|
|
\newcount\m \newcount\n
|
|
\n=\time \divide\n 60 \m=-\n \multiply\m 60 \advance\m \time
|
|
\def\hours{\twodigits\n\twodigits\m}
|
|
\def\twodigits#1{\ifnum #1<10 0\fi \number#1}
|
|
|
|
\newlinechar=`@
|
|
\message{@\today\space at \hours}
|
|
|
|
\baselineskip=9pt
|
|
\medskipamount=4pt minus 1pt
|
|
\raggedbottom
|
|
\nopagenumbers
|
|
|
|
\chardef\other=12
|
|
\def\doit#1{\message{@Listing #1@}
|
|
\begingroup \everypar{} \frenchspacing
|
|
\headline{\ifright \headlinefont \hfill Page \folio
|
|
\else\filenamefont#1\quad\headlinefont \today\ at \hours\hfill \fi}
|
|
\def\do##1{\catcode`##1=\other}\dospecials
|
|
\catcode127=\other \catcode9=\other \catcode12=\other
|
|
\parindent 0pt \parfillskip=0pt plus 1fil minus .8in
|
|
\everypar{\hangindent 1in} \rightskip=0pt plus 2in
|
|
\def\par{\ifvmode\penalty-50\medskip\else\endgraf\fi}
|
|
\listingfont \obeylines \obeyspaces \global\pageno=1
|
|
\input #1 {\eoffont(end of\/ file)}\endgraf\vfill\eject
|
|
\ifright\null\vfill\eject\fi\endgroup}
|
|
{\obeyspaces\global\let =\ }
|
|
\catcode`\_=\other % allow _ in file names
|
|
|
|
\hsize=4.6truein
|
|
\vsize=7truein
|
|
\hoffset=-.5truein
|
|
\voffset=-.2truein
|
|
\newif\ifright
|
|
\newbox\lefthalf
|
|
\output{\ifright
|
|
\shipout\hbox{\hbox to5.5in{\box\lefthalf\hss}%
|
|
\vbox{\makeheadline\pagebody\makefootline}}
|
|
\advancepageno\global\rightfalse
|
|
\else\global\setbox\lefthalf\vbox{\makeheadline\pagebody\makefootline}
|
|
\global\righttrue\fi}
|
|
|
|
\special{landscape}
|
|
|
|
% A tab (^^I) prints as lowercase gamma.
|
|
% Character ^^M could be made visible, with a bit of work;
|
|
% at present, it's indistinguishable from newline (^^J).
|
|
|
|
% You can get up to 91 characters on a line without an overfull box.
|
|
% (But lines with more than 84 characters will be clipped, if they
|
|
% appear on a righthand halfpage.)
|
|
|