% Makes a landscape listing of one or more files % Extended to allow the Latin-1 accented characters in UTF-8 encoding % Typical usage: % tex llist-latin *.txt \\end \def\grabfile#1 {\setbox0=\lastbox\endgraf\doit{#1}} \everypar{\grabfile} \font\filenamefont= cmtt8 scaled\magstep3 \font\headlinefont= cmr8 \font\listingfont= cmtex8 \font\ttfont= cmtt8 \font\syttfont= cmsytt10 at 8pt \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 \newcount\n \catcode`\^^c3=\active \def\missing{{\syttfont\char15}} \def^^c3#1{\n=`#1\advance\n by-128 {\ttfont\ifcase\n \`A\or\'A\or\^A\or\~A\or\"A\or\AA\or\AE\or\c C\or \`E\or\'E\or\^E\or\"E\or\`I\or\'I\or\^I\or\"I\or \missing\or\~N\or\`O\or\'O\or\^O\or\~O\or\"O\or{\syttfont\char2}\or \O\or\`U\or\'U\or\^U\or\"U\or\'Y\or\missing\or\ss\or \`a\or\'a\or\^a\or\~a\or\"a\or\aa\or\ae\or\c c\or \`e\or\'e\or\^e\or\"e\or\`\i\or\'\i\or\^\i\or\"\i\or \missing\or\~n\or\`o\or\'o\or\^o\or\~o\or\"o\or{\syttfont\char4}\or \o\or\`u\or\'u\or\^u\or\"u\or\'y\or\missing\or\"y\fi}} \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\hss \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.)