~ubuntu-branches/ubuntu/trusty/r-cran-rcpparmadillo/trusty-proposed

« back to all changes in this revision

Viewing changes to vignettes/elsarticle.cls

  • Committer: Package Import Robot
  • Author(s): Dirk Eddelbuettel
  • Date: 2013-08-12 19:10:20 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20130812191020-4i0swxrz8v6i503v
Tags: 0.3.910.0-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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'.