Sharedwww / tables / Notes / pcmslmod.texOpen in CoCalc
Author: William A. Stein
1
% Filename: pcmslmod.tex v.1.4
2
3
% Contains modifications to pcms-l.cls (version 1.2d, 1997/01/02)
4
5
% Written by David R. Morrison, 1997/04/20; revised 1997/11/23; 1998/2/9;
6
% 1998/3/13; 1998/3/31; 1998/5/29
7
\typeout{pcmslmod.tex v.1.4, 1998/5/29}
8
9
10
% Summary of changes
11
%
12
% 1. A new command \lectureseries, which specifies the title of the lecture
13
% series and does the page setup for the first page of the series
14
% (eliminating the need for a \chapter*{} command). An optional argument
15
% allows the specification of a shortened title for running heads.
16
%
17
% 2. A modification of the \auth command, allowing the specification of a
18
% shortened author name for running heads.
19
%
20
% 3. A modification of the \lecture command, giving it an argument for the
21
% specification of the lecture name (rather than a separate \lecturename
22
% command), and incorporating the \chapter*{} command so that the latter
23
% does not need to be invoked by the user. From the user's perspective,
24
% \lecture should function in a very similar fashion to \chapter.
25
%
26
% 3A. In v.1.1 of this file, an alternate "starred" form \lecture* is
27
% introduced, which allows for the inclusion of unnumbered lectures (such
28
% as a preface, or a list of problems). The title of this unnumbered
29
% lecture is flush left if the lecture is the first one (i.e., the
30
% preface or introduction), otherwise it is set flush right.
31
%
32
% 4. Two style corrections in running heads: the body of the running heads
33
% should be set in medium weight rather than bold, and the author and title
34
% should be separated by a comma rather than a period.
35
%
36
% 5. Modifications of bibliography and index commands, so that their
37
% headings and running heads have the same style as lectures. A new
38
% user-specifiable option \ifBibliographyIsASection (with default value
39
% \BibliographyIsASectionfalse) is introduced: it should be set to true if
40
% a user wants separate bibliography sections at the end of each lecture
41
% rather than a single bibliography at the end.
42
%
43
% 6. A minor style change: since the footnote giving the author address is
44
% typically several lines long, with subsequent lines giving information
45
% such as e-mail or current addresses which has equal logical weight to the
46
% address itself, having the first line of the footnote indented presents a
47
% strange appearance. As an easy fix, indentation from footnotes was
48
% removed.
49
%
50
% 6A. In v.1.1 of this file, the commands \thanks, \subjclass, \keywords,
51
% and \date were all implemented; as in most AMS styles, they produce
52
% additional footnotes on the first page.
53
%
54
% 7. The sample files have also been rewritten in a way compatible with these
55
% changes.
56
%
57
% 8. Changes in v 1.4: fixed font size of author, and fixed spacing after
58
% lecture
59
60
\makeatletter
61
62
% First, we define a new command \lectureseries, replacing the
63
% \chapter*{title} command at the head of the file. An optional argument
64
% allows a shortened form to be specified for use in running heads. (The
65
% thing used in running heads is \thelectureseries -- this is unchanged.)
66
%
67
% NB: \part* and \pauth commands could still be used to generate a separate
68
% title page for an individual lecture series, if that is desired.
69
%
70
% We also introduce \iffirstlecture, which is set to true by the
71
% \lectureseries command so that the top-of-page formatting is not repeated
72
% by the \lecture command in this case.
73
74
\newif\iffirstlecture\firstlecturefalse
75
76
\newcommand{\lectureseries}{\firstlecturetrue
77
\secdef\@lectureseries\@slectureseries}
78
79
\newcommand{\@lectureseries}[2][default]{\chapter*{#2}%
80
\gdef\thelectureseries{#1}}
81
82
\newcommand{\@slectureseries}[1]{\chapter*{#1}}
83
84
% Next, we redefine \auth to allow for the specification of a shortened
85
% author name in running heads, as an optional argument. (TeX-nical note:
86
% it might have been better to write this command and the previous one
87
% using \@dblarg rather than \secdef.)
88
89
\renewcommand{\auth}{\secdef\@auth\@sauth}
90
91
\newcommand{\@auth}[2][default]{\vspace{-1pc}{\raggedleft
92
\Large\bf\noindent
93
#2\endgraf
94
\vspace*{2pc}
95
}
96
\def\@author{#1}%
97
}
98
99
\newcommand{\@sauth}[1]{\vspace{-1pc}{\raggedleft
100
\Large\bf\noindent
101
#1\endgraf
102
\vspace*{2pc}
103
}
104
\def\@author{#1}%
105
}
106
107
% Next, we redefine \lecture so that \chapter*{} is not needed. To make
108
% this work, we only want to insert \chapter*{} starting with the second
109
% \lecture command, which was why we introduced \iffirstlecture.
110
%
111
% Also, \lecture now takes an argument specifying the title, in place of
112
% the old \lecturename command.
113
114
\def\lecture#1{\global\Lecturetrue\global\Monographfalse
115
\iffirstlecture\else\chapter*{}\fi\firstlecturefalse
116
\global\let\sectionmark\@gobble % \lecturemark will be used instead
117
\addtocounter{lecture}1\relax
118
\refstepcounter{chapter}%
119
% \addtocounter{chapter}1\relax % this is done for section numbering
120
\gdef\thelecturename{#1\unskip}
121
{\Large\bfseries
122
\raggedleft
123
\@xp\uppercase\@xp{\thelecturelabel} {\LARGE\thelecturenum}\\
124
\vspace*{3pt}%
125
\thelecturename
126
\endgraf}%
127
\let\@secnumber=\thelecturenum
128
\@xp\lecturemark\@xp{\thelecturename}%
129
\addcontentsline{toc}{chapter}{%
130
\thelecturelabel\ \thelecturenum.\ \thelecturename}%
131
\vspace{34\[email protected]}\noindent}
132
133
% In v.1.1, \lecture is redefined again, to implement the inclusion of a
134
% "starred" form \lecture*.
135
136
\def\lecture{\global\Lecturetrue\global\Monographfalse
137
\iffirstlecture\else\chapter*{}\fi%
138
\global\let\sectionmark\@gobble % \lecturemark will be used instead
139
\secdef\@lecture\@slecture}
140
141
\def\@lecture[#1]#2{%
142
\addtocounter{lecture}1\relax
143
\refstepcounter{chapter}%
144
% \addtocounter{chapter}1\relax % this is done for section numbering
145
\gdef\thelecturename{#1\unskip}\firstlecturefalse
146
{\Large\bfseries
147
\raggedleft
148
\@xp\uppercase\@xp{\thelecturelabel} {\LARGE\thelecturenum}\\
149
\vspace*{3pt}%
150
% \thelecturename
151
#2\unskip
152
\endgraf}%
153
\let\@secnumber=\thelecturenum
154
\@xp\lecturemark\@xp{\thelecturename}%
155
\addcontentsline{toc}{chapter}{%
156
% \thelecturelabel\ \thelecturenum.\ \thelecturename}%
157
\thelecturelabel\ \thelecturenum.\ #2}%
158
\vspace{34\[email protected]}\noindent}
159
160
\def\slecturerunhead#1#2#3{%
161
\let\@tempa\chaptername
162
\uppercasenonmath{\@tempa}%
163
\def\@tempb{#3\unskip}%
164
\uppercasenonmath{\@tempb}%
165
{\normalfont\@tempb}
166
}
167
\def\slecturemark{%\let\@secnumber\@empty
168
% \@secmark\markright\sectionrunhead\sectionname}%
169
\@secmark\markright\slecturerunhead\chaptername}%
170
171
172
\def\@slecture#1{%
173
\iffirstlecture
174
% \addtocounter{lecture}1\relax
175
% \refstepcounter{chapter}%
176
%% \addtocounter{chapter}1\relax % this is done for section numbering
177
\gdef\thelecturename{#1\unskip}\firstlecturefalse
178
{\Large\bfseries
179
% \raggedleft
180
% \@xp\uppercase\@xp{\thelecturelabel} {\LARGE\thelecturenum}\\
181
% \vspace*{3pt}%
182
%\noindent\@xp\uppercase\@xp{\thelecturename}
183
\noindent\thelecturename
184
\endgraf}%
185
\let\@secnumber=\thelecturenum
186
\@xp\slecturemark\@xp{\thelecturename}%
187
%\markright\thelecturename
188
\addcontentsline{toc}{chapter}{%
189
\thelecturename}%
190
\vspace{-6\[email protected]}\noindent
191
%\noindent
192
\else
193
% \addtocounter{lecture}1\relax
194
% \refstepcounter{chapter}%
195
%% \addtocounter{chapter}1\relax % this is done for section numbering
196
\gdef\thelecturename{#1\unskip}\firstlecturefalse
197
{\Large\bfseries
198
\raggedleft
199
% \@xp\uppercase\@xp{\thelecturelabel} {\LARGE\thelecturenum}\\
200
% \vspace*{3pt}%
201
\@xp\uppercase\@xp{\thelecturename}
202
\endgraf}%
203
\let\@secnumber=\thelecturenum
204
\@xp\slecturemark\@xp{\thelecturename}%
205
%\markright\thelecturename
206
\addcontentsline{toc}{chapter}{%
207
\thelecturename}%
208
\vspace{34\[email protected]}\noindent
209
\fi}
210
211
% We make the following changes to definitions of running heads:
212
% (1) add \textmd so that the header is not boldface
213
% (2) use a comma, not a period, to separate author and lectureseries
214
215
\ifLecture
216
\def\chapterrunhead#1#2#3{%
217
\let\@tempa\@author
218
\uppercasenonmath{\@tempa}%
219
\uppercasenonmath{\thelectureseries}%
220
\textmd{\@tempa, \thelectureseries}
221
}
222
\def\lecturerunhead#1#2#3{%
223
\let\@tempa\chaptername
224
\uppercasenonmath{\@tempa}%
225
\def\@tempb{#3\unskip}%
226
\uppercasenonmath{\@tempb}%
227
\textmd{\@tempa\ #2. \@tempb}
228
}
229
\else
230
\let\chapterrunhead\partrunhead
231
\fi
232
233
% For the bibliography, we do two things
234
% (1) we introduce \ifBibliographyIsASection (default is false) to decide
235
% if a section or a chapter. When its a chapter, but we are in lecture
236
% mode, we use the lecture style of headings. If its a section, it should
237
% NOT be in backmatter.
238
% (2) we fix the running heads to be consistent with everything else.
239
240
\newif\ifBibliographyIsASection\BibliographyIsASectionfalse
241
242
\def\bibliomark{%\let\@secnumber\@empty
243
% \@secmark\markright\sectionrunhead\sectionname}%
244
\@secmark\markright\bibliorunhead\chaptername}%
245
246
\def\bibliorunhead#1#2#3{%
247
\let\@tempa\chaptername
248
\uppercasenonmath{\@tempa}%
249
\def\@tempb{#3\unskip}%
250
\uppercasenonmath{\@tempb}%
251
\textmd{\@tempb}
252
}
253
254
\def\thebibliography#1{%
255
\ifBibliographyIsASection
256
\section*\refname
257
\[email protected]
258
\markboth{\refname}{\refname}%
259
\fi
260
\else
261
\chapter*{}
262
{\Large\bfseries
263
\raggedleft
264
\@xp\uppercase\@xp{\bibname} \\
265
\endgraf}%
266
\let\@secnumber=\thelecturenum
267
\@xp\bibliomark\@xp{\bibname}%
268
\addcontentsline{toc}{chapter}{%
269
\bibname}%
270
\vspace{34\[email protected]}\noindent
271
\fi
272
\normalsize\labelsep .5em\relax
273
\list{\@arabic\[email protected].}{\settowidth\labelwidth{\@biblabel{#1}}%
274
\leftmargin\labelwidth
275
\advance\leftmargin\labelsep
276
% \bibsetup\relax
277
\usecounter{enumi}}\sloppy
278
\clubpenalty9999 \widowpenalty\clubpenalty \sfcode`\.\@m}
279
280
% We also want to change the headings and running heads for the index. We
281
% only do this in the case of a lecture (so the previous definition will still
282
% be invoked in the case of a monograph.)
283
284
\def\indexmark{%\let\@secnumber\@empty
285
% \@secmark\markright\sectionrunhead\sectionname}%
286
\@secmark\markright\indexrunhead\chaptername}%
287
288
\def\indexrunhead#1#2#3{%
289
\let\@tempa\chaptername
290
\uppercasenonmath{\@tempa}%
291
\def\@tempb{#3\unskip}%
292
\uppercasenonmath{\@tempb}%
293
\textmd{\@tempb}
294
}
295
296
\ifLecture
297
\def\theindex{\cleardoublepage
298
\@restonecoltrue\[email protected]\@restonecolfalse\fi
299
\columnseprule \[email protected] \columnsep 35pt
300
\def\indexchap{\@startsection
301
{chapter}{1}{\[email protected]}{8pc}{34pt}%
302
{\raggedleft
303
\Large\bfseries}}%
304
\twocolumn[\indexchap[{\indexname}]{\@xp\uppercase\@xp{\indexname}}]
305
% \Large\bfseries}}%
306
% \twocolumn[\indexchap*{\@xp\uppercase\@xp{\indexname}}]
307
% \@mkboth{{\indexname}}{{\indexname}}%
308
\@xp\indexmark\@xp{\indexname}%
309
\thispagestyle{plain}\let\item\@idxitem\parindent\[email protected]
310
\footnotesize\parskip\[email protected] plus .3pt\relax\let\item\@idxitem}
311
\fi
312
313
% Finally, a small stylistic change: for the footnote giving the author
314
% address, indenting the footnote doesn't look good (in my opinion) due to
315
% the email line NOT being indented. So we change:
316
%
317
% \def\@makefntext{\indent\@makefnmark}
318
%
319
% to
320
321
\def\@makefntext{\noindent\@makefnmark}
322
323
% In v.1.1, we also implement \thanks and other commands which make
324
% first-page footnotes:
325
326
\def\setaddress{%
327
{\let\@makefnmark\relax \let\@thefnmark\relax
328
\nobreak
329
\[email protected]=\[email protected]
330
\loop\ifnum\[email protected]<\[email protected]\advance\[email protected]\@ne
331
\footnote{$^{\hbox{\tiny\number\[email protected]}}$%
332
\csname @address\number\[email protected]\endcsname
333
\csname @curraddr\number\[email protected]\endcsname
334
\csname @email\number\[email protected]\endcsname}\repeat
335
\ifx\@empty\@date\else \@footnotetext{\@setdate}\fi
336
\ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi
337
\ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi
338
\ifx\@empty\thankses\else \@footnotetext{%
339
\def\par{\let\par\@par}\@setthanks}\fi
340
}%
341
\@setcopyright
342
}
343
344
% fix blank pages (Dan Freed -- November 25, 1997)
345
346
\def\@tmpevenhead{\relax}
347
348
\def\cleardoublepage{\clearpage\[email protected] \ifodd\[email protected]\else
349
\let\@tmpevenhead\@evenhead \let\@evenhead\relax\hbox{}\eject
350
\let\@evenhead\@tmpevenhead\[email protected]\hbox{}\newpage\fi\fi\fi}
351
352
% define \copyrightyear to be \currentyear (Dan Freed -- March 13, 1998)
353
354
\def\@setcopyright{%
355
\let\copyrightyear\currentyear % DF
356
\insert\copyins{\hsize\textwidth
357
\parfillskip\[email protected] \leftskip\[email protected]\@plus.9\textwidth
358
\fontsize{6}{7\[email protected]}\normalfont\upshape
359
\everypar{}%
360
\vskip-\skip\copyins \nointerlineskip
361
\noindent\vrule\@width\[email protected]\@height\skip\copyins
362
\copyright\copyrightyear\ American Mathematical Society\par
363
\kern\[email protected]}%
364
}
365
366
% macro to put in blank page at beginning for 2-up viewing
367
368
\def\BlankPage{\pagestyle{empty}\thispagestyle{empty}\null\vfil\eject}
369
370
%fix font size of author:
371
372
\renewcommand{\@auth}[2][default]{{\raggedleft
373
\begingroup
374
\fontsize{\@xivpt}{18}\bfseries%\centering
375
#2\par \endgroup
376
\vspace*{2pc}
377
}
378
\def\@author{#1}%
379
}
380
381
\renewcommand{\@sauth}[1]{{\raggedleft
382
\begingroup
383
\fontsize{\@xivpt}{18}\bfseries%\centering
384
#1\par \endgroup
385
\vspace*{2pc}
386
}
387
\def\@author{#1}%
388
}
389
390
%fix spacing after lecture
391
392
\def\@lecture[#1]#2{%
393
\addtocounter{lecture}1\relax
394
\refstepcounter{chapter}%
395
\gdef\thelecturename{#1\unskip}\firstlecturefalse
396
{\Large\bfseries
397
\raggedleft
398
\@xp\uppercase\@xp{\thelecturelabel} {\LARGE\thelecturenum}\\
399
\vspace*{3pt}%
400
#2\unskip
401
\endgraf}%
402
\let\@secnumber=\thelecturenum
403
\@xp\lecturemark\@xp{\thelecturename}%
404
\addcontentsline{toc}{chapter}{%
405
\thelecturelabel\ \thelecturenum.\ #2}%
406
\vspace{10\[email protected]}\noindent}
407
408
\def\@slecture#1{%
409
\iffirstlecture
410
\gdef\thelecturename{#1\unskip}\firstlecturefalse
411
{\Large\bfseries
412
\noindent\thelecturename
413
\endgraf}%
414
\let\@secnumber=\thelecturenum
415
\@xp\slecturemark\@xp{\thelecturename}%
416
\addcontentsline{toc}{chapter}{%
417
\thelecturename}%
418
\vspace{-6\[email protected]}\noindent
419
\else
420
\gdef\thelecturename{#1\unskip}\firstlecturefalse
421
{\Large\bfseries
422
\raggedleft
423
\@xp\uppercase\@xp{\thelecturename}
424
\endgraf}%
425
\let\@secnumber=\thelecturenum
426
\@xp\slecturemark\@xp{\thelecturename}%
427
\addcontentsline{toc}{chapter}{%
428
\thelecturename}%
429
\vspace{10\[email protected]}\noindent
430
\fi}
431
432
433
434
% End of modifications to pcms-l.cls.
435
436
\makeatother
437