This file constitutes the full distribution of SIAM Proceedings Series
Plain TeX macros. The files are:
ptexproc.tex (An example file, also containing documentation)
ptexproc.sty (the style file)
To use these macros, separate at the indicated cut lines.
%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This is ptexproc.tex, an example file for use with the SIAM Plain TeX
% Proceedings Series macros. Comments are placed at the beginning and
% throughout this file. Please take the time to read them as they document
% how to use these macros. This file can be composed and printed out for
% use as sample output. Please ignore the underfull \vbox on page 3.
% Any comments or questions regarding these macros should be directed to:
%
% Corey Gray
% SIAM
% 3600 University City Science Center
% Philadelphia, PA 19104-2688
% USA
% Telephone: (215) 382-9800
% Fax: (215) 386-7999
% e-mail: gray@siam.org
% This file is to be used as an example for style only. It should not be read
% for content.
%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
%% 1. You must use the numbered reference style([1],[2]), listing the
%% references at the end of the chapter either by order of citation
%% or alphabetically.
%%
%% 2. This macro is set up for three levels of headings. Use the commands
%% \headone, \headtwo, and \headthree. The macro will automatically
%% number the headings.
%%
%% 3. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
%% indicating the section and the occurrence of that element
%% within that section. (For example, the first theorem in the second
%% section would be numbered 2.1.) This numbering must
%% be done manually.
%%
%% 4. Proofs are handled by \prf\endprf. If you want to use an end-of-proof
%% box, insert \qed right before the \endprf command.
%%
%% 5. Figures and equations must be manually single-numbered. Use \leqno
%% for equation numbering. The macro provides the \fig for including
%% figures. This command consists of three fields. The first field is
%% used for inserting the appropriate space for the figure. The second
%% field is the figure number. The third field is the caption. See the
%% example included in this file. SIAM supports the use of psfig for
%% including Postscript figures. All Postscript figures should be sent
%% as separate files. A hardcopy version of all Postscript figures is
%% also required. See note regarding this under How to Submit Your Paper.
%%
%% 6. Use of \title\endtitle and \lasttitle\endlastitle.
%% This macro package provides two possible commands for handling the
%% title of your paper. The commands \title\endtitle should be used for
%% all lines except the last line of multiple line titles. The commands
%% \lasttitle\endlasttitle should be used for the last line of multiple
%% line titles. In the case of a single line title, \lasttitle\endlasttitle
%% should be used.
%%
%% 7. Use of \author\endauthor and \lastauthor\endlastauthor.
%% As in the title macro, two possible commands are provided for the
%% author. The commands \author\endauthor should be used for the first
%% line of authors if there are more than one line. The commands
%% \lastauthor\endlastauthor should be used for the last line
%% of multiple lines of authors. In the case of a single line of authors,
%% \lastauthor\endlastauthor should be used. A maximum of four authors
%% should be placed on any one line. The appropriate space must also be
%% hard coded between authors on the same line. The spacing is as follows:
%%
%% If 2 authors; \hskip4pc between
%% If 3 authors; \hskip3pc between
%% If 4 authors; \hskip2pc between
%%
%% 8. Grant information and author affiliations.
%% This information is included by using the \footnote command and the
%% appropriate footnote symbol. SIAM uses footnote symbols in a
%% particular order. Below is a list of these symbols:
%%
%% asterisk
%% single-dagger
%% double-dagger
%% section sign
%% paragraph
%% parallel
%% double asterisk
%% double single-dagger
%% double double-dagger
%%
%% For illustrative purposes, all footnote symbols have been used in the
%% example file.
%%
%% A note regarding \footnote. This command seems to leave extra white
%% space between footnotes. This is quite evident in the example file. If
%% any user of these macros has a solution to this problem, I would
%% appreciate hearing from you. Send your comments to: gray@siam.org.
%%
%% The following general rules apply for including grants and affiliations:
%% a) If there is a single grant for the paper, then the grant
%% information should be footnoted to the title.
%% b) If there is more than one grant, included the grant information
%% with each authors affiliation.
%% c) If there are different grants for the paper but the authors share
%% the same affiliation, footnote the grant information to the title.
%% For example, The work of the first author was supported by xyz.
%% The work of the second author was supported by abc. And so on.
%%
%%
%% 9. Special fonts.
%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
%% described in the manual for these fonts, they can be included by
%% \input{amssym.def} and \input{amssym.tex}.
%%
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input ptexproc.sty
\def\leftrh{}
\def\rightrh{}
\startchapter %Place this command at the beginning of the file immediately
%after the \input command.
\title SIAM Proceedings Series Macros\endtitle
\lasttitle for Use with Plain TeX\footnote*{Any information
regarding grants should be placed here.}\endlasttitle
\author J. Corey Gray\footnote{$^{\dag}$}{Production Manager, Society for
Industrial and Applied Mathematics, Philadelphia, PA.}
\hskip2truepc Tricia Manning\footnote{$^{\ddag}$}{Publications
Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
PA.}
\hskip2truepc Vickie Kearn\footnote{$^{\S}$}{Publisher, Society for Industrial
and Applied Mathematics, Philadelphia, PA.}
\hskip2truepc Nancy Abbott\footnote{$^{\P}$}{Design Supervisor, Society for
Industrial and Applied Mathematics, Philadelphia, PA.}
\endauthor
\lastauthor Sue Ciambrano\footnote{$^{\parallel}$}{Acquisition Editor, Society for
Industrial and Applied Mathematics, Philadelphia, PA.}
\hskip2truepc Paul Duggan\footnote{$^{**}$}{Composition
Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
PA.}
\hskip2truepc Robbi Anne Albert\footnote{$^{\dagger\dagger}$}{Production,
Assistant, Society for Industrial
and Applied Mathematics, Philadelphia, PA.}
\hskip2truepc Jean Anderson\footnote{$^{\ddag\ddag}$}{Composition Coordinator, Society for
Industrial and Applied Mathematics, Philadelphia, PA.}
\endlastauthor
% Use \headone for the first level headings. The macro will automatically
% number the headings.
\centerline{\bf Abstract}
\abstract An equivalence is shown between realizability of input/output (i/o) operators by
rational control systems and high-order algebraic differential equations for
i/o pairs. This generalizes, to nonlinear systems, the equivalence
between autoregressive representations and finite dimensional linear
realizability.\endabstract
\headone{Problem Specification}
In this paper, we consider the solution of the $N \times N$ linear
system
$$A x = b\leqno (1)$$
where $A$ is large, sparse, symmetric, and positive definite. We consider
the direct solution of by means of general sparse Gaussian
elimination. In such a procedure, we find a permutation matrix $P$, and
compute the decomposition
$$
P A P^{t} = L D L^{t}
\leqno (2)$$
\noindent where $L$ is unit lower triangular and $D$ is diagonal.
\headone{Design Considerations}
Several good ordering algorithms (nested dissection and minimum degree)
are available for computing $P$ [1], [2].
Since our interest here does not
focus directly on the ordering, we assume for convenience that $P=I$,
or that $A$ has been preordered to reflect an appropriate choice of $P$.
% Use \thm and \endthm for theorems. They must be numbered manually.
% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
% propositions (\prop \endprop) are coded the same as theorems and must
% also be numbered manually.
\thm{Theorem 2.1.} The method was extended to three
dimensions. For the standard multigrid
coarsening
(in which, for a given grid, the next coarser grid has $1/8$
as many points), anisotropic problems require plane
relaxation to
obtain a good smoothing factor.\endthm
Several good ordering algorithms (nested dissection and minimum degree)
are available for computing $P$ [1], [2].
Since our interest here does not
focus directly on the ordering, we assume for convenience that $P=I$,
or that $A$ has been preordered to reflect an appropriate choice of $P$.
Several good ordering algorithms (nested dissection and minimum degree)
are available for computing $P$ [1], [2].
Since our interest here does not
focus directly on the ordering, we assume for convenience that $P=I$,
or that $A$ has been preordered to reflect an appropriate choice of $P$.
% Use \prf and \endprf to begin and end a proof.
% The use of \qed will produce an end-of-proof box.
\prf{Proof} In this paper we consider two methods. The first method
is
basically the method considered with two differences:
first, we perform plane relaxation by a two-dimensional
multigrid method, and second, we use a slightly different
choice of
interpolation operator, which improves performance
for nearly singular problems. In the second method coarsening
is done by successively coarsening each.\qed\endprf
% Use \dfn and \enddfn to begin and end definitions.
\dfn{Definition 2.1.}We describe the two methods in \S\ 1.2. This is a
definition in the plain tex macro.\enddfn
This is accomplished by exploiting the m-tree,
a particular spanning tree for the graph of the filled-in matrix.
Our purpose here is to examine the nonnumerical complexity of the
sparse elimination algorithm given in [3].
As was shown there, a general sparse elimination scheme based on the
bordering algorithm requires less storage for pointers and
row/column indices than more traditional implementations of general
sparse elimination. This is accomplished by exploiting the m-tree,
a particular spanning tree for the graph of the filled-in matrix.
Our purpose here is to examine the nonnumerical complexity of the
sparse elimination algorithm given in [3].
As was shown there, a general sparse elimination scheme based on the
bordering algorithm requires less storage for pointers and
row/column indices than more traditional implementations of general
sparse elimination. This is accomplished by exploiting the m-tree,
a particular spanning tree for the graph of the filled-in matrix.
Since our interest here does not
focus directly on the ordering, we assume for convenience that $P=I$,
or that $A$ has been preordered to reflect an appropriate choice of $P$.
% Use \lem and \endlem to begin and end lemmas.
\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
which is a generalization. We assume that $G^{k-1}$ is
obtained
from $G^k$
by standard coarsening; that is, if $G^k$ is a tensor product
grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
where $G_{x}^{k-1}$ is obtained by deleting every other grid
point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
\endlem
% Use \fig to insert space for figures .
\fig{10pc}{Fig. 1}{This is the caption for figure one.}
To our knowledge, the m-tree previously has not been applied in this
fashion to the numerical factorization, but it has been used,
directly or indirectly, in several optimal order algorithms for
computing the fill-in during the symbolic factorization phase
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
approaches to the intersection problem for the special case of
an $n \times n$ grid ordered by nested dissection. The special
structure of this problem allows us to make exact estimates of
the complexity. To our knowledge, the m-tree previously has not been applied in this
fashion to the numerical factorization, but it has been used,
directly or indirectly, in several optimal order algorithms for
computing the fill-in during the symbolic factorization phase
[4] - [10], [5], [6].
% Use \headtwo for second level headings. They will be numbered automatically.
\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
the sorting and intersection problems that arise in the
sparse formulation of the algorithm.
\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
approaches to the intersection problem for the special case of
an $n \times n$ grid ordered by nested dissection. The special
structure of this problem allows us to make exact estimates of
the complexity. To our knowledge, the m-tree previously has not been applied in this
fashion to the numerical factorization, but it has been used,
directly or indirectly, in several optimal order algorithms for
computing the fill-in during the symbolic factorization phase
[4] - [10], [5], [6].
% Use \headthree for third level headings.
\headthree{Complexity.}For the old approach, we show that the
complexity of the intersection problem is $O(n^{3})$, the same
as the complexity of the numerical computations. For the
new approach, the complexity of the second part is reduced to
$O(n^{2} (\log n)^{2})$.
% The command \Refs sets the word Reference as a heading and allows the proper
% amount of space before the start of the references. Each reference must
% begin with \ref\\. The article or title of the reference should be in
% italic. Use the \it command within brackets. End each reference with
% \endref and allow two returns between references. Use the command
% \sameauthor (see reference 8) when the same author or group of authors
% is listed consecutively.
\Refs
\ref 1\\R.~E. Bank, {\it PLTMG users' guide, edition 5.0}, tech. report,
Department of Mathematics, University of California, San Diego, CA, 1988.\endref
\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
pp.~574--584.\endref
\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
Algorithms and data structures for sparse symmetric gaussian elimination},
SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Sparse Positive
Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for cholesky factors
using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
\ref 8\\\sameauthor , {\it The role of
elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
of Computer Science, York University, Ontario, Canada, 1987.\endref
\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
sparse positive definite systems}, in Graph Theory and Computing,
Academic Press, New York, 1972.\endref
\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
\bye
%end of example file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This is ptexproc.sty
% This file may be freely distributed but may not be altered in any way.
% Any comments or questions regarding these macros should be directed to:
% Corey Gray
% SIAM
% 3600 University City Science Center
% Philadelphia, PA 19104-2688
% USA
% Telephone: (215) 382-9800
% Fax: (215) 386-7999
% e-mail: gray@siam.org
%
% This is a file of macros and definitions for creating a chapter
% for publication in the SIAM Proceedings Series using Plain TeX.
% Report the version.
\message{*** SIAM Plain TeX Proceedings Series macro package, version 1.0,
November 6, 1992.***}
% Make the @ sign a letter for internal control sequences.
\catcode`\@=11
%
%
%
\overfullrule=0pt
\baselineskip=14truept
%%% DIMENSIONS %%%
\hsize=36truepc
\vsize=55truepc
%\hoffset=.5in
\parindent=18truept
\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
\parskip=0pt
%%% FONTS %%%
\font\tenrm=cmr10
\font\tenbf=cmbx10
\font\tenit=cmti10
\font\tensmc=cmcsc10
\def\tenpoint{%
\def\rm{\tenrm}\def\bf{\tenbf}%
\def\it{\tenit}\def\smc{\tensmc}
\textfont0=\tenrm \scriptfont0=\sevenrm
\textfont1=\teni \scriptfont1=\seveni
\textfont2=\tensy \scriptfont2=\sevensy
\textfont3=\tenex \scriptfont3=\tenex
\baselineskip=12pt\rm}%
\font\ninerm=cmr9
\font\ninebf=cmbx9
\font\nineit=cmti9
\def\ninepoint{%
\def\rm{\ninerm}\def\bf{\ninebf}%
\def\it{\nineit}\baselineskip=11pt\rm}%
\font\eightrm=cmr8
\font\eightbf=cmbx8
\font\eightit=cmti8
\font\eighti=cmmi8
\font\eightsy=cmsy8
\def\eightpoint{%
\def\rm{\eightrm}\def\bf{\eightbf}%
\def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
\textfont0=\eightrm \scriptfont0=\sixrm
\textfont1=\eighti \scriptfont1=\sixi
\textfont2=\eightsy \scriptfont2=\sixsy
\textfont3=\tenex \scriptfont3=\tenex
}
\font\sixrm=cmr6
\font\sixbf=cmbx6
\font\sixi=cmmi6
\font\sixsmc=cmr5
\font\sixsy=cmsy6
\def\sixpoint{%
\def\rm{\sixrm}\def\bf{\sixbf}%
\def\smc{\sixsmc}\baselineskip=8pt\rm}%
\fontdimen13\tensy=2.6pt
\fontdimen14\tensy=2.6pt
\fontdimen15\tensy=2.6pt
\fontdimen16\tensy=1.2pt
\fontdimen17\tensy=1.2pt
\fontdimen18\tensy=1.2pt
\font\eightrm=cmr8
\font\ninerm=cmr9
\font\elevenrm=cmr10 scaled\magstephalf
\font\fourteenrm=cmr10 scaled\magstep 1
\font\eighteenrm=cmr10 scaled\magstep 3
\font\twelvebf=cmbx10 scaled\magstep 1
\font\elevenbf=cmbx10 scaled\magstephalf
\font\elevenit=cmti10 scaled\magstephalf
\font\elevensc=cmcsc10 scaled\magstephalf
\def\theoremfont{\elevensc}
\def\textfont{\elevenrm}
\def\itfont{\elevenit}
\def\headfont{\twelvebf}
\def\smallheadfont{\elevenbf}
\def\titlefont{\eighteenrm}
\def\chapterfont{\fourteenrm}
\def\authorfont{\fourteenrm}
\def\rheadfont{\tenrm}
\def\abstractfont{\tenrm}
\def\smc{\tensmc}
\font\eightsmc=cmcsc8
\def\footnote#1{\baselineskip=11truept\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
\insert\footins\bgroup\ninepoint\hsize=36pc
\interlinepenalty10000 \let\par=\endgraf
\leftskip=0pt \rightskip=0pt
\splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
\smallskip
\item{#1}\bgroup\baselineskip=10pt\strut
\aftergroup\@foot\let\next}
\skip\footins=12pt plus 2pt minus 4pt
\dimen\footins=36pc
%%% CHAPTER OPENING MACROS %%%
\def\startchapter{\topinsert\vglue54pt\endinsert}
\def\title#1\endtitle{\titlefont\centerline{#1}\vglue5pt}%\vskip40truept\tenrm}
\def\lasttitle#1\endlasttitle{\titlefont\centerline{#1}\vskip1.32truepc}
\def\author#1\endauthor{\authorfont\centerline{#1}\vglue8pt\textfont}
\def\lastauthor#1\endlastauthor{\authorfont\centerline{#1}\vglue2.56pc\textfont}
\def\abstract#1\endabstract{\baselineskip=12pt\leftskip=2.25pc
\rightskip=2.25pc\abstractfont{#1}\textfont}
%%% COUNTERS FOR HEADINGS %%%
\newcount\headcount
\headcount=1
\newcount\seccount
\seccount=1
\newcount\subseccount
\subseccount=1
\def\secreset{\global\seccount=1}
\def\subsecreset{\global\subseccount=1}
%%% HEADINGS %%%
\def\headone#1{\baselineskip=14pt\leftskip=0pt\rightskip=0pt\vskip17truept\parindent=0pt
{\headfont\the\headcount\hskip14truept #1}
\par\nobreak\firstpar\global\advance\headcount by 0
\global\advance\headcount by 1\secreset\vskip2truept\textfont}
\def\headtwo#1{\advance\headcount by -1%
\vskip17truept\parindent=0pt{\headfont\the\headcount.%
\the\seccount\hskip14truept #1}%\enspace\ignorespaces\firstpar
\global\advance\headcount by 1\global\advance\seccount by 1
\global\advance\subseccount by 1\subsecreset\vskip2pt\textfont}
\def\headthree#1{\advance\headcount by -1\advance\seccount by -1
% \advance\subseccount by -1%
\vskip17truept\parindent=0pt{\smallheadfont\the\headcount.%
\the\seccount.\the\subseccount\hskip11truept #1}\hskip6pt\ignorespaces
\firstpar\global\advance\headcount by 1\global\advance\seccount by 1
\global\advance\subseccount by 1\textfont}
%%% THEOREMS, PROOFS, DEFINITIONS, etc. %%%
\def\thm#1{{\theoremfont
#1\enspace}
\hskip-5pt\begingroup\itfont\ignorespaces}
\let\lem=\thm
\let\cor=\thm
\let\prop=\thm
\def\endthm{\endgroup\textfont}
\let\endlem=\endthm
\let\endcor=\endthm
\let\endprop=\endthm
\def\prf#1{{\itfont #1.}\textfont\enspace\ignorespaces}
\let\rem=\prf
\let\case=\prf
\def\endprf{\textfont}
\let\endrem=\endprf
\let\endcase=\endprf
\def\qed{{\qquad \vbox{\hrule\hbox{%
\vrule height1.3ex\hskip0.8ex\vrule}\hrule
}}\par}
\def\dfn#1{{\theoremfont
#1\enspace}
\textfont\ignorespaces}
\let\fact=\dfn
\def\enddfn{\textfont}
\let\endfact=\enddfn
%%% FIGURES AND CAPTIONS %%%
\newcount\figcount
\figcount=1
%\newcount\tablenumber
%\tablenumber=1
\def\\{\hfill\break}
\newbox\TestBox
\newdimen\setwd
\newskip\belowcaptionskip
\belowcaptionskip=6pt plus 1pt
\def\endinsert{\egroup % finish the \vbox
\if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
\advance\dimen@12\p@ \advance\dimen@\pagetotal
\ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
\if@mid\vskip\belowcaptionskip\box\z@\par \penalty-200\vskip\belowcaptionskip
\else\insert\topins{\penalty100 % floating insertion
\splittopskip\z@skip
\splitmaxdepth\maxdimen \floatingpenalty\z@
\ifp@ge \dimen@\dp\z@
\vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
\else \box\z@\nobreak\vskip\belowcaptionskip\fi}\fi\endgroup}
\def\fig#1#2#3{%
\setbox\TestBox=\hbox{\tenpoint #3.}\setwd=\wd\TestBox
\topinsert
\vskip #1
\vskip 12pt
\ifdim\setwd > 23pc
{\tenit{\smc #2.}\ \ #3}
\else
\centerline{\tenit\noindent
{\smc #2.}\ \ #3}\fi%
% \global\advance\figcount by 1
\endinsert}
%%% REFERENCES %%%
\newdimen\refindent@
\newdimen\refhangindent@
\newbox\refbox@
\setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [00]}% Default 2 digits
\refindent@=\wd\refbox@
\def\resetrefindent#1{%
\setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [#1]}%
\refindent@=\wd\refbox@}
\def\Refs{%
\unskip\vskip1pc
\leftline{\noindent\headfont References}%
\penalty10000
\vskip4pt
\penalty10000
\refhangindent@=\refindent@
\global\advance\refhangindent@ by .5em
\global\everypar{\hangindent\refhangindent@}%
\parindent=0pt\baselineskip=12pt\tenrm}
\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
\hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
%%% OUTPUT %%%
\def\rightheadline{\hfill\tensmc\rightrh\hskip2pc\tenrm\folio}
\def\leftheadline{\tenrm\folio\hskip2pc\tensmc\leftrh\hfill}
\global\footline={\hss\tenrm\folio\hss}% first page
\output{\plainoutput}
\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
\advancepageno
\ifnum\pageno>1
\global\footline={\hfill}%
\fi
\ifodd\pageno
\global\headline={\rightheadline}%
\else
\global\headline={\leftheadline}%
\fi
\ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
\line{\vbox to8.5\p@{}\rheadfont\the\headline}\vss}%
\nointerlineskip}
\def\makefootline{\baselineskip24\p@\vskip-6\p@\line{\the\footline}}
\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
\line{}\kern-\topskip\nobreak\vfill\supereject\fi}
\def\footnoterule{\vskip11pt\kern -4\p@\hrule width 3pc \kern 3.6\p@ } % rule = .4 pt high
% Turn off @ as being a letter.
%
\catcode`\@=13
%end of style file