summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/misc/fortran.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/misc/fortran.tex')
-rw-r--r--macros/plain/contrib/misc/fortran.tex42
1 files changed, 42 insertions, 0 deletions
diff --git a/macros/plain/contrib/misc/fortran.tex b/macros/plain/contrib/misc/fortran.tex
new file mode 100644
index 0000000000..93aa198de9
--- /dev/null
+++ b/macros/plain/contrib/misc/fortran.tex
@@ -0,0 +1,42 @@
+%%%---Cut Here--------------------------------------------------------
+%%% File: Fortran.TeX
+% 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
+\def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials}
+\def\listing#1{\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{\advance\lineno by1
+ \llap{\Alistrm\the\lineno\ \ }\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}}
+%%%---Cut Here--------------------------------------------------------