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. The running heads are defined by the commands \def\leftrh{} and %% \def\rightrh{}. You must fill in the empty field of these commands %% with the appropriate information. The left running head should be the %% authors names. For papers with multiple authors, please follow these %% rules; for two authors type {Author 1 and Author 2}; for more than two %% authors type {Author 1 et al.}. The right running head is the title of %% the paper. If the title is more than 50 characters, including spaces, %% please provide a shortened version. All information should be typed %% initial cap and lower case. %% %% 5. 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. %% %% 6. Proofs are handled by \prf\endprf. If you want to use an end-of-proof %% box, insert \qed right before the \endprf command. %% %% 7. 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. %% %% 8. 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. %% %% 9. 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 %% %% 10. 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. %% %% %% 11. 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}. %% %% 12. How to Submit Your Paper. %% The electronic version of your paper should be sent to proceed@siam.org. %% A hardcopy version should also be submitted. Instructions are included %% in your acceptance letter. Please be sure to send hardcopy %% versions of any Postscript figures you have submitted electronically. %% Be sure to return your signed Copyright Transfer Agreement. We cannot %% publish your paper without one.%% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \input ptexproc.sty \def\leftrh{Gray et al.} \def\rightrh{SIAM Proceedings Series Macros} \startchapter %Place this command at the beginning of the file immediately %after the \input command. \title Chapter 1\endtitle \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 % % % \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