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