1: \def\currvers{May 29, 1999}
2: %% ajour.cls/sty %%
3: %%
4: %% This file can be renamed to either
5: %% ajour.cls or ajour.sty depending on whether you are
6: %% using LaTeX2.09 (ajour.sty) or LaTeX2e (ajour.cls).
7:
8: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9: %% LaTeX Generic Style file for Articles
10: %% in `A' Format Journal:
11: %%
12: %% 6x9, Single Column;
13: %% Journal of Functional Analysis, and others of the same size
14: %%
15: %% Published by Academic Press
16: %%
17: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18: %%
19: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20: %%
21: %% Macros written by
22: %% Amy Hendrickson
23: %% TeXnology, Inc.
24: %% 57 Longwood Avenue
25: %% Brookline, Massachusetts 02446
26: %% 617 / 738-8029
27: %% amyh@TeXnology.com
28: %%
29: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
30:
31: \typeout{^^J^^J
32: Document Style `A Format Journals' ^^J
33: for Academic Press,^^J
34: Version \currvers^^J^^J}
35:
36: \newif\ifll
37:
38: \expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used
39: \else% LaTeX2e is being used, so set ll true
40: \global\lltrue\fi
41:
42: \ifll \let\dooptions\ProcessOptions
43: \else
44: \let\dooptions\@options\fi
45: \dooptions
46:
47: %% For both 2e and 2.09 ===>>>
48:
49: \newif\iftypesetters
50: \def\finaltypesetting{\global\typesetterstrue\global\noaplinefalse}
51:
52: %% Special Purpose Fonts
53: %% Fonts to make bold in super- and sub-scripts be the right size.
54: \font\sevbf =cmbx7
55: \font\fivbf =cmbx5
56: \let\bit\bf
57: \def\baselinestretch{0}
58:
59: \ifll
60: %%
61: \expandafter\ifx\csname sqrtsign\endcsname\relax
62: \def\sqrtsign{\radical "270370}\fi
63: \expandafter\ifx\csname mathunderscore\endcsname\relax
64: \def\mathunderscore{\leavevmode\kern.06em\vbox{\hrule width.3em}}
65: \def\mathellipsis{\mbox {$\m@th{\,.\,.\,.}\,$}}\fi
66: \global\newdimen\phspace
67: \else
68: \gdef\@plus{plus}
69: \gdef\@minus{minus}
70: \fi
71:
72: \ifll\else
73: \global\@maxsep 20pt
74: \global\@dblmaxsep 20pt
75: \fi
76:
77: %% 2e ==>>>
78: \newif\if@openbib
79: %\@openbibtrue
80: \@openbibfalse
81: \newif\if@openright
82: \newif\if@mainmatter
83: \@mainmattertrue
84: \newif\if@restonecol
85: \newif\if@titlepage
86: \newif\ifdraft
87:
88: %%%%%%%
89: %% LaTeX book.sty, (January 14, 1992 release)
90: %% was the original basis for this style, but
91: %% many changes have been made to it.
92:
93: \def\@ptsize{0}
94:
95: \@twosidetrue % Defines twoside option.
96: \@mparswitchtrue % Marginpars go on outside of page.
97:
98: \def\ds@draft{\overfullrule 5pt} % Causes overfull hboxes to be marked.
99:
100:
101: %% Special text placement: description, quotation
102:
103: \def\quotation{\list{}{\listparindent 1.5em
104: \itemindent\listparindent
105: \rightmargin\leftmargin\parsep \z@ plus\p@}\item[]}
106: \let\endquotation=\endlist
107:
108: \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
109: \let\endquote=\endlist
110:
111: \newdimen\descriptionmargin
112:
113: %%%%%
114: %% Default Dimension Settings
115:
116: \arraycolsep 3pt % was 5pt
117: % Half the space between columns in an array environment.
118:
119: \tabcolsep 6pt
120: % Half the space between columns in a tabular environment.
121:
122: \arrayrulewidth .4pt
123: % Width of rules in array and tabular environment.
124:
125: \doublerulesep 2pt
126: % Space between adjacent rules in array or tabular env.
127:
128: \tabbingsep \labelsep
129: % Space used by the \' command. (See LaTeX manual.)
130:
131: \skip\@mpfootins = \skip\footins
132:
133: \fboxsep = 3pt
134: % Space left between box and text by \fbox and \framebox.
135:
136: \fboxrule = .4pt
137: % Width of rules in box made by \fbox and \framebox.
138:
139: %% Setting up counters
140: \newcounter {chapter} %% used to reset other counters in article.
141: \newcounter {section}[chapter]
142: \newcounter {subsection}[section]
143: \newcounter {subsubsection}[subsection]
144:
145: \def\@chapapp{\chaptername}
146:
147: \newdimen\sectionwrap
148:
149: \let\savedblbslash=\\
150:
151: %%%%%%%%%%%%%
152: %% Description of parameters having to do with float placement:
153:
154: % \c@topnumber : Number of floats allowed at the top of a column.
155: % \topfraction : Fraction of column that can be devoted to floats.
156: % \c@dbltopnumber, \dbltopfraction : Same as above, but for double-column
157: % floats.
158: % \c@bottomnumber, \bottomfraction : Same as above for bottom of page.
159: % \c@totalnumber : Number of floats allowed in a single column,
160: % including in-text floats.
161: % \textfraction : Minimum fraction of column that must contain text.
162: % \floatpagefraction : Minimum fraction of page that must be taken
163: % up by float page.
164:
165:
166: \def\@xfloat#1[#2]{\ifhmode\@bsphack\@floatpenalty -\@Mii
167: \else\@floatpenalty -\@Miii\fi
168: \def\@captype{#1}\ifinner \@parmoderr \@floatpenalty \z@ \else
169: \@next\@currbox\@freelist
170: {\@tempcnta \csname ftype@#1\endcsname \multiply \@tempcnta \@xxxii
171: \advance \@tempcnta \sixt@@n \@tfor \@tempa :=#2\do {\if \@tempa h\advance
172: \@tempcnta \@ne \fi \if \@tempa t\advance \@tempcnta \tw@ \fi \if \@tempa
173: b\advance \@tempcnta 4\relax \fi \if \@tempa p\advance \@tempcnta 8\relax
174: \fi }\global\count\@currbox\@tempcnta }\@fltovf \fi
175: \global \setbox \@currbox \vbox\bgroup%
176: \ifx\@captype\xtable\tabletextsize\fi%
177: \hsize\columnwidth\@parboxrestore}
178:
179: %% These parameters are reset to more generous values to make it easier
180: %% to position floats.
181:
182: %% Original values, then new values:
183: % \setcounter{topnumber}{2}
184: \setcounter{topnumber}{10}
185:
186: % \def\topfraction{.7}
187: \def\topfraction{.99}
188:
189: % \setcounter{bottomnumber}{1}
190: \setcounter{bottomnumber}{10}
191:
192: % \def\bottomfraction{.3}
193: \def\bottomfraction{.99}
194:
195: % \setcounter{totalnumber}{3}
196: \setcounter{totalnumber}{20}
197:
198: % \def\textfraction{.2}
199: \def\textfraction{.01}
200:
201: %% These aren't relevant but LaTeX looks for them anyway.
202: \def\floatpagefraction{.5}
203: \setcounter{dbltopnumber}{2}
204: \def\dbltopfraction{.7}
205: \def\dblfloatpagefraction{.5}
206: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207:
208: %%%%%%%
209: %% Figure counters and parameters.
210:
211: \newcounter{figure}[chapter]
212: \def\fps@figure{tbp}
213: \def\ftype@figure{1}
214:
215: \def\fnum@figure{\figurename~\thefigure}
216: \def\figure{\@float{figure}}
217: \def\endfigure{\end@float\gdef\@currentlabel{}}
218:
219: %% Irrelevant, but in case someone uses this command:
220: \@namedef{figure*}{\typeout{<< NOTE: \string\begin{figure*} and
221: \string\end{figure*} are for multiple columns and are not used in this style.
222: Please use \string\begin{figure} and \string\end{figure} instead.>> }
223: \figure}
224: \@namedef{endfigure*}{\end@float}
225:
226: %% Table counters and parameters.
227: \newcounter{table}[chapter]
228:
229: \def\fps@table{tbp}
230: \def\ftype@table{2}
231:
232: \def\fnum@table{\tablename~\thetable}
233:
234: \let\endtable\end@float
235:
236: %% Irrelevant, but in case someone uses this command:
237: \@namedef{table*}{\typeout{<< NOTE: \string\begin{table*} and
238: \string\end{table*} are for multiple columns and are not used in this style.
239: Please use \string\begin{table} and \string\end{table} instead.>> }
240: \table}
241: \@namedef{endtable*}{\endtable}
242:
243: %%%%%%%
244:
245: \mark{{}{}} % Initializes TeX's marks
246:
247: %%%%%%%
248:
249: \@addtoreset{footnote}{chapter} % Makes \chapter reset 'footnote' counter.
250:
251: %%%%%%%
252: %%%% Macros added or changed from original LaTeX, General tools:
253:
254: %% i) Math macros: Lettered equation numbers. Split math. Left align eqns.
255: %% Size changes correctly when \bf is used in sub- and superscripts.
256:
257: %% ii) Lettered captions for tables and figures,
258: %% Multiple caption lines may center automatically.
259:
260: %% iii) Tables, captions will adjust horizontal size to match width
261: %% of table. Ruled lines added to top or bottom of table.
262: %% Table content will extend to the left and right of columns,
263: %% no extra horizontal space left.
264:
265: %% iv) Landscape tables and figures
266:
267: %%%%%
268:
269: %% (Generic Macros to be used to make particular styles
270: %% follow these general tools.)
271:
272: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273: %% i) Math macros: Lettered equation numbers. Split math.
274: %% Size changes correctly when \bf is used in sub- and superscripts.
275:
276: %% Special equation numbers. i.e., 16'
277: \def\specialeqnum#1{\def\theequation{#1}}
278:
279: %% Math Letters:
280:
281: \def\themathletter{\relax}
282: \def\mathletter#1{\gdef\themathletter{#1}}
283: \def\xrelax{\relax}
284:
285: \let\templabel\relax
286: \def\xlabel#1{\gdef\templabel{#1}}
287:
288: \newif\iffirsttime
289: \global\firsttimetrue
290:
291: \def\equation{$$ % $$ BRACE MATCHING HACK
292: \setbox0=\hbox\bgroup $ \displaystyle%
293: \let\label\xlabel}
294:
295: \let\savelabel\label
296:
297: \def\endequation{$\egroup%
298: %
299: \ifx\themathletter\xrelax\global\firsttimetrue%
300: \refstepcounter{equation}\else%
301: \iffirsttime\global\firsttimefalse\refstepcounter{equation}\fi\fi%
302: %
303: \setbox1=\hbox{\copy0\@eqnnum}%
304: %
305: \ifdim\wd1>\linewidth%
306: \vbox{\unskip\noindent\hbox to\textwidth{\hss\unhbox0\hss}\vskip3pt%
307: \noindent\hbox to\textwidth{\hfill\displaywidth\linewidth\llap{\@eqnnum}}}%
308: \else%
309: \vbox{\unskip\noindent\hbox to\linewidth{%
310: \hfil\unhbox0\hfil\displaywidth\linewidth\llap{\@eqnnum}}}%
311: \fi%
312: \let\@currentlabel=\theequation%
313: \ifx\templabel\relax\else\savelabel{\templabel}\fi%
314: \global\let\templabel\relax%
315: \gdef\theequation{\savetheequation}%
316: \gdef\themathletter{\relax}%
317: \global\@ignoretrue$$}
318:
319: \let\saveendeq\endequation
320:
321: \def\@@eqncr{\let\@tempa\relax%
322: \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}%
323: \else \def\@tempa{&}\fi%
324: \@tempa%
325: \ifx\themathletter\xrelax%
326: %% make equation letters work ==>
327: \if@eqnsw%
328: \stepcounter{equation}\fi%
329: %% <==
330: \else\iffirsttime\global\firsttimefalse\stepcounter{equation}%
331: \fi\fi%
332: \if@eqnsw\@eqnnum%
333: \fi%
334: \ifx\templabel\relax\else\savelabel{\templabel}\fi%%% <<=== make label
335: \global\let\templabel\relax % catch current number and letter
336: \global\let\themathletter\xrelax % <<===
337: \gdef\theequation{\savetheequation}%
338: \global\@eqnswtrue\global\@eqcnt\z@\cr}
339:
340:
341: \def\eqnarray{\let\@currentlabel=\theequation
342: \global\@eqnswtrue
343: \let\label\xlabel
344: \global\@eqnswtrue\m@th
345: \global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
346: $$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering
347: $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
348: \hskip 2\arraycolsep \hfil${##}$\hfil
349: &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
350: \tabskip\@centering&\llap{##}\tabskip\z@\cr}
351:
352: \def\endeqnarray{\@@eqncr\egroup
353: \global\firsttimetrue
354: $$\let\@currentlabel=\theequation
355: \ifx\templabel\relax\else\savelabel{\templabel}\fi%
356: \global\let\templabel\relax
357: \gdef\theequation{\savetheequation}
358: \def\themathletter{\relax}\global\@ignoretrue}
359:
360:
361: %%%%%
362: %% Splitmath, to break equations into two lines easily.
363: %% To use:
364: %% \begin{splitmath} xyz\\ 123\end{splitmath},
365: %% or, to have an equation number,
366: %% \begin{eqsplitmath} xyz\\ 123\end{eqsplitmath}
367:
368: \newif\ifCenterSplitMathEqno
369:
370: \def\eatone#1{}%% Used to disable macro that takes one argument.
371:
372: \long\def\eqsplitmath#1\\ #2\end#3{
373: \setbox1=\hbox{\let\label\eatone$#2$}
374: \ifx\themathletter\xrelax\global\firsttimetrue%
375: \refstepcounter{equation}\else%
376: \iffirsttime\global\firsttimefalse\refstepcounter{equation}\fi\fi%
377: \let\label\xlabel
378: \setbox2=\hbox{\theequation}
379: $$\vcenter{\hbox to\textwidth{$\displaystyle#1$\hfil}
380: \ifCenterSplitMathEqno
381: \vskip-3pt
382: \vbox to0pt{\vss\hbox to\textwidth{\hfill(\theequation)}}
383: \else\vskip2pt\fi
384: \hbox to\textwidth{\hfil$\displaystyle#2$
385: \ifCenterSplitMathEqno
386: \hskip\wd2\qquad\else\qquad\hbox{(\theequation)}\fi}%
387: }% end vcenter
388: \let\@currentlabel=\theequation
389: \ifx\templabel\relax\else\savelabel{\templabel}\fi%
390: \global\let\templabel\relax
391: \gdef\themathletter{\relax}%
392: $$\aftergroup{\end{eqsplitmath}}}
393:
394: \def\endeqsplitmath{\gdef\theequation{\savetheequation}%
395: \noindent\hskip-.25em\relax}
396:
397:
398: \long\def\splitmath#1\\ #2\end#3{$$
399: \vcenter{\hbox to\textwidth{$\displaystyle#1$\hfil}
400: \vskip3pt
401: \hbox to\textwidth{\hfil$\displaystyle#2$}%
402: }% end vcenter
403: $$\aftergroup{\end{splitmath}}}
404:
405: \let\endsplitmath\endeqsplitmath
406:
407: %%%%
408:
409: \def\specialeqnum#1{\global\firsttimefalse
410: \mathletter{xxx}%% mathletter to keep the equation counter
411: %%from advancing
412: \gdef\theequation{#1}}
413:
414: \def\bbf#1{\mathchoice{\hbox{\boldmath$\displaystyle#1$}}
415: {\hbox{\boldmath$\textstyle#1$}}
416: {\hbox{\boldmath$\scriptstyle#1$}}
417: {\hbox{\boldmath$\scriptscriptstyle#1$}}
418: }
419:
420:
421: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422: %% ii) Lettered captions for tables and figures,
423: %% Multiple caption lines may center automatically.
424:
425:
426: \def\theletter{\relax}
427: \newif\ifxfirsttime
428: \xfirsttimetrue
429: \def\xtable{table}
430: \def\xrelax{\relax}
431:
432: \newif\ifcontinued
433: \newif\ifturnoffdot
434: \def\continuedcaption{\global\turnoffdottrue
435: \global\continuedtrue\caption{\relax}}
436:
437: \newif\ifsidebyside
438: \def\caption{
439: \ifx\@captype\xtable
440: \else%
441: \ifx\theletter\xrelax%
442: \global\xfirsttimetrue
443: \ifcontinued\global\continuedfalse\else\refstepcounter\@captype\fi%
444: \else%
445: \ifxfirsttime\global\xfirsttimefalse%
446: %
447: \ifcontinued\global\continuedfalse
448: \else%
449: \refstepcounter\@captype\fi
450: %
451: \fi\fi\fi%
452: \edef\@currentlabel{\expandafter\csname p@\@captype\endcsname%
453: \expandafter\csname the\@captype\endcsname}%
454: \xdef\currcaptype{\@captype}%
455: \global\continuedfalse\@dblarg{\@caption\@captype}}
456:
457: \def\zzzcaption{\textwidth=13pc
458: \ifx\@captype\xtable
459: \else%
460: \ifx\theletter\xrelax%
461: \global\xfirsttimetrue
462: \ifcontinued\global\continuedfalse\else\refstepcounter\@captype\fi%
463: \else%
464: \ifxfirsttime\global\xfirsttimefalse%
465: %
466: \ifcontinued\global\continuedfalse
467: \else%
468: \refstepcounter\@captype\fi
469: %
470: \fi\fi\fi%
471: \edef\@currentlabel{\expandafter\csname p@\@captype\endcsname%
472: \expandafter\csname the\@captype\endcsname}%
473: \xdef\currcaptype{\@captype}%
474: \global\continuedfalse\@dblarg{\@caption\@captype}}
475:
476: \def\sptabcaption{\ifx\theletter\xrelax%
477: \global\xfirsttimetrue\ifcontinued\global\continuedfalse\else%
478: \refstepcounter\@captype\fi\else%
479: \ifxfirsttime\global\xfirsttimefalse%
480: \ifcontinued\global\continuedfalse\else%
481: \refstepcounter\@captype\fi\fi\fi%
482: \global\continuedfalse%
483: \edef\@currentlabel{\expandafter\csname p@\@captype\endcsname%
484: \expandafter\csname the\@captype\endcsname\theletter}%
485: \xdef\currcaptype{\@captype}%
486: \@dblarg{\@caption\@captype}}
487:
488: \def\letteredcaption#1{\gdef\theletter{#1}\caption}
489: \def\letteredcontinuedcaption#1{\gdef\theletter{#1}\continuedcaption}
490:
491: \newskip\abovefigcaptionskip
492: \newskip\abovetabcaptionskip
493: \newskip\abovetableskip
494: \newif\ifcentermultiplelines
495: \newif\ifcentersingleline
496: \newif\ifcentersingletabline
497: \newif\iflineabovetabcaption
498: \newif\iflinebelowtabcaption
499: \newdimen\belowtabcaptionskip
500:
501: \long\def\makecenterlines#1{
502: \setbox1=\vbox{\parindent=0pt
503: \parfillskip=0pt
504: \parshape6
505: .05\hsize .9\hsize
506: .1\hsize .8\hsize
507: .15\hsize .7\hsize
508: .2\hsize .6\hsize
509: .25\hsize .5\hsize
510: .3\hsize .4\hsize
511: #1}%
512: \vbox{\unvbox1\setbox0=\lastbox%
513: \hbox to\hsize{\hss\unhbox0\hss}}}
514:
515: \def\tabfontswitch{%
516: \ifx\@captype\xtable\tablecaptextfont\else\captiontextfont\fi}
517:
518: \def\tabnameswitch{\ifx\@captype\xtable%
519: \expandafter\ifx\csname tablecapnamefont\endcsname\relax%
520: \captionnamefont\else\tablecapnamefont\fi\else\captionnamefont\fi}
521:
522: \long\def\@makecaption#1#2{%
523: \dimen0=\textheight \advance\dimen0 by-\textwidth
524: \iflandscape\hsize=\textheight\else \hsize=\textwidth\fi
525: %
526: \ifx\@captype\xtable% TABLE CAPTIONS
527: \vskip\abovetabcaptionskip%
528: %
529: \iflandscape\moveright-.5\dimen0\fi%
530: \vbox{\hbox to\textwidth{\hfill\captionsize\tabnameswitch#1%
531: \ifturnoffdot---{\it Continued}\hskip4pt\else.\fi\hfill}}
532: %
533: \setbox\@tempboxa\hbox{\tabfontswitch#2}%
534: \ifturnoffdot\else
535: \vskip1pt
536: \ifdim \wd\@tempboxa >\textwidth
537: {\hbadness10000
538: \vskip4pt
539: \tablecaptextfont \tolerance=50
540: \hyphenpenalty10000
541: \makecenterlines{#2}
542: }
543: \else
544: \vskip1pt
545: \hbox to\textwidth{\hfill\tablecaptextfont#2\hfill}
546: \fi
547: \fi
548: \else% FIGURE CAPTIONS
549: \setbox\@tempboxa\hbox{\captionsize\tabnameswitch#1.~\tabfontswitch#2}%
550: \vskip\abovefigcaptionskip
551: \ifdim \wd\@tempboxa >.9\textwidth
552: %
553: \iflandscape\moveright-.5\dimen0\fi%
554: \vbox{\captionsize\tabnameswitch\hskip\saveparindent\relax#1%
555: \ifturnoffdot---{\it Continued}\hskip4pt\else.\fi~\tabfontswitch#2}
556: %
557: \else
558: \iflandscape\moveright-.5\dimen0\fi%
559: \vbox{\hbox to\textwidth{\hfill\captionsize\tabnameswitch#1%
560: \ifturnoffdot---{\it Continued}\else.\fi~\tabfontswitch#2\hfill}}
561: \fi
562: \fi%
563: %
564: \global\everymath{}
565: \edef\@currentlabel{\expandafter\csname p@\@captype\endcsname%
566: \expandafter\csname the\@captype\endcsname\theletter}%
567: %
568: \gdef\theletter{\relax}%
569: \ifx\@captype\xtable
570: \iflinebelowtabcaption\vskip\belowtabcaptionskip\fi
571: \vskip\abovetableskip\fi
572: \global\turnoffdotfalse\relax}
573:
574: %%%% side by side captions
575:
576: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
577: %%%% to use:
578: % \begin{figure or table} \sidebyside{}{} \end{figure or table}
579: %
580: % \begin{table}
581: % \sidebyside{\caption{table caption} first table}
582: % {\caption{table caption} second table}
583: % \end{table}
584:
585: % or
586:
587: % \begin{figure}
588: %\vskip<dimen>
589: % \sidebyside{\caption{first fig caption}}
590: % {\caption{second fig caption}}
591: % \end{figure}
592:
593: % Or, if you want different spaces above the two
594: % figure captions, you can put the \vskip or \vspace
595: % <inside> the {}{}, ie.:
596:
597: % \begin{figure}
598: % \sidebyside{\vskip<dimen>\caption{fig caption}}
599: % {\vskip<dimen>\caption{fig caption}}
600: % \end{figure}
601:
602: % To call for line breaks, you can use \\ , but
603: % also supply [], i.e., \caption[]{asdf}.
604: % This will send whatever is in [] to the List of Tables. If
605: % you are not using that you can just have facing square
606: % brackets. If you are using List of Tables, you can supply
607: % a title without \\ in it:
608: % \caption[$hA_3f_4K_2l_5$ 60-01-05]{$hA_3f_4K_2l_5$\\ 60-01-05}}
609:
610: % If you are not using List of Tables, just supply []'s, i.e.,
611: %\begin{figure}[h]
612: %\vspace{15pc}
613: %\sidebyside{
614: %\caption[]{$hA_3f_4K_2l_5$\\ 60-01-05}}
615: %{\caption[]{$hD_8p_4F_xd_7$\\ 60-01-10}}
616: %\end{figure}
617:
618: % xref labels work the same as normally:
619: %\begin{figure}[h]
620: %\vspace{4pc}
621: %\sidebyside{\caption{Hexiamond board.\label{three}}}
622: %{\caption{O'Beirne's?\label{four}}}
623: %\end{figure}
624: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
625:
626: \def\specialendtable{\vskip1sp\end@float}
627:
628: \long\def\sidebyside#1#2{%
629: \ifx\@captype\xtable
630: \let\endtable\specialendtable\fi
631: \hbox to27pc{\hsize13pc \textwidth=13pc
632: \vtop{\ifx\@captype\xtable\startsidebysidetable\fi
633: \hsize13pc \textwidth=13pc
634: \parindent=0pt
635: %\centering
636:
637: #1\vskip1sp
638: \ifx\@captype\xtable\endsidebysidetable\fi
639: }\hfill\vtop{\ifx\@captype\xtable\startsidebysidetable\fi
640: \hsize13pc
641: \textwidth=13pc
642: \columnwidth=\hsize
643: \parindent=0pt
644: %\centering
645: #2
646:
647: \ifx\@captype\xtable\endsidebysidetable\fi}}}
648:
649:
650: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
651: %% iii) Tables. Ruled lines added to top or bottom of table.
652: %% Table content will extend to the left and right of columns,
653: %% no extra horizontal space left.
654:
655: \long\def\@caption#1[#2]#3{\par
656: \begingroup
657: \@parboxrestore
658: \if@minipage \@setminipage \fi
659: \normalsize
660: \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces\hskip4pt #3}\par
661: \endgroup}
662:
663: \def\catchlabel{}
664:
665: \def\savetable{\@float{table}}
666: \let\endsavetable\end@float
667:
668: %% Made \begin{specialtable}... \end{specialtable} for cases in which there
669: %% is a tabular inside another tabular, or for when author wants to
670: %% use \begin{table}...\end{table} with something other than
671: %% \begin{tabular}...\end{tabular} in it.
672:
673: \def\specialtable{\def\@captype{table}%
674: \let\caption\sptabcaption
675: \let\tabular\savetabular\let\endtabular\saveendtabular%
676: \@float{table}}
677: \def\endspecialtable{\ifnobottomtabline\global\nobottomtablinefalse\else
678: \vskip6pt
679: \fi\end@float}
680:
681:
682: \newif\iffullwidthtable
683: \def\table{\def\tabular{\tiny\xtabular}
684: \let\endtabular\endxtabular
685: \long\def\tablenotes##1{\def\thetabnotes{{\vskip1sp
686: \leftskip=6pt \parindent=-6pt \rightskip=0pt \parfillskip=0pt plus 1fil
687: \tablenotesize##1\vskip1sp}}}
688: \expandafter\def\csname tabular*\endcsname ##1{%
689: \global\setbox\savecurrtable\hbox\bgroup\def\@halignto{to ##1}\@tabular}
690: \expandafter \let \csname endtabular*\endcsname = \endxtabular
691: \def\label##1{\gdef\catchlabel{##1}}%
692: \def\caption##1{\gdef\catchcaption{##1}}%
693: \tabletextsize\@float{table}}
694:
695: \let\saveendtable\endtable
696:
697: \newif\ifnobottomtabline
698: \def\nobottomline{\global\nobottomtablinetrue}
699: \let\nobottomlines\nobottomline
700:
701: \def\startsidebysidetable{\def\tabular{\tiny\xtabular}
702: \let\endtabular\endxtabular
703: \long\def\tablenotes##1{\def\thetabnotes{{\vskip1sp
704: \leftskip=6pt \parindent=-6pt \rightskip=0pt \parfillskip=0pt plus 1fil
705: \tablenotesize##1\vskip1sp}}}
706: \expandafter\def\csname tabular*\endcsname ##1{%
707: \global\setbox\savecurrtable\hbox\bgroup\def\@halignto{to ##1}\@tabular}
708: \expandafter \let \csname endtabular*\endcsname = \endxtabular
709: \def\label##1{\gdef\catchlabel{##1}}%
710: \def\caption##1{\gdef\catchcaption{##1}}%
711: \tabletextsize%\@float{table}
712: }
713:
714: \def\endsidebysidetable{%
715: \ifx\catchcaption\empty\else
716: \ifx\theletter\xrelax
717: \global\xfirsttimetrue\ifcontinued\global\continuedfalse\else
718: \refstepcounter{table}\fi\else
719: \ifxfirsttime\global\xfirsttimefalse\ifcontinued\global\continuedfalse
720: \else\refstepcounter{table}\fi\fi\fi\fi
721: \vskip1sp
722: \noindent
723: \iflandscapetable
724: \dimen0=\textheight
725: \advance\dimen0 by-\textwidth
726: \hsize=\textheight\else\hsize=\textwidth\ifll\else\hskip-.5\dimen0 \fi
727: \fi%
728: \hbox to\hsize{\hss%
729: \vbox{\ifdim\wd\savecurrtable>0pt%
730: \iffullwidthtable\hsize=\textwidth \centering\else%
731: \hsize=\wd\savecurrtable\fi\fi%
732: \ifx\catchcaption\empty\else\vskip1sp{\savecaption{\catchcaption}}\fi%
733: %
734: \ifdim\wd\savecurrtable>0pt\relax%
735: \dimen0=\wd\savecurrtable
736: %% center table:
737: \hbox to\textwidth{\hss\unhbox\savecurrtable\hss}%
738: \vskip3pt
739: \hbox to\textwidth{\hss\vtop{\parindent=0pt
740: \hsize=\dimen0\thetabnotes}\hss}%
741: \gdef\thetabnotes{\relax}
742: \else\vskip1sp\fi
743: }\hss}%
744: %
745: \ifx\catchlabel\empty\else%
746: \xdef\@currentlabel{\thetable\theletter}%
747: \savelabel{\catchlabel}\fi%
748: \gdef\@currentlabel{}%
749: \gdef\catchlabel{}%
750: \gdef\catchcaption{}%
751: %\saveendtable%
752: \global\wd\savecurrtable=0pt}
753:
754: \def\endtable{%
755: \ifx\catchcaption\empty\else
756: \ifx\theletter\xrelax
757: \global\xfirsttimetrue\ifcontinued\global\continuedfalse\else
758: \refstepcounter{table}\fi\else
759: \ifxfirsttime\global\xfirsttimefalse\ifcontinued\global\continuedfalse
760: \else\refstepcounter{table}\fi\fi\fi\fi
761: \vskip1sp
762: \noindent
763: \iflandscapetable
764: \dimen0=\textheight
765: \advance\dimen0 by-\textwidth
766: \hsize=\textheight\else\hsize=\textwidth\ifll\else\hskip-.5\dimen0 \fi
767: \fi%
768: \hbox to\hsize{\hss%
769: \vbox{\ifdim\wd\savecurrtable>0pt%
770: \iffullwidthtable\hsize=\textwidth \centering\else%
771: \hsize=\wd\savecurrtable\fi\fi%
772: \ifx\catchcaption\empty\else\vskip1sp{\savecaption{\catchcaption}}\fi%
773: %
774: \ifdim\wd\savecurrtable>0pt\relax%
775: \dimen0=\wd\savecurrtable
776: %% center table:
777: \hbox to\textwidth{\hss\unhbox\savecurrtable\hss}%
778: \vskip3pt
779: \hbox to\textwidth{\hss\vtop{\parindent=0pt
780: \hsize=\dimen0\thetabnotes}\hss}%
781: \gdef\thetabnotes{\relax}
782: \else\vskip1sp\fi
783: }\hss}%
784: %
785: \ifx\catchlabel\empty\else%
786: \xdef\@currentlabel{\thetable\theletter}%
787: \savelabel{\catchlabel}\fi%
788: \gdef\@currentlabel{}%
789: \gdef\catchlabel{}%
790: \gdef\catchcaption{}%
791: \saveendtable%
792: \global\wd\savecurrtable=0pt}
793:
794:
795: \long\def\tablenotes#1{\ifvmode\ifdim\lastskip>0pt\vskip-\lastskip\fi\fi%
796: \vskip3pt%
797: {\leftskip=6pt \parindent=-6pt \rightskip=0pt \parfillskip=0pt plus 1fil%
798: \tablenotesize#1\vskip1sp}\vskip1sp}
799:
800: \let\thetabnotes\relax
801:
802: \let\savecaption\caption
803: \let\catchcaption\empty
804: \newbox\savecurrtable
805:
806: \let\savetabular\tabular
807: \let\saveendtabular\endtabular
808:
809: \newskip\abovetabularskip
810: \newskip\belowtabularskip
811:
812: \def\tabular{\vskip\abovetabularskip\vbox\bgroup\parindent=0pt\savetabular}
813: \def\endtabular{\saveendtabular\egroup\vskip\belowtabularskip}
814:
815: \def\xtabular{\global\setbox\savecurrtable\hbox\bgroup%
816: \tabletextsize\unskip\savetabular}
817: \def\endxtabular{\saveendtabular\egroup}
818:
819: \def\xtable{table}
820:
821: \def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule
822: height\arraystretch \ht\strutbox
823: depth\arraystretch \dp\strutbox
824: width\z@}\@mkpream{#2}\edef\@preamble{\halign \noexpand\@halignto
825: \bgroup%
826: \tabskip\z@\@arstrut\@preamble
827: \ifx\@captype\xtable\hskip-\tabcolsep\fi%% <==== Changed
828: \tabskip\z@ \cr}%
829: \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox%
830: \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi%
831: \bgroup\let\par\relax%
832: \let\@sharp##\let\protect\relax \lineskip\z@\baselineskip\z@\@preamble}
833:
834: \def\new@tabacol{\edef\@preamble{\@preamble\hskip0pt}}
835:
836: \def\@tabclassz{\ifcase \@lastchclass\@acolampacol%
837: \or \@ampacol \or
838: \or \or \@addamp \or \@acolampacol\or \@firstampfalse
839: \ifx\@captype\xtable \new@tabacol\else\@tabacol \fi%
840: \fi%
841: \edef\@preamble{\@preamble%
842: \ifcase \@chnum%
843: \hfil\ignorespaces\@sharp\unskip\hfil%
844: \or \ignorespaces\@sharp\unskip\hfil%
845: \or \hfil\hskip\z@ \ignorespaces\@sharp\unskip\fi}}
846:
847: \let\savehline\hline
848:
849: \def\hline{\noalign{\vskip3pt\iffullwidthtable \hrule width\textwidth
850: height .5pt\else\hrule height .5pt\fi%
851: \vskip3pt}}
852:
853:
854: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
855: %% iv) Landscape figures and tables
856:
857: \newif\iflandscape
858: \newif\iflandscapetable
859:
860: \def\landscapefigure{\clearpage\global\landscapetrue
861: \thispagestyle{empty}
862: \figure[h]\vskip\textwidth\relax}
863:
864: \def\endlandscapefigure{\endfigure\global\landscapefalse\clearpage}
865:
866: \def\landscapetable{\clearpage\global\landscapetabletrue
867: \thispagestyle{empty}\table[h]}
868:
869: \def\endlandscapetable{\endtable
870: \global\landscapetablefalse
871: \clearpage}
872:
873: \def\today{\ifcase\month\or
874: January\or February\or March\or April\or May\or June\or
875: July\or August\or September\or October\or November\or December\fi
876: \space\number\day, \number\year}
877:
878: \newif\ifdraft
879: \def\draft{\global\drafttrue
880: \def\@oddfoot{\vtop to 0pt{\parindent=0pt \hsize=\textwidth \everypar{}
881: \vskip38pt\draftfont
882: D R A F T\hfill\today, \realtime\hfill D R A F T\global\titlefalse\vss}}
883: \def\@evenfoot{\@oddfoot}\ifll\normalsize
884: \else\normalsize\@normalsize\fi}
885:
886: \def\fix{\ifcase\oldtime 0\or0\or0\or%
887: 0\or0\or0\or0\or0\or0\or0\fi}
888: \def\fixtiming{\ifcase\timing 0\or0\or0\or%
889: 0\or0\or0\or0\or0\or0\or0\fi}
890: \newcount\timing
891: \newcount\hourcount
892: \newcount\oldtime
893:
894: \def\realtime{\timing=\time \oldtime=\time
895: \ifnum\timing>60 \divide\timing by 60
896: \hourcount=\the\timing
897: \multiply\timing by 60
898: \advance\oldtime by-\timing
899: \ifnum\hourcount<12 \number\hourcount:\fix\number\oldtime am\fi%
900: \ifnum\hourcount=12 \number\hourcount:\fix\number\oldtime pm\fi%
901: \ifnum\hourcount>12 \advance\hourcount by-12
902: \number\hourcount:\fix\number\oldtime pm\fi
903: \else12:\fixtiming\number\timing am\fi}
904:
905:
906: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
907: %%%%%
908: %% Generic macros to make specific style possible:
909:
910: %% 1) Running Head and Folio
911: %% 2) Article title page, including capability for multiple \thanks,
912: %% end article.
913: %% 3) Theorems, Proofs, Examples, etc.
914: %% 4) Algorithm
915: %% 5) Footnotes, endnotes
916: %% 6) Acknowledgments
917: %% 7) Appendices
918: %% 8) References
919: %% 9) Font tools
920:
921: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
922:
923: \newif\iffootlinefolio
924: \newif\iffootlinehrule
925:
926:
927: %%%%%%
928: %% 1) Running Head and Folio
929:
930: \def\ps@headings{%
931: \def\@oddfoot{\jfootline}\def\@evenfoot{\jfootline}
932: \def\@evenhead{\jheadline}%
933: \def\@oddhead{\jheadline}%
934: }
935:
936: \ps@headings
937: \pagenumbering{arabic}
938: \onecolumn
939:
940: %%%%%%
941: %% 2) Article title page, including capability for multiple \thanks,
942: %% end article.
943:
944: \newcount\totpages
945: \def\mrule{\raise.75ex\hbox{\vrule width6pt height.5pt}}
946:
947: \def\lastpage{%
948: \expandafter\ifx\csname endpage\the\currarticlenumber\endcsname\relax%
949: ?? \else
950: \ifnum\c@page=%
951: \expandafter\csname endpage\the\currarticlenumber\endcsname\else\mrule%
952: \csname endpage\the\currarticlenumber\endcsname\fi\fi}
953:
954: \newif\ifleadingzeros
955: \def\startingpage{%
956: \xdef\firstpage{\ifleadingzeros\ifnum\c@page<10 000\the\c@page\else%
957: \ifnum\c@page<100 00\the\c@page\else%
958: \ifnum\c@page<1000 0\the\c@page\else\the\c@page\fi\fi\fi
959: \else\the\c@page\fi}
960: \def\thepages{\firstpage\relax\lastpage\relax}}
961:
962: \def\realcopyright{%
963: \ooalign {\hfil\raise .2ex\hbox{c}\hfil\crcr%
964: \raise.2ex\hbox{$\scriptstyle\bigcirc$}}}
965:
966: \def\smcopyright{%
967: \ooalign {\hfil\raise .3ex\hbox{$\scriptstyle\rm c$}\hfil\crcr%
968: \raise.2ex\hbox{$\scriptstyle\bigcirc$}}}
969:
970: \def\yearofpublication#1{\def\theyear{#1}}
971: \def\volume#1{\def\thevolume{#1}}
972: \def\issuenumber#1{\def\theissuenumber{#1}}
973: \def\cccline#1{\def\thecccline{#1}}
974:
975: \yearofpublication{Year ??}
976: \volume{Volume ??}
977: \issuenumber{Number ??}
978:
979: \def\received#1{\def\thereceived{#1}}
980: \def\revised#1{\def\therevised{#1}}
981: \def\correspondence#1{\def\thecorrespondence{#1}}
982: \def\grantinfo#1{\def\thegrantinfo{Contract grant sponsor: #1}}
983:
984: \def\thereceived{}
985: \def\therevised{}
986: \def\theaccepted{}
987: \def\thecorrespondence{}
988: \def\thegrantinfo{}
989:
990: \cccline{???} %% need to be used once for each journal, do not reset
991: %% for each article.
992:
993:
994: %% To be used in Academic Press part of file:
995:
996: \newif\ifauthorUC
997: \newif\iftitleUC
998:
999: \def\authorrunninghead#1{\def\theauthors{\ifauthorUC\uppercase\fi{#1}}}
1000: \def\titlerunninghead#1{\def\thetitle{\iftitleUC\uppercase\fi{#1}}}
1001:
1002: \def\and{\vskip1pt{\centering and \vskip6pt}}
1003:
1004: %% Reset default values
1005:
1006: \def\resetdefaults{%
1007: \gdef\theauthors{! Please
1008: write
1009: {\tt\string\authorrunninghead\string{\string<Author Name(s)\string>\string}}
1010: in file !}
1011: \gdef\thetitle{! Please
1012: write
1013: {\tt\string\titlerunninghead\string{\string<(Shortened) Article Title\string>%
1014: \string}} in file !}
1015: \yearofpublication{???}
1016: \volume{???}
1017: \gdef\thereceived{}
1018: \gdef\therevised{}
1019: \gdef\theaccepted{}
1020: \gdef\thededication{}
1021: \gdef\thecorrespondence{}
1022: \gdef\thecommline{}
1023: \gdef\thegrantinfo{}
1024: \gdef\thejourname{Journal Name}
1025: \gdef\thearticlenumber{HA-00000}
1026: }
1027:
1028: \resetdefaults
1029:
1030: \newdimen\abovetitleskip
1031: \newdimen\belowtitleskip
1032: \newdimen\abovesubtitleskip
1033: \newdimen\belowsubtitleskip
1034: \newdimen\aboveauthorskip
1035: \newdimen\belowauthorskip
1036: \newdimen\aboveaffilskip
1037: \newdimen\belowaffilskip
1038:
1039:
1040: %% Making \thanks work multiple times in the title and in
1041: %% authors line.
1042:
1043: \let\savefootnotetext\footnotetext
1044: \newcount\thanksnum
1045: \newcount\dothanks
1046: \def\dothankssymbol{\ifcase\thanksnum\or*\or$\dagger$\or
1047: $\ddagger$\or $\mathchar "278$\or $\mathchar "27B$\or $\|$\or $\dagger\dagger$
1048: \or $\ddagger\ddagger$ \else\@ctrerr\fi\relax}
1049:
1050: \newcount\thankscounter
1051: \def\thanks#1{\global\advance\thanksnum by1\relax
1052: \global\advance\dothanks by1
1053: \setbox1=\hbox{X}\vbox to\ht1{\hbox{\dothankssymbol}\vfill}}
1054:
1055: \long\def\authorthanks{\futurelet\next\lookforast}
1056: \def\lookforast{\ifx\next* \long\def\go##1##2{\titlethanks{##2}}
1057: \else\let\go\xauthorthanks\fi\go}
1058:
1059: \long\def\xauthorthanks#1{\global\advance\thanksnum by1\relax
1060: \global\advance\dothanks by1
1061: \raise.8ex\hbox{\/\footnotesize\dothankssymbol}}
1062:
1063: \long\def\maketemp{\futurelet\next\lookmaketemp}
1064: \def\lookmaketemp{\ifx\next*\long\def\go##1##2{\titlemaketemp{##2}}
1065: \else\let\go\xmaketemp\fi\go}
1066:
1067: \long\def\xmaketemp#1{\global\advance\thankscounter by1\relax
1068: \expandafter\gdef\csname tempthanks\the\thankscounter\endcsname{#1}}
1069:
1070: %%%%%%%%%%%%%%%%%%%%
1071: %% Separate \thanks environment. Now used for unnumbered footnotes !
1072:
1073: \newcount\titlethanksnum
1074: \newcount\dotitlethanks
1075: \newcount\titlethankscounter
1076:
1077: \long\def\titlethanks#1{\global\advance\titlethanksnum by1\relax
1078: \global\advance\dotitlethanks by1}
1079:
1080: \long\def\titlethankssymbol{\titlethanksfont\the\thanksnum}
1081:
1082: \long\def\titlemaketemp#1{\global\advance\titlethankscounter by1\relax
1083: \expandafter\gdef\csname temptitlethanks\the\titlethankscounter\endcsname{#1}}
1084: %%%%%%%%%%%%%%%%%%%%
1085:
1086: \newif\iftitle
1087:
1088: \def\StartOnNewPage{\clearpage
1089: \ifodd\c@page\else\null\clearpage\fi}
1090:
1091: \newcount\currarticlenumber
1092:
1093: \long\def\subtitle#1{\vbox{\vskip\abovesubtitleskip
1094: \let\thanks\authorthanks
1095: \centering\def\\ {\vskip1pt}%
1096: {\large\baselineskip=15pt\subtitlefont#1\vrule depth \belowsubtitleskip
1097: width0pt height 0pt
1098: \vskip1sp}%
1099: }%
1100: \setbox1=\hbox{\let\\ \relax\let\thanks\maketemp #1}}
1101:
1102: \long\def\title#1{\global\currarticlenumber=\the\c@page
1103: \startingpage
1104: \global\titletrue
1105: %
1106: %
1107: \vbox{\vskip\abovetitleskip}
1108: {%
1109: \let\thanks\authorthanks
1110: \centering\def\\ {\vskip1pt}%
1111: \large%\boldmath
1112: \titlefont\baselineskip16pt#1\vrule depth\belowtitleskip
1113: width0pt height 0pt
1114: \vskip1sp%
1115: }%
1116: \setbox1=\hbox{\let\\ \relax\let\thanks\maketemp #1}
1117: \normalsize}
1118:
1119: \def\specialsection#1{\newpage
1120: \global\currarticlenumber=\the\c@page
1121: \startingpage
1122: \global\titletrue
1123: \global\noheadlinetrue
1124: %
1125: %
1126: \vbox{\vskip\abovetitleskip}
1127: {%
1128: \let\thanks\authorthanks
1129: \centering\def\\ {\vskip1pt}%
1130: \medium\boldmath\titlefont\baselineskip16pt\uppercase{#1}
1131: \vskip3pc
1132: }%
1133: \setbox1=\hbox{\let\\ \relax\let\thanks\maketemp #1}
1134: \normalsize}
1135:
1136: \newif\ifCenterArticleHead
1137:
1138: \long\def\email#1{\vskip-2pt\vskip-\belowaffilskip
1139: \hbox to \textwidth{\hss \emailfont E-mail: #1\vrule
1140: depth10pt width0pt\hss}}
1141:
1142: \long\def\dedication#1{\def\thededication{\uppercase{#1}}}
1143: \def\xdedication{\vskip6pt\hbox to \textwidth{\hss \dedicationfont
1144: \thededication\hss}}
1145:
1146: \long\def\affil#1{%
1147: \hbox to\textwidth{\hss\vbox{\centering\hsize=.9\textwidth
1148: {\let\thanks\authorthanks\frenchspacing\baselineskip=10pt\affilfont#1\vrule
1149: width0pt depth\belowaffilskip\vskip1sp}}\hss}%
1150: \setbox1=\hbox{\let\thanks\maketemp#1}}
1151:
1152: \long\def\commline#1{\def\thecommline{%
1153: \vskip3pt\hbox to\textwidth{\let\thanks\authorthanks%
1154: \setbox1=\hbox{\let\thanks\maketemp#1}\hfill
1155: \communicatedfont #1\hfill}\vskip8pt}}
1156:
1157: \def\thecommline{}
1158:
1159: \newif\ifabstractname
1160: \newdimen\aboveabstractskip
1161: \newdimen\belowabstractskip
1162: \newdimen\belowabstractnameskip
1163:
1164: \newdimen\abstractmargin
1165: \abstractmargin=0pt
1166:
1167: \newdimen\abovekeywordsskip
1168:
1169: \def\keywords#1{{\vskip\abovekeywordsskip
1170: \indent{\keywordnamefont\unskip Key Words\/:\ \ }
1171: \small\keywordfont\unskip#1}}
1172:
1173: %%%%%%%%%%%%
1174: %% Begin, End article
1175:
1176: \newskip\abovereceivedskip
1177: \newskip\aboverevisedskip
1178: \newskip\aboveacceptedskip
1179:
1180: \def\footnotefont{\rm} %% default, may be redefined in particular .sty file.
1181:
1182:
1183: %%%%%%%%%%%
1184: %% 3) Theorems, Proofs, Examples, etc.
1185:
1186: \newif\ifperiodaftertheorem
1187: \def\MakePeriodAfterTheorem{\global\periodaftertheoremtrue}
1188:
1189: %
1190: \newif\ifthmsectionnum
1191:
1192: \newtheorem{theorem}{Theorem}
1193:
1194: %% for users-- to turn on section numbers in theorem number:
1195: \def\theoremsectionnumbers{\global\thmsectionnumtrue
1196: \@addtoreset{theorem}{section}
1197: \@addtoreset{lemma}{section}
1198: \@addtoreset{proposition}{section}
1199: \@addtoreset{property}{section}
1200: \@addtoreset{corollary}{section}
1201: }
1202:
1203:
1204: %% for users-- to turn off section numbers in theorem number:
1205: \def\notheoremsectionnumbers{\global\thmsectionnumfalse
1206: \theorem{theorem}{Theorem}[section]}
1207:
1208: \theoremsectionnumbers
1209: %\notheoremsectionnumbers
1210:
1211: \newskip\abovetheoremskip
1212: \newskip\belowtheoremskip
1213: \abovetheoremskip=6pt plus .1pt
1214: \belowtheoremskip=6pt plus .1pt
1215:
1216: \def\@xnthm#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
1217: {\@definecounter{#1}\@newctr{#1}[#3]%
1218: \expandafter\xdef\csname the#1\endcsname{%
1219: \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
1220: \@thmcounter{#1}}%
1221: \global\@namedef{#1}{\@thm{#1}{#2}}%
1222: \global\@namedef{end#1}{\@endtheorem}}}
1223:
1224:
1225: %%%% Redefine these two in particular style if necessary.
1226:
1227: \def\TheoremTypeEnv#1{\gdef\saveone{#1}\futurelet\next\tlookforbracket}
1228:
1229: \def\tlookforbracket{\ifx\next[\let\go\xTheoremWithTitle
1230: \else\let\go\xTheoremTypeEnv\fi\go}
1231:
1232: \def\xTheoremTypeEnv{\ifvmode\vskip-\lastskip\fi
1233: \vskip\abovetheoremskip
1234: \indent{\theoremfont\saveone%
1235: \ifperiodaftertheorem\@thmcountersep\fi}\enskip\hfourbfont}
1236:
1237: \def\xTheoremWithTitle[#1]{\ifvmode\vskip-\lastskip\fi
1238: \vskip\abovetheoremskip
1239: \noindent{\theoremfont\saveone%
1240: \quad #1\ifperiodaftertheorem\@thmcountersep\fi}\enskip \hfourbfont}
1241:
1242: \def\ExampleTypeEnv#1{\trivlist \item[\hskip \labelsep{\it#1:}]}
1243:
1244: %%%%
1245:
1246: \def\@endtheorem{\if@newlist\@noitemerr\fi
1247: \if@inlabel\indent\fi
1248: \ifhmode\unskip \par\fi
1249: \everypar={}
1250: \vskip\belowtheoremskip
1251: \indent
1252: }
1253:
1254: %%% Demo and Proclaim
1255:
1256: \def\demo#1{\vskip\abovetheoremskip\indent{\demofont #1.}\quad\relax}
1257: \let\enddemo\@endtheorem
1258:
1259: \let\proclaim\TheoremTypeEnv
1260: \let\endproclaim\@endtheorem
1261:
1262: %%%%%%%%%%%
1263: %% 4) Algorithm
1264:
1265: \newcount\algoline
1266: \def\doalgoskip{\vskip6pt}
1267:
1268: \def\lookatalgo{\vskip1sp\ifx\next[\let\go\xalgoinsides\else
1269: \let\go\yalgoinsides\fi\go}
1270:
1271: \newcount\algocount
1272: \def\algorithm{\vskip12pt
1273: \obeyspaces
1274: \global\algoline=0
1275: \global\advance\algocount by1
1276: \futurelet\next\lookatalgo}
1277:
1278: \def\numberedpars{\global\everypar={\ifnonumline
1279: \ifnevernums\else
1280: \global\nonumlinefalse\fi\else
1281: \global\advance\algoline by1
1282: \hskip\parindent\hbox to 0pt{\hss\rm\the\algoline.\hskip8pt}\fi}}
1283:
1284: \def\xalgoinsides[#1]{\noindent%
1285: \hskip\parindent{\theoremfont Algorithm \the\algocount\ (#1).}%
1286: \vskip12pt
1287: \bgroup
1288: \let\\ \doalgoskip
1289: \let\note\algonote
1290: \obeylines\obeyspaces
1291: \numberedpars
1292: \gdef\@currentlabel{\the\algoline}}
1293:
1294: \def\yalgoinsides{\noindent\hskip\parindent{\theoremfont Algorithm \the\algocount.}
1295: \vskip12pt
1296: \bgroup
1297: \let\note\algonote
1298: \let\\ \doalgoskip
1299: \obeylines\obeyspaces
1300: \numberedpars
1301: \gdef\@currentlabel{\the\algoline}}
1302:
1303: \def\endalgorithm{\vskip1sp\egroup\gdef\@currentlabel{}
1304: \vskip12pt\relax\global\nevernumsfalse
1305: \global\nonumlinefalse
1306: \global\everypar={}}
1307:
1308: \def\algonote#1{\hfill{\it #1}}
1309:
1310: \newif\ifnonumline
1311: \newif\ifnevernums
1312: \def\nonumline{\global\nonumlinetrue\relax}
1313:
1314: \def\nonumalgorithm{\global\nonumlinetrue\global\nevernumstrue\relax
1315: \algorithm}
1316:
1317: \let\endnonumalgorithm\endalgorithm
1318:
1319: %%%%%%%%%%
1320: %% 5) Footnotes, endnotes
1321:
1322: \def\endnote#1{\global\advance\footnum by 1\relax$^{\the\footnum}$%
1323: \long\expandafter\gdef\csname foot\the\footnum\endcsname{%
1324: \vtop{\footnotesize\hsize=\textwidth\leftskip=12pt\relax\parindent=-12pt
1325: \indent\hbox to12pt{\the\footnum.\hfill}{#1\strut\vskip1sp}}\vskip1pt}}
1326:
1327: \def\endnotetext#1{\global\advance\footnum by 1\relax
1328: \long\expandafter\gdef\csname foot\the\footnum\endcsname{%
1329: \vtop{\footnotesize\hsize=\textwidth\leftskip=12pt\relax\parindent=-12pt
1330: \indent\hbox to12pt{\the\footnum.\hfill}{#1\strut\vskip1sp}}\vskip1pt}}
1331:
1332: \def\notes{\ifnum\footnum=0\else
1333: \savefootnum=\footnum
1334: \footnum=0
1335: \savesection*{Notes}%
1336: \noindent\loop\ifnum\savefootnum>\footnum%
1337: \global\advance\footnum by1\relax%
1338: \csname foot\the\footnum\endcsname\relax%
1339: \expandafter\gdef\csname foot\the\footnum\endcsname{\relax}\relax%
1340: \repeat\global\footnum=0\relax\fi}
1341:
1342: %% Write this in a .sty file to have endnotes. Must also alter
1343: %% references to make endnotes print before references.
1344: % \let\footnote\endnote
1345:
1346:
1347: %%%%%%%%
1348: %% 6) Acknowledgments
1349:
1350: \newskip\ackskip
1351:
1352: \def\acknowledgment{\goodbreak\savesection*{Acknowledgment}
1353: \bgroup \footnotesize}
1354:
1355: \def\acknowledgments{\goodbreak\savesection*{Acknowledgments}
1356: \bgroup \footnotesize}
1357:
1358: \def\endacknowledgment{\vskip1sp\egroup}
1359: \def\endacknowledgments{\vskip1sp\egroup}
1360:
1361: %%%%%%%%
1362: %% 7) Appendices
1363: % Appendix takes an argument: \appendix{A}, \appendix{B} or \appendix{}
1364: %
1365:
1366: \newif\ifappendon
1367: \def\applett{A}
1368:
1369: \def\howmany#1#2*{\def\xtwo{#2}}
1370: \newif\ifupperappend
1371:
1372: \def\appendix#1{\global\appendontrue\goodbreak\def\xone{#1}%
1373: \refstepcounter{chapter}%
1374: \refstepcounter{section}%
1375: \global\c@equation=0
1376: \global\c@section=0
1377: \savesection*{\appendixfont\appendixname%
1378: \ifx\xone\empty\gdef\applett{A}\else%
1379: \expandafter\howmany\xone*%
1380: \appendixfont\ifx\xtwo\empty\ #1\gdef\applett{#1}\else%
1381: \unskip:\quad #1\gdef\applett{A}\fi\fi}
1382: }
1383:
1384: \def\appendixtitle#1{\vskip-\lastskip\vskip4pt\savesubsection*{#1}}
1385: \let\titledappendix\appendix
1386:
1387: %%%%%%%%
1388: %% 8) References
1389:
1390: %%%%%% Article Bibliography Using BibTeX
1391:
1392: \def\bblname#1{\def\currentfilename{#1}}
1393:
1394: \def\include#1{\relax\ifnum\@auxout=\@partaux
1395: \@latex@error {\string \include \space cannot be nested}\@eha
1396: \else\gdef\currfile{#1} \@include #1 \fi }
1397:
1398: \def\articlebibliography#1{%
1399: {\let\thebibliography\bibreferences
1400: \let\endthebibliography\endreferences
1401: \@input {\currfile.bbl}}
1402: }
1403:
1404: \def\@biblabel#1{#1.}
1405:
1406: \def\bibitem{\@ifnextchar[\@lbibitem\@bibitem}
1407:
1408: \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]
1409: \if@filesw
1410: {\let\protect\noexpand
1411: \immediate
1412: \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
1413:
1414: \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
1415: {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
1416:
1417: %%%%%%%%
1418: %% 9) Font Tools:
1419: %% PostScript Times Roman text fonts, and Bold Math in large sizes
1420:
1421:
1422: \let\sectiontitlemath\boldmath
1423:
1424: \ifll\else
1425: \gdef\@xxxpt{}
1426: \gdef\xxxpt{\textfont\z@\twfvrm
1427: \scriptfont\z@\twtyrm \scriptscriptfont\z@\svtnrm
1428: \textfont\@ne\twtymi \scriptfont\@ne\twtymi \scriptscriptfont\@ne\svtnmi
1429: \textfont\tw@\twtysy \scriptfont\tw@\twtysy \scriptscriptfont\tw@\svtnsy
1430: \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
1431: %\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
1432: % \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly
1433: % \@boldfalse}\@boldfalse
1434: %\def\boldmath{\@subfont\boldmath\unboldmath}%
1435: \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
1436: \textfont\@ne\tenmi \textfont\tw@\tensy
1437: \textfont\lyfam\tenly \@boldfalse}\@boldfalse
1438: \def\boldmath{\@ifundefined{thirtymib}{\global\font
1439: \thirtymib\@mbi\space at\space \titlesize%\@magscale5
1440: \global\font\thirtysyb\@mbsy\space at \titlesize %\@magscale5
1441: \global\font\thirtylyb\@lasyb\space at \titlesize
1442: %\@magscale5\relax
1443: \@addfontinfo\@xxxpt
1444: {\def\boldmath{\everymath
1445: {\mit}\everydisplay{\mit}\@prtct\@nomathbold
1446: \textfont\@ne\thirtymib \textfont\tw@\thirtysyb
1447: \textfont\lyfam\thirtylyb\@prtct\@boldtrue}}}{}\@xxxpt\boldmath}%
1448: \def\prm{\fam\z@\twfvrm}%
1449: \def\pit{\it\rm}%
1450: \def\psl{\sl\rm}%
1451: \def\pbf{\rm}%
1452: \def\ptt{\rm}%
1453: \def\psf{\@subfont\sf\rm}%
1454: \def\psc{\@subfont\sc\rm}%
1455: \def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly
1456: \scriptfont\lyfam\twtyly \scriptscriptfont\lyfam\svtnly
1457: \@setstrut \bf}
1458: \fi
1459:
1460:
1461: \def\endash{{\the\textfont0--}} %% Need these because PostScript fonts do not
1462: \def\emdash{{\the\textfont0---}}%% make these dashes join together.
1463:
1464:
1465: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1466: %% specific journal
1467: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1468: %%
1469: %% Contents:
1470: %% 1) Fonts
1471: %% 2) Font families
1472: %% 3) Set Dimensions
1473: %% 4) Running Head and Folio
1474: %% 5) Article title page dimensions and parameters
1475: %% 6) Section heads
1476: %% 7) Splitmath
1477: %% 8) Math, figure, theorem counters.
1478: %% 9) Theorem environments
1479: %% 10) Captions
1480: %% 11) Table settings
1481: %% 12) Lists
1482: %% 13) Footnotes
1483: %% 14) Appendices
1484: %% 15) References
1485: %% 16) Received lines
1486:
1487: %%%%%%%%%%%%
1488: %% 1) Fonts
1489:
1490: %% Computer Modern Default Fonts:
1491: %%
1492: \def\timesroman{cmr10 }
1493: \def\timesitalic{cmti10 }
1494: \def\timesbold{cmbx10 }
1495: \def\timesbolditalic{cmbx10 }
1496: \def\helvetica{cmss10 }
1497: \def\smallcaps{cmcsc10 }
1498: \def\courier{cmtt10 }
1499:
1500: %% Fonts For Particular Use:
1501: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1502:
1503: \font\fourteenbit= \timesbolditalic at 12pt
1504: \font\tenbit= \timesbolditalic at 10pt
1505: \font\ninebit= \timesbolditalic at 9pt
1506:
1507: \def\authorfont{\normalsize\rm}
1508: \def\titlefontsize{\medium}
1509: \font\titlefont=\helvetica at 12pt
1510: \font\subtitlefont= \helvetica at 10pt
1511: \font\authorfont= \timesroman at 10pt
1512: \font\titleheadsc=cmcsc10 at 6pt
1513: \font\titlethanksfont=\helvetica at 8pt
1514: \font\cccfont=\timesroman at 7pt
1515: \font\specialsectionfont= \helvetica at 12pt
1516:
1517: \newdimen\titlesize
1518: \titlesize=12pt %% to make bold math in title be the right size.
1519:
1520: \font\affilfont=\timesitalic at 8pt
1521: \font\emailfont=\timesroman at 8pt
1522: \font\communicatedfont=\timesitalic at 8pt
1523: \def\receivedfont{\footnotesize}
1524: \font\dedicationfont=\timesroman at 9pt
1525:
1526: \def\abstractfont{\footnotesize}
1527: \def\abstractnamefont{\footnotesize\rm}
1528: \font\abstractcopyrightfont\timesroman at 6pt
1529: \font\keywordnamefont=\timesitalic at 9pt
1530: \font\keywordfont=\timesroman at 9pt
1531:
1532: \font\foliofont=\timesroman at 10pt
1533: \font\foliofootfont=\timesroman at 8pt
1534: \def\headtextfont{\footnotesize} % headline text font
1535: \def\footnotefont{\footnotesize} %
1536: \def\footlinefont{\small} %
1537:
1538: \font\sectionfont=\timesbold at 10pt
1539: \let\subsectionfont\sectionfont
1540: \font\subsubsectionfont=\timesitalic at 10pt
1541: \font\paragraphfont=\timesitalic at 10pt
1542: \font\subparagraphfont=\timesroman at 10pt %% h4a
1543:
1544: \def\captionnamefont{\footnotesize\bf}
1545: \def\captiontextfont{\footnotesize\rm}
1546: \def\tablecapnamefont{\footnotesize\bf}
1547: \def\tablecaptextfont{\footnotesize\rm}
1548: \def\tabletextsize{\footnotesize}
1549:
1550: \font\theoremfont=cmcsc10 at 9.5pt
1551: \def\theoremtextfont{\it}
1552: \def\demofont{\it}
1553: \def\prooffont{\it}
1554:
1555: \def\hfourbfont{\normalsize\relax}
1556:
1557: \def\appendixfont{\bf}
1558: \font\draftfont\courier at 14pt
1559:
1560: %%%%%%%%%
1561: %% 2) Font Families
1562:
1563: \ifll
1564: \renewcommand{\@ptsize}{}
1565: \renewcommand{\normalsize}{%
1566: \ifdraft
1567: \@setfontsize\normalsize\@xpt{22}%
1568: \else
1569: \@setfontsize\normalsize\@xpt{12}%
1570: \fi%
1571: \abovedisplayskip 12pt plus1pt minus4\p@
1572: \belowdisplayskip=\abovedisplayskip
1573: \abovedisplayshortskip 6pt plus3\p@
1574: \belowdisplayshortskip 6pt plus3\p@ minus3\p@
1575: \let\@listi\@listI\let\bit\tenbit}
1576: %
1577: \newcommand{\small}{%
1578: \ifdraft
1579: \@setfontsize\small\@ixpt{22}%
1580: \else
1581: \@setfontsize\small\@ixpt{12}%
1582: \fi
1583: \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
1584: \belowdisplayskip \abovedisplayskip
1585: \abovedisplayshortskip \z@ plus2\p@
1586: \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
1587: \def\@listi{\leftmargin\leftmargini
1588: \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@
1589: \itemsep \parsep}\let\bit\ninebit}
1590: %
1591: \newcommand{\footnotesize}{%
1592: \ifdraft
1593: \@setfontsize\footnotesize\@viiipt{22}%
1594: \else
1595: \@setfontsize\footnotesize\@viiipt{9.5}%
1596: \fi
1597: \abovedisplayskip 6\p@ plus2\p@ minus4\p@
1598: \belowdisplayskip \abovedisplayskip
1599: \abovedisplayshortskip \z@ plus\p@
1600: \belowdisplayshortskip 3\p@ plus\p@ minus2\p@
1601: \def\@listi{\leftmargin\leftmargini
1602: \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@
1603: \itemsep \parsep}}
1604: %
1605: \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
1606: \newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
1607: \newcommand{\medium}{\@setfontsize\medium\@xipt{12pt}}
1608: \newcommand{\large}{\@setfontsize\large\@xiipt{14}}
1609: \newcommand{\Large}{\@setfontsize\Large\@xivpt{18}}
1610: \newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{22}}
1611: \newcommand{\huge}{\@setfontsize\huge\@xxpt{25}}
1612: \def\HUGE{\titlemath}
1613: %
1614: \@maxdepth\maxdepth
1615: \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
1616: \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
1617: \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
1618: \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
1619: \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
1620: \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
1621: \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
1622: \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
1623: \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
1624: %
1625: \else %% LaTeX2.09
1626: \def\@normalsize{\@setsize\normalsize{13pt}\xpt\@xpt
1627: \ifdraft\baselineskip22pt\fi
1628: \scriptfont\bffam\sevbf \scriptscriptfont\bffam\fivbf %%<<==== makes
1629: % \bf change sizes in sub and superscript
1630: \abovedisplayskip 12pt plus1pt minus4\p@
1631: \belowdisplayskip=\abovedisplayskip
1632: \abovedisplayshortskip 6pt plus3\p@
1633: \belowdisplayshortskip 6pt plus3\p@ minus3\p@
1634: \let\@listi\@listI\let\bit\tenbit}
1635:
1636: \def\small{\@setsize\small{12pt}\ixpt\@ixpt
1637: \ifdraft\baselineskip22pt\fi
1638: \abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
1639: \belowdisplayskip \abovedisplayskip
1640: \abovedisplayshortskip \z@ plus2\p@
1641: \belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
1642: \def\@listi{\leftmargin\leftmargini
1643: \topsep 4\p@ plus2\p@ minus2\p@\parsep 2\p@ plus\p@ minus\p@
1644: \itemsep \parsep}\let\bit\ninebit}
1645: %
1646: \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
1647: \ifdraft\baselineskip22pt\fi
1648: \abovedisplayskip 6\p@ plus2\p@ minus4\p@
1649: \belowdisplayskip \abovedisplayskip
1650: \abovedisplayshortskip \z@ plus\p@
1651: \belowdisplayshortskip 3\p@ plus\p@ minus2\p@
1652: \def\@listi{\leftmargin\leftmargini
1653: \topsep 3\p@ plus\p@ minus\p@\parsep 2\p@ plus\p@ minus\p@
1654: \itemsep \parsep}}
1655:
1656: \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt
1657: \ifdraft\baselineskip22pt\fi}
1658: \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
1659: \def\medium{\@setsize\medium{12pt}\xipt\@xipt}
1660: \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
1661: \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
1662: \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
1663: \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
1664: \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
1665: \def\HUGE{\@setsize\HUGE{25pt}\xxxpt\@xxxpt}
1666: \fi
1667:
1668: %%%%%%%%%%
1669: %% 3) Setting dimensions and parameters
1670:
1671: \textheight = 43pc
1672: \textwidth = 27pc
1673:
1674: \parskip 0pt %plus .1pt
1675: \parindent 10pt
1676: \newdimen\saveparindent
1677: \saveparindent\parindent
1678:
1679: \clubpenalty=10000
1680: \widowpenalty=10000
1681:
1682: \predisplaypenalty=10000
1683:
1684: % PAGE LAYOUT PARAMETERS
1685: %
1686: % \topmargin : Extra space added to top of page.
1687: % @twoside : boolean. T if two-sided printing
1688: % \oddsidemargin : IF @twoside = T
1689: % THEN extra space added to left of odd-numbered
1690: % pages.
1691: % ELSE extra space added to left of all pages.
1692: % \evensidemargin : IF @twoside = T
1693: % THEN extra space added to left of even-numbered
1694: % pages.
1695: % \headheight : height of head
1696: % \headsep : separation between head and text
1697: % \footskip : distance separation between baseline of last
1698: % line of text and baseline of foot.
1699: % Note difference between \footSKIP and \headSEP.
1700: % \textheight : height of text on page, excluding head and foot
1701: % \textwidth : width of printing on page
1702:
1703: % \@textbottom : Command executed at bottom of vbox holding text of page
1704: % (including figures). The \raggedbottom command
1705: % almost \let's this to \vfil (actually sets it to
1706: % \vskip \z@ plus.0001fil). %expanded 18 Jun 86
1707: %
1708: % \@texttop : Command executed at top of vbox holding text of page
1709: % (including figures). Used by letter style; can also
1710: % be used to produce centered pages. Is \let to \relax
1711: % by \raggedbottom and \flushbottom.
1712: %
1713: % Page layout must also initialize \@colht and \@colroom to \textheight.
1714: %
1715: % PAGE STYLE PARAMETERS:
1716: %
1717: % \floatsep : Space left between floats.
1718: % \textfloatsep : Space between last top float or first bottom float
1719: % and the text.
1720: % \topfigrule : Command to place rule (or whatever) between floats
1721: % at top of page and text. Executed in inner vertical
1722: % mode right before the \textfloatsep skip separating
1723: % the floats from the text. Must occupy zero vertical
1724: % space. (See \footnoterule.)
1725: % \botfigrule : Same as \topfigrule, but put after the \textfloatsep
1726: % skip separating text from the floats at bottom of page.
1727: % \intextsep : Space left on top and bottom of an in-text float.
1728: % \@maxsep : The maximum of \floatsep, \textfloatsep and \intextsep
1729: % \@fptop : Glue to go at top of float column -- must be 0pt +
1730: % stretch
1731: % \@fpsep : Glue to go between floats in a float column.
1732: % \@fpbot : Glue to go at bottom of float column -- must be 0pt +
1733: % stretch
1734:
1735: \dimen0=.75in
1736: \advance\dimen0 by 1.5pc
1737:
1738: \hoffset=\dimen0
1739: \topmargin 0in
1740: \headheight 9pt
1741: \headsep 21pt
1742: \topskip = 8.5pt
1743: \footskip 14pt
1744:
1745: \lineskip 1pt
1746: \normallineskip 1pt
1747: \def\baselinestretch{1}
1748:
1749: \oddsidemargin0in
1750: \evensidemargin0in
1751:
1752: \marginparwidth .75in
1753: \marginparsep 7pt
1754:
1755: \columnsep 10pt
1756: \columnseprule 0pt
1757:
1758: \descriptionmargin=32pt
1759:
1760: \footnotesep6pt
1761: \skip\footins 12pt plus .5pt minus 2pt
1762:
1763: \floatsep 12pt plus 2pt minus 2pt
1764: \textfloatsep 20pt plus 2pt minus 4pt
1765: \intextsep 12pt plus 2pt minus 2pt
1766:
1767: %% might be redundant?
1768: \dblfloatsep 12pt plus 2pt minus 2pt
1769: \dbltextfloatsep 20pt plus 2pt minus 4pt
1770: \@fptop 0pt plus 1fil
1771: \@fpsep 8pt plus 2fil
1772: \@fpbot 0pt plus 1fil
1773: \@dblfptop 0pt plus 1fil
1774: \@dblfpsep 8pt plus 2fil
1775: \@dblfpbot 0pt plus 1fil
1776: \marginparpush 5pt
1777:
1778: \@lowpenalty 51
1779: \@medpenalty 151
1780: \@highpenalty 301
1781:
1782: \@beginparpenalty -\@lowpenalty
1783:
1784: \@endparpenalty -\@lowpenalty
1785:
1786: \@itempenalty -\@lowpenalty
1787:
1788: %%%%%%%%
1789: %% 4) Running Head and Folio
1790:
1791: %% Uppercase on author and title line in running head.
1792:
1793: \authorUCtrue
1794: \titleUCtrue
1795:
1796: \def\headlinesize{\small}
1797:
1798: \footlinefoliofalse
1799: \footlinehrulefalse
1800:
1801: \newif\ifnoheadline
1802: \def\jheadline{\hbox to\textwidth{\iftitle%
1803: \iftypesetters
1804: \ifnoheadline\global\noheadlinefalse
1805: \else
1806: \vtop to0pt{\vss\footnotesize
1807: \noindent{\titleheadsc\thejourname} {\bf\thevolume},
1808: \the\c@page--%
1809: \expandafter\ifx\csname endpage\the\currarticlenumber\endcsname\relax ??
1810: \else\expandafter\csname endpage\the\currarticlenumber\endcsname\fi
1811: \ (\theyear)\newline
1812: {\titleheadsc\uppercase{Article no.}\ }\thearticlenumber\vskip4pt\vss}%
1813: \fi\else\hfill\fi
1814: \else\ifodd\c@page
1815: {\hfill\headlinesize\headtextfont\thetitle}%
1816: \hfill\llap{\foliofont\the\c@page}
1817: \else\rlap{\foliofont\the\c@page}\hfill%
1818: {\headlinesize\headtextfont\theauthors}\hfill\fi\fi}}
1819:
1820:
1821: \def\ccclineinfo{\iftypesetters
1822: \footlinefont
1823: \parindent=0pt
1824: \ifnoapline
1825: \else
1826: \ifodd\c@page
1827: {\ifll\else\hbadness10000\fi
1828: \vtop to0pt{\scriptsize\cccfont\baselineskip8pt
1829: \ifll\else\vskip12pt\fi
1830: \noindent\hfill{\footnotesize \thecccline
1831: \vskip2pt}
1832: \noindent\hfill Copyright \smcopyright~\theyear\ by Academic Press%
1833: \vskip1sp
1834: \noindent\hfill All rights of reproduction in any form reserved.
1835: \vskip1sp\vss}\vskip1sp}
1836: \else
1837: \vtop to0pt{\cccfont\baselineskip8pt
1838: \noindent{\footnotesize \thecccline
1839: \vskip2pt}
1840: \noindent Copyright \smcopyright~\theyear\ by Academic Press%
1841: \vskip1sp
1842: \noindent All rights of reproduction in any form reserved.
1843: \vskip1sp
1844: \vss}
1845: \fi\fi
1846: \fi}
1847:
1848: \def\jfootline{\vtop to0pt{\iftitle\global\titlefalse
1849: \hbox to\textwidth{\hfill\foliofootfont\the\c@page\hfill}\else\hfill\fi
1850: \ccclineinfo
1851: \vss}}
1852:
1853: %%%%%%
1854: %% 5) Article title page dimensions and parameters
1855:
1856: \CenterArticleHeadtrue
1857:
1858: \long\def\author#1{%
1859: \vskip2pt
1860: \hbox to\textwidth{\hss\let\thanks\authorthanks
1861: \let\\ =\ %
1862: \frenchspacing\authorfont#1\vrule width0pt depth
1863: \belowauthorskip\hss}
1864: \setbox1=\hbox{\let\thanks\maketemp #1}}
1865:
1866: \let\authors\author
1867:
1868: \newdimen\savetextheight
1869: \def\changetextheight{\global\savetextheight\textheight
1870: \global\advance\textheight by-4pc
1871: }
1872:
1873:
1874: \def\authorsize{\Large}
1875:
1876: \def\specialtitleins{\hsize=\textwidth
1877: \raggedright}
1878:
1879:
1880: \abovetitleskip=4pc
1881: \belowtitleskip=12pt
1882: \abovesubtitleskip=0pt
1883: \belowsubtitleskip=6pt
1884: \aboveauthorskip=0pt
1885: \belowauthorskip=12pt
1886: \aboveaffilskip=0pt
1887: \belowaffilskip=8pt
1888:
1889: %% ABSTRACT
1890:
1891:
1892: %% If ABSTRACT should be printed
1893: \abstractnametrue
1894:
1895: \aboveabstractskip=36pt
1896: \belowabstractskip=0pt
1897: \belowabstractnameskip=12pt
1898:
1899: \abstractmargin=18pt
1900:
1901: %% Keywords
1902:
1903: \def\keywordssize{\small}
1904: \abovekeywordsskip=16pt
1905:
1906:
1907: %%%%%%
1908: %% 6) Section Heads
1909:
1910:
1911: \def\thesection {\arabic{section}}
1912: \def\thesubsection {\thesection.\arabic{subsection}.}
1913: \def\thesubsubsection {\thesubsection\arabic{subsubsection}.}
1914:
1915: \setcounter{secnumdepth}{2}
1916:
1917: % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
1918: % optional * [ALTHEADING]{HEADING}
1919: % Generic command to start a section.
1920: % NAME : e.g., 'subsection'
1921: % LEVEL : a number, denoting depth of section -- e.g., chapter=1,
1922: % section = 2, etc. A section number will be printed if
1923: % and only if LEVEL < or = the value of the secnumdepth
1924: % counter.
1925: % INDENT : Indentation of heading from left margin
1926: % BEFORESKIP : Absolute value = skip to leave above the heading.
1927: % If negative, then paragraph indent of text following
1928: % heading is suppressed.
1929: % AFTERSKIP : if positive, then skip to leave below heading,
1930: % else - skip to leave to right of run-in heading.
1931: % STYLE : commands to set style
1932: % If '*' missing, then increments the counter. If it is present, then
1933: % there should be no [ALTHEADING] argument. A sectioning command
1934: % is normally defined to \@startsection + its first six arguments.
1935:
1936: \def\xmakecenterlines#1{\vbox{%
1937: \parindent=0pt
1938: \parskip=0pt
1939: \hyphenpenalty=10000
1940: \centering
1941: #1
1942: }}
1943:
1944:
1945: \sectionwrap=20pc
1946:
1947: \newskip\sectskip
1948: \sectskip=20pt %plus2pt minus 6pt
1949:
1950: \newskip\belowsectionskip
1951: \belowsectionskip=10pt
1952:
1953: \newskip\subsectskip
1954: \subsectskip=8pt %plus2pt minus 1pt
1955:
1956: \newskip\subsubsectskip
1957: \subsubsectskip=10pt %plus2pt minus 1pt
1958:
1959: \def\ast{*}
1960: \newif\ifsectionon
1961: \def\section#1{\def\yone{#1}\ifx\yone\ast\let\go\ssection\else%
1962: \let\go\xxsection\fi\go{#1}}
1963: \let\savesection\section
1964:
1965:
1966: \newif\ifsendcontents
1967:
1968: \def\xxsection#1{\vskip\sectskip
1969: \global\sectionontrue
1970: \refstepcounter{section}
1971: \def\@currentlabel{\ifappendon\applett.\fi\the\c@section}
1972: \ifsendcontents\else%
1973: % hack so contents will only be sent for article with \contents
1974: {\let\\ \
1975: \addcontentsline{toc}{section}{\string\vskip-1pt
1976: \the\c@section.\string\ \string\ {\string\affilfont\space #1.}}}\fi
1977: \xmakecenterlines{\hyphenpenalty=10000
1978: \ifdraft \baselineskip=22pt\else \baselineskip=13pt\fi
1979: \sectiontitlemath %% makes 10pt bold math
1980: %\everymath{\zmit}
1981: \normalsize\sectionfont\ifappendon\applett.\fi\thesection.\nobreak\hskip4pt%+++
1982: \uppercase{#1\vrule width0pt depth\belowsectionskip}}%
1983: \nobreak\global\everymath={}%
1984: \everypar={\global\sectiononfalse\everypar={}}\ignorespaces}
1985:
1986: \def\ssection#1#2{\vskip\sectskip\global\sectionontrue%
1987: \xmakecenterlines{\hyphenpenalty=10000
1988: \ifdraft\baselineskip=22pt\else\baselineskip=13pt\fi
1989: \sectiontitlemath %% makes 10pt bold math
1990: %\everymath{\zmit}
1991: \sectionfont\uppercase{#2}}%
1992: \nobreak\vskip4pt\everypar={\global\sectiononfalse\everypar={}}}
1993:
1994:
1995: %%%%
1996:
1997: \def\subsection#1{\def\one{#1}\ifx\one\ast\let\go\ssubsection\else%
1998: \let\go\xxsubsection\fi\go{#1}}
1999:
2000: \let\savesubsection\subsection
2001:
2002: \newif\ifsubsectionon
2003: \def\xxsubsection#1{\ifsectionon\global\sectiononfalse\ifvmode\vskip-3pt
2004: \else\vskip\subsectskip\fi%
2005: \else\vskip\subsectskip\fi\global\subsectionontrue
2006: \refstepcounter{subsection}%
2007: \def\@currentlabel{\ifappendon\applett.\fi\the\c@section.\the\c@subsection}
2008: \xmakecenterlines{\hyphenpenalty=10000
2009: %\everymath{\zmit}
2010: \sectiontitlemath %% 10pt boldmath
2011: \ifdraft\baselineskip22pt\else\baselineskip=13pt\fi
2012: \subsectionfont\ifappendon\applett.\fi\thesubsection\hskip1em#1}%
2013: \global\everymath={}%
2014: \everypar={\global\subsectiononfalse\everypar={}}
2015: \nobreak\vskip2pt}
2016:
2017: \def\ssubsection#1#2{\ifsectionon\global\sectiononfalse
2018: \ifvmode\vskip-3pt\else\vskip\subsectskip\fi\else
2019: \vskip\subsectskip\fi\global\subsectionontrue
2020: \refstepcounter{subsection}%
2021: \xmakecenterlines{\hyphenpenalty=10000
2022: \sectiontitlemath %% 10pt boldmath
2023: \ifdraft\baselineskip22pt\else\baselineskip=13pt\fi\subsectionfont#2}%
2024: \everypar={\global\subsectiononfalse\everypar={}}
2025: \nobreak\vskip2pt}
2026:
2027: \def\subsubsection#1{\def\one{#1}\ifx\one\ast\let\go\ssubsubsection\else%
2028: \let\go\xxsubsubsection\fi\go{#1}
2029: }
2030:
2031: \def\xxsubsubsection#1{%
2032: \refstepcounter{subsubsection}%
2033: \def\@currentlabel{\ifappendon\applett.\fi\the\c@section.\the\c@subsection.\the\c@subsubsection}
2034: \ifsectionon\global\sectiononfalse\ifvmode\vskip-3pt\else%
2035: \vskip\subsubsectskip\fi\else%
2036: \ifsubsectionon\global\subsectiononfalse
2037: \ifvmode\vskip-3pt\else%
2038: \vskip\subsubsectskip\fi\else\vskip\subsubsectskip\fi\fi%
2039: \vtop{\def\\ {\vskip1sp}
2040: \noindent{\subsubsectionfont\ifappendon\applett.\fi\thesubsubsection\hskip1em%
2041: #1}}\global\everymath={}%
2042: \normalsize
2043: \ifdraft \baselineskip=22pt\else \baselineskip=13pt\fi
2044: \vskip4pt\nobreak}
2045:
2046: \def\ssubsubsection#1#2{%
2047: \refstepcounter{subsubsection}%
2048: \ifsectionon\global\sectiononfalse\ifvmode\vskip-3pt\else
2049: \vskip\subsubsectskip\fi\else%
2050: \ifsubsectionon\global\subsectiononfalse\ifvmode\vskip-3pt
2051: \else\vskip\subsubsectskip\fi\else\vskip\subsubsectskip\fi\fi%
2052: \noindent\hskip1em{\subsubsectionfont#2}
2053: \ifdraft \baselineskip=22pt\else \baselineskip=13pt\fi
2054: \vskip4pt}
2055:
2056: \def\paragraph#1{\vskip6pt
2057: {\footnotesize\paragraphfont #1.\hskip1em\relax}%
2058: \ifdraft \baselineskip=22pt\else \baselineskip=13pt\fi
2059: \ignorespaces}
2060:
2061:
2062: %%%%%%
2063: %% 7) Split math
2064:
2065: %% Set this true when the equation numbers in split math will
2066: %% be vertically centered. Otherwise the equation number will
2067: %% be at the right side of the second line.
2068:
2069: %%\CenterSplitMathEqnotrue
2070:
2071:
2072:
2073: %%%%%%
2074: %% 8) Math, figure, table, theorem counters.
2075:
2076: \def\figurename{FIG.}
2077: \def\thefigure{\@arabic\c@figure\theletter}
2078:
2079: \def\tablename{TABLE}
2080: \def\thetable{\@arabic\c@table\theletter}
2081:
2082: %\@addtoreset{equation}{section} % Makes \section reset 'equation' counter.
2083:
2084: \def\theequation{\ifappendon\applett.\fi\arabic{equation}\themathletter}
2085: \let\savetheequation\theequation
2086:
2087: %%%%%%
2088: %% 9) Theorem environments
2089:
2090: %% Proof that will put proof box at the far left if the
2091: %% proof ends with an equation, otherwise will leave 1 em space
2092: %% following text.
2093:
2094: \newbox\proofbox
2095: \def\proof{\futurelet\next\lookforbracket}
2096:
2097: \def\lookforbracket{\ifx\next[\let\go\usespecialterm
2098: \else\let\go\relax
2099: \ifvmode\vskip-\lastskip\fi
2100: \vskip\abovetheoremskip
2101: \global\setbox\proofbox=\vbox\bgroup%
2102: \indent{\prooffont Proof\@thmcountersep}%
2103: \enskip\relax\fi\ignorespaces\go}
2104:
2105: \def\usespecialterm[#1]{\ifvmode\vskip-\lastskip\fi
2106: \vskip\abovetheoremskip
2107: \global\setbox\proofbox=\vbox\bgroup%
2108: \noindent\hskip\parindent%
2109: {\prooffont Proof\ \ {\rm(#1).}}\ \ \relax\ignorespaces}
2110:
2111: \def\endproof{\hbadness10000\parfillskip=0pt\egroup
2112: \unvbox\proofbox
2113: \setbox0=\lastbox
2114: \ifdim\ht0>1pt
2115: \vskip-2pt
2116: \noindent\hbox to\textwidth{\vbox{\parindent=0pt\unhbox0 \qed\hss}\hss}
2117: \else
2118: \vskip-8pt
2119: \noindent
2120: \vrule height\slugheight depth\slugdepth width\slugwidth\relax%
2121: \fi\vskip\belowtheoremskip}
2122:
2123: %% Writing the command \MakePeriodAfterTheorem in the file
2124: %% will make `Theorem 2. xxxx' rather than `Theorem 2 xxxx'
2125:
2126: \MakePeriodAfterTheorem
2127:
2128: % For square boxes for Q.E.D. symbol
2129:
2130: \newdimen\slugwidth
2131: \newdimen\slugheight
2132: \newdimen\slugdepth
2133:
2134: \slugwidth=3pt
2135: \slugheight=7pt
2136: \slugdepth=2pt
2137:
2138: \newif\ifopenbox
2139: \newif\ifalwaysopenbox
2140: \def\alwaysopenbox{\global\openboxtrue\global\alwaysopenboxtrue}
2141: \def\openbox{\global\openboxtrue}
2142:
2143:
2144: \def\qed{\ifopenbox\ifalwaysopenbox\else\global\openboxfalse\fi
2145: \unskip\nobreak~~~{%
2146: \vbox{\hrule\hbox{\vrule height\slugheight depth\slugdepth%
2147: \hskip\slugwidth\vrule}\hrule}}%
2148: \else%
2149: \unskip\nobreak~~~\hbox{\vrule height\slugheight depth\slugdepth
2150: width \slugwidth}\fi}
2151:
2152: \let\slug\qed
2153: \let\filledbox\slug
2154:
2155: \def\xendtrivlist{\@endtheorem}
2156:
2157: \def\@thmcountersep{.}
2158:
2159: \def\@begintheorem#1#2{\trivlist
2160: \labelsep=0pt
2161: \item[\hskip\parindent\theoremfont#1\ \/\/%
2162: \ifthmsectionnum\ifappendon\applett\else\thesection\fi.\fi#2\ifperiodaftertheorem\@thmcountersep\fi]%
2163: \def\@currentlabel{\ifthmsectionnum\ifappendon\applett\else\thesection\fi.\fi#2}%
2164: \enskip\ \theoremtextfont}
2165:
2166: \def\@opargbegintheorem#1#2#3{\trivlist
2167: \labelsep=0pt
2168: \item[\hskip\parindent\theoremfont #1\ \/\/%
2169: \ifthmsectionnum\ifappendon\applett\else\thesection\fi.\fi#2\ \ {\rm(#3).} ]%
2170: \def\@currentlabel{\ifthmsectionnum\ifappendon\applett\else\thesection\fi.\fi#2}%
2171: \enskip\ \theoremtextfont}
2172:
2173:
2174: %% use section numbers with theorem
2175: \thmsectionnumtrue
2176:
2177: \newtheorem{lemma}{Lemma}
2178: \newtheorem{proposition}{Proposition}
2179: \newtheorem{property}{Property}
2180: \newtheorem{corollary}{Corollary}
2181:
2182: \def\case#1{\vskip12pt\indent{Case \uppercase{#1:}}\enskip}
2183: \let\endcase\xendtrivlist
2184:
2185: \def\result{\TheoremTypeEnv{\it Result}}
2186: \let\endresult\xendtrivlist
2187:
2188: \newcounter{exampnum}[section]
2189: \def\example{\global\advance\c@exampnum by1
2190: \TheoremTypeEnv{\theoremfont Example
2191: \ifappendon\applett\else\thesection\fi.\the\c@exampnum}
2192: \def\@currentlabel{\ifthmsectionnum\ifappendon\applett\else\thesection\fi.%
2193: \fi\the\c@exampnum}%
2194: \rm}
2195: \let\endexample\xendtrivlist
2196: \@addtoreset{exampnum}{section}
2197:
2198: \newcounter{xalgo}[section]
2199: \def\algo{\global\advance\c@xalgo by1
2200: \TheoremTypeEnv{\theoremfont Algorithm
2201: \ifappendon\applett\else\thesection.\fi\the\c@xalgo}
2202: \def\@currentlabel{\ifthmsectionnum\ifappendon\applett\else\thesection\fi.%
2203: \fi\the\c@xalgo}%
2204: \rm}
2205: \let\endalgo\xendtrivlist
2206: \@addtoreset{xalgo}{section}
2207:
2208: \newcounter{defnum}[section]
2209: \def\definition{\global\advance\c@defnum by1
2210: \TheoremTypeEnv{\theoremfont Definition
2211: \ifappendon\applett\else\thesection\fi.\the\c@defnum}
2212: \def\@currentlabel{%
2213: \ifthmsectionnum\ifappendon\applett\else\thesection\fi.\fi\the\c@defnum}%
2214: \rm}
2215: \let\enddefinition\xendtrivlist
2216: \@addtoreset{defnum}{section}
2217:
2218: \newcounter{connum}[section]
2219: \def\conjecture{\global\advance\c@connum by1
2220: \TheoremTypeEnv{\it Conjecture \ifappendon\applett\else\thesection\fi.%
2221: \the\c@connum}\rm%
2222: \def\@currentlabel{\ifappendon\applett\else\thesection\fi.\the\c@connum}}
2223: \def\endconjecture{\xendtrivlist}
2224:
2225: \newcounter{remarknum}[section]
2226: \def\remark{\global\advance\c@remarknum by1
2227: \TheoremTypeEnv{\it Remark \ifappendon\applett\else\thesection\fi.
2228: \the\c@remarknum}%
2229: \def\@currentlabel{\ifappendon\applett\else\thesection\fi.\the\c@remarknum}%
2230: \rm}
2231: \let\endremark\xendtrivlist
2232: \@addtoreset{remarknum}{section}
2233:
2234: \newcounter{claimnum}[section]
2235: \def\claim{\global\advance\c@claimnum by1
2236: \TheoremTypeEnv{\it Claim \ifappendon\applett\else\thesection\fi.%
2237: \the\c@claimnum}%
2238: \def\@currentlabel{\ifappendon\applett\else\thesection\fi.\the\c@claimnum}%
2239: \rm}
2240: \let\endclaim\xendtrivlist
2241: \@addtoreset{claimnum}{section}
2242:
2243:
2244:
2245: %%%%%%
2246: %% 10) Captions
2247:
2248: \centermultiplelinestrue
2249: \centersinglelinetrue
2250: \centersingletablinetrue
2251:
2252: \let\captionsize\footnotesize
2253: \abovefigcaptionskip=2pt
2254: \abovetabcaptionskip=1pt
2255:
2256: \abovetableskip=2pt
2257:
2258: %%%%%%
2259: %% 11) Table settings
2260:
2261: \abovetabularskip=12pt
2262: \belowtabularskip=12pt
2263:
2264: \belowtabcaptionskip=3pt
2265: \let\tablenotesize\footnotesize
2266: \let\tabletextsize\small
2267: \fullwidthtablefalse
2268: \lineabovetabcaptionfalse
2269: \linebelowtabcaptionfalse
2270:
2271: %%%%%%
2272: %% 12) Lists
2273: %% Listing defaults:
2274:
2275: \def\labelenumi{\normalsize\theenumi}
2276: \def\theenumi{\arabic{enumi}.}
2277:
2278: \def\labelenumii{\normalsize\theenumii}
2279: \def\theenumii{\hss(\roman{enumii})}
2280: \def\p@enumii{\theenumii}
2281:
2282: \def\labelenumiii{\normalsize\theenumiii}
2283: \def\theenumiii{\alph{enumiii}.}
2284: \def\p@enumiii{\theenumiii}
2285:
2286: \def\labelenumiv{\normalsize\theenumiv}
2287: \def\theenumiv{\Alph{enumiv}}
2288: \def\p@enumiv{\theenumiv}
2289:
2290: \def\enumerate{\ifnum \@enumdepth >\thr@@ \@toodeep \else
2291: \advance \@enumdepth \@ne
2292: \edef\@enumctr{enum\romannumeral\the\@enumdepth }%
2293: \expandafter\list\csname label\@enumctr \endcsname
2294: {\usecounter \@enumctr \def\makelabel ##1{%
2295: \ifdim\leftmargin=1sp\relax\hskip\saveparindent\fi
2296: \ifdim\leftmargin=2sp\relax\hskip2\saveparindent\fi
2297: \hskip\@itemdepth\saveparindent\relax%
2298: \hskip\@enumdepth\saveparindent\relax ##1}}
2299: \fi}
2300:
2301: \def\itemize{\ifnum \@itemdepth >\thr@@ \@toodeep \else
2302: \advance \@itemdepth \@ne
2303: \edef \@itemitem {labelitem\romannumeral\the\@itemdepth}%
2304: \expandafter\list\csname \@itemitem \endcsname {\def\makelabel ##1{%
2305: \ifdim\leftmargin=1sp\relax\hskip\saveparindent\fi
2306: \ifdim\leftmargin=2sp\relax\hskip2\saveparindent\fi
2307: \hskip\@enumdepth\saveparindent\relax%
2308: \hskip\@itemdepth\saveparindent\relax##1}}\fi}
2309:
2310: \newenvironment{description}
2311: {\leftmargini=0pt \leftmarginii=1sp \leftmarginiii=2sp
2312: \list{}{\labelwidth\z@ \itemindent-\leftmargin
2313: \let\makelabel\descriptionlabel}}
2314: {\endlist}
2315: \newcommand*\descriptionlabel[1]{\hspace\labelsep
2316: \ifdim\leftmargin=0pt \hspace\saveparindent
2317: \else \ifdim\leftmargin=1sp \hskip2\saveparindent
2318: \else \ifdim\leftmargin=2sp \hskip3\saveparindent\fi\fi\fi
2319: \normalsize\it #1}
2320:
2321: \def\labelitemi{\normalsize$\m@th\bullet$}
2322: \def\labelitemii{{\bf --}}
2323: \def\labelitemiii{\normalsize$\m@th\ast$}
2324: \def\labelitemiv{\normalsize$\m@th\cdot$}
2325:
2326: \leftmargini 0pt
2327: \leftmarginii 0pt
2328: \leftmarginiii 0pt
2329: \leftmarginiv 0 pt
2330: \leftmarginv 0pt
2331: \leftmarginvi 0pt
2332: \leftmargin\leftmargini
2333:
2334: \labelsep 4pt
2335: \labelwidth\leftmargini\advance\labelwidth-\labelsep
2336:
2337:
2338: \def\@listI{\leftmargin\leftmargini
2339: \rightmargin\leftmargini
2340: \parsep 4\p@ plus2\p@ minus\p@
2341: \topsep 8\p@ plus2\p@ minus4\p@
2342: \itemsep -3pt %4\p@ plus2\p@ minus\p@
2343: }
2344:
2345: \let\@listi\@listI
2346: \@listi
2347:
2348: \def\@listii{\leftmargin\leftmarginii
2349: \labelwidth\leftmarginii\advance\labelwidth-\labelsep
2350: \topsep 4\p@ plus2\p@ minus\p@
2351: \parsep 2\p@ plus\p@ minus\p@
2352: \itemsep \parsep}
2353:
2354: \def\@listiii{\leftmargin\leftmarginiii
2355: \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
2356: \topsep 2\p@ plus\p@ minus\p@
2357: \parsep \z@ \partopsep \p@ plus\z@ minus\p@
2358: \itemsep \topsep}
2359:
2360: \def\@listiv{\leftmargin\leftmarginiv
2361: \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
2362:
2363: \def\@listv{\leftmargin\leftmarginv
2364: \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
2365:
2366: \def\@listvi{\leftmargin\leftmarginvi
2367: \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
2368:
2369:
2370: %%%%%%%%%
2371: %% 13) Footnotes
2372:
2373: \def\footnoterule{\iftitle\else\kern -3\p@ \hrule
2374: width 3pc %%<=== change this dimen to change width of footnote rule line
2375: \kern 2.6\p@\fi}
2376:
2377: \long\def\@makefntext#1{\noindent\hskip1em$\m@th^{\@thefnmark}$\footnotefont#1}
2378:
2379: %% End notes, if we want them.
2380: % \newcount\footnum
2381: % \newcount\savefootnum
2382: % \let\footnote\endnote
2383: % \let\footnotetext\endnotetext
2384:
2385:
2386: %%%%%%%%%
2387: %% 14) Appendices
2388:
2389: \def\appendixname{APPENDIX}
2390:
2391: %%%%%%%%%
2392: %% 15) References
2393: \def\referencesize{\footnotesize}
2394:
2395: \def\references{\savesection*{References}
2396: \referencesize\itemsep=2pt
2397: \list{\@biblabel{\arabic{enumiv}}}
2398: {\settowidth\labelwidth{\@biblabel{10.}}%
2399: \leftmargin\labelwidth
2400: \labelsep=4pt
2401: % \advance\leftmargin\labelsep
2402: \usecounter{enumiv}%
2403: \let\p@enumiv\@empty
2404: \def\theenumiv{\arabic{enumiv}}}%
2405: \def\newblock{\hskip .11em plus.33em minus.07em}%
2406: \sloppy\clubpenalty4000\widowpenalty4000 \frenchspacing
2407: \sfcode`\.=\@m}
2408:
2409: %% same as references, but with unused #1 in case \thebibliography{1} is used.
2410: \def\bibreferences#1{\savesection*{References}
2411: \referencesize\itemsep=2pt
2412: \list{\@biblabel{\arabic{enumiv}}}
2413: {\settowidth\labelwidth{\@biblabel{10.}}%
2414: \leftmargin\labelwidth
2415: \labelsep=4pt
2416: % \advance\leftmargin\labelsep
2417: \usecounter{enumiv}%
2418: \let\p@enumiv\@empty
2419: \def\theenumiv{\arabic{enumiv}}}%
2420: \def\newblock{\hskip .11em plus.33em minus.07em}%
2421: \sloppy\clubpenalty4000\widowpenalty4000 \frenchspacing
2422: \sfcode`\.=\@m}
2423:
2424: \def\endreferences{\endlist}
2425:
2426: \let\thebibliography\bibreferences
2427: \let\endthebibliography\endreferences
2428:
2429: %%%%%%%%%
2430: %% 16) Received lines
2431:
2432: \abovereceivedskip=0pt
2433: \aboverevisedskip=1sp
2434: \aboveacceptedskip=1sp
2435:
2436: %%%%%%%%%
2437:
2438:
2439:
2440: %%%%%%%%%
2441:
2442: \ifll\normalsize\else
2443: \normalsize\@normalsize\fi
2444:
2445: %%----------------------------------------
2446: \newif\ifturnoffskip
2447:
2448: %% \refstepcounter{chapter}
2449: %% will reset footnote num, section, theorem, table and figure
2450:
2451: \newif\ifnoapline
2452: \global\noaplinetrue
2453:
2454: \def\article{\global\appendonfalse
2455: \gdef\applett{}
2456: \global\sendcontentsfalse
2457: \global\c@equation=0
2458: \global\algoline=0
2459: \parskip=0pt
2460: \refstepcounter{chapter}
2461: %%% Use \thanks for title here; number instead of symbol
2462: %% reset for next article
2463: \ifnum\titlethanksnum>0 \global\titlethanksnum=0 \fi
2464: %%
2465: {\long\def\@makefntext##1{\ifnum\titlethanksnum=1
2466: \global\turnoffskiptrue
2467: % \vskip-10pt
2468: \fi
2469: \parindent=1em
2470: \footnotesize\footnotefont##1}
2471: %%
2472: \loop\ifnum\titlethanksnum<\titlethankscounter
2473: \global\advance\titlethanksnum by1\relax
2474: \savefootnotetext{\csname temptitlethanks\the\titlethanksnum\endcsname}
2475: \repeat
2476: \global\titlethanksnum=0 \global\titlethankscounter=0}
2477: \ifnum\thanksnum>0 \global\thanksnum=0 \fi %<<==
2478: {\long\def\@makefntext##1{\ifnum\thanksnum=1
2479: \ifturnoffskip\global\turnoffskipfalse\else
2480: %\vskip-10pt
2481: \fi\fi
2482: \parindent=1em
2483: \indent\raise.5ex\hbox to 3pt{\dothankssymbol\hss}
2484: \footnotesize\footnotefont##1}
2485: \loop\ifnum\thanksnum<\thankscounter
2486: \global\advance\thanksnum by1\relax
2487: \savefootnotetext{\csname tempthanks\the\thanksnum\endcsname}
2488: \repeat
2489: \global\thanksnum=0 \global\thankscounter=0}
2490: %%% ok to here
2491: %
2492: \vskip12pt}
2493:
2494: \def\endarticle{\write\@auxout{\string\expandafter%
2495: \string\gdef\string\csname\space
2496: endpage\the\currarticlenumber\endcsname{\the\c@page}}
2497: \vskip1pt
2498: \newpage\resetdefaults}
2499:
2500:
2501: \long\def\abstract#1{\ifx\thecommline\empty\else\thecommline\fi
2502: \noindent\hbox to\textwidth{\receivedfont
2503: \hfill\ifx\thereceived\empty\else\vrule height \abovereceivedskip
2504: width 0pt\thereceived\fi
2505: \ifx\therevised\empty\else\therevised\fi
2506: \ifx\theaccepted\empty\else\theaccepted\fi\hfill}
2507: \vskip1sp
2508: \ifx\thededication\empty\else
2509: \vskip-2pt
2510: \xdedication\vskip2pt\fi
2511: \hbox to\textwidth{\hfill\vtop{\hsize=24pc
2512: \leftskip=0pt \rightskip\leftskip
2513: \abstractfont
2514: \indent\vrule height27pt width0pt #1\iftypesetters\quad {\abstractcopyrightfont%
2515: \realcopyright~\theyear\ Academic Press}\fi
2516: \vskip1sp}\hfill}\vskip2pt
2517: }
2518:
2519: \def\received#1{%
2520: \def\thereceived{Received #1}}
2521: \def\revised#1{\def\therevised{;\ \ revised #1}}
2522: \def\accepted#1{%
2523: \def\theaccepted{; accepted #1}}
2524: \def\correspondence#1{\def\thecorrespondence{#1}}
2525: \def\grantinfo#1{\def\thegrantinfo{Contract grant sponsor: #1}}
2526: \def\journame#1{\def\thejourname{\uppercase{#1}}}
2527: \def\articlenumber#1{\def\thearticlenumber{#1}}
2528:
2529: \def\zerosection#1{\c@section=-1 \section{#1}}
2530:
2531:
2532: \def\extract{\bgroup\leftskip16pt\rightskip16pt
2533: \vskip6pt\footnotesize}
2534: \def\endextract{\vskip6pt\egroup}
2535:
2536: \let\quotation\extract
2537: \let\endquotation\endextract
2538:
2539: \ifll\else
2540: \def\mathcal#1{{\protect\cal #1}}
2541: \def\mathrm#1{{\protect\rm #1}}
2542: \def\mathbf#1{{\protect\bf #1}}
2543: \fi
2544:
2545:
2546: \let\@noitemerr\relax
2547:
2548: \newif\ifmtimes
2549: \endinput
2550:
2551: List of Changes:
2552:
2553: May 28, 1999
2554: Made endproof put qed symbol at far left is proof ends
2555: with an equation, but following text if proof ends with
2556: text. (tricky!)
2557:
2558: May 27, 1999
2559: Made theorems and theorem type environments use appendix letter
2560: instead of section number in appendixes.
2561:
2562: Changed to avoid noindent after example type environments.
2563: \def\@endtheorem{\if@newlist\@noitemerr\fi
2564: \if@inlabel\indent\fi
2565: \ifhmode\unskip \par\fi
2566: \everypar={} <===
2567: \vskip\belowtheoremskip
2568: \indent <===
2569: }
2570:
2571: May 14, 1999
2572: Made math in title not be bold, so that they match
2573: the title font more closely.
2574:
2575: Got rid of titlemath and captiontitlemath because
2576: they made boldmath malfunction when MathTimes fonts
2577: were used.
2578:
2579: Changed definition of \bbf so that it changes sizes
2580: in sub and superscripts.
2581:
2582: April 21, 1999
2583: Fixed bug in label in definition, similar environments.
2584:
2585: April 15, 1999
2586: Fixed bug in captiontitlemath and titlemath to keep font set
2587: from being redefined after the first time it is used. Changed
2588: \sectiontitlemath to \boldmath since it is in 10pt. Substantially
2589: improves speed of processing.
2590:
2591: April 12, 1999
2592: Made \bibreferences#1 which doesn't use the #1 in case user
2593: supplies a .bbl file with \thebibliography{1} or other number.
2594:
2595: Changed xref currentlabel in \@begintheorem and \@opargbegintheorem
2596:
2597: Used \@addtoreset to start these items renumbering with
2598: each new section: corollary, lemma, proposition and property.
2599:
2600:
2601:
2602: