1 | %% |
---|
2 | %% This is file `elsarticle.cls', |
---|
3 | %% generated with the docstrip utility. |
---|
4 | %% |
---|
5 | %% The original source files were: |
---|
6 | %% |
---|
7 | %% elsarticle.dtx (with options: `class') |
---|
8 | %% |
---|
9 | %% Copyright 2007, 2008, 2009 Elsevier Ltd |
---|
10 | %% |
---|
11 | %% This file is part of the 'Elsarticle Bundle'. |
---|
12 | %% ------------------------------------------- |
---|
13 | %% |
---|
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. |
---|
20 | %% |
---|
21 | %% The list of all files belonging to the 'Elsarticle Bundle' is |
---|
22 | %% given in the file `manifest.txt'. |
---|
23 | %% |
---|
24 | %% |
---|
25 | %% $Id: elsarticle.dtx 19 2009-12-17 07:07:52Z rishi $ |
---|
26 | %% |
---|
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} |
---|
32 | \def\@issn{000-0000} |
---|
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 |
---|
39 | |
---|
40 | \def\@blstr{1} |
---|
41 | \newdimen\@bls |
---|
42 | \@bls=\baselineskip |
---|
43 | |
---|
44 | \def\@finalWarning{% |
---|
45 | *****************************************************\MessageBreak |
---|
46 | This document is typeset in the CRC style which\MessageBreak |
---|
47 | is not suitable for submission.\MessageBreak |
---|
48 | \MessageBreak |
---|
49 | Please typeset again using 'preprint' option\MessageBreak |
---|
50 | for creating PDF suitable for submission.\MessageBreak |
---|
51 | ******************************************************\MessageBreak |
---|
52 | } |
---|
53 | |
---|
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}} |
---|
65 | \def\jtype{0} |
---|
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}% |
---|
72 | \let\iint\relax |
---|
73 | \let\iiint\relax |
---|
74 | \let\iiiint\relax |
---|
75 | \let\idotsint\relax |
---|
76 | \let\openbox\relax}}{\RequirePackage{times}}} |
---|
77 | \ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint} |
---|
78 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} |
---|
79 | \ProcessOptions |
---|
80 | \LoadClass{article} |
---|
81 | \RequirePackage{graphicx} |
---|
82 | \let\comma\@empty |
---|
83 | \let\tnotesep\@empty |
---|
84 | \def\title#1{\gdef\@title{#1}} |
---|
85 | \let\@title\@empty |
---|
86 | |
---|
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}} |
---|
90 | |
---|
91 | \def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}% |
---|
92 | } |
---|
93 | |
---|
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}}% |
---|
97 | } |
---|
98 | \let\@tnotemark\@empty |
---|
99 | |
---|
100 | \let\@tnotes\@empty |
---|
101 | \RequirePackage{pifont} |
---|
102 | \newcounter{tnote} |
---|
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}% |
---|
106 | \footnotetext{#2}}} |
---|
107 | |
---|
108 | \let\@nonumnotes\@empty |
---|
109 | \def\nonumnote#1{\g@addto@macro\@nonumnotes{% |
---|
110 | \let\thefootnote\relax\footnotetext{#1}}} |
---|
111 | |
---|
112 | \newcounter{fnote} |
---|
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,}}% |
---|
117 | } |
---|
118 | |
---|
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}% |
---|
124 | \footnotetext{#2}}} |
---|
125 | |
---|
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=,} |
---|
129 | |
---|
130 | \let\@cormark\@empty |
---|
131 | \let\@cornotes\@empty |
---|
132 | \newcounter{cnote} |
---|
133 | \def\cortext[#1]#2{\g@addto@macro\@cornotes{% |
---|
134 | \refstepcounter{cnote}\elsLabel{#1}% |
---|
135 | \def\thefootnote{\ifcase\thecnote\or$\ast$\or |
---|
136 | $\ast\ast$\fi}% |
---|
137 | \footnotetext{#2}}} |
---|
138 | |
---|
139 | \let\@corref\@empty |
---|
140 | \def\corref#1{\edef\cnotenum{\elsRef{#1}}% |
---|
141 | \edef\@corref{\ifcase\cnotenum\or |
---|
142 | $\ast$\or$\ast\ast$\fi\hskip-1pt}} |
---|
143 | |
---|
144 | \def\fnref#1{\fnmark[#1]} |
---|
145 | \def\tnoteref#1{\tnotemark[#1]} |
---|
146 | |
---|
147 | \def\resetTitleCounters{\c@cnote=0 |
---|
148 | \c@fnote=0 \c@tnote=0 \c@footnote=0} |
---|
149 | |
---|
150 | \let\eadsep\@empty |
---|
151 | \let\@elseads\@empty |
---|
152 | \let\@elsuads\@empty |
---|
153 | \let\@cormark\@empty |
---|
154 | \def\hashchar{\expandafter\@gobble\string\~} |
---|
155 | \def\underscorechar{\expandafter\@gobble\string\_} |
---|
156 | \def\lbracechar{\expandafter\@gobble\string\{} |
---|
157 | \def\rbracechar{\expandafter\@gobble\string\}} |
---|
158 | |
---|
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}}% |
---|
167 | \egroup |
---|
168 | } |
---|
169 | \newcounter{ead} |
---|
170 | \gdef\emailauthor#1#2{\stepcounter{ead}% |
---|
171 | \g@addto@macro\@elseads{\raggedright% |
---|
172 | \let\corref\@gobble |
---|
173 | \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}% |
---|
174 | } |
---|
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}}% |
---|
181 | \egroup |
---|
182 | } |
---|
183 | \def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% |
---|
184 | \raggedright\eadsep\texttt{#1}\space(#2)% |
---|
185 | \def\eadsep{\unskip,\space}}% |
---|
186 | } |
---|
187 | |
---|
188 | \def\elsauthors{} |
---|
189 | \def\pprinttitle{} |
---|
190 | \let\authorsep\@empty |
---|
191 | \let\sep\@empty |
---|
192 | \newcounter{author} |
---|
193 | \def\author{\@ifnextchar[{\@@author}{\@author}} |
---|
194 | |
---|
195 | \newtoks\@eadauthor |
---|
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 |
---|
204 | }% |
---|
205 | \def\authorsep{\unskip,\space}% |
---|
206 | \global\let\sep\@empty\global\let\@corref\@empty |
---|
207 | \global\let\@fnmark\@empty}% |
---|
208 | \@eadauthor={#2} |
---|
209 | } |
---|
210 | |
---|
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 |
---|
216 | }% |
---|
217 | \def\authorsep{\unskip,\space}% |
---|
218 | \global\let\@fnmark\@empty |
---|
219 | \global\let\@corref\@empty |
---|
220 | \global\let\sep\@empty}% |
---|
221 | \@eadauthor={#1} |
---|
222 | } |
---|
223 | |
---|
224 | \def\elsaddress{} |
---|
225 | \def\addsep{\par\vskip6pt} |
---|
226 | \def\address{\@ifnextchar[{\@@address}{\@address}} |
---|
227 | |
---|
228 | \def\@alph#1{% |
---|
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 |
---|
231 | y\or z% |
---|
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% |
---|
253 | \else\@ctrerr\fi} |
---|
254 | |
---|
255 | \newcounter{affn} |
---|
256 | \renewcommand\theaffn{\alph{affn}} |
---|
257 | |
---|
258 | \long\def\@@address[#1]#2{\g@addto@macro\elsaddress{% |
---|
259 | \def\baselinestretch{1}% |
---|
260 | \refstepcounter{affn} |
---|
261 | \xdef\@currentlabel{\theaffn} |
---|
262 | \elsLabel{#1}% |
---|
263 | \textsuperscript{\theaffn}#2\par}} |
---|
264 | |
---|
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}}} |
---|
269 | |
---|
270 | \newbox\absbox |
---|
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} |
---|
275 | {\egroup} |
---|
276 | |
---|
277 | \newbox\keybox |
---|
278 | \def\keyword{% |
---|
279 | \def\sep{\unskip, }% |
---|
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} |
---|
286 | \parskip\z@ |
---|
287 | \noindent\textit{Keywords: } |
---|
288 | \raggedright % Keywords are not justified. |
---|
289 | \ignorespaces} |
---|
290 | \def\endkeyword{\par \egroup} |
---|
291 | |
---|
292 | \newdimen\Columnwidth |
---|
293 | \Columnwidth=\columnwidth |
---|
294 | |
---|
295 | \def\printFirstPageNotes{% |
---|
296 | \iflongmktitle |
---|
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 |
---|
306 | \@elseads}\fi |
---|
307 | \ifx\@elsuads\@empty\relax\else |
---|
308 | \let\thefootnote\relax |
---|
309 | \footnotetext{\textit{URL:\space}% |
---|
310 | \@elsuads}\fi |
---|
311 | \ifx\@fnotes\@empty\else\@fnotes\fi |
---|
312 | \iflongmktitle\if@twocolumn |
---|
313 | \let\columnwidth=\Columnwidth\fi\fi |
---|
314 | } |
---|
315 | |
---|
316 | \long\def\pprintMaketitle{\clearpage |
---|
317 | \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi |
---|
318 | \resetTitleCounters |
---|
319 | \def\baselinestretch{1}% |
---|
320 | \printFirstPageNotes |
---|
321 | \begin{center}% |
---|
322 | \thispagestyle{pprintTitle}% |
---|
323 | \def\baselinestretch{1}% |
---|
324 | \Large\@title\par\vskip18pt |
---|
325 | \normalsize\elsauthors\par\vskip10pt |
---|
326 | \footnotesize\itshape\elsaddress\par\vskip36pt |
---|
327 | \hrule\vskip12pt |
---|
328 | \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi |
---|
329 | \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi |
---|
330 | \hrule\vskip12pt |
---|
331 | \end{center}% |
---|
332 | \gdef\thefootnote{\arabic{footnote}}% |
---|
333 | } |
---|
334 | |
---|
335 | \def\printWarning{% |
---|
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} |
---|
341 | \setcounter{page}{0} |
---|
342 | \clearpage} |
---|
343 | |
---|
344 | \long\def\finalMaketitle{% |
---|
345 | \resetTitleCounters |
---|
346 | \def\baselinestretch{1}% |
---|
347 | \MaketitleBox |
---|
348 | \thispagestyle{pprintTitle}% |
---|
349 | \gdef\thefootnote{\arabic{footnote}}% |
---|
350 | } |
---|
351 | |
---|
352 | \long\def\MaketitleBox{% |
---|
353 | \resetTitleCounters |
---|
354 | \def\baselinestretch{1}% |
---|
355 | \begin{center}% |
---|
356 | \def\baselinestretch{1}% |
---|
357 | \Large\@title\par\vskip18pt |
---|
358 | \normalsize\elsauthors\par\vskip10pt |
---|
359 | \footnotesize\itshape\elsaddress\par\vskip36pt |
---|
360 | \hrule\vskip12pt |
---|
361 | \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi |
---|
362 | \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi |
---|
363 | \hrule\vskip12pt |
---|
364 | \end{center}% |
---|
365 | } |
---|
366 | |
---|
367 | \def\FNtext#1{\par\bgroup\footnotesize#1\egroup} |
---|
368 | \newdimen\space@left |
---|
369 | \def\alarm#1{\typeout{******************************}% |
---|
370 | \typeout{#1}% |
---|
371 | \typeout{******************************}% |
---|
372 | } |
---|
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}% |
---|
380 | \@tempdima=\vsize |
---|
381 | \advance\@tempdima-\noteheight |
---|
382 | \advance\@tempdima-1\baselineskip |
---|
383 | } |
---|
384 | |
---|
385 | \skip\footins=24pt |
---|
386 | |
---|
387 | \newbox\els@boxa |
---|
388 | \newbox\els@boxb |
---|
389 | |
---|
390 | \ifpreprint |
---|
391 | \def\maketitle{\pprintMaketitle} |
---|
392 | \else |
---|
393 | \ifnum\jtype=1 |
---|
394 | \def\maketitle{% |
---|
395 | \iflongmktitle\getSpaceLeft |
---|
396 | \global\setbox\els@boxa=\vsplit0 to \@tempdima |
---|
397 | \box\els@boxa\par\resetTitleCounters |
---|
398 | \thispagestyle{pprintTitle}% |
---|
399 | \printFirstPageNotes |
---|
400 | \box0% |
---|
401 | \else |
---|
402 | \finalMaketitle\printFirstPageNotes |
---|
403 | \fi |
---|
404 | \gdef\thefootnote{\arabic{footnote}}}% |
---|
405 | \else |
---|
406 | \ifnum\jtype=5 |
---|
407 | \def\maketitle{% |
---|
408 | \iflongmktitle\getSpaceLeft |
---|
409 | \global\setbox\els@boxa=\vsplit0 to \@tempdima |
---|
410 | \box\els@boxa\par\resetTitleCounters |
---|
411 | \thispagestyle{pprintTitle}% |
---|
412 | \printFirstPageNotes |
---|
413 | \twocolumn[\box0]%\printFirstPageNotes |
---|
414 | \else |
---|
415 | \twocolumn[\finalMaketitle]\printFirstPageNotes |
---|
416 | \fi |
---|
417 | \gdef\thefootnote{\arabic{footnote}}} |
---|
418 | \else |
---|
419 | \if@twocolumn |
---|
420 | \def\maketitle{% |
---|
421 | \iflongmktitle\getSpaceLeft |
---|
422 | \global\setbox\els@boxa=\vsplit0 to \@tempdima |
---|
423 | \box\els@boxa\par\resetTitleCounters |
---|
424 | \thispagestyle{pprintTitle}% |
---|
425 | \printFirstPageNotes |
---|
426 | \twocolumn[\box0]% |
---|
427 | \else |
---|
428 | \twocolumn[\finalMaketitle]\printFirstPageNotes |
---|
429 | \fi |
---|
430 | \gdef\thefootnote{\arabic{footnote}}}% |
---|
431 | \else |
---|
432 | \def\maketitle{% |
---|
433 | \iflongmktitle\getSpaceLeft |
---|
434 | \global\setbox\els@boxa=\vsplit0 to \@tempdima |
---|
435 | \box\els@boxa\par\resetTitleCounters |
---|
436 | \thispagestyle{pprintTitle}% |
---|
437 | \printFirstPageNotes |
---|
438 | \box0% |
---|
439 | \else |
---|
440 | \finalMaketitle\printFirstPageNotes |
---|
441 | \fi |
---|
442 | \gdef\thefootnote{\arabic{footnote}}}% |
---|
443 | \fi |
---|
444 | \fi |
---|
445 | \fi |
---|
446 | \fi |
---|
447 | \def\ps@pprintTitle{% |
---|
448 | \let\@oddhead\@empty |
---|
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} |
---|
454 | \def\@seccntDot{.} |
---|
455 | \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em} |
---|
456 | |
---|
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@}% |
---|
467 | {\p@}% |
---|
468 | {\normalfont\normalsize\itshape}} |
---|
469 | |
---|
470 | \def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}} |
---|
471 | \def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}} |
---|
472 | \def\els@bparagraph#1{\elsparagraph*{#1.}} |
---|
473 | |
---|
474 | \newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}% |
---|
475 | {10\p@ \@plus 6\p@ \@minus 3\p@}% |
---|
476 | {-6\p@}% |
---|
477 | {\normalfont\itshape}} |
---|
478 | \newdimen\leftMargin |
---|
479 | \leftMargin=2em |
---|
480 | \newtoks\@enLab %\newtoks\@enfont |
---|
481 | \def\@enQmark{?} |
---|
482 | \def\@enLabel#1#2{% |
---|
483 | \edef\@enThe{\noexpand#1{\@enumctr}}% |
---|
484 | \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}% |
---|
485 | \@enloop} |
---|
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@} |
---|
491 | \def\@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 |
---|
500 | \let\@tempa\@enOther |
---|
501 | \fi\fi\fi\fi\fi\fi\fi\fi |
---|
502 | \@tempa} |
---|
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} |
---|
511 | \def\enumerate{% |
---|
512 | \ifnum \@enumdepth >3 \@toodeep\else |
---|
513 | \advance\@enumdepth \@ne |
---|
514 | \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi |
---|
515 | \@ifnextchar[{\@@enum@}{\@enum@}} |
---|
516 | \def\@@enum@[#1]{% |
---|
517 | \@enLab{}\let\@enThe\@enQmark |
---|
518 | \@enloop#1\@enum@ |
---|
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}% |
---|
527 | \@enum@} |
---|
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} |
---|
537 | }} |
---|
538 | |
---|
539 | \def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else |
---|
540 | \addvspace{\@sep}\fi \endlist} |
---|
541 | |
---|
542 | \def\sitem{\@noitemargtrue\@item[\@itemlabel *]} |
---|
543 | |
---|
544 | \def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}} |
---|
545 | |
---|
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}}}% |
---|
554 | \fi} |
---|
555 | \def\newdefinition#1{% |
---|
556 | \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%] |
---|
557 | \def\@ndfn#1#2{% |
---|
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 |
---|
564 | \@dfncounter{#1}}% |
---|
565 | \global\@namedef{#1}{\@dfn{#1}{#2}}% |
---|
566 | \global\@namedef{end#1}{\@enddefinition}}} |
---|
567 | \def\@yndfn#1#2{% |
---|
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}}} |
---|
573 | \def\@odfn#1[#2]#3{% |
---|
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}}}} |
---|
579 | \def\@dfn#1#2{% |
---|
580 | \refstepcounter{#1}% |
---|
581 | \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}} |
---|
582 | \def\@xdfn#1#2{% |
---|
583 | \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces} |
---|
584 | \def\@ydfn#1#2[#3]{% |
---|
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} |
---|
593 | |
---|
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} |
---|
600 | |
---|
601 | \def\newproof#1{% |
---|
602 | \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}} |
---|
603 | \def\@nprf#1#2{% |
---|
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 |
---|
610 | \@prfcounter{#1}}% |
---|
611 | \global\@namedef{#1}{\@prf{#1}{#2}}% |
---|
612 | \global\@namedef{end#1}{\@endproof}}} |
---|
613 | \def\@ynprf#1#2{% |
---|
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}}} |
---|
619 | \def\@oprf#1[#2]#3{% |
---|
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}}}} |
---|
625 | \def\@prf#1#2{% |
---|
626 | \refstepcounter{#1}% |
---|
627 | \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}} |
---|
628 | \def\@xprf#1#2{% |
---|
629 | \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces} |
---|
630 | \def\@yprf#1#2[#3]{% |
---|
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$} |
---|
640 | |
---|
641 | \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{} |
---|
642 | \InputIfFileExists{\jobname.spl}{}{} |
---|
643 | \RequirePackage[\@biboptions]{natbib} |
---|
644 | |
---|
645 | \newwrite\splwrite |
---|
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}}} |
---|
650 | |
---|
651 | \let\baselinestretch=\@blstr |
---|
652 | |
---|
653 | \ifnum\jtype=1 |
---|
654 | \RequirePackage{geometry} |
---|
655 | \geometry{twoside, |
---|
656 | paperwidth=210mm, |
---|
657 | paperheight=297mm, |
---|
658 | textheight=562pt, |
---|
659 | textwidth=384pt, |
---|
660 | centering, |
---|
661 | headheight=50pt, |
---|
662 | headsep=12pt, |
---|
663 | footskip=12pt, |
---|
664 | footnotesep=24pt plus 2pt minus 12pt, |
---|
665 | } |
---|
666 | \global\let\bibfont=\footnotesize |
---|
667 | \global\bibsep=0pt |
---|
668 | \if@twocolumn\global\@twocolumnfalse\fi |
---|
669 | \else\ifnum\jtype=3 |
---|
670 | \RequirePackage{geometry} |
---|
671 | \geometry{twoside, |
---|
672 | paperwidth=210mm, |
---|
673 | paperheight=297mm, |
---|
674 | textheight=622pt, |
---|
675 | textwidth=468pt, |
---|
676 | centering, |
---|
677 | headheight=50pt, |
---|
678 | headsep=12pt, |
---|
679 | footskip=18pt, |
---|
680 | footnotesep=24pt plus 2pt minus 12pt, |
---|
681 | columnsep=2pc |
---|
682 | } |
---|
683 | \global\let\bibfont=\footnotesize |
---|
684 | \global\bibsep=0pt |
---|
685 | \if@twocolumn\input{fleqn.clo}\fi |
---|
686 | \else\ifnum\jtype=5 |
---|
687 | \RequirePackage{geometry} |
---|
688 | \geometry{twoside, |
---|
689 | paperwidth=210mm, |
---|
690 | paperheight=297mm, |
---|
691 | textheight=682pt, |
---|
692 | textwidth=522pt, |
---|
693 | centering, |
---|
694 | headheight=50pt, |
---|
695 | headsep=12pt, |
---|
696 | footskip=18pt, |
---|
697 | footnotesep=24pt plus 2pt minus 12pt, |
---|
698 | columnsep=18pt |
---|
699 | }% |
---|
700 | \global\let\bibfont=\footnotesize |
---|
701 | \global\bibsep=0pt |
---|
702 | \input{fleqn.clo} |
---|
703 | \global\@twocolumntrue |
---|
704 | %% |
---|
705 | %% End of option '5p' |
---|
706 | %% |
---|
707 | \fi\fi\fi |
---|
708 | \def\journal#1{\gdef\@journal{#1}} |
---|
709 | \let\@journal\@empty |
---|
710 | \newenvironment{frontmatter}{}{\maketitle} |
---|
711 | |
---|
712 | \long\def\@makecaption#1#2{% |
---|
713 | \vskip\abovecaptionskip\footnotesize |
---|
714 | \sbox\@tempboxa{#1: #2}% |
---|
715 | \ifdim \wd\@tempboxa >\hsize |
---|
716 | #1: #2\par |
---|
717 | \else |
---|
718 | \global \@minipagefalse |
---|
719 | \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% |
---|
720 | \fi |
---|
721 | \vskip\belowcaptionskip} |
---|
722 | |
---|
723 | \AtBeginDocument{\@ifpackageloaded{hyperref} |
---|
724 | {\def\@linkcolor{blue} |
---|
725 | \def\@anchorcolor{blue} |
---|
726 | \def\@citecolor{blue} |
---|
727 | \def\@filecolor{blue} |
---|
728 | \def\@urlcolor{blue} |
---|
729 | \def\@menucolor{blue} |
---|
730 | \def\@pagecolor{blue} |
---|
731 | \begingroup |
---|
732 | \@makeother\`% |
---|
733 | \@makeother\=% |
---|
734 | \edef\x{% |
---|
735 | \edef\noexpand\x{% |
---|
736 | \endgroup |
---|
737 | \noexpand\toks@{% |
---|
738 | \catcode 96=\noexpand\the\catcode`\noexpand\`\relax |
---|
739 | \catcode 61=\noexpand\the\catcode`\noexpand\=\relax |
---|
740 | }% |
---|
741 | }% |
---|
742 | \noexpand\x |
---|
743 | }% |
---|
744 | \x |
---|
745 | \@makeother\` |
---|
746 | \@makeother\= |
---|
747 | }{}} |
---|
748 | %% |
---|
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}{}{} |
---|
760 | } |
---|
761 | |
---|
762 | %%%% \numberline width calculation for appendix. |
---|
763 | \newdimen\appnamewidth |
---|
764 | \def\tmptocnumberline#1{% |
---|
765 | \setbox0=\hbox{\appendixname} |
---|
766 | \appnamewidth=\wd0 |
---|
767 | \addtolength\appnamewidth{2.5pc} |
---|
768 | \hb@xt@\appnamewidth{#1\hfill} |
---|
769 | } |
---|
770 | |
---|
771 | %% Added for work with amsrefs.sty |
---|
772 | |
---|
773 | \@ifpackageloaded{amsrefs}% |
---|
774 | {} |
---|
775 | {%\let\bibsection\relax% |
---|
776 | \AtBeginDocument{\def\cites@b#1#2,#3{% |
---|
777 | \begingroup[% |
---|
778 | \toks@{\InnerCite{#2}#1}% |
---|
779 | \ifx\@empty#3\@xp\@gobble\fi |
---|
780 | \cites@c#3% |
---|
781 | }}} |
---|
782 | %% |
---|
783 | %% Added for avoiding clash with cleveref.sty |
---|
784 | |
---|
785 | \@ifpackageloaded{cleveref}% |
---|
786 | {} |
---|
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}% |
---|
791 | \footnotetext{#2}}} |
---|
792 | %%% |
---|
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}% |
---|
798 | \footnotetext{#2}}} |
---|
799 | %%% |
---|
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 |
---|
804 | $\ast\ast$\fi}% |
---|
805 | \footnotetext{#2}}} |
---|
806 | } |
---|
807 | \endinput |
---|
808 | %% |
---|
809 | %% End of file `elsarticle.cls'. |
---|