2 %% This is file `elsarticle.cls',
\r
3 %% generated with the docstrip utility.
\r
5 %% The original source files were:
\r
7 %% elsarticle.dtx (with options: `class')
\r
9 %% Copyright 2007, 2008, 2009 Elsevier Ltd
\r
11 %% This file is part of the 'Elsarticle Bundle'.
\r
12 %% -------------------------------------------
\r
14 %% It may be distributed under the conditions of the LaTeX Project Public
\r
15 %% License, either version 1.2 of this license or (at your option) any
\r
16 %% later version. The latest version of this license is in
\r
17 %% http://www.latex-project.org/lppl.txt
\r
18 %% and version 1.2 or later is part of all distributions of LaTeX
\r
19 %% version 1999/12/01 or later.
\r
21 %% The list of all files belonging to the 'Elsarticle Bundle' is
\r
22 %% given in the file `manifest.txt'.
\r
25 %% $Id: elsarticle.dtx 19 2009-12-17 07:07:52Z rishi $
\r
27 \def\RCSfile{elsarticle}%
\r
28 \def\RCSversion{1.20b}%
\r
29 \def\RCSdate{2009/09/17}%
\r
30 \def\@shortjnl{\relax}
\r
31 \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd}
\r
32 \def\@issn{000-0000}
\r
33 \def\@shortjid{elsarticle}
\r
34 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
\r
35 \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
\r
36 \def\ABD{\AtBeginDocument}
\r
37 \newif\ifpreprint \preprintfalse
\r
38 \newif\iflongmktitle \longmktitlefalse
\r
44 \def\@finalWarning{%
\r
45 *****************************************************\MessageBreak
\r
46 This document is typeset in the CRC style which\MessageBreak
\r
47 is not suitable for submission.\MessageBreak
\r
49 Please typeset again using 'preprint' option\MessageBreak
\r
50 for creating PDF suitable for submission.\MessageBreak
\r
51 ******************************************************\MessageBreak
\r
54 \DeclareOption{preprint}{\global\preprinttrue
\r
55 \gdef\@blstr{1}\xdef\jtype{0}%
\r
56 \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
\r
57 \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
\r
58 \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
\r
59 \DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}}
\r
60 \DeclareOption{number}{\xdef\@biboptions{numbers}}
\r
61 \DeclareOption{numbers}{\xdef\@biboptions{numbers}}
\r
62 \DeclareOption{longtitle}{\global\longmktitletrue}
\r
63 \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
\r
64 \ExecuteOptions{twocolumn}}
\r
66 \DeclareOption{3p}{\xdef\jtype{3}\global\preprintfalse}
\r
67 \DeclareOption{1p}{\xdef\jtype{1}\global\preprintfalse
\r
68 \AtBeginDocument{\@twocolumnfalse}}
\r
69 \DeclareOption{times}{\IfFileExists{txfonts.sty}%
\r
70 {\AtEndOfClass{\RequirePackage{txfonts}%
\r
71 \gdef\ttdefault{cmtt}%
\r
76 \let\openbox\relax}}{\RequirePackage{times}}}
\r
77 \ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
\r
78 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\r
81 \RequirePackage{graphicx}
\r
83 \let\tnotesep\@empty
\r
84 \def\title#1{\gdef\@title{#1}}
\r
87 \def\elsLabel#1{\@bsphack\protected@write\@auxout{}%
\r
88 {\string\Newlabel{#1}{\@currentlabel}}\@esphack}
\r
89 \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
\r
91 \def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
\r
94 \def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
\r
95 \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}%
\r
96 \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
\r
98 \let\@tnotemark\@empty
\r
100 \let\@tnotes\@empty
\r
101 \RequirePackage{pifont}
\r
103 \def\tnotetext[#1]#2{\g@addto@macro\@tnotes{%
\r
104 \refstepcounter{tnote}\elsLabel{#1}%
\r
105 \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
\r
106 \footnotetext{#2}}}
\r
108 \let\@nonumnotes\@empty
\r
109 \def\nonumnote#1{\g@addto@macro\@nonumnotes{%
\r
110 \let\thefootnote\relax\footnotetext{#1}}}
\r
113 \def\fnmark[#1]{\let\comma\@empty
\r
114 \def\@fnmark{\@for\@@fnmark:=#1\do{%
\r
115 \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}%
\r
116 \unskip\comma\fnotenum\let\comma,}}%
\r
119 \let\@fnotes\@empty\let\@fnmark\@empty
\r
120 \def\fntext[#1]#2{\g@addto@macro\@fnotes{%
\r
121 \refstepcounter{fnote}\elsLabel{#1}%
\r
122 \def\thefootnote{\thefnote}%
\r
123 \global\setcounter{footnote}{\thefnote}%
\r
124 \footnotetext{#2}}}
\r
126 \def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}%
\r
127 \unskip\textsuperscript{\sep\ifcase\cnotenum\or
\r
128 $\ast$\or$\ast\ast$\fi\hspace{-1pt}}\let\sep=,}
\r
130 \let\@cormark\@empty
\r
131 \let\@cornotes\@empty
\r
133 \def\cortext[#1]#2{\g@addto@macro\@cornotes{%
\r
134 \refstepcounter{cnote}\elsLabel{#1}%
\r
135 \def\thefootnote{\ifcase\thecnote\or$\ast$\or
\r
137 \footnotetext{#2}}}
\r
139 \let\@corref\@empty
\r
140 \def\corref#1{\edef\cnotenum{\elsRef{#1}}%
\r
141 \edef\@corref{\ifcase\cnotenum\or
\r
142 $\ast$\or$\ast\ast$\fi\hskip-1pt}}
\r
144 \def\fnref#1{\fnmark[#1]}
\r
145 \def\tnoteref#1{\tnotemark[#1]}
\r
147 \def\resetTitleCounters{\c@cnote=0
\r
148 \c@fnote=0 \c@tnote=0 \c@footnote=0}
\r
151 \let\@elseads\@empty
\r
152 \let\@elsuads\@empty
\r
153 \let\@cormark\@empty
\r
154 \def\hashchar{\expandafter\@gobble\string\~}
\r
155 \def\underscorechar{\expandafter\@gobble\string\_}
\r
156 \def\lbracechar{\expandafter\@gobble\string\{}
\r
157 \def\rbracechar{\expandafter\@gobble\string\}}
\r
159 \def\ead{\@ifnextchar[{\@uad}{\@ead}}
\r
160 \gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}%
\r
161 \def\{{\string\lbracechar\space}%
\r
162 \def~{\hashchar\space}%
\r
163 \def\}{\string\rbracechar\space}%
\r
164 \edef\tmp{\the\@eadauthor}
\r
165 \immediate\write\@auxout{\string\emailauthor
\r
166 {#1}{\expandafter\strip@prefix\meaning\tmp}}%
\r
170 \gdef\emailauthor#1#2{\stepcounter{ead}%
\r
171 \g@addto@macro\@elseads{\raggedright%
\r
172 \let\corref\@gobble
\r
173 \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
\r
175 \gdef\@uad[#1]#2{\bgroup
\r
176 \def~{\string\hashchar\space}%
\r
177 \def\_{\string\underscorechar\space}%
\r
178 \edef\tmp{\the\@eadauthor}
\r
179 \immediate\write\@auxout{\string\urlauthor
\r
180 {#2}{\expandafter\strip@prefix\meaning\tmp}}%
\r
183 \def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble%
\r
184 \raggedright\eadsep\texttt{#1}\space(#2)%
\r
185 \def\eadsep{\unskip,\space}}%
\r
190 \let\authorsep\@empty
\r
192 \newcounter{author}
\r
193 \def\author{\@ifnextchar[{\@@author}{\@author}}
\r
195 \newtoks\@eadauthor
\r
196 \def\@@author[#1]#2{\g@addto@macro\elsauthors{%
\r
197 \def\baselinestretch{1}%
\r
198 \authorsep#2\unskip\textsuperscript{%#1%
\r
199 \@for\@@affmark:=#1\do{%
\r
200 \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\elsRef{\@@affmark}}}%
\r
201 \unskip\sep\affnum\let\sep=,}%
\r
202 \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
\r
203 \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
\r
205 \def\authorsep{\unskip,\space}%
\r
206 \global\let\sep\@empty\global\let\@corref\@empty
\r
207 \global\let\@fnmark\@empty}%
\r
211 \def\@author#1{\g@addto@macro\elsauthors{\normalsize%
\r
212 \def\baselinestretch{1}%
\r
213 \upshape\authorsep#1\unskip\textsuperscript{%
\r
214 \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
\r
215 \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
\r
217 \def\authorsep{\unskip,\space}%
\r
218 \global\let\@fnmark\@empty
\r
219 \global\let\@corref\@empty
\r
220 \global\let\sep\@empty}%
\r
225 \def\addsep{\par\vskip6pt}
\r
226 \def\address{\@ifnextchar[{\@@address}{\@address}}
\r
229 \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or
\r
230 l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
\r
232 \or aa\or ab\or ac\or ad\or ae\or af\or ag\or ah\or ai\or aj\or
\r
233 ak\or al\or am\or an\or ao\or ap\or aq\or ar\or as\or at\or au\or
\r
234 av\or aw\or ax\or ay\or az%
\r
235 \or ba\or bb\or bc\or bd\or be\or bf\or bg\or bh\or bi\or bj\or
\r
236 bk\or bl\or bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or
\r
237 bv\or bw\or bx\or by\or bz%
\r
238 \or ca\or cb\or cc\or cd\or ce\or cf\or cg\or ch\or ci\or cj\or
\r
239 ck\or cl\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or cu\or
\r
240 cv\or cw\or cx\or cy\or cz%
\r
241 \or da\or db\or dc\or dd\or de\or df\or dg\or dh\or di\or dj\or
\r
242 dk\or dl\or dm\or dn\or do\or dp\or dq\or dr\or ds\or dt\or du\or
\r
243 dv\or dw\or dx\or dy\or dz%
\r
244 \or ea\or eb\or ec\or ed\or ee\or ef\or eg\or eh\or ei\or ej\or
\r
245 ek\or el\or em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or
\r
246 ev\or ew\or ex\or ey\or ez%
\r
247 \or fa\or fb\or fc\or fd\or fe\or ff\or fg\or fh\or fi\or fj\or
\r
248 fk\or fl\or fm\or fn\or fo\or fp\or fq\or fr\or fs\or ft\or fu\or
\r
249 fv\or fw\or fx\or fy\or fz%
\r
250 \or ga\or gb\or gc\or gd\or ge\or gf\or gg\or gh\or gi\or gj\or
\r
251 gk\or gl\or gm\or gn\or go\or gp\or gq\or gr\or gs\or gt\or gu\or
\r
252 gv\or gw\or gx\or gy\or gz%
\r
256 \renewcommand\theaffn{\alph{affn}}
\r
258 \long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
\r
259 \def\baselinestretch{1}%
\r
260 \refstepcounter{affn}
\r
261 \xdef\@currentlabel{\theaffn}
\r
263 \textsuperscript{\theaffn}#2\par}}
\r
265 \long\def\@address#1{\g@addto@macro\elsauthors{%
\r
266 \def\baselinestretch{1}%
\r
267 \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}%
\r
268 \def\authorsep{\par\vskip8pt}}}
\r
271 \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
\r
272 \hsize=\textwidth\def\baselinestretch{1}%
\r
273 \noindent\unskip\textbf{Abstract}
\r
274 \par\medskip\noindent\unskip\ignorespaces}
\r
279 \def\sep{\unskip, }%
\r
280 \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
\r
281 \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}%
\r
282 \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}%
\r
283 \def\JEL{\par\leavevmode\hbox {\it JEL:\space}}%
\r
284 \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
\r
285 \normalsize\normalfont\def\baselinestretch{1}
\r
287 \noindent\textit{Keywords: }
\r
288 \raggedright % Keywords are not justified.
\r
290 \def\endkeyword{\par \egroup}
\r
292 \newdimen\Columnwidth
\r
293 \Columnwidth=\columnwidth
\r
295 \def\printFirstPageNotes{%
\r
297 \let\columnwidth=\textwidth\fi
\r
298 \ifx\@tnotes\@empty\else\@tnotes\fi
\r
299 \ifx\@nonumnotes\@empty\else\@nonumnotes\fi
\r
300 \ifx\@cornotes\@empty\else\@cornotes\fi
\r
301 \ifx\@elseads\@empty\relax\else
\r
302 \let\thefootnote\relax
\r
303 \footnotetext{\ifnum\theead=1\relax
\r
304 \textit{Email address:\space}\else
\r
305 \textit{Email addresses:\space}\fi
\r
307 \ifx\@elsuads\@empty\relax\else
\r
308 \let\thefootnote\relax
\r
309 \footnotetext{\textit{URL:\space}%
\r
311 \ifx\@fnotes\@empty\else\@fnotes\fi
\r
312 \iflongmktitle\if@twocolumn
\r
313 \let\columnwidth=\Columnwidth\fi\fi
\r
316 \long\def\pprintMaketitle{\clearpage
\r
317 \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi
\r
318 \resetTitleCounters
\r
319 \def\baselinestretch{1}%
\r
320 \printFirstPageNotes
\r
322 \thispagestyle{pprintTitle}%
\r
323 \def\baselinestretch{1}%
\r
324 \Large\@title\par\vskip18pt
\r
325 \normalsize\elsauthors\par\vskip10pt
\r
326 \footnotesize\itshape\elsaddress\par\vskip36pt
\r
328 \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
\r
329 \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
\r
332 \gdef\thefootnote{\arabic{footnote}}%
\r
335 \def\printWarning{%
\r
336 \mbox{}\par\vfill\par\bgroup
\r
337 \fboxsep12pt\fboxrule1pt
\r
338 \hspace*{.18\textwidth}
\r
339 \fcolorbox{gray50}{gray10}{\box\warnbox}
\r
340 \egroup\par\vfill\thispagestyle{empty}
\r
341 \setcounter{page}{0}
\r
344 \long\def\finalMaketitle{%
\r
345 \resetTitleCounters
\r
346 \def\baselinestretch{1}%
\r
348 \thispagestyle{pprintTitle}%
\r
349 \gdef\thefootnote{\arabic{footnote}}%
\r
352 \long\def\MaketitleBox{%
\r
353 \resetTitleCounters
\r
354 \def\baselinestretch{1}%
\r
356 \def\baselinestretch{1}%
\r
357 \Large\@title\par\vskip18pt
\r
358 \normalsize\elsauthors\par\vskip10pt
\r
359 \footnotesize\itshape\elsaddress\par\vskip36pt
\r
361 \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
\r
362 \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
\r
367 \def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
\r
368 \newdimen\space@left
\r
369 \def\alarm#1{\typeout{******************************}%
\r
371 \typeout{******************************}%
\r
373 \long\def\getSpaceLeft{%\global\@twocolumnfalse%
\r
374 \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
\r
375 \global\setbox1=\vbox{\hsize=\textwidth
\r
376 \let\footnotetext\FNtext
\r
377 \printFirstPageNotes}%
\r
378 \xdef\noteheight{\the\ht1}%
\r
379 \xdef\titleheight{\the\ht0}%
\r
381 \advance\@tempdima-\noteheight
\r
382 \advance\@tempdima-1\baselineskip
\r
391 \def\maketitle{\pprintMaketitle}
\r
395 \iflongmktitle\getSpaceLeft
\r
396 \global\setbox\els@boxa=\vsplit0 to \@tempdima
\r
397 \box\els@boxa\par\resetTitleCounters
\r
398 \thispagestyle{pprintTitle}%
\r
399 \printFirstPageNotes
\r
402 \finalMaketitle\printFirstPageNotes
\r
404 \gdef\thefootnote{\arabic{footnote}}}%
\r
408 \iflongmktitle\getSpaceLeft
\r
409 \global\setbox\els@boxa=\vsplit0 to \@tempdima
\r
410 \box\els@boxa\par\resetTitleCounters
\r
411 \thispagestyle{pprintTitle}%
\r
412 \printFirstPageNotes
\r
413 \twocolumn[\box0]%\printFirstPageNotes
\r
415 \twocolumn[\finalMaketitle]\printFirstPageNotes
\r
417 \gdef\thefootnote{\arabic{footnote}}}
\r
421 \iflongmktitle\getSpaceLeft
\r
422 \global\setbox\els@boxa=\vsplit0 to \@tempdima
\r
423 \box\els@boxa\par\resetTitleCounters
\r
424 \thispagestyle{pprintTitle}%
\r
425 \printFirstPageNotes
\r
428 \twocolumn[\finalMaketitle]\printFirstPageNotes
\r
430 \gdef\thefootnote{\arabic{footnote}}}%
\r
433 \iflongmktitle\getSpaceLeft
\r
434 \global\setbox\els@boxa=\vsplit0 to \@tempdima
\r
435 \box\els@boxa\par\resetTitleCounters
\r
436 \thispagestyle{pprintTitle}%
\r
437 \printFirstPageNotes
\r
440 \finalMaketitle\printFirstPageNotes
\r
442 \gdef\thefootnote{\arabic{footnote}}}%
\r
447 \def\ps@pprintTitle{%
\r
448 \let\@oddhead\@empty
\r
449 \let\@evenhead\@empty
\r
450 \def\@oddfoot{\footnotesize\itshape
\r
451 Preprint submitted to \ifx\@journal\@empty Elsevier
\r
452 \else\@journal\fi\hfill\today}%
\r
453 \let\@evenfoot\@oddfoot}
\r
455 \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
\r
457 \renewcommand\section{\@startsection {section}{1}{\z@}%
\r
458 {18\p@ \@plus 6\p@ \@minus 3\p@}%
\r
459 {9\p@ \@plus 6\p@ \@minus 3\p@}%
\r
460 {\normalsize\bfseries\boldmath}}
\r
461 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
\r
462 {12\p@ \@plus 6\p@ \@minus 3\p@}%
\r
463 {3\p@ \@plus 6\p@ \@minus 3\p@}%
\r
464 {\normalfont\normalsize\itshape}}
\r
465 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
\r
466 {12\p@ \@plus 6\p@ \@minus 3\p@}%
\r
468 {\normalfont\normalsize\itshape}}
\r
470 \def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}}
\r
471 \def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}}
\r
472 \def\els@bparagraph#1{\elsparagraph*{#1.}}
\r
474 \newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}%
\r
475 {10\p@ \@plus 6\p@ \@minus 3\p@}%
\r
477 {\normalfont\itshape}}
\r
478 \newdimen\leftMargin
\r
480 \newtoks\@enLab %\newtoks\@enfont
\r
482 \def\@enLabel#1#2{%
\r
483 \edef\@enThe{\noexpand#1{\@enumctr}}%
\r
484 \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
\r
486 \def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= }
\r
487 \def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
\r
488 \def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
\r
489 \def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
\r
490 \def\@enloop{\futurelet\@entemp\@enloop@}
\r
492 \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
\r
493 \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
\r
494 \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
\r
495 \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
\r
496 \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
\r
497 \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
\r
498 \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
\r
499 \ifx \@enum@\@entemp \let\@tempa\@gobble \else
\r
500 \let\@tempa\@enOther
\r
501 \fi\fi\fi\fi\fi\fi\fi\fi
\r
503 \newlength{\@sep} \newlength{\@@sep}
\r
504 \setlength{\@sep}{.5\baselineskip plus.2\baselineskip
\r
505 minus.2\baselineskip}
\r
506 \setlength{\@@sep}{.1\baselineskip plus.01\baselineskip
\r
507 minus.05\baselineskip}
\r
508 \providecommand{\sfbc}{\rmfamily\upshape}
\r
509 \providecommand{\sfn}{\rmfamily\upshape}
\r
510 \def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
\r
512 \ifnum \@enumdepth >3 \@toodeep\else
\r
513 \advance\@enumdepth \@ne
\r
514 \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
\r
515 \@ifnextchar[{\@@enum@}{\@enum@}}
\r
517 \@enLab{}\let\@enThe\@enQmark
\r
519 \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
\r
520 ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
\r
521 \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
\r
522 \expandafter\let\csname the\@enumctr\endcsname\@enThe
\r
523 \csname c@\@enumctr\endcsname7
\r
524 \expandafter\settowidth
\r
525 \csname leftmargin\romannumeral\@enumdepth\endcsname
\r
526 {\the\@enLab\hskip\labelsep}%
\r
528 \def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}%
\r
529 {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}%
\r
530 \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else
\r
531 \setlength{\topsep}{\@sep}\fi
\r
532 \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}%
\r
533 \else \setlength{\itemsep}{\@@sep}\fi
\r
534 %\setlength\leftmargin{\leftMargin}%%%{1.8em}
\r
535 \setlength{\parsep}{0pt plus1pt minus1pt}%
\r
536 \setlength{\parskip}{0pt plus1pt minus1pt}
\r
539 \def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
\r
540 \addvspace{\@sep}\fi \endlist}
\r
542 \def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
\r
544 \def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}}
\r
546 \def\@Itemize[#1]{\def\next{#1}%
\r
547 \ifnum \@itemdepth >\thr@@\@toodeep\else
\r
548 \advance\@itemdepth\@ne
\r
549 \ifx\next\@empty\else\expandafter\def\csname
\r
550 labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
\r
551 \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\r
552 \expandafter\list\csname\@itemitem\endcsname
\r
553 {\def\makelabel##1{\hss\llap{##1}}}%
\r
555 \def\newdefinition#1{%
\r
556 \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%]
\r
558 \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}}
\r
559 \def\@xndfn#1#2[#3]{%
\r
560 \expandafter\@ifdefinable\csname #1\endcsname
\r
561 {\@definecounter{#1}\@newctr{#1}[#3]%
\r
562 \expandafter\xdef\csname the#1\endcsname{%
\r
563 \expandafter\noexpand\csname the#3\endcsname \@dfncountersep
\r
565 \global\@namedef{#1}{\@dfn{#1}{#2}}%
\r
566 \global\@namedef{end#1}{\@enddefinition}}}
\r
568 \expandafter\@ifdefinable\csname #1\endcsname
\r
569 {\@definecounter{#1}%
\r
570 \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}%
\r
571 \global\@namedef{#1}{\@dfn{#1}{#2}}%
\r
572 \global\@namedef{end#1}{\@enddefinition}}}
\r
573 \def\@odfn#1[#2]#3{%
\r
574 \@ifundefined{c@#2}{\@nocounterr{#2}}%
\r
575 {\expandafter\@ifdefinable\csname #1\endcsname
\r
576 {\global\@namedef{the#1}{\@nameuse{the#2}}
\r
577 \global\@namedef{#1}{\@dfn{#2}{#3}}%
\r
578 \global\@namedef{end#1}{\@enddefinition}}}}
\r
580 \refstepcounter{#1}%
\r
581 \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}}
\r
583 \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces}
\r
584 \def\@ydfn#1#2[#3]{%
\r
585 \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
\r
586 \def\@dfncounter#1{\noexpand\arabic{#1}}
\r
587 \def\@dfncountersep{.}
\r
588 \def\@begindefinition#1#2{\trivlist
\r
589 \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape}
\r
590 \def\@opargbegindefinition#1#2#3{\trivlist
\r
591 \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape}
\r
592 \def\@enddefinition{\endtrivlist}
\r
594 \def\@begintheorem#1#2{\trivlist
\r
595 \let\baselinestretch\@blstr
\r
596 \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape}
\r
597 \def\@opargbegintheorem#1#2#3{\trivlist
\r
598 \let\baselinestretch\@blstr
\r
599 \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape}
\r
602 \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}}
\r
604 \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}}
\r
605 \def\@xnprf#1#2[#3]{%
\r
606 \expandafter\@ifdefinable\csname #1\endcsname
\r
607 {\@definecounter{#1}\@newctr{#1}[#3]%
\r
608 \expandafter\xdef\csname the#1\endcsname{%
\r
609 \expandafter\noexpand\csname the#3\endcsname \@prfcountersep
\r
611 \global\@namedef{#1}{\@prf{#1}{#2}}%
\r
612 \global\@namedef{end#1}{\@endproof}}}
\r
614 \expandafter\@ifdefinable\csname #1\endcsname
\r
615 {\@definecounter{#1}%
\r
616 \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}%
\r
617 \global\@namedef{#1}{\@prf{#1}{#2}}%
\r
618 \global\@namedef{end#1}{\@endproof}}}
\r
619 \def\@oprf#1[#2]#3{%
\r
620 \@ifundefined{c@#2}{\@nocounterr{#2}}%
\r
621 {\expandafter\@ifdefinable\csname #1\endcsname
\r
622 {\global\@namedef{the#1}{\@nameuse{the#2}}%
\r
623 \global\@namedef{#1}{\@prf{#2}{#3}}%
\r
624 \global\@namedef{end#1}{\@endproof}}}}
\r
626 \refstepcounter{#1}%
\r
627 \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}}
\r
629 \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
\r
630 \def\@yprf#1#2[#3]{%
\r
631 \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
\r
632 \def\@prfcounter#1{\noexpand\arabic{#1}}
\r
633 \def\@prfcountersep{.}
\r
634 \def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr
\r
635 \item[\hskip \labelsep{\scshape #1.}]\rmfamily}
\r
636 \def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr
\r
637 \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily}
\r
638 \def\@endproof{\endtrivlist}
\r
639 \newcommand*{\qed}{\hbox{}\hfill$\Box$}
\r
641 \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{}
\r
642 \InputIfFileExists{\jobname.spl}{}{}
\r
643 \RequirePackage[\@biboptions]{natbib}
\r
646 \immediate\openout\splwrite=\jobname.spl
\r
647 \def\biboptions#1{\def\next{#1}\immediate\write\splwrite{%
\r
648 \string\g@addto@macro\string\@biboptions{%
\r
649 ,\expandafter\strip@prefix\meaning\next}}}
\r
651 \let\baselinestretch=\@blstr
\r
654 \RequirePackage{geometry}
\r
664 footnotesep=24pt plus 2pt minus 12pt,
\r
666 \global\let\bibfont=\footnotesize
\r
668 \if@twocolumn\global\@twocolumnfalse\fi
\r
669 \else\ifnum\jtype=3
\r
670 \RequirePackage{geometry}
\r
680 footnotesep=24pt plus 2pt minus 12pt,
\r
683 \global\let\bibfont=\footnotesize
\r
685 \if@twocolumn\input{fleqn.clo}\fi
\r
686 \else\ifnum\jtype=5
\r
687 \RequirePackage{geometry}
\r
697 footnotesep=24pt plus 2pt minus 12pt,
\r
700 \global\let\bibfont=\footnotesize
\r
703 \global\@twocolumntrue
\r
705 %% End of option '5p'
\r
708 \def\journal#1{\gdef\@journal{#1}}
\r
709 \let\@journal\@empty
\r
710 \newenvironment{frontmatter}{}{\maketitle}
\r
712 \long\def\@makecaption#1#2{%
\r
713 \vskip\abovecaptionskip\footnotesize
\r
714 \sbox\@tempboxa{#1: #2}%
\r
715 \ifdim \wd\@tempboxa >\hsize
\r
718 \global \@minipagefalse
\r
719 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\r
721 \vskip\belowcaptionskip}
\r
723 \AtBeginDocument{\@ifpackageloaded{hyperref}
\r
724 {\def\@linkcolor{blue}
\r
725 \def\@anchorcolor{blue}
\r
726 \def\@citecolor{blue}
\r
727 \def\@filecolor{blue}
\r
728 \def\@urlcolor{blue}
\r
729 \def\@menucolor{blue}
\r
730 \def\@pagecolor{blue}
\r
738 \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
\r
739 \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
\r
749 \def\appendixname{Appendix }
\r
750 \renewcommand\appendix{\par
\r
751 \setcounter{section}{0}%
\r
752 \setcounter{subsection}{0}%
\r
753 \setcounter{equation}{0}
\r
754 \gdef\thefigure{\@Alph\c@section.\arabic{figure}}%
\r
755 \gdef\thetable{\@Alph\c@section.\arabic{table}}%
\r
756 \gdef\thesection{\appendixname~\@Alph\c@section}%
\r
757 \@addtoreset{equation}{section}%
\r
758 \gdef\theequation{\@Alph\c@section.\arabic{equation}}%
\r
759 \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{}
\r
762 %%%% \numberline width calculation for appendix.
\r
763 \newdimen\appnamewidth
\r
764 \def\tmptocnumberline#1{%
\r
765 \setbox0=\hbox{\appendixname}
\r
767 \addtolength\appnamewidth{2.5pc}
\r
768 \hb@xt@\appnamewidth{#1\hfill}
\r
771 %% Added for work with amsrefs.sty
\r
773 \@ifpackageloaded{amsrefs}%
\r
775 {%\let\bibsection\relax%
\r
776 \AtBeginDocument{\def\cites@b#1#2,#3{%
\r
778 \toks@{\InnerCite{#2}#1}%
\r
779 \ifx\@empty#3\@xp\@gobble\fi
\r
783 %% Added for avoiding clash with cleveref.sty
\r
785 \@ifpackageloaded{cleveref}%
\r
787 {\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{%
\r
788 \refstepcounter{tnote}%
\r
789 \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}}
\r
790 \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
\r
791 \footnotetext{#2}}}
\r
793 \def\fntext[#1]#2{\g@addto@macro\@fnotes{%
\r
794 \refstepcounter{fnote}%
\r
795 \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}}
\r
796 \def\thefootnote{\thefnote}%
\r
797 \global\setcounter{footnote}{\thefnote}%
\r
798 \footnotetext{#2}}}
\r
800 \def\cortext[#1]#2{\g@addto@macro\@cornotes{%
\r
801 \refstepcounter{cnote}%
\r
802 \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}}
\r
803 \def\thefootnote{\ifcase\thecnote\or$\ast$\or
\r
805 \footnotetext{#2}}}
\r
809 %% End of file `elsarticle.cls'.
\r