removed openstack, i didn't do much!
[lectures/latex.git] / nlsop / paper / elsart.cls
1 %%\r
2 %% This is file `elsart.cls',\r
3 %% generated with the docstrip utility.\r
4 %%\r
5 %% The original source files were:\r
6 %%\r
7 %% esl.dtx  (with options: `package,elsart,ONECOL,DEEPLIST')\r
8 %% \r
9 %% elsart.cls Copyright (C) 1994-2006 Elsevier Science\r
10 %% \r
11 %% This file may be distributed and/or modified under the\r
12 %% conditions of the LaTeX Project Public License, either version 1.2\r
13 %% of this license or (at your option) any later version.\r
14 %% The latest version of this license is in\r
15 %%    http://www.latex-project.org/lppl.txt\r
16 %% and version 1.2 or later is part of all distributions of LaTeX\r
17 %% version 1999/12/01 or later.\r
18 %% \r
19 \def\readRCS$#1: #2 #3 #4 #5${%\r
20  \def\RCSfile{#2}%\r
21  \def\RCSversion{#3}%\r
22  \def\RCSdate{#4}%\r
23 }\r
24 \def\@shortjnl{\relax}\r
25  \def\esp@fileversion{2.19}\r
26  \def\esp@filedate{2006/05/01}\r
27  \def\@journal{Elsevier} \def\@company{Elsevier}\r
28  \def\@issn{000-0000}\r
29  \def\@shortjid{elsart}\r
30 \NeedsTeXFormat{LaTeX2e}[1995/12/01]\r
31 \ProvidesClass{\@shortjid}[\esp@filedate, \esp@fileversion: \@journal]\r
32 \r
33 \newif\if@TwoColumn\r
34 \newif\if@seceqn\r
35 \newif\if@secthm\r
36 \newif\if@nameyear\r
37 \newif\if@Elproofing\r
38 \@Elproofingfalse\r
39 \DeclareOption{12pt}{}\r
40 \DeclareOption{11pt}{}\r
41 \DeclareOption{10pt}{}\r
42 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}\r
43 \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}\r
44 \@twocolumnfalse\r
45 \DeclareOption{onecolumn}{\@twocolumnfalse\@TwoColumnfalse}\r
46 \DeclareOption{twocolumn}{\@twocolumntrue\@TwoColumntrue}\r
47 \newif\if@narrowdisplay\r
48 \@narrowdisplayfalse\r
49 \DeclareOption{narrowdisplay}{\@narrowdisplaytrue}\r
50 \newif\if@draft\@draftfalse\r
51 \DeclareOption{draft}{%\r
52   \@drafttrue\r
53   \overfullrule 5\p@                  % to indicate overfull boxes\r
54 }\r
55 \DeclareOption{final}{%\r
56   \@draftfalse\r
57   \overfullrule \z@\r
58 }\r
59 \let\snm\relax \let\cty\relax \let\cny\relax\let\jr\relax\r
60 \newif\if@ussrhead \@ussrheadfalse\r
61 \DeclareOption{ussrhead}{\@ussrheadtrue}\r
62 \@seceqnfalse                             % Default: equation numbering is not\r
63 \DeclareOption{seceqn}{\@seceqntrue}      % reset at beginning of each section\r
64 \@secthmfalse\r
65 \DeclareOption{secthm}{\@secthmtrue}\r
66 \@nameyearfalse\r
67 \DeclareOption{nameyear}{\@nameyeartrue}\r
68 \def\@blstr{1}\r
69 \DeclareOption{doublespacing}{\def\@blstr{1.7}}\r
70 \DeclareOption{reviewcopy}{\def\@blstr{1.7}}\r
71 \newif\if@symbold\@symboldfalse\r
72 \DeclareOption{symbold}{\@symboldtrue}\r
73 \newif\if@amsthm\@amsthmfalse\r
74 \DeclareOption{amsthm}{\@amsthmtrue}\r
75  \ExecuteOptions{oneside}\r
76  \ExecuteOptions{onecolumn,final}\r
77 \ProcessOptions\r
78 \if@TwoColumn\@narrowdisplayfalse\fi\r
79 \if@draft\else\@narrowdisplayfalse\fi\r
80 \def\@pagenumprefix{}\r
81 \def\author@font{}\r
82 \def\partname{Part}\r
83 \def\appendixname{Appendix}\r
84 \def\contentsname{Contents}\r
85 \def\listfigurename{List of Figures}\r
86 \def\listtablename{List of Tables}\r
87 \def\refname{References}\r
88 \def\indexname{Index}\r
89 \def\figurename{Fig.}\r
90 \def\tablename{Table}\r
91 \def\abstractname{Abstract}\r
92 \lineskip 1\p@\r
93 \normallineskip 1\p@\r
94 \def\baselinestretch{1}\r
95 \frenchspacing\r
96 \def\cropwidth{297mm}\r
97 \def\cropheight{210mm}\r
98 \def\cropleft{0mm}\r
99 \def\croptop{0mm}\r
100 \def\FullCopyrightText{}\r
101 \def\copyrightholder#1{\def\@copyrightholder{#1}}\r
102 \newdimen\@frontmatterwidth\r
103 \def\@overtitleskip{69\p@}\r
104 \def\@overhistoryskip{\z@}\r
105 \def\@undertitleskip{\z@}\r
106 \def\@overkeywordskip{12\p@}\r
107 \def\@overabstractskip{8\p@}\r
108 \def\@overcaptionskip{8\p@}\r
109 \def\@preabstractskip{24\p@ \@plus 6\p@ \@minus 3\p@}\r
110 \def\@belowfmskip{18\p@}\r
111 \def\@bibliosize{\small}\r
112 \def\@historysize{\small}\r
113 \def\@keywordsize{\small}\r
114 \def\@overaddressskip{2pt}\r
115 \def\@titlesize{\Large\bfseries}\r
116 \def\@bibitemsep{0.3\@bls \@plus 0.1\@bls \@minus 0.1\@bls}\r
117 \def\@authorsize{\large}\r
118 \def\@keywordheading{{\it Key words: \ }}\r
119 \def\@addressstyle{\small\itshape}\r
120 \def\@captionsize{\small}\r
121 \def\@tablecaptionsize{\@captionsize}\r
122 \def\@figurecaptionsize{\@captionsize}\r
123 \def\@tablesize{\small}\r
124 \def\@keywordwidth{.8\textwidth}\r
125 \def\@abstractwidth{.8\textwidth}\r
126 \def\@fignumfont#1{#1}\r
127 \def\@secnumfont#1{\upshape}\r
128 \def\@catchlinesize{\footnotesize}\r
129 \def\@runheadsize{\normalsize}\r
130 \def\@narrowdisplaywidth{259pt}\r
131 \def\etal{et al.}\r
132 \def\AND{\&}\r
133 \def\@Colofonheight{1cm}\r
134 \def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}\r
135 \def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}\r
136 \def\normalsize{\@setfontsize\normalsize\@xiipt{14.5}%\r
137 \abovedisplayskip 12\p@ \@plus 2\p@ \@minus 2\p@%\r
138 \belowdisplayskip \abovedisplayskip\r
139 \abovedisplayshortskip \z@ \@plus 2\p@%\r
140 \belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@\r
141 \let\@listi\@listI}\r
142 \def\small{\@setfontsize\small\@xipt{13.6}%\r
143 \abovedisplayskip 11\p@ \@plus3\p@ minus6\p@\r
144 \belowdisplayskip \abovedisplayskip\r
145 \abovedisplayshortskip  \z@ \@plus3\p@\r
146 \belowdisplayshortskip  6.5\p@ \@plus3.5\p@ minus3\p@\r
147 \def\@listi{\leftmargin\leftmargini\r
148  \parsep 4.5\p@ \@plus2\p@ minus\p@ \itemsep \parsep\r
149             \topsep 9\p@ \@plus3\p@ minus5\p@}}\r
150 \let\footnotesize=\small\r
151 \let\@xviiipt\@xviipt\r
152 \def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}\r
153 \def\tiny{\@setfontsize\tiny\@vipt{7}}\r
154 \def\large{\@setfontsize\large\@xivpt{18}}\r
155 \def\Large{\@setfontsize\Large\@xviipt{22}}\r
156 \def\LARGE{\@setfontsize\LARGE\@xxpt{22}}\r
157 \def\huge{\@setfontsize\huge\@xxvpt{27}}\r
158 \let\Huge=\huge\r
159 \normalsize                                % Choose the normalsize font.\r
160 \newdimen\@bls                              % Several dimensions are\r
161 \@bls=\baselineskip                         % expressed in terms of this.\r
162 \if@twoside                 % Values for two-sided printing:\r
163    \oddsidemargin   20\p@    %   Left margin on odd-numbered pages.\r
164    \evensidemargin  20\p@    %   Left margin on even-numbered pages.\r
165    \marginparwidth  10\p@    %   \@Width of marginal notes.\r
166 \else                       % Values for one-sided printing:\r
167    \oddsidemargin   20\p@    %   Left margin on odd-numbered pages.\r
168    \evensidemargin  20\p@    %   Left margin on even-numbered pages.\r
169    \marginparwidth   2pc\r
170 \fi\r
171 \marginparsep 20\p@          % Horizontal space between outer margin and\r
172                             % marginal note\r
173 \topmargin \z@           %    Nominal distance from top of page to top of\r
174                          %    box containing running head.\r
175 \headheight  \z@         %    \@Height of box containing running head.\r
176 \headsep     \z@         %    Space between running head and text.\r
177  \footskip 40\p@\r
178 \bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line\r
179 \medskipamount=0.5\bigskipamount                  % 1/2 line\r
180 \smallskipamount=0.25\bigskipamount               % 1/4 line\r
181 \@tempdima=651pt \advance\@tempdima -\topskip \@tempcnta=\@tempdima\r
182 \@tempdimb=\@blstr\@bls \@tempcntb=\@tempdimb\r
183 \divide\@tempcnta\@tempcntb\r
184 \textheight\@tempdimb \multiply\textheight\@tempcnta\r
185 \advance\textheight\topskip\r
186 \textwidth 33pc              % \@Width of text line.\r
187                              % For two-column mode:\r
188  \columnsep 2pc               %   Space between columns\r
189 \columnseprule \z@           %   \@Width of rule between columns.\r
190  \footnotesep 8.4\p@\r
191 \skip\footins 12\p@ \@plus  8\p@          % Space between last line of text and\r
192                                       % top of first footnote.\r
193 \floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved\r
194                                          % to top or bottom of text page.\r
195 \textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats\r
196                                          % at top or bottom of page.\r
197 \intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and\r
198                                          % text.\r
199 \dblfloatsep      8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column\r
200                                          % figures in two-column mode.\r
201 \dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column\r
202                                          % floats.\r
203 \@fptop \z@ \@plus 1fil    % Stretch at top of float page/column. (Must be\r
204                          % \z@ \@plus ...)\r
205 \@fpsep 8\p@ \@plus 2fil    % Space between floats on float page/column.\r
206 \@fpbot \z@ \@plus 1fil    % Stretch at bottom of float page/column. (Must be\r
207                          % \z@ \@plus ... )\r
208 \@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)\r
209 \@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.\r
210 \@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be\r
211                          % \z@ \@plus ... )\r
212 \marginparpush 5\p@       % Minimum vertical separation between two marginal\r
213                          % notes.\r
214 \parskip 1pc \@plus 1\p@          % Extra vertical space between paragraphs.\r
215 \parindent \z@                     % Indentation of each paragraph.\r
216 \newskip\eqntopsep                    % Extra vertical space, in addition to\r
217  \eqntopsep 12\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below\r
218 \newdimen\eqnarraycolsep            % Half the space between columns\r
219 \eqnarraycolsep 1\p@                 % in an \eqnarray.\r
220 \@lowpenalty   51      % Produced by \nopagebreak[1] or \nolinebreak[1]\r
221 \@medpenalty  151      % Produced by \nopagebreak[2] or \nolinebreak[2]\r
222 \@highpenalty 301      % Produced by \nopagebreak[3] or \nolinebreak[3]\r
223 \@beginparpenalty -\@lowpenalty    % Before a list or paragraph environment.\r
224 \@endparpenalty   -\@lowpenalty    % After a list or paragraph environment.\r
225 \@itempenalty     -\@lowpenalty    % Between list items.\r
226 \def\section{\@startsection{section}{1}{\z@}{1.5\@bls\r
227   \@plus .4\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries}}\r
228 \def\subsection{\@startsection{subsection}{2}{\z@}{\@bls\r
229   \@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}\r
230 \def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls\r
231   \@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}\r
232 \def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex \@plus\r
233   2ex \@minus 0.2ex}{-1em}{\normalsize\bfseries}}\r
234 \setcounter{secnumdepth}{4}\r
235 \def\half@em{\hskip 0.5em}\r
236 \def\lb@part{PART \thepart.\half@em}\r
237   \def\lb@empty@part{PART \thepart}\r
238 \def\lb@section{\thesection.\half@em}\r
239   \def\lb@empty@section{\thesection}\r
240 \def\lb@subsection{\thesubsection.\half@em}\r
241   \def\lb@empty@subsection{\thesubsection}\r
242 \def\lb@subsubsection{\thesubsubsection.\half@em}\r
243   \def\lb@empty@subsubsection{\thesubsubsection}\r
244 \def\lb@paragraph{\theparagraph.\half@em}\r
245   \def\lb@empty@paragraph{\theparagraph}\r
246 \def\lb@subparagraph{\thesubparagraph.\half@em}\r
247   \def\lb@empty@subparagraph{\thesubparagraph}\r
248 \def\head@format#1#2{#2}\r
249 \def\head@style{\interlinepenalty\@M\r
250   \hyphenpenalty\@M \exhyphenpenalty\@M\r
251   \rightskip \z@ \@plus 0.5\hsize \relax\r
252   }\r
253 \def\app@number#1{\setcounter{#1}{0}%\r
254   \@addtoreset{#1}{section}%\r
255   \@namedef{the#1}{\thesection.\arabic{#1}}}\r
256 \def\appendix{\@ifstar{\appendix@star}{\appendix@nostar}}\r
257 \def\appendix@nostar{%\r
258   \def\lb@section{\appendixname\ \thesection.\half@em}\r
259   \def\lb@empty@section{\appendixname\ \thesection}\r
260   \setcounter{section}{0}\def\thesection{\Alph{section}}%\r
261   \setcounter{subsection}{0}%\r
262   \setcounter{subsubsection}{0}%\r
263   \setcounter{paragraph}{0}%\r
264   \app@number{equation}\app@number{figure}\app@number{table}}\r
265 \def\appendix@star{%\r
266   \def\lb@section{\appendixname}\let\lb@empty@section\lb@section\r
267   \setcounter{section}{0}\def\thesection{\Alph{section}}%\r
268   \setcounter{subsection}{0}%\r
269   \setcounter{subsubsection}{0}%\r
270   \setcounter{paragraph}{0}%\r
271   \app@number{equation}\app@number{figure}\app@number{table}}\r
272 \def\ack{\section*{Acknowledgements}%\r
273   \addtocontents{toc}{\protect\vspace{6pt}}%\r
274   \addcontentsline{toc}{section}{Acknowledgements}%\r
275 }\r
276 \@namedef{ack*}{\par\vskip 3.0ex \@plus 1.0ex \@minus 1.0ex}\r
277 \let\endack\par\r
278 \@namedef{endack*}{\par}\r
279 \newdimen\labelwidthi\r
280 \newdimen\labelwidthii\r
281 \newdimen\labelwidthiii\r
282 \newdimen\labelwidthiv\r
283 \def\normal@labelsep{0.5em}\r
284 \labelsep\normal@labelsep\r
285 \settowidth{\labelwidthi}{(iii)}\r
286 \settowidth{\labelwidthii}{(d)}\r
287 \settowidth{\labelwidthiii}{(iii)}\r
288 \settowidth{\labelwidthiv}{(M)}\r
289 \leftmargini\labelwidthi    \advance\leftmargini\labelsep\r
290 \leftmarginii\labelwidthii  \advance\leftmarginii\labelsep\r
291 \leftmarginiii\labelwidthiii \advance\leftmarginiii\labelsep\r
292 \leftmarginiv\labelwidthiv  \advance\leftmarginiv\labelsep\r
293 \def\setleftmargin#1#2{\settowidth{\@tempdima}{#2}\labelsep\normal@labelsep\r
294   \csname labelwidth#1\endcsname\@tempdima\r
295   \@tempdimb\@tempdima \advance\@tempdimb\labelsep\r
296   \csname leftmargin#1\endcsname\@tempdimb}\r
297 \def\@listI{\leftmargin\leftmargini\r
298   \labelwidth\labelwidthi \labelsep\normal@labelsep\r
299   \topsep \z@ \partopsep\z@ \parsep\z@ \itemsep\z@\r
300   \listparindent 1em}\r
301 \def\@listii{\leftmargin\leftmarginii\r
302   \labelwidth\labelwidthii \labelsep\normal@labelsep\r
303   \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@\r
304   \listparindent 1em}\r
305 \def\@listiii{\leftmargin\leftmarginiii\r
306   \labelwidth\labelwidthiii \labelsep\normal@labelsep\r
307   \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@\r
308   \listparindent 1em}\r
309 \def\@listiv{\leftmargin\leftmarginiv\r
310   \labelwidth\labelwidthiv \labelsep\normal@labelsep\r
311   \topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@\r
312   \listparindent 1em}\r
313 \let\@listi\@listI\r
314 \@listi\r
315 \def\left@label#1{{#1}\hss}\r
316 \def\right@label#1{\hss\llap{#1}}\r
317 \def\thick@label#1{\hspace\labelsep #1}\r
318 \newcount\@maxlistdepth\r
319 \@maxlistdepth=4\r
320 \def\labelitemi{$\bullet$}          \def\labelitemii{$\cdot$}\r
321 \def\labelenumi{(\theenumi)}        \def\theenumi{\arabic{enumi}}\r
322 \def\labelenumii{(\alph{enumii})}   \def\theenumii{\theenumi\alph{enumii}}\r
323 \def\labelenumiii{(\roman{enumiii})}\def\theenumiii{\theenumii.\roman{enumiii}}\r
324 \def\labelenumiv{(\Alph{enumiv})}   \def\theenumiv{\theenumiii.\Alph{enumiv}}\r
325 \def\enumerate{%\r
326   \ifnum \@enumdepth >\@maxlistdepth\r
327     \@toodeep\r
328   \else\r
329     \advance\@enumdepth \@ne\r
330     \edef\@enumctr{enum\romannumeral\the\@enumdepth}%\r
331     \list{\csname label\@enumctr\endcsname}%\r
332        {\usecounter{\@enumctr}\r
333        \let\makelabel=\right@label}\r
334   \fi}\r
335 \def\itemize{%\r
336   \ifnum \@itemdepth >\@maxlistdepth\r
337     \@toodeep\r
338   \else\r
339     \advance\@itemdepth \@ne\r
340     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%\r
341      \setleftmargin{i}{--}%\r
342      \setleftmargin{ii}{$\cdot$}%\r
343     \list{\csname\@itemitem\endcsname}%\r
344        {\let\makelabel\right@label}\r
345   \fi}\r
346 \def\verse{\let\\=\@centercr\r
347   \list{}{\itemsep\z@\r
348   \itemindent \z@\r
349   \listparindent\z@\r
350   \rightmargin 1em\r
351   \leftmargin \rightmargin}\item[]}\r
352 \let\endverse\endlist\r
353 \def\quotation{\list{}{\itemindent\z@\r
354  \leftmargin 1em \rightmargin \z@\r
355   \parsep \z@ \@plus 1pt}\item[]}\r
356 \let\endquotation=\endlist\r
357 \def\quote{\list{}{\itemindent\z@\r
358    \leftmargin 1em \rightmargin \z@}%\r
359 \item[]}\r
360 \let\endquote=\endlist\r
361 \def\descriptionlabel#1{\hspace\labelsep \bfseries #1}\r
362 \def\description{\list{}{\labelwidth\z@\r
363   \leftmargin 1em \itemindent-\leftmargin\r
364   \let\makelabel\descriptionlabel}}\r
365 \let\enddescription\endlist\r
366 \def\@atfmtname{atlplain}\r
367 \ifx\fmtname\@atfmtname\r
368  \def\neq{\not\nobreak\mkern -2mu =}%\r
369  \let\ne\neq\r
370 \fi\r
371 \def\operatorname#1{\mathop{\mathrm{#1}}\nolimits}\r
372 \def\lefteqn#1{\hbox to\z@{$\displaystyle {#1}$\hss}}\r
373 \newskip\eqnbaselineskip % Standard interline spacing in an {eqnarray}\r
374 \jot=2\p@\r
375 \newskip\eqnlineskip     % Minimal space between the bottom of\r
376                          % a line and the top of the next line.\r
377 \eqnbaselineskip=14\p@  \eqnlineskip=2\p@\r
378 \newdimen\mathindent\r
379 \if@TwoColumn\r
380   \mathindent 0em\r
381 \else\r
382   \mathindent 2em\r
383 \fi\r
384 \if@narrowdisplay\r
385   \def\calcmathindent{%\r
386     \mathindent\linewidth\relax\r
387     \advance\mathindent-\@narrowdisplaywidth}\r
388 \else\r
389   \let\calcmathindent\relax\r
390 \fi\r
391 \def\[{\relax\ifmmode\@badmath\r
392   \else%\bgroup removed on request from BW (1993-05-17)\r
393   \@beginparpenalty\predisplaypenalty\r
394   \@endparpenalty\postdisplaypenalty\r
395 \calcmathindent\r
396   \begin{trivlist}\@topsep \eqntopsep       % used by first \item\r
397    \@topsepadd \eqntopsep                   % used by \@endparenv\r
398   \item[]\leavevmode\r
399    \hbox to\linewidth\bgroup$ \displaystyle\r
400   \hskip\mathindent\bgroup\fi}\r
401 \def\]{\relax\ifmmode \egroup $\hfil \egroup\r
402   \end{trivlist}% \egroup removed on request from BW (1993-05-17)\r
403   \else \@badmath \fi}\r
404 \def\equation{\@beginparpenalty\predisplaypenalty\r
405   \@endparpenalty\postdisplaypenalty\r
406   \refstepcounter{equation}\trivlist\r
407   \@topsep \eqntopsep                      % used by first \item\r
408   \@topsepadd \eqntopsep                   % used by \@endparenv\r
409 \calcmathindent\r
410   \item[]\leavevmode\r
411    \hbox to\linewidth\bgroup $ \displaystyle \hskip\mathindent\bgroup}\r
412 \def\endequation{\egroup$\hfil \displaywidth\linewidth\r
413   \@eqnnum\egroup \endtrivlist}\r
414 \def\eqnarray{%\r
415   \par                                               %BW\r
416   \noindent                                          %BW\r
417   \baselineskip\eqnbaselineskip\lineskip\eqnlineskip %BW\r
418   \lineskiplimit\eqnlineskip                         %BW\r
419 \calcmathindent\r
420   \stepcounter{equation}%\r
421   \let\@currentlabel=\theequation\r
422   \global\@eqnswtrue\r
423   \global\@eqcnt\z@\r
424   \tabskip\mathindent\r
425   \let\\=\@eqncr\r
426   \abovedisplayskip\eqntopsep\ifvmode\advance\abovedisplayskip\partopsep\fi\r
427   \belowdisplayskip\abovedisplayskip\r
428   \belowdisplayshortskip\abovedisplayskip\r
429   \abovedisplayshortskip\abovedisplayskip\r
430   $$\halign to \displaywidth\bgroup\@eqnsel\r
431     \pre@coli$\displaystyle\tabskip\z@{##}$\post@coli\r
432     &\global\@eqcnt\@ne\r
433     \pre@colii$\displaystyle{##}$\post@colii\r
434     &\global\@eqcnt\tw@\r
435     \pre@coliii $\displaystyle\tabskip\z@{##}$\post@coliii\r
436     \tabskip\@centering&\llap{##}\tabskip\z@\cr\r
437 }\r
438 \def\endeqnarray{\@@eqncr\egroup\r
439  \global\advance\c@equation\m@ne$$\global\@ignoretrue }\r
440 \def\pre@coli{\hskip\@centering}              \def\post@coli{}\r
441 \def\pre@colii{\hskip 2\eqnarraycolsep \hfil} \def\post@colii{\hfil}\r
442 \def\pre@coliii{\hskip 2\eqnarraycolsep}      \def\post@coliii{\hfil}\r
443 \arraycolsep 2\p@         % Half the space between columns in array environment.\r
444 \tabcolsep 6\p@           % idem in tabular environment.\r
445 \def\arraystretch{1.5}   % More vertical space in tables\r
446 \arrayrulewidth 0.4\p@    % \@Width of rules and space between adjacent\r
447 \doublerulesep 2\p@       % rules in any of these two environments.\r
448 \newdimen\rulepreskip \newdimen\rulepostskip\r
449 \rulepreskip=4\p@      \rulepostskip=6\p@\r
450 \tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX{} manual.)\r
451 \skip\@mpfootins = 6\p@ \@plus 2\p@   % Space between last line of text and\r
452                                   % top of first footnote.\r
453 \fboxsep = 7\p@    % Space left between box and text by \fbox and \framebox.\r
454 \fboxrule = 0.4\p@ % \@Width of rules in box made by \fbox and \framebox.\r
455 \newcounter{section}\r
456 \newcounter{subsection}[section]\r
457 \newcounter{subsubsection}[subsection]\r
458 \newcounter{paragraph}[subsubsection]\r
459 \newcounter{subparagraph}[paragraph]\r
460 \if@seceqn\r
461  \@addtoreset{equation}{section}\r
462  \def\theequation{\arabic{section}.\arabic{equation}}\r
463 \else\r
464   \def\theequation{\arabic{equation}}\r
465 \fi\r
466 \def\thesection      {\arabic{section}}\r
467 \def\thesubsection   {\thesection.\arabic{subsection}}\r
468 \def\thesubsubsection{\thesubsection.\arabic{subsubsection}}\r
469 \def\theparagraph    {\thesubsubsection.\arabic{paragraph}}\r
470 \def\thesubparagraph {\theparagraph.\arabic{subparagraph}}\r
471 \@addtoreset{section}{part} % reset section numbers at beginning of part\r
472 \r
473 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}\r
474 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}\r
475 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}\r
476 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}\r
477 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}\r
478 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}\r
479 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}\r
480 \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}\r
481 \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}\r
482 \RequirePackage{latexsym}\r
483 \def\qed{\relax\ifmmode\hskip2em \Box\else\unskip\nobreak\hskip1em $\Box$\fi}\r
484 \def\proof@headerfont{\upshape\bfseries}\r
485 \if@amsthm\r
486   \RequirePackage{amsthm}%\r
487   \def\th@plain{%\r
488     \thm@preskip\parskip\r
489     \thm@postskip\z@\r
490     \itshape % body font\r
491   }\r
492   \def\th@definition{%\r
493     \thm@preskip\parskip\r
494     \thm@postskip\z@\r
495     \normalfont % body font\r
496   }\r
497   \def\th@remark{%\r
498     \thm@headfont{\itshape}%\r
499     \normalfont % body font\r
500     \thm@preskip\parskip \divide\thm@preskip\tw@\r
501     \thm@postskip\z@\r
502   }\r
503 \else\let\theoremstyle\@gobble\fi\r
504 \newenvironment{pf}%\r
505   {\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}\noindent\r
506    {\bfseries\Elproofname}\enspace\ignorespaces}%\r
507   {\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}}\r
508 \def\Elproofname{PROOF.}\r
509 \@namedef{pf*}#1{\par\begingroup\def\Elproofname{#1}\pf\endgroup\ignorespaces}\r
510 \expandafter\let\csname endpf*\endcsname=\endpf\r
511 \theoremstyle{plain}\r
512 \if@secthm\r
513   \newtheorem{thm}{Theorem}[section]\r
514   \@addtoreset{thm}{section}\r
515 \else\r
516   \newtheorem{thm}{Theorem}\r
517 \fi\r
518 \newtheorem{cor}[thm]{Corollary}\r
519 \newtheorem{lem}[thm]{Lemma}\r
520 \newtheorem{claim}[thm]{Claim}\r
521 \newtheorem{axiom}[thm]{Axiom}\r
522 \newtheorem{conj}[thm]{Conjecture}\r
523 \newtheorem{fact}[thm]{Fact}\r
524 \newtheorem{hypo}[thm]{Hypothesis}\r
525 \newtheorem{assum}[thm]{Assumption}\r
526 \newtheorem{prop}[thm]{Proposition}\r
527 \newtheorem{crit}[thm]{Criterion}\r
528 \theoremstyle{definition}\r
529 \newtheorem{defn}[thm]{Definition}\r
530 \newtheorem{exmp}[thm]{Example}\r
531 \newtheorem{rem}[thm]{Remark}\r
532 \newtheorem{prob}[thm]{Problem}\r
533 \newtheorem{prin}[thm]{Principle}\r
534 \newtheorem{alg}{Algorithm}\r
535 \long\def\@makealgocaption#1#2{\vskip 2ex \small\r
536   \hbox to \hsize{\parbox[t]{\hsize}{{\bfseries #1.} #2}}}\r
537 \newcounter{algorithm}\r
538 \def\thealgorithm{\@arabic\c@algorithm}\r
539 \def\fps@algorithm{tbp}\r
540 \def\ftype@algorithm{4}\r
541 \def\ext@algorithm{lof}\r
542 \def\fnum@algorithm{Algorithm \thealgorithm}\r
543 \def\algorithm{\let\@makecaption\@makealgocaption\@float{algorithm}}\r
544 \let\endalgorithm\end@float\r
545 \newtheorem{note}{Note}\r
546 \newtheorem{summ}{Summary}\r
547 \newtheorem{case}{Case}\r
548 \def\@pnumwidth{2.55em}\r
549 \def\@tocrmarg{2.55em \@plus 5em}\r
550 \def\@dotsep{-2.5}\r
551 \setcounter{tocdepth}{2}\r
552 \newcommand\listoffigures{%\r
553     \section*{\listfigurename\r
554       \@mkboth{\MakeUppercase\listfigurename}%\r
555               {\MakeUppercase\listfigurename}}%\r
556     \@starttoc{lof}%\r
557     }\r
558 \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}\r
559 \newcommand\listoftables{%\r
560     \section*{\listtablename\r
561       \@mkboth{%\r
562           \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%\r
563     \@starttoc{lot}%\r
564     }\r
565 \let\l@table\l@figure\r
566 \def\tableofcontents{%\r
567   \begin{small}\r
568   \leftline {{\bfseries \contentsname\/}}\r
569   \setcounter{secnumdepth}{4}%\r
570   \setcounter{tocdepth}{2}%\r
571   {\@starttoc{toc}}%\r
572 \end{small}\r
573 }\r
574 \newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}\r
575 \newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}\r
576 \newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}\r
577 \newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}\r
578 \newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}\r
579 \def\@dotsep{2000}\r
580 \def\thebibliography{%\r
581   \@startsection{section}{1}{\z@}{20\p@ \@plus 8\p@ \@minus 4pt}\r
582   {\@bls}{\normalsize\bfseries}*{\refname}%\r
583 \addcontentsline{toc}{section}{\refname}%\r
584   \@thebibliography}\r
585 \let\endthebibliography=\endlist\r
586 \def\@thebibliography#1{\@bibliosize\r
587   \list{\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}\r
588   \if@nameyear\r
589     \labelwidth\z@ \labelsep\z@ \leftmargin\parindent\r
590     \itemindent-\parindent\r
591   \else\r
592     \labelsep 3\p@ \itemindent\z@\r
593     \leftmargin\labelwidth \advance\leftmargin\labelsep\r
594 \fi\r
595 \itemsep\@bibitemsep\r
596     \usecounter{enumiv}\let\p@enumiv\@empty\r
597     \def\theenumiv{\arabic{enumiv}}}%\r
598     \tolerance\@M\r
599    \hyphenpenalty\@M\r
600      \hbadness5000 \sfcode`\.=1000\relax}\r
601 \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}\r
602 \if@nameyear\r
603   \def\@biblabel#1{}\r
604 \else\r
605  \def\@biblabel#1{[#1]\hskip \z@ \@plus 1filll}\r
606 \fi\r
607 \let\make@bb@error\relax\r
608 \def\@mkbberr{\def\bibitem{\ClassError{elsart}%\r
609     {Bibitem after note}%\r
610     {You are using a bibitem after a note in a subbibitems\r
611       environment;\MessageBreak\r
612       note should the last item in a subbibitems environment}}}\r
613 \def\@itemnote{\make@bb@error\item[]}\r
614 \def\mk@noitemnote{\ifx\@tempa\note \let\note\@noitemnote \fi}\r
615 \def\@noitemnote{\let\note\@itemnote}\r
616 \AtBeginDocument{%\r
617   \let\nopeek@bibitem\@bibitem\r
618   \let\nopeek@lbibitem\@lbibitem\r
619   \def\@bibitem#1{\let\note\@itemnote\nopeek@bibitem{#1}%\r
620     \futurelet\@tempa\mk@noitemnote}\r
621   \def\@lbibitem[#1]#2{\let\note\@itemnote\nopeek@lbibitem[#1]{#2}%\r
622     \futurelet\@tempa\mk@noitemnote}\r
623 }\r
624 \newif\if@natbibloaded\@natbibloadedfalse\r
625 \AtBeginDocument{\@ifpackageloaded{natbib}{\@natbibloadedtrue}{}}\r
626 \newenvironment{subbibitems}[1]{%\r
627   \if@natbibloaded\def\bib@ctr{NAT@ctr}\else\def\bib@ctr{enumiv}\fi\r
628   \if@filesw {\let \protect \noexpand \immediate \write \@auxout\r
629     {\string \nocollapse@cites}%\r
630     \global\let\nocollapse@cites\relax}\fi\r
631   \def\@itemslabel{#1}%\r
632   \stepcounter{\bib@ctr}%\r
633   \edef\main@bibnum{\the\value{\bib@ctr}}%\r
634   \setcounter{\bib@ctr}{0}%\r
635   \def\thebib@ctr{\main@bibnum\alph{\bib@ctr}}%\r
636   \if@natbibloaded\r
637     \def\bibitem{\@ifnextchar [{\@lbibitem }{\global \NAT@stdbsttrue\r
638         \stepcounter {\bib@ctr}\@lbibitem [\thebib@ctr]}}%\r
639   \else\r
640     \def\@bibitem##1{\stepcounter{\bib@ctr}\@lbibitem[\thebib@ctr]{##1}}%\r
641   \fi\r
642   \let\make@bb@error\@mkbberr\r
643 }{%\r
644   \if@filesw {%\r
645     \if@natbibloaded{%\r
646       \let\protect\noexpand\r
647       \immediate\write\@auxout {\string\bibcite{\@itemslabel}%\r
648         {{\main@bibnum a--\alph {\bib@ctr}}{}{{}}{{}}}}%\r
649       \immediate\write\@auxout {\string\bibcite{\@itemslabel :s}%\r
650         {{\main@bibnum}{}{{}}{{}}}}%\r
651     }\else{%\r
652       \let\protect\noexpand\r
653       \immediate\write\@auxout {\string\bibcite{\@itemslabel}%\r
654         {\main@bibnum a--\alph{\bib@ctr}}}%\r
655       \immediate\write\@auxout {\string\bibcite{\@itemslabel :s}%\r
656         {\main@bibnum}}%\r
657     }\fi\r
658   }\fi\r
659   \setcounter{\bib@ctr}{\main@bibnum}%\r
660 }\r
661 \let\nocollapse@citex\@citex\r
662 \newcount\@tempcntc\r
663 \def\collapse@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi\r
664  \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do\r
665   {\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%\r
666    \@ifundefined\r
667    {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries ?}\@warning\r
668    {Citation `\@citeb' on page \thepage \space undefined}}%\r
669   {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%\r
670    \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne\r
671     \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%\r
672    \else\r
673     \advance\@tempcntb\@ne\r
674     \ifnum\@tempcntb=\@tempcntc\r
675     \else\advance\@tempcntb\m@ne\@citeo\r
676     \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}\r
677 \let\@citex\collapse@citex\r
678 \def\nocollapse@cites{%\r
679   \@ifpackageloaded{hyperref}{}{\global\let\@citex\nocollapse@citex}%\r
680   \global\let\nocollapse@cites\relax}\r
681 \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}%\r
682  \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else\r
683   {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi\r
684    \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}\r
685 \@namedef{cv*}{\section*{Curriculum Vitae}\cv}\r
686  \def\cv{\hangindent=7pc \hangafter=-12 \parskip\bigskipamount \small}\r
687 \def\footnote{\@ifnextchar[{\@xfootnote}{\refstepcounter\r
688    {\@mpfn}\protected@xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}\r
689 \def\footnotemark{\@ifnextchar[{\@xfootnotemark\r
690     }{\refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}\r
691 \def\footnoterule{\kern-3\p@\r
692   \hrule \@width 3pc               % The \hrule has default \@height of 0.4pt.\r
693   \kern 2.6\p@}\r
694 \def\thempfootnote{\alph{mpfootnote}}\r
695 \def\mpfootnotemark{%\r
696   \@ifnextchar[{\@xmpfootnotemark}{\stepcounter{mpfootnote}%\r
697   \begingroup\r
698     \let\protect\noexpand\r
699     \xdef\@thefnmark{\thempfootnote}%\r
700   \endgroup\r
701   \@footnotemark}}\r
702 \def\@xmpfootnotemark[#1]{%\r
703   \begingroup\r
704     \c@mpfootnote #1\relax\r
705     \let\protect\noexpand\r
706     \xdef\@thefnmark{\thempfootnote}%\r
707   \endgroup\r
708   \@footnotemark}\r
709 \def\@mpmakefnmark{\,\hbox{$^{\mathrm{\@thefnmark}}$}}\r
710 \long\def\@mpmakefntext#1{\noindent\r
711                      \hbox{$^{\mathrm{\@thefnmark}}$} #1}\r
712 \def\@iiiminipage#1#2[#3]#4{%\r
713   \leavevmode\r
714   \@pboxswfalse\r
715   \setlength\@tempdima{#4}%\r
716   \def\@mpargs{{#1}{#2}[#3]{#4}}%\r
717   \setbox\@tempboxa\vbox\bgroup\r
718     \color@begingroup\r
719       \hsize\@tempdima\r
720       \textwidth\hsize \columnwidth\hsize\r
721       \@parboxrestore\r
722       \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@\r
723       \let\@footnotetext\@mpfootnotetext\r
724       \let\@makefntext\@mpmakefntext\r
725       \let\@makefnmark\@mpmakefnmark\r
726       \let\@listdepth\@mplistdepth \@mplistdepth\z@\r
727       \@minipagerestore\global\@minipagetrue %% \global added 24 May 89\r
728       \everypar{\global\@minipagefalse\everypar{}}}\r
729 \def\fn@presym{}\r
730 \long\def\@makefntext#1{\noindent\hbox to 1em\r
731   {$^{\fn@presym\mathrm{\@thefnmark}}$\hss}#1}\r
732 \def\@makefnmark{\,\hbox{$^{\fn@presym\mathrm{\@thefnmark}}$}\,}\r
733 \def\patched@end@dblfloat{%\r
734   \if@twocolumn\r
735       \par\vskip\z@skip      %% \par\vskip\z@ added 15 Dec 87\r
736       \global\@minipagefalse\r
737       \outer@nobreak\r
738     \egroup                  %% end of vbox\r
739     \color@endbox\r
740     \ifnum\@floatpenalty <\z@\r
741       \@largefloatcheck\r
742       \@cons\@dbldeferlist\@currbox\r
743     \fi\r
744     \ifnum \@floatpenalty =-\@Mii \@Esphack\fi\r
745   \else\r
746     \end@float\r
747   \fi\r
748 }\r
749 \setcounter{topnumber}{5}\r
750 \def\topfraction{0.99}\r
751 \def\textfraction{0.05}\r
752 \def\floatpagefraction{0.9}\r
753 \setcounter{bottomnumber}{5}\r
754 \def\bottomfraction{0.99}\r
755 \setcounter{totalnumber}{10}\r
756 \def\dbltopfraction{0.99}\r
757 \def\dblfloatpagefraction{0.8}\r
758 \setcounter{dbltopnumber}{5}\r
759 \long\def\@maketablecaption#1#2{\@tablecaptionsize\r
760     \global \@minipagefalse\r
761     \hbox to \hsize{\parbox[t]{\hsize}{#1 \\ #2}}}\r
762 \long\def\@makefigurecaption#1#2{\@figurecaptionsize\r
763   \vskip \@overcaptionskip\r
764   \setbox\@tempboxa\hbox{#1. #2}\r
765   \ifdim \wd\@tempboxa >\hsize              % IF longer than one line THEN\r
766     \unhbox\@tempboxa\par                   %   set as justified paragraph\r
767   \else                                     % ELSE\r
768     \global \@minipagefalse\r
769     \hbox to\hsize{\hfil\box\@tempboxa\hfil}%   center single line.\r
770   \fi}\r
771 \def\@makecaption{\@makefigurecaption}\r
772 \def\conttablecaption{\par \begingroup \@parboxrestore \normalsize\r
773   \@makecaption{\fnum@table\,---\,continued}{}\par\r
774   \vskip-1pc \endgroup}\r
775 \def\contfigurecaption{\vskip-1pc \par \begingroup \@parboxrestore\r
776   \@captionsize\r
777   \@makecaption{\fnum@figure\,---\,continued}{}\par\r
778   \endgroup}\r
779 \newcounter{figure}\r
780 \def\thefigure{\@arabic\c@figure}\r
781 \def\fps@figure{tbp}\r
782 \def\ftype@figure{1}\r
783 \def\ext@figure{lof}\r
784 \def\fnum@figure{\figurename~\thefigure}\r
785 \def\figure{%\r
786  \let\@makecaption\@makefigurecaption\r
787   \let\contcaption\contfigurecaption \@float{figure}}\r
788 \let\endfigure\end@float\r
789 \@namedef{figure*}{%\r
790  \let\@makecaption\@makefigurecaption\r
791   \let\contcaption\contfigurecaption \@dblfloat{figure}}\r
792 \@namedef{endfigure*}{\end@dblfloat}\r
793 \newcounter{table}\r
794 \def\thetable{\@arabic\c@table}\r
795 \def\fps@table{tbp}\r
796 \def\ftype@table{2}\r
797 \def\ext@table{lot}\r
798 \def\fnum@table{\tablename~\thetable}\r
799 \let\old@floatboxreset\@floatboxreset\r
800 \def\table{%\r
801 \let\@makecaption\@maketablecaption\r
802 \def\@floatboxreset{%\r
803  \old@floatboxreset\r
804  \@tablesize\r
805 }%\r
806   \let\footnoterule\relax\r
807   \let\contcaption\conttablecaption \@float{table}}\r
808 \let\endtable\end@float\r
809 \@namedef{table*}{%\r
810 \let\@makecaption\@maketablecaption\r
811 \def\@floatboxreset{%\r
812  \old@floatboxreset\r
813  \@tablesize\r
814 }%\r
815   \let\footnoterule\relax\r
816   \let\contcaption\conttablecaption \@dblfloat{table}}\r
817 \@namedef{endtable*}{\end@dblfloat}\r
818 \newtoks\t@glob@notes             % List of all notes\r
819 \newtoks\t@loc@notes              % List of notes for one element\r
820 \newcount\note@cnt                % Number of notes per element\r
821 \newtoks\corauth@text\r
822 \newtoks\email@text\r
823 \newtoks\url@text\r
824 \newcounter{corauth}\r
825 \newcounter{author}               % Author counter\r
826 \newcount\n@author                % Total number of authors\r
827 \def\n@author@{1}                  % idem, read from .aux file\r
828 \newcounter{collab}               % Collaboration counter\r
829 \newcount\n@collab                % Total number of collaborations\r
830 \def\n@collab@{}                  % idem, read from .aux file\r
831 \newcounter{address}              % Address counter\r
832 \def\theHaddress{\arabic{address}}% for hyperref\r
833 \newdimen\sv@mathsurround         % Dimen register to save \mathsurround\r
834 \newcount\sv@hyphenpenalty        % Count register to save \hyphenpenalty\r
835 \newcount\prev@elem \prev@elem=0  % Variables to keep track of\r
836 \newcount\cur@elem  \cur@elem=0   % types of elements that are processed\r
837 \chardef\e@title=1\r
838 \chardef\e@subtitle=1\r
839 \chardef\e@author=2\r
840 \chardef\e@collab=3\r
841 \chardef\e@address=4\r
842 \newif\if@newelem                 % Switch to new type of element?\r
843 \newif\if@firstauthor             % First author or collaboration?\r
844 \newif\if@preface                 % If preface: omit history and abstract\r
845 \newif\if@hasabstract             % If abstract / keywords: do not omit rules\r
846 \newif\if@haskeywords             % If abstract / keywords: do not omit rules\r
847 \newbox\fm@box                    % Box for collected front matter\r
848 \newdimen\fm@size                 % Total height of \fm@box\r
849 \newbox\t@abstract                % Box for abstract\r
850 \newbox\t@keyword                 % Box for keyword abstract\r
851  \let\report@elt\@gobble\r
852 \def\add@tok#1#2{\global#1\expandafter{\the#1#2}}\r
853 \def\add@xtok#1#2{\begingroup\r
854   \no@harm\r
855   \xdef\@act{\global\noexpand#1{\the#1#2}}\@act\r
856 \endgroup}\r
857 \def\beg@elem{\global\t@loc@notes={}\global\note@cnt\z@}\r
858 \def\@xnamedef#1{\expandafter\xdef\csname #1\endcsname}\r
859 \def\no@harm{%\r
860   \let\\=\relax  \let\rm\relax\r
861   \let\ss=\relax \let\ae=\relax \let\oe=\relax\r
862   \let\AE=\relax \let\OE=\relax\r
863   \let\o=\relax  \let\O=\relax\r
864   \let\i=\relax  \let\j=\relax\r
865   \let\aa=\relax \let\AA=\relax\r
866   \let\l=\relax  \let\L=\relax\r
867   \let\d=\relax  \let\b=\relax \let\c=\relax\r
868   \let\bar=\relax\r
869   \def\protect{\noexpand\protect\noexpand}}\r
870 \def\proc@elem#1#2{\begingroup\r
871     \no@harm                             % make a few instructions harmless\r
872     \let\thanksref\@gobble               % remove \thanksref from element\r
873     \let\corauthref\@gobble\r
874     \@xnamedef{@#1}{#2}%                 % and store as \@#1\r
875     \let\thanksref\add@thanksref\r
876     \let\corauthref\add@thanksref\r
877     \setbox\@tempboxa\hbox{#2}%\r
878   \endgroup\r
879   \prev@elem=\cur@elem                   % keep track of type of previous\r
880   \cur@elem=\csname e@#1\endcsname       % and current element\r
881 }\r
882 \def\add@thanksref#1{\global\advance\note@cnt\@ne\r
883   \ifnum\note@cnt>\@ne \add@xtok\t@loc@notes{\note@sep}\fi\r
884   \add@tok\t@loc@notes{\ref{#1}}}\r
885 \def\note@sep{,}\r
886 \def\thanks{\@ifnextchar[{\@tempswatrue\r
887   \thanks@optarg}{\@tempswafalse\thanks@optarg[]}}\r
888 \def\thanks@optarg[#1]#2{\refstepcounter{footnote}%\r
889   \if@tempswa\label{#1}\else\relax\fi\r
890   \add@tok\t@glob@notes{\footnotetext}%\r
891   \add@xtok\t@glob@notes{[\the\c@footnote]}%\r
892   \add@tok\t@glob@notes{{#2}}%\r
893   \ignorespaces}\r
894 \def\corauth{\@ifnextchar[{\@tempswatrue\r
895   \corauth@optarg}{\@tempswafalse\corauth@optarg[]}}\r
896 \def\corauth@optarg[#1]#2{\refstepcounter{corauth}%\r
897   \if@tempswa\label{#1}\else\relax\fi\r
898   \add@tok\corauth@text{\footnotetext}%\r
899   \add@xtok\corauth@text{[\the\c@corauth]}%\r
900   \add@tok\corauth@text{{#2}}\ignorespaces}\r
901 \newcommand\ead[1][email]{%\r
902   \add@eadcomma{#1}%\r
903   \expandafter\ifcase\csname has@ead@#1\endcsname\r
904   \expandafter\global\expandafter\chardef\r
905     \csname has@ead@#1\endcsname=1\relax\else\r
906   \expandafter\global\expandafter\chardef\r
907     \csname has@ead@#1\endcsname=2\relax\fi\r
908   \add@ead{#1}%\r
909 }\r
910 \def\add@ead#1#2{%\r
911   \expandafter\add@tok\csname #1@text\endcsname{\texttt{#2}\ead@au}%\r
912   \expandafter\add@xtok\csname #1@text\endcsname{{\@author}}%\r
913   \ignorespaces\r
914 }\r
915 \def\add@eadcomma#1{%\r
916   \expandafter\ifcase\csname has@ead@#1\endcsname\else\r
917   \expandafter\add@tok\csname #1@text\endcsname{, }\fi\r
918 }\r
919 \let\@ead@au\@empty\r
920 \def\ead@newau{\ifx\@ead@au\@empty\else\ead@addau\@ead@au\r
921   \let\@ead@au\@empty\fi}\r
922 \let\ead@endau\ead@newau\r
923 \def\ead@addau#1{ (#1)}\r
924 \def\ead@au#1{\def\@ead@au{#1}}\r
925 \def\email@name{Email address}\r
926 \def\emails@name{Email addresses}\r
927 \chardef\has@ead@email=0\r
928 \def\url@name{URL}\r
929 \def\urls@name{URLs}\r
930 \chardef\has@ead@url=0\r
931 \let\real@refstepcounter\refstepcounter\r
932 \def\footnote{\@ifnextchar[{\@xfootnote}{\real@refstepcounter\r
933    {\@mpfn}\protected@xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}\r
934 \def\footnotemark{\@ifnextchar[{\@xfootnotemark\r
935     }{\real@refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}\r
936 \def\footnoterule{\kern-3\p@\r
937   \hrule \@width 3pc               % The \hrule has default \@height of 0.4pt.\r
938   \kern 2.6\p@}\r
939  \let\report@elt\@gobble\r
940 \newenvironment{NoHyper}{}{}\r
941 \def\frontmatter{%\r
942   \NoHyper\r
943   \let\@corresp@note\relax\r
944   \global\t@glob@notes={}\global\c@author\z@\r
945   \global\c@collab\z@ \global\c@address\z@\r
946   \sv@mathsurround\mathsurround \m@th\r
947   \global\n@author=0\n@author@\relax\r
948   \global\n@collab=0\n@collab@\relax\r
949   \global\advance\n@author\m@ne   % In comparisons later on we need\r
950   \global\advance\n@collab\m@ne   % n@author-1 and n@collab-1\r
951   \global\@firstauthortrue        % set to false by first \author or \collab\r
952   \global\@hasabstractfalse       % Default:  no abstract or keywords\r
953   \global\@haskeywordsfalse       % Default:  no abstract or keywords\r
954   \global\@prefacefalse           %           not preface\r
955   \ifnum\c@firstpage=\c@lastpage\r
956     \gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}\r
957   \else\r
958     \gdef\@pagerange{\@pagenumprefix\r
959    \ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%\r
960   \fi\r
961  \parskip 4\p@\r
962   \open@fm \ignorespaces}\r
963 \def\preface{\@prefacetrue}\r
964 \def\endfrontmatter{%\r
965   \ifx\@runauthor\relax\r
966    \global\let\@runauthor\@runningauthor\r
967   \fi\r
968   \global\n@author=\c@author\r
969   \global\n@collab=\c@collab \@writecount\r
970   \global\@topnum\z@\r
971   \thispagestyle{copyright}%            % Format rest of front matter:\r
972   \if@preface \else                     % IF not preface THEN\r
973   \vskip \@overhistoryskip\r
974   \history@fmt                          % print history (received, ...)\r
975   \newcount\c@sv@footnote\r
976   \global\c@sv@footnote=\c@footnote     % save current footnote number\r
977   \if@hasabstract                       % IF abstract/ keywords THEN\r
978    \vskip \@preabstractskip     % Space above rule\r
979   \hrule height 0.4\p@                 % Rule above abstract/keywords\r
980     \vskip 8\p@\r
981     \unvbox\t@abstract                  % print abstract, if any\r
982   \fi\r
983   \if@haskeywords                       % IF keywords THEN\r
984     \vskip \@overkeywordskip\r
985     \unvbox\t@keyword                   % Keyword abstract, if any\r
986   \fi                                   % FI\r
987   \vskip 10\p@\r
988   \hrule height 0.4\p@                 % rule below abstract/keywords\r
989   \dedicated@fmt                        % print dedication\r
990   \vskip \@belowfmskip                  % Vertical space below frontmatter\r
991 \fi                                   % FI\r
992   \close@fm                             % Close front matter material.\r
993    \output@glob@notes  % Put notes at bottom of 1st page\r
994   \global\c@footnote=\c@sv@footnote     % restore footnote number\r
995   \global\@prefacefalse\r
996   \global\leftskip\z@                   % Restore the normal values of\r
997   \global\@rightskip\z@                 % \leftskip,\r
998   \global\rightskip\@rightskip          % \rightskip and\r
999   \global\mathsurround\sv@mathsurround  % \mathsurround.\r
1000   \let\title\relax       \let\author\relax\r
1001   \let\collab\relax      \let\address\relax\r
1002   \let\frontmatter\relax \let\endfrontmatter\relax\r
1003   \let\@maketitle\relax  \let\@@maketitle\relax\r
1004   \normal@text\r
1005 }\r
1006 \let\maketitle\relax\r
1007 \newdimen\t@xtheight\r
1008 \t@xtheight\textheight \advance\t@xtheight-\splittopskip\r
1009 \def\open@fm{\global\setbox\fm@box=\vbox\bgroup\r
1010   \hsize=\@frontmatterwidth                 % Front matter is page-wide by default\r
1011   \centering                                % and centered\r
1012   \sv@hyphenpenalty\hyphenpenalty           % (save \hyphenpenalty)\r
1013   \hyphenpenalty\@M}                        % and not hyphenated\r
1014 \def\close@fm{\egroup                       % close \vbox (\fm@box)\r
1015   \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box\r
1016   \@whiledim\fm@size>\t@xtheight \do{%\r
1017     \global\setbox\@tempboxa=\vsplit\fm@box to \t@xtheight\r
1018     \unvbox\@tempboxa \newpage\r
1019     \fm@size=\dp\fm@box \advance\fm@size by \ht\fm@box}\r
1020   \if@TwoColumn\r
1021     \emergencystretch=1pc \twocolumn[\unvbox\fm@box]\r
1022   \else\r
1023     \unvbox\fm@box\r
1024   \fi}\r
1025 \def\output@glob@notes{\bgroup\r
1026   \the\t@glob@notes\r
1027   \egroup}\r
1028 \def\justify@off{\let\\=\@normalcr\r
1029   \leftskip\z@ \@rightskip\@flushglue \rightskip\@rightskip}\r
1030 \def\justify@on{\let\\=\@normalcr\r
1031   \leftskip\z@ \@rightskip\z@ \rightskip\@rightskip}\r
1032 \def\normal@text{\global\let\\=\@normalcr\r
1033   \global\leftskip\z@ \global\@rightskip\z@ \global\rightskip\@rightskip\r
1034   \global\parfillskip\@flushglue}\r
1035 \def\@writecount{\write\@mainaux{\string\global\r
1036   \string\@namedef{n@author@}{\the\n@author}}%\r
1037   \write\@mainaux{\string\global\string\r
1038   \@namedef{n@collab@}{\the\n@collab}}}\r
1039 \def\title#1{%\r
1040   \beg@elem\r
1041   \title@note@fmt                      % formatting instruction\r
1042   \add@tok\t@glob@notes                % for \thanks commands\r
1043     {\title@note@fmt}%\r
1044   \proc@elem{title}{#1}%\r
1045   \def\title@notes{\the\t@loc@notes}%  % store the notes of the title,\r
1046   \title@fmt{\@title}{\title@notes}%   % print the title\r
1047   \ignorespaces}\r
1048 \def\subtitle#1{%\r
1049   \beg@elem\r
1050   \proc@elem{subtitle}{#1}%\r
1051   \def\title@notes{\the\t@loc@notes}%  % store the notes of the title,\r
1052   \subtitle@fmt{\@subtitle}{\title@notes}% print the title\r
1053   \ignorespaces}\r
1054 \newdimen \@logoheight \@logoheight 5pc\r
1055 \def\@Lhook{\vrule \@height \@logoheight \@width \z@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height 0.2\p@ \@width 10pt}\r
1056 \def\@Rhook{\vrule \@height 0.2\p@ \@width 10\p@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height \@logoheight \@width \z@}\r
1057 \def\title@fmt#1#2{%\r
1058 \@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%\r
1059  \vspace*{12pt}             % Vertical space above title\r
1060   {\@titlesize #1\,\hbox{$^{#2}$}\par}%\r
1061   \vskip\@undertitleskip\r
1062 \vskip24\p@  % Vertical space below title\r
1063   }\r
1064 \def\subtitle@fmt#1#2{%               % No vertical space above sub-title\r
1065   {\@titlesize #1\,\hbox{$^{#2}$}}\par}\r
1066 \def\title@note@fmt{\def\thefootnote{\fnstar{footnote}}}\r
1067 \def\author{\@ifnextchar[{\author@optarg}{\author@optarg[]}}\r
1068 \def\author@optarg[#1]#2{\stepcounter{author}%\r
1069   \beg@elem\r
1070   \add@tok\email@text{\ead@newau}%\r
1071   \add@tok\url@text{\ead@newau}%\r
1072   \@for\@tempa:=#1\do{\expandafter\add@thanksref\expandafter{\@tempa}}%\r
1073   \report@elt{author}\proc@elem{author}{#2}%\r
1074   \ifnum0\n@collab@=\z@ \runningauthor@fmt \fi\r
1075   \author@fmt{\the\c@author}{\the\t@loc@notes}{\@author}%\r
1076 }\r
1077 \def\runningauthor@fmt{%\r
1078   \begingroup\no@harm\r
1079     \if@firstauthor\r
1080       \ifnum0\n@author@ > 2\r
1081         \global\edef\@runningauthor{\@author\ et al.}%\r
1082       \else\r
1083         \global\let\@runningauthor\@author%\r
1084       \fi\r
1085     \else % \c@author > 1\r
1086       \ifnum0\n@author@ = 2\r
1087         \global\edef\@runningauthor{\@runningauthor\ \& \noexpand\@author}%\r
1088       \fi\r
1089     \fi\r
1090   \endgroup\r
1091 }\r
1092 \def\author@fmt#1#2#3{\@newelemtrue\r
1093   \if@firstauthor\r
1094   \first@author \global\@firstauthorfalse \fi\r
1095   \ifnum\prev@elem=\e@author \global\@newelemfalse \fi\r
1096   \if@newelem \author@fmt@init \fi\r
1097   \edef\@tempb{#2}\ifx\@tempb\@empty\r
1098     \hbox{{\author@font #3}}\else\r
1099     \hbox{{\author@font #3}\,$^{\mathrm{#2}}$}%\r
1100   \fi}\r
1101 \def\first@author{\author@note@fmt\r
1102   \corauth@mark@fmt\r
1103   \add@tok\t@glob@notes\r
1104   {\output@corauth@text\r
1105     \output@ead@text{email}%\r
1106     \output@ead@text{url}%\r
1107     \author@note@fmt}%\r
1108 }%\r
1109 \def\author@fmt@init{%\r
1110   \par\r
1111   \vskip 8\p@ \@plus 4\p@ \@minus 2\p@\r
1112   \@authorsize\r
1113   \leavevmode}                        % Vertical space above author list\r
1114  \def\and{\unskip~and~}\r
1115 \def\collab{\@ifstar{\collab@arg}{\collab@arg}}\r
1116 \let\collaboration=\collab\r
1117 \def\collab@arg#1{\stepcounter{collab}%\r
1118   \if@firstauthor \first@author \global\@firstauthorfalse \fi\r
1119   \gdef\@runningauthor{#1}%\r
1120   \beg@elem\r
1121   \proc@elem{collab}{#1}%\r
1122   \collab@fmt{\the\c@collab}{\the\t@loc@notes}{\@collab}%\r
1123   \ignorespaces}\r
1124 \def\collab@fmt#1#2#3{\@newelemtrue\r
1125   \ifnum\prev@elem=\e@collab \global\@newelemfalse \fi\r
1126   \if@newelem \collab@fmt@init \fi\r
1127   \par                                 % Start new paragraph\r
1128   \edef\@tempb{#2}\ifx\@tempb\@empty\r
1129     {\@authorsize #3}\else\r
1130     {\@authorsize #3\,$^{\mathrm{#2}}$}}\r
1131 \def\collab@fmt@init{\vskip 1em}       % Vertical space above list\r
1132 \def\author@note@fmt{\setcounter{footnote}{0}%\r
1133   \def\thefootnote{\xarabic{footnote}}}\r
1134 \let\collab@note@fmt=\author@note@fmt\r
1135 \def\corauth@mark@fmt{\def\thecorauth{\astsymbol{corauth}}}\r
1136 \def\output@corauth@text{\def\thefootnote{\astsymbol{footnote}}%\r
1137   \the\corauth@text}\r
1138 \def\output@ead@text#1{%\r
1139   \expandafter\add@tok\csname #1@text\endcsname{\ead@endau}%\r
1140   \expandafter\ifcase\csname has@ead@#1\endcsname\else\r
1141   {\let\thefootnote\relax\r
1142     \footnotetext[0]{\raggedright\textit{%\r
1143         \expandafter\ifcase\csname has@ead@#1\endcsname\or\r
1144         \csname #1@name\endcsname\else\r
1145         \csname #1s@name\endcsname\fi\r
1146         : }%\r
1147         \expandafter\the\csname #1@text\endcsname.}}%\r
1148     \fi}\r
1149 \def\xarabic#1{%\r
1150   \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0\r
1151   *\else\arabic{#1} \fi}\r
1152 \def\xalph#1{%\r
1153   \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0\r
1154   *\else\alph{#1} \fi}\r
1155 \def\xfnsymbol#1{%\r
1156   \expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0\r
1157   *\else\fnsymbol{#1} \fi}\r
1158 \def\address{\@ifstar{\address@star}%\r
1159   {\@ifnextchar[{\address@optarg}{\address@noptarg}}}\r
1160 \def\address@optarg[#1]#2{\real@refstepcounter{address}%\r
1161   \beg@elem\r
1162   \report@elt{address}\proc@elem{address}{#2}%\r
1163   \address@fmt{\c@address}{\the\t@loc@notes}{\@address}{#1}%\r
1164   \if@Elproofing\else\label{#1}\fi\r
1165   \ignorespaces}\r
1166 \def\address@noptarg#1{\real@refstepcounter{address}%\r
1167   \beg@elem\r
1168   \proc@elem{address}{#1}%\r
1169   \address@fmt{\z@}{\the\t@loc@notes}{\@address}{\theaddress}%\r
1170   \ignorespaces}\r
1171 \def\address@star#1{%\r
1172   \beg@elem\r
1173   \proc@elem{address}{#1}%\r
1174   \address@fmt{\m@ne}{\the\t@loc@notes}{\@address}{*}%\r
1175   \ignorespaces}\r
1176 \def\theaddress{\alph{address}}\r
1177 \def\address@fmt#1#2#3#4{\@newelemtrue\r
1178   \if@Elproofing\def\@eltag{#4}\else\def\@eltag{\theaddress}\fi\r
1179   \ifnum\prev@elem=\e@address \@newelemfalse \fi\r
1180   \if@newelem \address@fmt@init \fi\r
1181   \noindent \bgroup \@addressstyle\r
1182   \ifnum#1=\z@\r
1183     #3\,$^{\mathrm{#2}}$\space%\r
1184   \else\r
1185     \ifnum#1=\m@ne\r
1186       $^{\phantom{\mathrm{\@eltag}}}$\space #3\,$^{\mathrm{#2}}$%\r
1187     \else\r
1188       $^{\mathrm{\@eltag}}\space$#3\,$^{\mathrm{#2}}$%\r
1189     \fi\r
1190   \fi\r
1191   \par \egroup}\r
1192 \def\address@fmt@init{%\r
1193   \par                                % Start new paragraph\r
1194    \vskip 6\p@ \@plus 3\p@ \@minus 1.5pt}\r
1195 \def\abstract{\@ifnextchar[{\@abstract}{\@abstract[]}}\r
1196 \def\@abstract[#1]{%\r
1197   \global\@hasabstracttrue\r
1198   \hyphenpenalty\sv@hyphenpenalty     % restore \hyphenpenalty\r
1199   \global\setbox\t@abstract=\vbox\bgroup\r
1200   \leftskip\z@\r
1201   \@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue\r
1202    \small\r
1203   \parindent 1em                      % \parindent in abstract\r
1204   \noindent {\bfseries\abstractname}  % caption `Abstract' (bold)\r
1205   \vskip 0.5\@bls    % half a line of space below\r
1206 \noindent\ignorespaces\r
1207 }\r
1208  \def\endabstract{\par \egroup}\r
1209 \def\keyword{%\r
1210   \global\@haskeywordstrue             % Implies rules are to be printed\r
1211   \hyphenpenalty\sv@hyphenpenalty      % restore \hyphenpenalty\r
1212   \def\sep{\unskip, }                  % separator for multiple keywords\r
1213   \def\MSC{\par\leavevmode\hbox {\it 1991 MSC:\ }}%\r
1214   \def\PACS{\par\leavevmode\hbox {\it PACS:\ }}%\r
1215   \global\setbox\t@keyword=\vbox\bgroup\r
1216   \@keywordsize\r
1217   \parskip\z@\r
1218   \vskip 10\p@ \@plus 2\p@ \@minus 2\p@       % One line of space above keywords.\r
1219   \noindent\@keywordheading\r
1220   \justify@off                         % Keywords are not justified.\r
1221   \ignorespaces}\r
1222 \def\endkeyword{\par \egroup}\r
1223 \def\runtitle#1{\gdef\@runtitle{#1}}\r
1224 \def\runauthor#1{\gdef\@runauthor{#1}}\r
1225 \let\@runauthor\relax\r
1226 \let\@runtitle\relax\r
1227 \let\@runningauthor\relax\r
1228 \def\RUNDATE{}\r
1229 \def\RUNJNL{}\r
1230 \def\RUNART{}\r
1231 \def\journal#1{\gdef\@journal{#1}}\r
1232 \def\volume#1{\gdef\@volume{#1}}       \def\@volume{0}\r
1233 \def\issue#1{\gdef\@issue{#1}}         \def\@issue{0}\r
1234 \newcount\@pubyear\r
1235 \@pubyear=\number\year\r
1236 \def\company#1{\def\@company{#1}}\r
1237 \def\@copyrightyear{\number\year}\r
1238 \def\@shortenyear#1#2#3#4\\{\global\def\@shortyear{#3#4}}\r
1239 \expandafter\@shortenyear\the\@pubyear\\\r
1240 \def\pubyear#1{\global\@pubyear#1\r
1241  \expandafter\@shortenyear\the\@pubyear\\%\r
1242   \ignorespaces}\r
1243 \def\copyear#1{%\r
1244   \gdef\@copyrightyear{#1}%\r
1245   \ignorespaces}\r
1246 \let\copyrightyear\copyear\r
1247 \newcounter{firstpage}\r
1248 \newcounter{lastpage}\r
1249 \let\ESpagenumber\arabic\r
1250 \def\firstpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\r
1251   \setcounter{firstpage}{#1}%\r
1252   \global\c@page=#1 \ignorespaces\fi}\r
1253 \setcounter{firstpage}{1}\r
1254 \let\realpageref\pageref\r
1255 \setcounter{lastpage}{0}\r
1256 \def\lastpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\r
1257   \setcounter{lastpage}{#1}\ignorespaces\fi\r
1258   }\r
1259 \AtEndDocument{%\r
1260    \clearpage\r
1261    \addtocounter{page}{-1}%\r
1262    \immediate\write\@auxout{%\r
1263    \string\global\string\c@lastpage=\the\c@page}%\r
1264    \addtocounter{page}{1}%\r
1265 }\r
1266 \def\date#1{\gdef\@date{#1}}                  \def\@date{\today}\r
1267 \def\aid#1{}\r
1268 \def\ssdi#1#2{}\r
1269 \def\received#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@received{#1}\fi}\r
1270   \def\@received{\relax}\r
1271 \def\revised#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@revised{#1}\fi}\r
1272   \def\@revised{\relax}\r
1273 \def\accepted#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@accepted{#1}\fi}\r
1274   \def\@accepted{\relax}\r
1275 \def\communicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@communicated{#1}\fi}\r
1276   \def\@communicated{\relax}\r
1277 \def\dedicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@dedicated{#1}\fi}\r
1278   \def\@dedicated{\relax}\r
1279 \def\presented#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@presented{#1}\fi}\r
1280   \def\@presented{\relax}\r
1281 \def\articletype#1{\gdef\@articletype{#1}}\r
1282   \@ifundefined{@articletype}{\def\@articletype{}}{}\r
1283 \def\received@prefix{Received~}\r
1284 \def\revised@prefix{; revised~}\r
1285 \def\accepted@prefix{; accepted~}\r
1286 \def\communicated@prefix{; communicated~by~}\r
1287 \def\history@prefix{}\r
1288 \def\received@postfix{}\r
1289 \def\revised@postfix{}\r
1290 \def\accepted@postfix{}\r
1291 \def\communicated@postfix{}\r
1292 \def\history@postfix{}\r
1293 \def\empty@data{\relax}\r
1294 \def\history@fmt{%\r
1295   \bgroup\r
1296   \@historysize\r
1297   \vskip 6\p@ \@plus 2\p@ \@minus 1\p@         % Vertical space above history\r
1298   \ifx\@received\empty@data \else       % If there is no \received,\r
1299                                         % do not print anything\r
1300     \leavevmode\r
1301     \history@prefix\r
1302     \received@prefix\@received \received@postfix%\r
1303     \ifx\@revised\empty@data \else\r
1304       \revised@prefix\@revised \revised@postfix%\r
1305     \fi\r
1306     \ifx\@accepted\empty@data \else\r
1307       \accepted@prefix\@accepted \accepted@postfix%\r
1308     \fi\r
1309     \ifx\@communicated\empty@data \else\r
1310       \communicated@prefix\@communicated \communicated@postfix%\r
1311     \fi\r
1312     \history@postfix\r
1313   \fi\r
1314   \par \egroup}\r
1315 \def\dedicated@fmt{%\r
1316   \ifx\@dedicated\empty@data \else\r
1317     \vskip 4\p@ \@plus 3\p@\r
1318     \normalsize\it\centering \@dedicated\r
1319     \fi}\r
1320 \def\@alph#1{\ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or\r
1321 j\or k\or \ensuremath{\ell}\or m\or n\or o\or p\or q\or r\or s\or t\or\r
1322 u\or v\or w\or x\or y\or z\or aa\or ab\or ac\or ad\or ae\or af\or ag\or\r
1323 ah\or ai\or aj\or ak\or a\ensuremath{\ell}\or am\or an\or ao\or ap\or\r
1324 aq\or ar\or as\or at\or au\or av\or aw\or ay\or az\or ba\or bb\or bc\or\r
1325 bd\or be\or bf\or bg\or bh\or bi\or bj\or bk\or b\ensuremath{\ell}\or\r
1326 bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or bw\or bx\or by\or\r
1327 bz\or ca\or cb\or cc\or cd\or ce\or cf\or cg\or ch\or ci\or cj\or ck\or\r
1328 c\ensuremath{\ell}\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or\r
1329 cu\or cw\or cx\or cy\or cz\or da\or db\or dc\or dd\or de\or df\or dg\or\r
1330 dh\or di\or dj\or dk\or d\ensuremath{\ell}\or dm\or dn\or do\or dp\or\r
1331 dq\or dr\or ds\or dt\or du\or dw\or dx\or dy\or dz\or ea\or eb\or ec\or\r
1332 ed\or ee\or ef\or eg\or eh\or ei\or ej\or ek\or e\ensuremath{\ell}\or\r
1333 em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or ew\or ex\or ey\or\r
1334 ez\else\@ctrerr\fi}\r
1335 \def\fnstar#1{\@fnstar{\@nameuse{c@#1}}}\r
1336 \def\@fnstar#1{\ifcase#1\or\r
1337     \hbox{$\star$}\or\r
1338     \hbox{$\star\star$}\or\r
1339     \hbox{$\star\star\star$}\or\r
1340     \hbox{$\star\star\star\star$}\or\r
1341     \hbox{$\star\star\star\star\star$}\or\r
1342     \hbox{$\star\star\star\star\star\star$}\r
1343   \else\r
1344     \@ctrerr\r
1345   \fi\r
1346   \relax}\r
1347 \def\astsymbol#1{\@astsymbol{\@nameuse{c@#1}}}\r
1348 \def\@astsymbol#1{\ifcase#1\or\r
1349     \hbox{$\ast$}\or\r
1350     \hbox{$\ast\ast$}\or\r
1351     \hbox{$\ast\ast\ast$}\or\r
1352     \hbox{$\ast\ast\ast\ast$}\or\r
1353     \hbox{$\ast\ast\ast\ast\ast$}\or\r
1354     \hbox{$\ast\ast\ast\ast\ast\ast$}%\r
1355   \else\r
1356     \@ctrerr\r
1357   \fi\r
1358   \relax}\r
1359 \mark{{}{}}   % Initializes TeX's marks\r
1360 \def\ps@plain{\let\@mkboth\@gobbletwo\r
1361  \def\@oddhead{}%\r
1362  \def\@evenhead{}%\r
1363  \def\@oddfoot{\hfil {\rmfamily\thepage} \hfil}%\r
1364  \let\@evenfoot\@oddfoot}\r
1365 \def\@copyright{\@issn/\@shortyear/\$\@price\ $\copyright$\ \the\@pubyear\\r
1366   \@company{} All  rights reserved}\r
1367 \def\@jou@vol@pag{\@journal\ \@volume\ (\the\@pubyear)\ \@pagerange}\r
1368 \def\sectionmark#1{}\r
1369 \def\subsectionmark#1{}\r
1370 \let\@j@v@p\@jou@vol@pag    % long journal title appears in reprint line\r
1371 \let\@@j@v@p\@jou@vol@pag   % long journal title appears in running headline\r
1372 \def\sectionmark#1{}\r
1373 \def\subsectionmark#1{}\r
1374 \def\ps@copyright{\let\@mkboth\@gobbletwo\r
1375   \def\@oddhead{}%\r
1376   \let\@evenhead\@oddhead\r
1377   \def\@oddfoot{\small\slshape\r
1378     \def\@tempa{0}\r
1379     \ifx\@volume\@tempa\r
1380       Preprint submitted to \@journal\hfil\@date\/%\r
1381     \else\r
1382       Article published in \@jou@vol@pag\hfil\hbox{}\fi}%\r
1383   \let\@evenfoot\@oddfoot\r
1384 }\r
1385 \let\ps@noissn\ps@empty\r
1386 \let\ps@headings\ps@plain\r
1387 \def\today{\number\day\space\ifcase\month\or\r
1388   January\or February\or March\or April\or May\or June\or\r
1389   July\or August\or September\or October\or November\or December\fi\r
1390   \space\number\year}\r
1391 \def\nuc#1#2{\relax\ifmmode{}^{#1}{\protect\text{#2}}\else${}^{#1}$#2\fi}\r
1392 \def\itnuc#1#2{\setbox\@tempboxa=\hbox{\scriptsize\it #1}\r
1393   \def\@tempa{{}^{\box\@tempboxa}\!\protect\text{\it #2}}\relax\r
1394   \ifmmode \@tempa \else $\@tempa$\fi}\r
1395 \let\old@vec\vec % save old definition of \vec\r
1396 \def\pol#1{\old@vec{#1}}\r
1397 \def\half{{\textstyle\frac{1}{2}}}\r
1398 \def\threehalf{{\textstyle\frac{3}{2}}}\r
1399 \def\quart{{\textstyle\frac{1}{4}}}\r
1400 \if@symbold\else\def\d{\,\mathrm{d}}\fi\r
1401 \def\e{\mathop{\mathrm{e}}\nolimits}\r
1402 \def\int{\intop}\r
1403 \def\oint{\ointop}\r
1404 \newbox\slashbox \setbox\slashbox=\hbox{$/$}\r
1405 \newbox\Slashbox \setbox\Slashbox=\hbox{\large$/$}\r
1406 \def\pFMslash#1{\setbox\@tempboxa=\hbox{$#1$}\r
1407   \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa\r
1408   \copy\slashbox \kern-\@tempdima \box\@tempboxa}\r
1409 \def\pFMSlash#1{\setbox\@tempboxa=\hbox{$#1$}\r
1410   \@tempdima=0.5\wd\Slashbox \advance\@tempdima 0.5\wd\@tempboxa\r
1411   \copy\Slashbox \kern-\@tempdima \box\@tempboxa}\r
1412 \def\FMslash{\protect\pFMslash}\r
1413 \def\FMSlash{\protect\pFMSlash}\r
1414   \def\Cset{\mathbb{C}}\r
1415   \def\Hset{\mathbb{H}}\r
1416   \def\Nset{\mathbb{N}}\r
1417   \def\Qset{\mathbb{Q}}\r
1418   \def\Rset{\mathbb{R}}\r
1419   \def\Zset{\mathbb{Z}}\r
1420 \if@TwoColumn\r
1421   \adjdemerits=100\r
1422   \linepenalty=100\r
1423   \doublehyphendemerits=5000        % experimental (1993-12-14)\r
1424   \emergencystretch=1.6pc\r
1425   \spaceskip=0.3em \@plus 0.17em \@minus 0.12em\r
1426 \fi\r
1427 \@frontmatterwidth\textwidth\r
1428 \ps@headings                                % 'headings' page style\r
1429 \pagenumbering{arabic}                      % Arabic page numbers\r
1430 \def\thepage{\@pagenumprefix\ESpagenumber{page}}  % preceded by \@pagenumprefix\r
1431 \let\baselinestretch\@blstr\r
1432 \InputIfFileExists{\@shortjid.cfg}{}{}\r
1433 \endinput\r
1434 %%\r
1435 %% End of file `elsart.cls'.\r