~ubuntu-branches/debian/wheezy/texlive-extra/wheezy

« back to all changes in this revision

Viewing changes to texmf-dist/source/latex/siam/ptexpprt.all

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2007-01-12 19:08:37 UTC
  • mfrom: (1.2.1 upstream) (3.1.2 feisty)
  • Revision ID: james.westby@ubuntu.com-20070112190837-1cm7kyizrcdtk1ac
Tags: 2005.dfsg.3-1
blacklist siam.tpm and build new upstream, as the siam macros are not
DFSG free (no selling clause) (Closes: #406426)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
%% This is ptexpprt.all. This file is to be used for creating a paper
2
 
%% in the ACM/SIAM Preprint series with Plain TeX. It consists of the following
3
 
%% two files:
4
 
%%
5
 
%%       ptexpprt.tex ---- an example and documentation file
6
 
%%       ptexpprt.sty ---- the macro file
7
 
%%
8
 
%% To use, cut this file apart at the appropriate places.  You can run the
9
 
%% example file with the macros to get sample output.
10
 
%%
11
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  CUT HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12
 
%
13
 
%
14
 
%%%%%%%%%%%%%%%%%%%%%%%%%%  ptexpprt.tex  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
 
%
16
 
% This is ptexpprt.tex, an example file for use with the ACM/SIAM Plain TeX
17
 
% Preprint Series macros. It is designed to produce double-column output.
18
 
% Comments are placed at the beginning and throughout this file. Please
19
 
% take the time to read them as they document how to use these macros.
20
 
% This file can be composed and printed out for use as sample output.
21
 
 
22
 
% Any comments or questions regarding these macros should be directed to:
23
 
%
24
 
%                 Corey Gray
25
 
%                 SIAM
26
 
%                 3600 University City Science Center
27
 
%                 Philadelphia, PA 19104-2688
28
 
%                 USA
29
 
%                 Telephone: (215) 382-9800
30
 
%                 Fax: (215) 386-7999
31
 
%                 e-mail: siampubs@wharton.upenn.edu
32
 
 
33
 
 
34
 
% This file is to be used as an example for style only. It should not be read
35
 
% for content.
36
 
 
37
 
%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
38
 
 
39
 
%%  1. You must use the numbered reference style([1],[2]), listing the
40
 
%%     references at the end of the chapter either by order of citation
41
 
%%     or alphabetically.
42
 
%%
43
 
%%  2. Unless otherwise stated by your editor, do your chapter as if it
44
 
%%     is Chapter 1.
45
 
%%     If you know which number your chapter is, you must do the following:
46
 
%%
47
 
%%            Go into the style file (ptexfrnt.sty) and search for the
48
 
%%            \def\chapter#1 definition. At the end of this definition
49
 
%%            there is a command \headcount=1. Change the 1 to
50
 
%%            the appropriate number. This change will cause the headings
51
 
%%            in your chapter to match the chapter number.
52
 
%%
53
 
%%  3. This macro is set up for two levels of headings. The macro will
54
 
%%     automatically number the headings for you.
55
 
%%
56
 
%%  4. The running heads are defined in the output routine. It will be
57
 
%%     necessary for you to alter the information currently included.
58
 
%%     To do this, go into the style file and search for OUTPUT. Once there,
59
 
%%     scroll through the file until you see the command \def\rhead. Replace
60
 
%%     CHAPTER TITLE with the title (or shortened title) of your paper.
61
 
%%     Replace AUTHORS NAMES with the appropriate names.
62
 
%%     Neither running head may be longer than 50 characters.
63
 
%%
64
 
%%  5. Theorems, Lemmas, Definitions, etc. are to be triple numbered,
65
 
%%     indicating the chapter, section, and the occurence of that element
66
 
%%     within that section. (For example, the first theorem in the second
67
 
%%     section of chapter three would be numbered 3.2.1. This numbering must
68
 
%%     be done manually.
69
 
%%
70
 
%%  6. Figures and equations must be manually double-numbered, indicating
71
 
%%     chapter and occurence. Use \leqno for equation numbering. See the
72
 
%%     example of \caption for figure numbering.
73
 
%%     Note. Although not shown, tables must also be double-numbered. The
74
 
%%     command \caption can also be used for table captions.
75
 
%%
76
 
%%  7. At the first occurence of each new element there is a description
77
 
%%     of how to use the coding.
78
 
%%
79
 
%%%%%%%  PLEASE NOTE THE FOLLOWING POTENTIAL PROBLEMS:
80
 
%
81
 
%%  1. A bug exists that prevents a page number from printing on the first
82
 
%%     page of the paper. Please ignore this problem. It will be handled
83
 
%%     after you submit your paper.
84
 
%%
85
 
%%  2. The use of \topinsert and \midinsert to allow space for figures can
86
 
%%     result in unusual page breaks, or unusual looking pages in general.
87
 
%%     If you encounter such a situation, contact the SIAM office at the
88
 
%%     address listed above for instructions.
89
 
%%
90
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91
 
 
92
 
\input ptexpprt.sty
93
 
\voffset=.25in
94
 
\titlepage
95
 
 
96
 
% It will be necessary to hard code the chapter title and chapter authors.
97
 
% You must decide where to break the lines. For the authors, please follow
98
 
% the following conventions:
99
 
%  1. If 2 authors are on a line, use \hskip4pc between them. If 3 authors,
100
 
%     use \hskip2pc. Do not put more than 3 authors on the same line.
101
 
%  2. Use the following notation: asterisk, dagger, double-dagger, section
102
 
%     symbol, paragraph symbol, double asterisk. If more are needed, contact
103
 
%     the SIAM office.
104
 
 
105
 
\centerline{\chapterfont Chapter 1}
106
 
\vskip2pt
107
 
\centerline{\titlefont SIAM/ACM Preprint Series Macros for
108
 
Plain TeX\footnote*{Supported by GSF grants ABC123, DEF456, and GHI 789.}}
109
 
\vskip15pt
110
 
\centerline{\authorfont J. Corey Gray\footnote\dag{Society for Industrial and
111
 
Applied Mathematics.}\hskip2pc Tricia Manning\footnote\ddag{Society for
112
 
Industrial and Applied Mathematics.}\hskip2pc Vickie Kearn\footnote\S{Society
113
 
for Industrial and Applied Mathematics.}}
114
 
\vskip2pc
115
 
 
116
 
\begindoublecolumns
117
 
 
118
 
% Use \headone for the first level headings. The macro will automatically
119
 
% number the headings.
120
 
 
121
 
\headone{Problem Specification}
122
 
In this paper,  we consider the solution of the $N \times N$ linear
123
 
system
124
 
$$A x = b\leqno(1.1)$$
125
 
where $A$ is large, sparse, symmetric, and positive definite.  We consider
126
 
the direct solution of by means of general sparse Gaussian
127
 
elimination.  In such a procedure, we find a permutation matrix $P$, and
128
 
compute the decomposition
129
 
$$
130
 
P A P^{t} = L D L^{t}
131
 
$$
132
 
where $L$ is unit lower triangular and $D$ is diagonal.
133
 
 
134
 
\headone{Design Considerations}
135
 
Several good ordering algorithms (nested dissection and minimum degree)
136
 
are available for computing $P$  [1], [2].
137
 
Since our interest here does not
138
 
focus directly on the ordering, we assume for convenience that $P=I$,
139
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
140
 
 
141
 
% Use \headtwo for second level headings. They will be numbered automatically.
142
 
 
143
 
\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
144
 
the sorting and intersection problems that arise in the
145
 
sparse formulation of the algorithm.
146
 
 
147
 
\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
148
 
approaches to the intersection problem for the special case of
149
 
an $n \times n$ grid ordered by nested dissection. The special
150
 
structure of this problem allows us to make exact estimates of
151
 
the complexity. To our knowledge, the m-tree previously has not been applied in
152
 
this
153
 
fashion to the numerical factorization, but it has been used,
154
 
directly or indirectly, in several optimal order algorithms for
155
 
computing the fill-in during the symbolic factorization phase
156
 
[4] - [10], [5], [6].
157
 
This is accomplished by exploiting the m-tree,
158
 
a particular spanning tree for the graph of the filled-in matrix.
159
 
Our purpose here is to examine the nonnumerical complexity of the
160
 
sparse elimination algorithm given in  [3].
161
 
As was shown there, a general sparse elimination scheme based on the
162
 
bordering algorithm requires less storage for pointers and
163
 
row/column indices than more traditional implementations of general
164
 
sparse elimination. This is accomplished by exploiting the m-tree,
165
 
a particular spanning tree for the graph of the filled-in matrix.
166
 
 
167
 
 
168
 
% Use \thm and \endthm for theorems. They must be numbered manually.
169
 
% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
170
 
% propositions (\prop \endprop) are coded the same as theorems and must
171
 
% also be numbered manually.
172
 
 
173
 
\thm{Theorem 2.1.} The method  was extended to three
174
 
dimensions. For the standard multigrid
175
 
coarsening
176
 
(in which, for a given grid, the next coarser grid has $1/8$
177
 
as many points), anisotropic problems require plane
178
 
relaxation to
179
 
obtain a good smoothing factor.\endthm
180
 
 
181
 
Several good ordering algorithms (nested dissection and minimum degree)
182
 
are available for computing $P$  [1], [2].
183
 
Since our interest here does not
184
 
focus directly on the ordering, we assume for convenience that $P=I$,
185
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
186
 
Several good ordering algorithms (nested dissection and minimum degree)
187
 
are available for computing $P$  [1], [2].
188
 
Since our interest here does not
189
 
focus directly on the ordering, we assume for convenience that $P=I$,
190
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
191
 
 
192
 
% Use \prf to begin a proof.
193
 
 
194
 
\prf{Proof} In this paper we consider two methods. The first method
195
 
is
196
 
basically the method considered with two differences:
197
 
first, we perform plane relaxation by a two-dimensional
198
 
multigrid method, and second, we use a slightly different
199
 
choice of
200
 
interpolation operator, which improves performance
201
 
for nearly singular problems. In the second method coarsening
202
 
is done by successively coarsening each.
203
 
 
204
 
% Use \dfn to begin definitions.
205
 
 
206
 
\dfn{Definition 1.2.1.}We describe the two methods in \S\ 1.2. This is a
207
 
definition in the plain tex macro.
208
 
 
209
 
This is accomplished by exploiting the m-tree,
210
 
a particular spanning tree for the graph of the filled-in matrix.
211
 
Our purpose here is to examine the nonnumerical complexity of the
212
 
sparse elimination algorithm given in  [3].
213
 
As was shown there, a general sparse elimination scheme based on the
214
 
bordering algorithm requires less storage for pointers and
215
 
row/column indices than more traditional implementations of general
216
 
sparse elimination. This is accomplished by exploiting the m-tree,
217
 
a particular spanning tree for the graph of the filled-in matrix.
218
 
Our purpose here is to examine the nonnumerical complexity of the
219
 
sparse elimination algorithm given in  [3].
220
 
As was shown there, a general sparse elimination scheme based on the
221
 
bordering algorithm requires less storage for pointers and
222
 
row/column indices than more traditional implementations of general
223
 
sparse elimination. This is accomplished by exploiting the m-tree,
224
 
a particular spanning tree for the graph of the filled-in matrix.
225
 
Since our interest here does not
226
 
focus directly on the ordering, we assume for convenience that $P=I$,
227
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
228
 
 
229
 
 
230
 
To our knowledge, the m-tree previously has not been applied in this
231
 
fashion to the numerical factorization, but it has been used,
232
 
directly or indirectly, in several optimal order algorithms for
233
 
computing the fill-in during the symbolic factorization phase
234
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
235
 
approaches to the intersection problem for the special case of
236
 
an $n \times n$ grid ordered by nested dissection. The special
237
 
structure of this problem allows us to make exact estimates of
238
 
the complexity. To our knowledge, the m-tree previously has not been applied in
239
 
this
240
 
fashion to the numerical factorization, but it has been used,
241
 
directly or indirectly, in several optimal order algorithms for
242
 
computing the fill-in during the symbolic factorization phase
243
 
[4] - [10], [5], [6].
244
 
Several good ordering algorithms (nested dissection and minimum degree)
245
 
are available for computing $P$  [1], [2].
246
 
Since our interest here does not
247
 
focus directly on the ordering, we assume for convenience that $P=I$,
248
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
249
 
For the old approach, we show that the
250
 
complexity of the intersection problem is $O(n^{3})$, the same
251
 
as the complexity of the numerical computations.  For the
252
 
new approach, the complexity of the second part is reduced to
253
 
$O(n^{2} (\log n)^{2})$.
254
 
 
255
 
% Use \midinsert along with \caption to allow space for
256
 
% figures. See note above in problem section.
257
 
%\midinsert\vskip15.5pc\caption{Fig. 1.1. {\nineit This is figure 1.}}
258
 
%   \endcaption\endinsert
259
 
 
260
 
In this paper, we consider the solution of the $N \times N$ linear
261
 
system
262
 
where $A$ is large, sparse, symmetric, and positive definite.  We consider
263
 
the direct solution of by means of general sparse Gaussian
264
 
elimination.  In such a procedure, we find a permutation matrix $P$, and
265
 
compute the decomposition
266
 
where $L$ is unit lower triangular and $D$ is diagonal.
267
 
 
268
 
\headone{Design Considerations}
269
 
Several good ordering algorithms (nested dissection and minimum degree)
270
 
are available for computing $P$  [1], [2].
271
 
Since our interest here does not
272
 
focus directly on the ordering, we assume for convenience that $P=I$,
273
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
274
 
 
275
 
Several good ordering algorithms (nested dissection and minimum degree)
276
 
are available for computing $P$  [1], [2].
277
 
Since our interest here does not
278
 
focus directly on the ordering, we assume for convenience that $P=I$,
279
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
280
 
Several good ordering algorithms (nested dissection and minimum degree)
281
 
are available for computing $P$  [1], [2].
282
 
Since our interest here does not
283
 
focus directly on the ordering, we assume for convenience that $P=I$,
284
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
285
 
Our purpose here is to examine the nonnumerical complexity of the
286
 
sparse elimination algorithm given in  [3].
287
 
As was shown there, a general sparse elimination scheme based on the
288
 
bordering algorithm requires less storage for pointers and
289
 
row/column indices than more traditional implementations of general
290
 
sparse elimination. This is accomplished by exploiting the m-tree,
291
 
a particular spanning tree for the graph of the filled-in matrix.
292
 
Since our interest here does not
293
 
focus directly on the ordering, we assume for convenience that $P=I$,
294
 
or that $A$ has been preordered to reflect an appropriate choice of $P$.
295
 
 
296
 
% Use \lem and \endlem to begin and end lemmas.
297
 
 
298
 
\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
299
 
which is a generalization. We assume that $G^{k-1}$ is
300
 
obtained
301
 
from $G^k$
302
 
by standard coarsening; that is, if $G^k$ is a tensor product
303
 
grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
304
 
$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
305
 
where $G_{x}^{k-1}$ is obtained by deleting every other grid
306
 
point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
307
 
\endlem
308
 
 
309
 
To our knowledge, the m-tree previously has not been applied in this
310
 
fashion to the numerical factorization, but it has been used,
311
 
directly or indirectly, in several optimal order algorithms for
312
 
computing the fill-in during the symbolic factorization phase
313
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
314
 
approaches to the intersection problem for the special case of
315
 
an $n \times n$ grid ordered by nested dissection. The special
316
 
structure of this problem allows us to make exact estimates of
317
 
the complexity. To our knowledge, the m-tree previously has not been applied in
318
 
this
319
 
fashion to the numerical factorization, but it has been used,
320
 
directly or indirectly, in several optimal order algorithms for
321
 
computing the fill-in during the symbolic factorization phase
322
 
[4] - [10], [5], [6].
323
 
 
324
 
% Use \headtwo for second level headings. They will be numbered automatically.
325
 
 
326
 
\headone{Problem Solving}In \S 1.2, we review the bordering algorithm, and
327
 
introduce
328
 
the sorting and intersection problems that arise in the
329
 
sparse formulation of the algorithm.
330
 
 
331
 
\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
332
 
approaches to the intersection problem for the special case of
333
 
an $n \times n$ grid ordered by nested dissection. The special
334
 
structure of this problem allows us to make exact estimates of
335
 
the complexity. To our knowledge, the m-tree previously has not been applied in
336
 
this
337
 
fashion to the numerical factorization, but it has been used,
338
 
directly or indirectly, in several optimal order algorithms for
339
 
computing the fill-in during the symbolic factorization phase
340
 
[4] - [10], [5], [6].
341
 
 
342
 
 
343
 
\headtwo{Complexity}For the old approach, we show that the
344
 
complexity of the intersection problem is $O(n^{3})$, the same
345
 
as the complexity of the numerical computations.  For the
346
 
new approach, the complexity of the second part is reduced to
347
 
$O(n^{2} (\log n)^{2})$.
348
 
 
349
 
To our knowledge, the m-tree previously has not been applied in this
350
 
fashion to the numerical factorization, but it has been used,
351
 
directly or indirectly, in several optimal order algorithms for
352
 
computing the fill-in during the symbolic factorization phase
353
 
[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
354
 
approaches to the intersection problem for the special case of
355
 
an $n \times n$ grid ordered by nested dissection. The special
356
 
structure of this problem allows us to make exact estimates of
357
 
the complexity. To our knowledge, the m-tree previously has not been applied in
358
 
this
359
 
fashion to the numerical factorization, but it has been used,
360
 
directly or indirectly, in several optimal order algorithms for
361
 
computing the fill-in during the symbolic factorization phase
362
 
[4] - [10], [5], [6].
363
 
 
364
 
% The command \Refs sets the word Reference as a heading and allows the proper
365
 
% amount of space before the start of the references. Each reference must
366
 
% begin with \ref\\. The article or title of the reference should be in
367
 
% italic. Use the \it command within brackets. End each reference with
368
 
% \endref and allow two returns between references. Use the command
369
 
% \sameauthor (see reference 8)  when the same author or group of authors
370
 
% is listed consecutively.
371
 
 
372
 
\Refs
373
 
 
374
 
\ref 1\\R.~E. Bank, {\it PLTMG  users' guide, edition 5.0}, tech. report,
375
 
  Department of Mathematics, University of California, San Diego, CA,
376
 
1988.\endref
377
 
 
378
 
\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
379
 
  multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
380
 
 
381
 
\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
382
 
  permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
383
 
  pp.~574--584.\endref
384
 
 
385
 
\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
386
 
  Algorithms and data structures for sparse symmetric gaussian elimination},
387
 
  SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
388
 
 
389
 
\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Positive
390
 
  Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
391
 
 
392
 
\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
393
 
  factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
394
 
 
395
 
\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for factors
396
 
  using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
397
 
 
398
 
\ref 8\\\sameauthor , {\it The role of
399
 
  elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
400
 
  of Computer Science, York University, Ontario, Canada, 1987.\endref
401
 
 
402
 
\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
403
 
  sparse positive definite systems}, in Graph Theory and Computing,
404
 
  Academic Press, New York, 1972.\endref
405
 
 
406
 
\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
407
 
  vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
408
 
\enddoublecolumns
409
 
 
410
 
\bye
411
 
%%
412
 
%%
413
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  CUT HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414
 
%
415
 
%
416
 
%%%%%%%%%%%%%%%%%%%%%%%%%%  ptexpprt.sty  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
417
 
%
418
 
%       This is a file of macros and definitions for creating a chapter
419
 
%       for publication in the ACM/SIAM Preprint Series using Plain TeX.
420
 
%       This file may be freely distributed but may not be altered in any way.
421
 
%    Any comments or questions regarding these macros should be directed to:
422
 
 
423
 
%                 Corey Gray
424
 
%                 SIAM
425
 
%                 3600 University City Science Center
426
 
%                 Philadelphia, PA 19104-2688
427
 
%                 USA
428
 
%                 Telephone: (215) 382-9800
429
 
%                 Fax: (215) 386-7999
430
 
%                 e-mail: siampubs@wharton.upenn.edu
431
 
 
432
 
%
433
 
 
434
 
%    Report the version.
435
 
\message{*** ACM/SIAM Plain TeX Preprint Series macro package, version 1.0,
436
 
September 24, 1990.***}
437
 
 
438
 
% Make the @ sign a letter for internal control sequences.
439
 
\catcode`\@=11
440
 
%
441
 
%
442
 
%
443
 
 
444
 
 
445
 
 
446
 
%%%  DIMENSIONS  %%%
447
 
 
448
 
\newdimen\pagewidth
449
 
\hsize=41pc
450
 
\pagewidth=\hsize
451
 
\newdimen\pageheight
452
 
\vsize=50pc
453
 
\pageheight=\vsize
454
 
\newdimen\ruleht
455
 
\ruleht=.5pt
456
 
\maxdepth=2.2pt
457
 
 
458
 
\parindent=18truept
459
 
\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
460
 
\parskip=0pt plus 1pt
461
 
 
462
 
 
463
 
%%%  FONTS  %%%
464
 
 
465
 
\font\tenrm=cmr10
466
 
\font\tenbf=cmbx10
467
 
\font\tenit=cmti10
468
 
\font\tensmc=cmcsc10
469
 
\def\tenpoint{%
470
 
   \def\rm{\tenrm}\def\bf{\tenbf}%
471
 
   \def\it{\tenit}\def\smc{\tensmc}
472
 
        \textfont0=\tenrm \scriptfont0=\sevenrm
473
 
        \textfont1=\teni \scriptfont1=\seveni
474
 
        \textfont2=\tensy \scriptfont2=\sevensy
475
 
        \textfont3=\tenex \scriptfont3=\tenex
476
 
\baselineskip=12pt\rm}%
477
 
 
478
 
\font\ninerm=cmr9
479
 
\font\ninebf=cmbx9
480
 
\font\nineit=cmti9
481
 
\def\ninepoint{%
482
 
   \def\rm{\ninerm}\def\bf{\ninebf}%
483
 
   \def\it{\nineit}\baselineskip=11pt\rm}%
484
 
 
485
 
\font\eightrm=cmr8
486
 
\font\eightbf=cmbx8
487
 
\font\eightit=cmti8
488
 
\font\eighti=cmmi8
489
 
\font\eightsy=cmsy8
490
 
\def\eightpoint{%
491
 
   \def\rm{\eightrm}\def\bf{\eightbf}%
492
 
   \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
493
 
        \textfont0=\eightrm \scriptfont0=\sixrm
494
 
        \textfont1=\eighti \scriptfont1=\sixi
495
 
        \textfont2=\eightsy \scriptfont2=\sixsy
496
 
        \textfont3=\tenex \scriptfont3=\tenex
497
 
}
498
 
 
499
 
\font\sixrm=cmr6
500
 
\font\sixbf=cmbx6
501
 
\font\sixi=cmmi6
502
 
\font\sixsmc=cmr5
503
 
\font\sixsy=cmsy6
504
 
\def\sixpoint{%
505
 
   \def\rm{\sixrm}\def\bf{\sixbf}%
506
 
   \def\smc{\sixsmc}\baselineskip=8pt\rm}%
507
 
 
508
 
\fontdimen13\tensy=2.6pt
509
 
\fontdimen14\tensy=2.6pt
510
 
\fontdimen15\tensy=2.6pt
511
 
\fontdimen16\tensy=1.2pt
512
 
\fontdimen17\tensy=1.2pt
513
 
\fontdimen18\tensy=1.2pt
514
 
 
515
 
\font\eightrm=cmr8
516
 
\font\ninerm=cmr9
517
 
\font\twelverm=cmr10 scaled\magstep1
518
 
\font\twelvebf=cmbx10 scaled\magstep 1
519
 
\font\sixteenrm=cmr10 scaled\magstep2
520
 
\def\titlefont{\sixteenrm}
521
 
\def\chapterfont{\twelvebf}
522
 
\def\authorfont{\twelverm}
523
 
\def\rheadfont{\tenrm}
524
 
\def\smc{\tensmc}
525
 
 
526
 
 
527
 
 
528
 
 
529
 
%%%  COUNTERS FOR HEADINGS  %%%
530
 
 
531
 
\newcount\headcount
532
 
\headcount=1
533
 
\newcount\seccount
534
 
\seccount=1
535
 
\newcount\subseccount
536
 
\subseccount=1
537
 
\def\reset{\global\seccount=1}
538
 
\global\headcount=0
539
 
 
540
 
%%%  HEADINGS  %%%
541
 
 
542
 
\def\headone#1{\global\advance\headcount by 1
543
 
\vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount
544
 
\hskip11truept #1.}\par\nobreak\firstpar\global\advance\headcount by 0
545
 
   %\global\advance\seccount by 1
546
 
\reset\vskip2truept}
547
 
 
548
 
\def\headtwo#1{%\advance\seccount by -1%
549
 
   \vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount.%
550
 
   \the\seccount\hskip11truept #1.}\enspace\ignorespaces\firstpar
551
 
   \global\advance\headcount by 0\global\advance\seccount by 1}
552
 
%   \global\advance\subseccount by 1}
553
 
 
554
 
 
555
 
%%%  THEOREMS, PROOFS, DEFINITIONS, etc.  %%%
556
 
 
557
 
\def\thm#1{{\smc
558
 
#1\enspace}
559
 
\begingroup\it\ignorespaces\firstpar}
560
 
 
561
 
\let\lem=\thm
562
 
\let\cor=\thm
563
 
\let\prop=\thm
564
 
 
565
 
\def\endthm{\endgroup}
566
 
\let\endlem=\endthm
567
 
\let\endcor=\endthm
568
 
\let\endprop=\endthm
569
 
 
570
 
\def\prf#1{{\it #1.}\rm\enspace\ignorespaces}
571
 
\let\rem=\prf
572
 
\let\case=\prf
573
 
 
574
 
 
575
 
\def\dfn#1{{\smc
576
 
#1\enspace}
577
 
\rm\ignorespaces}
578
 
 
579
 
 
580
 
 
581
 
%%%  FIGURES AND CAPTIONS  %%%
582
 
 
583
 
\def\caption#1\endcaption{\vskip18pt\ninerm\centerline{#1}\vskip18pt\tenrm}
584
 
 
585
 
\newinsert\topins \newif\ifp@ge \newif\if@mid
586
 
\def\topinsert{\@midfalse\p@gefalse\@ins}
587
 
\def\midinsert{\@midtrue\@ins}
588
 
\def\pageinsert{\@midfalse\p@getrue\@ins}
589
 
\skip\topins=0pt %no space added when a topinsert is present
590
 
\count\topins=1000 %magnification factor (1 to 1)
591
 
\dimen\topins=\maxdimen
592
 
\def\@ins{\par\begingroup\setbox0=\vbox\bgroup}
593
 
\def\endinsert{\egroup
594
 
    \if@mid \dimen@=\ht0 \advance\dimen@ by\dp0
595
 
       \advance\dimen@ by12\p@ \advance\dimen@ by\pagetotal
596
 
       \ifdim\dimen@>\pagegoal \@midfalse\p@gefalse\fi\fi
597
 
    \if@mid \bigskip \box0 \bigbreak
598
 
    \else\insert\topins{\penalty100
599
 
      \splittopskip=0pt \splitmaxdepth=\maxdimen \floatingpenalty=0
600
 
      \ifp@ge \dimen@=\dp0
601
 
      \vbox to\vsize{\unvbox0 \kern-\dimen@}
602
 
    \else \box0 \nobreak\bigskip\fi}\fi\endgroup}
603
 
 
604
 
 
605
 
%%%  REFERENCES  %%%
606
 
 
607
 
\newdimen\refindent@
608
 
\newdimen\refhangindent@
609
 
\newbox\refbox@
610
 
\setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [00]}%   Default 2 digits
611
 
\refindent@=\wd\refbox@
612
 
 
613
 
\def\resetrefindent#1{%
614
 
        \setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [#1]}%
615
 
        \refindent@=\wd\refbox@}
616
 
 
617
 
\def\Refs{%
618
 
        \unskip\vskip1pc
619
 
        \leftline{\noindent\tenpoint\bf References}%
620
 
        \penalty10000
621
 
        \vskip4pt
622
 
        \penalty10000
623
 
        \refhangindent@=\refindent@
624
 
        \global\advance\refhangindent@ by .5em
625
 
        \global\everypar{\hangindent\refhangindent@}%
626
 
        \parindent=0pt\ninepoint\rm}
627
 
 
628
 
\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
629
 
    \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
630
 
 
631
 
\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
632
 
 
633
 
 
634
 
%%%  OUTPUT  %%%
635
 
 
636
 
\newinsert\margin
637
 
\dimen\margin=\maxdimen
638
 
\count\margin=0 \skip\margin=0pt
639
 
 
640
 
 
641
 
\def\footnote#1{\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
642
 
  \insert\footins\bgroup\eightpoint\hsize=30pc
643
 
  \interlinepenalty100 \let\par=\endgraf
644
 
   \leftskip=0pt \rightskip=0pt
645
 
   \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
646
 
\smallskip
647
 
\item{#1}\bgroup\strut\aftergroup\@foot\let\next}
648
 
\skip\footins=6pt plus 2pt minus 4pt
649
 
\dimen\footins=30pc
650
 
 
651
 
\newif\iftitle
652
 
 
653
 
 
654
 
\def\titlepage{\global\titletrue\footline={\hss\ninepoint\rm\folio\hss}}
655
 
\def\rhead{\ifodd\pageno CHAPTER TITLE
656
 
 \else AUTHORS NAMES\fi}
657
 
 
658
 
\def\makefootline{\ifnum\pageno>1\global\footline={\hfill}\fi
659
 
   \baselineskip24\p@\vskip12\p@\fullline{\the\footline}}
660
 
\def\leftheadline{\hbox to \pagewidth{
661
 
  \vbox to 10pt{}
662
 
  {\kern-8pt\tenrm\folio\hfill\ninerm\rhead}}}
663
 
\def\rightheadline{\hbox to \pagewidth{
664
 
  \vbox to 10pt{}
665
 
  \kern-8pt\ninerm\rhead\hfil
666
 
  {\kern-1pc\tenrm\folio}}}
667
 
 
668
 
\def\onepageout#1{\shipout\vbox{
669
 
\offinterlineskip
670
 
 \vbox to 2.25pc{%
671
 
  \iftitle \global\titlefalse
672
 
%   \setcornerrules
673
 
 \else\ifodd\pageno\rightheadline\else\leftheadline\fi\fi \vfill}
674
 
\vbox to \pageheight{
675
 
  \ifvoid\margin\else
676
 
  \rlap{\kern31pc\vbox to0pt{\kern4pt\box\margin \vss}}\fi
677
 
 #1 %
678
 
\ifvoid\footins\else
679
 
 \vskip\skip\footins \kern 0pt
680
 
 \hrule height\ruleht width 2.5pc \kern-\ruleht \kern 0pt
681
 
 \unvbox\footins\fi
682
 
\boxmaxdepth=\maxdepth}}
683
 
\advancepageno}
684
 
 
685
 
\def\setcornerrules{\hbox to \pagewidth{
686
 
  \vrule width 1pc height\ruleht \hfil \vrule width 1pc}
687
 
  \hbox to \pagewidth{\llap{\sevenrm(page \folio)\kern1pc}
688
 
  \vrule height1pc width\ruleht depth0pt
689
 
  \hfil \vrule width\ruleht depth0pt}}
690
 
\output{\onepageout{\unvbox255}}
691
 
 
692
 
\newbox\partialpage
693
 
\def\begindoublecolumns{\begingroup
694
 
  \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}\eject
695
 
  \output={\doublecolumnout} \hsize=20pc \vsize=101pc}
696
 
\def\enddoublecolumns{\output={\balancecolumns}\eject
697
 
  \endgroup \pagegoal=\vsize}
698
 
 
699
 
\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
700
 
 \dimen@=50pc \advance\dimen@ by-\ht\partialpage
701
 
 \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
702
 
 \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
703
 
\def\pagesofar{\unvbox\partialpage
704
 
 \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
705
 
\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
706
 
 \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
707
 
 \divide\dimen@ by2 \splittopskip=\topskip
708
 
{\vbadness=10000 \loop \global\setbox3=\copy0
709
 
 \global\setbox1=\vsplit3 to\dimen@
710
 
 \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
711
 
 \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox 3}
712
 
\pagesofar}
713
 
 
714
 
 
715
 
 
716
 
 
717
 
%       Turn off @ as being a letter.
718
 
%
719
 
\catcode`\@=13
720
 
 
721
 
% End of ptexpprt.sty
722
 
 
723
 
 
724
 
CUT HERE............