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: 'package')
|
---|
8 | %%
|
---|
9 | %% elsarticle.cls Copyright (C) 2007,2008 Elsevier Science
|
---|
10 | %%
|
---|
11 | %% This file may be distributed and/or modified under the
|
---|
12 | %% conditions of the LaTeX Project Public License, either version 1.2
|
---|
13 | %% of this license or (at your option) any later version.
|
---|
14 | %% The latest version of this license is in
|
---|
15 | %% http://www.latex-project.org/lppl.txt
|
---|
16 | %% and version 1.2 or later is part of all distributions of LaTeX
|
---|
17 | %% version 1999/12/01 or later.
|
---|
18 | %%
|
---|
19 | %% $Id: elsarticle.cls,v 1.2 2008-12-04 13:30:45 tbretz Exp $
|
---|
20 | %%
|
---|
21 | \def\RCSfile{elsarticle}%
|
---|
22 | \def\RCSversion{1.0.1}%
|
---|
23 | \def\RCSdate{2008/05/22}%
|
---|
24 | \def\@shortjnl{\relax}
|
---|
25 | \def\@journal{Elsevier Science} \def\@company{Elsevier Science}
|
---|
26 | \def\@issn{000-0000}
|
---|
27 | \def\@shortjid{elsarticle}
|
---|
28 | \NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
---|
29 | \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
|
---|
30 | %
|
---|
31 | %
|
---|
32 | \def\ABD{\AtBeginDocument}
|
---|
33 | \newif\ifpreprint \preprintfalse
|
---|
34 | \newif\iflongmktitle \longmktitlefalse
|
---|
35 |
|
---|
36 | \def\@blstr{1}
|
---|
37 | \newdimen\@bls
|
---|
38 | \@bls=\baselineskip
|
---|
39 |
|
---|
40 | \def\@finalWarning{%
|
---|
41 | *****************************************************\MessageBreak
|
---|
42 | This document is typeset in the CRC style which\MessageBreak
|
---|
43 | is not suitable for submission.\MessageBreak
|
---|
44 | \MessageBreak
|
---|
45 | Please typeset again using 'preprint' option\MessageBreak
|
---|
46 | for creating PDF suitable for submission.\MessageBreak
|
---|
47 | ******************************************************\MessageBreak
|
---|
48 | }
|
---|
49 | \def\biboptions#1{\g@addto@macro\@biboptions{,#1}}
|
---|
50 | \def\@biboptions{}
|
---|
51 | \DeclareOption{preprint}{\global\preprinttrue
|
---|
52 | \gdef\@blstr{1}\xdef\jtype{0}%
|
---|
53 | \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
|
---|
54 | \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
|
---|
55 | \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
|
---|
56 | \DeclareOption{authoryear}{\xdef\@biboptions{authoryear}}
|
---|
57 | \DeclareOption{number}{\xdef\@biboptions{square,numbers}}
|
---|
58 | \DeclareOption{longtitle}{\global\longmktitletrue}
|
---|
59 | \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
|
---|
60 | \ExecuteOptions{twocolumn}}
|
---|
61 | \def\jtype{0}
|
---|
62 | \DeclareOption{3p}{\xdef\jtype{3}\global\preprintfalse}
|
---|
63 | \DeclareOption{1p}{\xdef\jtype{1}\global\preprintfalse
|
---|
64 | \AtBeginDocument{\@twocolumnfalse}}
|
---|
65 | \DeclareOption{times}{\IfFileExists{txfonts.sty}%
|
---|
66 | {\AtEndOfClass{\RequirePackage{txfonts}%
|
---|
67 | \gdef\ttdefault{cmtt}%
|
---|
68 | \let\iint\relax
|
---|
69 | \let\iiint\relax
|
---|
70 | \let\iiiint\relax
|
---|
71 | \let\idotsint\relax
|
---|
72 | \let\openbox\relax}}{}}
|
---|
73 | \ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
|
---|
74 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
---|
75 | \ProcessOptions
|
---|
76 | \LoadClass{article}
|
---|
77 | \RequirePackage{comment}
|
---|
78 |
|
---|
79 | %%
|
---|
80 | %% Preamble
|
---|
81 | %%
|
---|
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\Ref#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
|
---|
92 | % \alarm{REF [#1]: \csname X@#1\endcsname}%
|
---|
93 | }
|
---|
94 |
|
---|
95 | \def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
|
---|
96 | \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\Ref{\@@tmark}}}%
|
---|
97 | \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
|
---|
98 | }
|
---|
99 | \let\@tnotemark\@empty
|
---|
100 |
|
---|
101 | \let\@tnotes\@empty
|
---|
102 | \RequirePackage{pifont}
|
---|
103 | \newcounter{tnote}
|
---|
104 | \def\tnotetext[#1]#2{\g@addto@macro\@tnotes{%
|
---|
105 | \refstepcounter{tnote}\elsLabel{#1}%
|
---|
106 | \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
|
---|
107 | \footnotetext{#2}}}
|
---|
108 |
|
---|
109 | \newcounter{fnote}
|
---|
110 | \def\fnmark[#1]{\let\comma\@empty
|
---|
111 | \def\@fnmark{\@for\@@fnmark:=#1\do{%
|
---|
112 | \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\Ref{\@@fnmark}}}%
|
---|
113 | \unskip\comma\fnotenum\let\comma,}}%
|
---|
114 | }
|
---|
115 |
|
---|
116 | \let\@fnotes\@empty\let\@fnmark\@empty
|
---|
117 | \def\fntext[#1]#2{\g@addto@macro\@fnotes{%
|
---|
118 | \refstepcounter{fnote}\elsLabel{#1}%
|
---|
119 | \def\thefootnote{\thefnote}%
|
---|
120 | \global\setcounter{footnote}{\thefnote}%
|
---|
121 | \footnotetext{#2}}}
|
---|
122 |
|
---|
123 | \def\cormark[#1]{\gdef\@cormark{\edef\cnotenum{%
|
---|
124 | \@ifundefined{X@#1}{0}{\Ref{#1}}}%
|
---|
125 | \ifcase\cnotenum\or$\ast$\or$\ast\ast$\fi}}
|
---|
126 | \let\@cormark\@empty
|
---|
127 | \let\@cornotes\@empty
|
---|
128 | \newcounter{cnote}
|
---|
129 | \def\cortext[#1]#2{\g@addto@macro\@cornotes{%
|
---|
130 | \refstepcounter{cnote}\elsLabel{#1}%
|
---|
131 | \def\thefootnote{\ifcase\thecnote\or$\ast$\or
|
---|
132 | $\ast\ast$\fi}%
|
---|
133 | \footnotetext{#2}}}
|
---|
134 |
|
---|
135 | \def\corref#1{\cormark[#1]}
|
---|
136 | \def\fnref#1{\fnmark[#1]}
|
---|
137 | \def\tnoteref#1{\tnotemark[#1]}
|
---|
138 |
|
---|
139 | \def\resetTitleCounters{\c@cnote=0
|
---|
140 | \c@fnote=0 \c@tnote=0 \c@footnote=0}
|
---|
141 |
|
---|
142 | \let\eadsep\@empty
|
---|
143 | \let\@elseads\@empty
|
---|
144 | \let\@elsuads\@empty
|
---|
145 | \def\ead{\@ifnextchar[{\@uad}{\@ead}}
|
---|
146 | \gdef\@ead#1{\bgroup
|
---|
147 | \edef\tmp{\the\@eadauthor}
|
---|
148 | \immediate\write\@auxout{\string\emailauthor
|
---|
149 | {#1}{\expandafter\strip@prefix\meaning\tmp}}%
|
---|
150 | \egroup
|
---|
151 | }
|
---|
152 | \def\emailauthor#1#2{\g@addto@macro\@elseads{\raggedright%
|
---|
153 | \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
|
---|
154 | }
|
---|
155 | \gdef\@uad[#1]#2{\bgroup
|
---|
156 | \edef\tmp{\the\@eadauthor}
|
---|
157 | \immediate\write\@auxout{\string\urlauthor
|
---|
158 | {#2}{\expandafter\strip@prefix\meaning\tmp}}%
|
---|
159 | \egroup
|
---|
160 | }
|
---|
161 | \def\urlauthor#1#2{\g@addto@macro\@elsuads{%
|
---|
162 | \eadsep\texttt{#1}\space(#2)\def\eadsep{\unskip,\space}}%
|
---|
163 | }
|
---|
164 |
|
---|
165 | \def\elsauthors{}
|
---|
166 | \def\pprinttitle{}
|
---|
167 | \let\authorsep\@empty
|
---|
168 | \newcounter{author}
|
---|
169 | \def\author{\@ifnextchar[{\@@author}{\@author}}
|
---|
170 |
|
---|
171 | \newtoks\@eadauthor
|
---|
172 | \def\@@author[#1]#2{\g@addto@macro\elsauthors{%
|
---|
173 | \def\baselinestretch{1}%
|
---|
174 | \authorsep#2\unskip\textsuperscript{%#1%
|
---|
175 | \@for\@@affmark:=#1\do{%
|
---|
176 | \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\Ref{\@@affmark}}}%
|
---|
177 | \unskip\comma\affnum\let\comma,}%
|
---|
178 | \ifx\@cormark\@empty\else\unskip,\@cormark\fi
|
---|
179 | \ifx\@fnmark\@empty\else\unskip\@fnmark\fi}%
|
---|
180 | \def\authorsep{\unskip,\space}%
|
---|
181 | \global\let\@cormark\@empty
|
---|
182 | \global\let\@fnmark\@empty}%
|
---|
183 | \@eadauthor={#2}
|
---|
184 | }
|
---|
185 |
|
---|
186 | \def\@author#1{\g@addto@macro\elsauthors{\normalsize%
|
---|
187 | \def\baselinestretch{1}%
|
---|
188 | \upshape\authorsep#1\unskip\textsuperscript{\let\sep\@empty%
|
---|
189 | \ifx\@cormark\@empty\else$\ast$\let\sep=,\fi
|
---|
190 | \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}%
|
---|
191 | \def\authorsep{\par\vskip15pt}%
|
---|
192 | \global\let\@cormark\@empty
|
---|
193 | \global\let\@fnmark\@empty}%
|
---|
194 | \@eadauthor={#1}
|
---|
195 | }
|
---|
196 |
|
---|
197 | \def\elsaddress{}
|
---|
198 | \def\addsep{\par\vskip6pt}
|
---|
199 | \def\address{\@ifnextchar[{\@@address}{\@address}}
|
---|
200 |
|
---|
201 | \newcounter{affn}
|
---|
202 | \renewcommand\theaffn{\alph{affn}}
|
---|
203 |
|
---|
204 | \long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
|
---|
205 | \def\baselinestretch{1}%
|
---|
206 | \refstepcounter{affn}\elsLabel{#1}%
|
---|
207 | \textsuperscript{\theaffn}#2\par}}
|
---|
208 |
|
---|
209 | \long\def\@address#1{\g@addto@macro\elsauthors{%
|
---|
210 | \def\baselinestretch{1}%
|
---|
211 | \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}}}
|
---|
212 |
|
---|
213 | \newbox\absbox
|
---|
214 | \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
|
---|
215 | \hsize=\textwidth\def\baselinestretch{1}%
|
---|
216 | \noindent\unskip\textbf{Abstract}
|
---|
217 | \par\medskip\noindent\unskip\ignorespaces}
|
---|
218 | {\egroup}
|
---|
219 |
|
---|
220 | \newbox\keybox
|
---|
221 | \def\keyword{%
|
---|
222 | \def\sep{\unskip, }%
|
---|
223 | \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
|
---|
224 | \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}%
|
---|
225 | \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}%
|
---|
226 | \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
|
---|
227 | \normalsize\normalfont\def\baselinestretch{1}
|
---|
228 | \parskip\z@
|
---|
229 | \noindent\textit{Key words: }
|
---|
230 | \raggedright % Keywords are not justified.
|
---|
231 | \ignorespaces}
|
---|
232 | \def\endkeyword{\par \egroup}
|
---|
233 |
|
---|
234 | \newdimen\Columnwidth
|
---|
235 | \Columnwidth=\columnwidth
|
---|
236 |
|
---|
237 | \def\printFirstPageNotes{%
|
---|
238 | \iflongmktitle
|
---|
239 | \let\columnwidth=\textwidth\fi
|
---|
240 | \ifx\@tnotes\@empty\else\@tnotes\fi
|
---|
241 | \ifx\@cornotes\@empty\else\@cornotes\fi
|
---|
242 | \ifx\@elseads\@empty\relax\else
|
---|
243 | \let\thefootnote\relax
|
---|
244 | \footnotetext{\textit{Email addresses:\space}%
|
---|
245 | \@elseads}\fi
|
---|
246 | \ifx\@elsuads\@empty\relax\else
|
---|
247 | \let\thefootnote\relax
|
---|
248 | \footnotetext{\textit{URL:\space}%
|
---|
249 | \@elsuads}\fi
|
---|
250 | \ifx\@fnotes\@empty\else\@fnotes\fi
|
---|
251 | \iflongmktitle\if@twocolumn
|
---|
252 | \let\columnwidth=\Columnwidth\fi\fi
|
---|
253 | }
|
---|
254 |
|
---|
255 | \long\def\pprintMaketitle{\clearpage
|
---|
256 | \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi
|
---|
257 | \resetTitleCounters
|
---|
258 | \def\baselinestretch{1}%
|
---|
259 | \printFirstPageNotes
|
---|
260 | \begin{center}%
|
---|
261 | \thispagestyle{pprintTitle}%
|
---|
262 | \def\baselinestretch{1}%
|
---|
263 | \Large\@title\par\vskip18pt
|
---|
264 | \normalsize\elsauthors\par\vskip10pt
|
---|
265 | \footnotesize\itshape\elsaddress\par\vskip36pt
|
---|
266 | \hrule\vskip12pt
|
---|
267 | \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
|
---|
268 | \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
|
---|
269 | \hrule\vskip12pt
|
---|
270 | \end{center}%
|
---|
271 | \gdef\thefootnote{\arabic{footnote}}%
|
---|
272 | }
|
---|
273 |
|
---|
274 | \def\printWarning{%
|
---|
275 | \mbox{}\par\vfill\par\bgroup
|
---|
276 | \fboxsep12pt\fboxrule1pt
|
---|
277 | \hspace*{.18\textwidth}
|
---|
278 | \fcolorbox{gray50}{gray10}{\box\warnbox}
|
---|
279 | \egroup\par\vfill\thispagestyle{empty}
|
---|
280 | \setcounter{page}{0}
|
---|
281 | \clearpage}
|
---|
282 |
|
---|
283 | \long\def\finalMaketitle{%
|
---|
284 | \resetTitleCounters
|
---|
285 | \def\baselinestretch{1}%
|
---|
286 | \MaketitleBox
|
---|
287 | \thispagestyle{pprintTitle}%
|
---|
288 | \gdef\thefootnote{\arabic{footnote}}%
|
---|
289 | }
|
---|
290 |
|
---|
291 | \long\def\MaketitleBox{%
|
---|
292 | \resetTitleCounters
|
---|
293 | \def\baselinestretch{1}%
|
---|
294 | \begin{center}%
|
---|
295 | \def\baselinestretch{1}%
|
---|
296 | \Large\@title\par\vskip18pt
|
---|
297 | \normalsize\elsauthors\par\vskip10pt
|
---|
298 | \footnotesize\itshape\elsaddress\par\vskip36pt
|
---|
299 | \hrule\vskip12pt
|
---|
300 | \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
|
---|
301 | \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
|
---|
302 | \hrule\vskip12pt
|
---|
303 | \end{center}%
|
---|
304 | }
|
---|
305 |
|
---|
306 |
|
---|
307 | \def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
|
---|
308 | \newdimen\space@left
|
---|
309 | \def\alarm#1{\typeout{******************************}%
|
---|
310 | \typeout{#1}%
|
---|
311 | \typeout{******************************}%
|
---|
312 | }
|
---|
313 | \long\def\getSpaceLeft{%\global\@twocolumnfalse%
|
---|
314 | \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
|
---|
315 | \global\setbox1=\vbox{\hsize=\textwidth
|
---|
316 | \let\footnotetext\FNtext
|
---|
317 | \printFirstPageNotes}%
|
---|
318 | \xdef\noteheight{\the\ht1}%
|
---|
319 | \xdef\titleheight{\the\ht0}%
|
---|
320 | \@tempdima=\vsize
|
---|
321 | \advance\@tempdima-\noteheight
|
---|
322 | \advance\@tempdima-1\baselineskip
|
---|
323 | % \alarm{Note height .... \noteheight}%
|
---|
324 | % \alarm{Title height .... \titleheight}%
|
---|
325 | % \alarm{T-height........ \the\textheight}%
|
---|
326 | % \alarm{Goal........ \the\@tempdima}%
|
---|
327 | }
|
---|
328 |
|
---|
329 |
|
---|
330 | %\ifpreprint\let\footnoterule\relax\fi
|
---|
331 | \skip\footins=24pt
|
---|
332 |
|
---|
333 | \newbox\els@boxa
|
---|
334 | \newbox\els@boxb
|
---|
335 |
|
---|
336 | \ifpreprint
|
---|
337 | \def\maketitle{\pprintMaketitle}
|
---|
338 | \else
|
---|
339 | \ifnum\jtype=1
|
---|
340 | \def\maketitle{%
|
---|
341 | \iflongmktitle\getSpaceLeft
|
---|
342 | \global\setbox\els@boxa=\vsplit0 to \@tempdima
|
---|
343 | \box\els@boxa\par\resetTitleCounters
|
---|
344 | \thispagestyle{pprintTitle}%
|
---|
345 | \printFirstPageNotes
|
---|
346 | \box0%
|
---|
347 | \else
|
---|
348 | \finalMaketitle\printFirstPageNotes
|
---|
349 | \fi
|
---|
350 | \gdef\thefootnote{\arabic{footnote}}}%
|
---|
351 | \else
|
---|
352 | \ifnum\jtype=5
|
---|
353 | \def\maketitle{%
|
---|
354 | \iflongmktitle\getSpaceLeft
|
---|
355 | \global\setbox\els@boxa=\vsplit0 to \@tempdima
|
---|
356 | \box\els@boxa\par\resetTitleCounters
|
---|
357 | \thispagestyle{pprintTitle}%
|
---|
358 | \printFirstPageNotes
|
---|
359 | \twocolumn[\box0]%\printFirstPageNotes
|
---|
360 | \else
|
---|
361 | \twocolumn[\finalMaketitle]\printFirstPageNotes
|
---|
362 | \fi
|
---|
363 | \gdef\thefootnote{\arabic{footnote}}}
|
---|
364 | \else
|
---|
365 | \if@twocolumn
|
---|
366 | \def\maketitle{%
|
---|
367 | \iflongmktitle\getSpaceLeft
|
---|
368 | \global\setbox\els@boxa=\vsplit0 to \@tempdima
|
---|
369 | \box\els@boxa\par\resetTitleCounters
|
---|
370 | \thispagestyle{pprintTitle}%
|
---|
371 | \printFirstPageNotes
|
---|
372 | \twocolumn[\box0]%
|
---|
373 | \else
|
---|
374 | \twocolumn[\finalMaketitle]\printFirstPageNotes
|
---|
375 | \fi
|
---|
376 | \gdef\thefootnote{\arabic{footnote}}}%
|
---|
377 | \else
|
---|
378 | \def\maketitle{%
|
---|
379 | \iflongmktitle\getSpaceLeft
|
---|
380 | \global\setbox\els@boxa=\vsplit0 to \@tempdima
|
---|
381 | \box\els@boxa\par\resetTitleCounters
|
---|
382 | \thispagestyle{pprintTitle}%
|
---|
383 | \printFirstPageNotes
|
---|
384 | \box0%
|
---|
385 | \else
|
---|
386 | \finalMaketitle\printFirstPageNotes
|
---|
387 | \fi
|
---|
388 | \gdef\thefootnote{\arabic{footnote}}}%
|
---|
389 | \fi
|
---|
390 | \fi
|
---|
391 | \fi
|
---|
392 | \fi
|
---|
393 |
|
---|
394 | %%
|
---|
395 | %% Headers/footers
|
---|
396 | %%
|
---|
397 | \def\ps@pprintTitle{%
|
---|
398 | \let\@oddhead\@empty
|
---|
399 | \let\@evenhead\@empty
|
---|
400 | \def\@oddfoot{\footnotesize\itshape
|
---|
401 | Preprint submitted to \ifx\@journal\@empty Elsevier
|
---|
402 | \else\@journal\fi\hfill\today}%
|
---|
403 | \let\@evenfoot\@oddfoot}
|
---|
404 |
|
---|
405 |
|
---|
406 | %%
|
---|
407 | %% Section headings
|
---|
408 | %%
|
---|
409 | \def\@seccntDot{.}
|
---|
410 | \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
|
---|
411 |
|
---|
412 | \renewcommand\section{\@startsection {section}{1}{\z@}%
|
---|
413 | {18\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
414 | {9\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
415 | {\normalsize\bfseries\boldmath}}
|
---|
416 | \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
|
---|
417 | {12\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
418 | {3\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
419 | {\normalfont\normalsize\itshape}}
|
---|
420 | \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
|
---|
421 | {12\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
422 | {\p@}%
|
---|
423 | {\normalfont\normalsize\itshape}}
|
---|
424 |
|
---|
425 | \def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}}
|
---|
426 | \def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}}
|
---|
427 | \def\els@bparagraph#1{\elsparagraph*{#1.}}
|
---|
428 |
|
---|
429 | \newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}%
|
---|
430 | {10\p@ \@plus 6\p@ \@minus 3\p@}%
|
---|
431 | {-6\p@}%
|
---|
432 | {\normalfont\itshape}}
|
---|
433 |
|
---|
434 | %%
|
---|
435 | %% List environment
|
---|
436 | %%
|
---|
437 | \newtoks\@enLab %\newtoks\@enfont
|
---|
438 | \def\@enQmark{?}
|
---|
439 | \def\@enLabel#1#2{%
|
---|
440 | \edef\@enThe{\noexpand#1{\@enumctr}}%
|
---|
441 | \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
|
---|
442 | \@enloop}
|
---|
443 | \def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= }
|
---|
444 | \def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
|
---|
445 | \def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
|
---|
446 | \def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
|
---|
447 | \def\@enloop{\futurelet\@entemp\@enloop@}
|
---|
448 | \def\@enloop@{%
|
---|
449 | \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
|
---|
450 | \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
|
---|
451 | \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
|
---|
452 | \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
|
---|
453 | \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
|
---|
454 | \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
|
---|
455 | \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
|
---|
456 | \ifx \@enum@\@entemp \let\@tempa\@gobble \else
|
---|
457 | \let\@tempa\@enOther
|
---|
458 | \fi\fi\fi\fi\fi\fi\fi\fi
|
---|
459 | \@tempa}
|
---|
460 | \newlength{\@sep} \newlength{\@@sep}
|
---|
461 | \setlength{\@sep}{.5\baselineskip plus.2\baselineskip
|
---|
462 | minus.2\baselineskip}
|
---|
463 | \setlength{\@@sep}{.1\baselineskip plus.01\baselineskip
|
---|
464 | minus.05\baselineskip}
|
---|
465 | \providecommand{\sfbc}{\rmfamily\upshape}
|
---|
466 | \providecommand{\sfn}{\rmfamily\upshape}
|
---|
467 | \def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
|
---|
468 | \def\enumerate{%
|
---|
469 | \ifnum \@enumdepth >3 \@toodeep\else
|
---|
470 | \advance\@enumdepth \@ne
|
---|
471 | \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
|
---|
472 | \@ifnextchar[{\@@enum@}{\@enum@}}
|
---|
473 | \def\@@enum@[#1]{%
|
---|
474 | \@enLab{}\let\@enThe\@enQmark
|
---|
475 | \@enloop#1\@enum@
|
---|
476 | \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
|
---|
477 | ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
|
---|
478 | \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
|
---|
479 | \expandafter\let\csname the\@enumctr\endcsname\@enThe
|
---|
480 | \csname c@\@enumctr\endcsname7
|
---|
481 | \expandafter\settowidth
|
---|
482 | \csname leftmargin\romannumeral\@enumdepth\endcsname
|
---|
483 | {\the\@enLab\hskip\labelsep}%
|
---|
484 | \@enum@}
|
---|
485 | \def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}%
|
---|
486 | {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}%
|
---|
487 | \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else
|
---|
488 | \setlength{\topsep}{\@sep}\fi
|
---|
489 | \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}%
|
---|
490 | \else \setlength{\itemsep}{\@@sep}\fi
|
---|
491 | \setlength\leftmargin{2em}%%%{1.8em}
|
---|
492 | \setlength{\parsep}{0pt plus1pt minus1pt}%
|
---|
493 | \setlength{\parskip}{0pt plus1pt minus1pt}}}
|
---|
494 |
|
---|
495 | \def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
|
---|
496 | \addvspace{\@sep}\fi \endlist}
|
---|
497 |
|
---|
498 | \def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
|
---|
499 |
|
---|
500 | \def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}}
|
---|
501 |
|
---|
502 | \def\@Itemize[#1]{\def\next{#1}%
|
---|
503 | \ifnum \@itemdepth >\thr@@\@toodeep\else
|
---|
504 | \advance\@itemdepth\@ne
|
---|
505 | \ifx\next\@empty\else\expandafter\def\csname
|
---|
506 | labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
|
---|
507 | \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
|
---|
508 | \expandafter\list\csname\@itemitem\endcsname
|
---|
509 | {\def\makelabel##1{\hss\llap{##1}}}%
|
---|
510 | \fi}
|
---|
511 | %%
|
---|
512 | %% Theorem environment
|
---|
513 | %%
|
---|
514 | \def\newdefinition#1{
|
---|
515 | \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}
|
---|
516 | \def\@ndfn#1#2{
|
---|
517 | \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}}
|
---|
518 | \def\@xndfn#1#2[#3]{
|
---|
519 | \expandafter\@ifdefinable\csname #1\endcsname
|
---|
520 | {\@definecounter{#1}\@newctr{#1}[#3]
|
---|
521 | \expandafter\xdef\csname the#1\endcsname{
|
---|
522 | \expandafter\noexpand\csname the#3\endcsname \@dfncountersep
|
---|
523 | \@dfncounter{#1}}
|
---|
524 | \global\@namedef{#1}{\@dfn{#1}{#2}}
|
---|
525 | \global\@namedef{end#1}{\@enddefinition}}}
|
---|
526 | \def\@yndfn#1#2{
|
---|
527 | \expandafter\@ifdefinable\csname #1\endcsname
|
---|
528 | {\@definecounter{#1}
|
---|
529 | \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}
|
---|
530 | \global\@namedef{#1}{\@dfn{#1}{#2}}
|
---|
531 | \global\@namedef{end#1}{\@enddefinition}}}
|
---|
532 | \def\@odfn#1[#2]#3{
|
---|
533 | \@ifundefined{c@#2}{\@nocounterr{#2}}
|
---|
534 | {\expandafter\@ifdefinable\csname #1\endcsname
|
---|
535 | {\global\@namedef{the#1}{\@nameuse{the#2}}
|
---|
536 | \global\@namedef{#1}{\@dfn{#2}{#3}}
|
---|
537 | \global\@namedef{end#1}{\@enddefinition}}}}
|
---|
538 | \def\@dfn#1#2{
|
---|
539 | \refstepcounter{#1}
|
---|
540 | \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}}
|
---|
541 | \def\@xdfn#1#2{
|
---|
542 | \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces}
|
---|
543 | \def\@ydfn#1#2[#3]{
|
---|
544 | \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
|
---|
545 | \def\@dfncounter#1{\noexpand\arabic{#1}}
|
---|
546 | \def\@dfncountersep{.}
|
---|
547 | \def\@begindefinition#1#2{\trivlist
|
---|
548 | \item[\hskip\labelsep{\bfseries#1#2.}]\upshape}
|
---|
549 | \def\@opargbegindefinition#1#2#3{\trivlist
|
---|
550 | \item[\hskip\labelsep{\bfseries #1#2\ (#3).}]\upshape}
|
---|
551 | \def\@enddefinition{\endtrivlist}
|
---|
552 |
|
---|
553 | \def\@begintheorem#1#2{\trivlist
|
---|
554 | \let\baselinestretch\@blstr
|
---|
555 | \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape}
|
---|
556 | \def\@opargbegintheorem#1#2#3{\trivlist
|
---|
557 | \let\baselinestretch\@blstr
|
---|
558 | \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape}
|
---|
559 |
|
---|
560 | \def\newproof#1{%
|
---|
561 | \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}}
|
---|
562 | \def\@nprf#1#2{%
|
---|
563 | \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}}
|
---|
564 | \def\@xnprf#1#2[#3]{%
|
---|
565 | \expandafter\@ifdefinable\csname #1\endcsname
|
---|
566 | {\@definecounter{#1}\@newctr{#1}[#3]%
|
---|
567 | \expandafter\xdef\csname the#1\endcsname{%
|
---|
568 | \expandafter\noexpand\csname the#3\endcsname \@prfcountersep
|
---|
569 | \@prfcounter{#1}}%
|
---|
570 | \global\@namedef{#1}{\@prf{#1}{#2}}%
|
---|
571 | \global\@namedef{end#1}{\@endproof}}}
|
---|
572 | \def\@ynprf#1#2{%
|
---|
573 | \expandafter\@ifdefinable\csname #1\endcsname
|
---|
574 | {\@definecounter{#1}%
|
---|
575 | \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}%
|
---|
576 | \global\@namedef{#1}{\@prf{#1}{#2}}%
|
---|
577 | \global\@namedef{end#1}{\@endproof}}}
|
---|
578 | \def\@oprf#1[#2]#3{%
|
---|
579 | \@ifundefined{c@#2}{\@nocounterr{#2}}%
|
---|
580 | {\expandafter\@ifdefinable\csname #1\endcsname
|
---|
581 | {\global\@namedef{the#1}{\@nameuse{the#2}}%
|
---|
582 | \global\@namedef{#1}{\@prf{#2}{#3}}%
|
---|
583 | \global\@namedef{end#1}{\@endproof}}}}
|
---|
584 | \def\@prf#1#2{%
|
---|
585 | \refstepcounter{#1}%
|
---|
586 | \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}}
|
---|
587 | \def\@xprf#1#2{%
|
---|
588 | \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
|
---|
589 | \def\@yprf#1#2[#3]{%
|
---|
590 | \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
|
---|
591 | \def\@prfcounter#1{\noexpand\arabic{#1}}
|
---|
592 | \def\@prfcountersep{.}
|
---|
593 | \def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr
|
---|
594 | \item[\hskip \labelsep{\scshape #1.}]\rmfamily}
|
---|
595 | \def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr
|
---|
596 | \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily}
|
---|
597 | \def\@endproof{\endtrivlist}
|
---|
598 | \newcommand*{\qed}{\hbox{}\hfill$\Box$}
|
---|
599 |
|
---|
600 | \RequirePackage[\@biboptions]{natbib}
|
---|
601 |
|
---|
602 | \let\baselinestretch=\@blstr
|
---|
603 |
|
---|
604 |
|
---|
605 | %%
|
---|
606 | %% Page dimensions and margins for final form
|
---|
607 | %%
|
---|
608 | \ifnum\jtype=1
|
---|
609 | \RequirePackage{geometry}
|
---|
610 | \geometry{twoside,
|
---|
611 | % top=30mm,
|
---|
612 | % paperwidth=165mm,
|
---|
613 | % paperheight=240mm,
|
---|
614 | paperwidth=210mm,
|
---|
615 | paperheight=297mm,
|
---|
616 | textheight=562pt,
|
---|
617 | textwidth=384pt,
|
---|
618 | % inner=16mm,
|
---|
619 | % top=22.1mm,
|
---|
620 | centering,
|
---|
621 | headheight=50pt,
|
---|
622 | headsep=12pt,
|
---|
623 | footskip=12pt,
|
---|
624 | footnotesep=24pt plus 2pt minus 12pt,
|
---|
625 | }
|
---|
626 | \global\let\bibfont=\footnotesize
|
---|
627 | \global\bibsep=0pt
|
---|
628 | \if@twocolumn\global\@twocolumnfalse\fi
|
---|
629 | %
|
---|
630 | \else\ifnum\jtype=3
|
---|
631 | \RequirePackage{geometry}
|
---|
632 | \geometry{twoside,
|
---|
633 | % paperwidth=192mm,
|
---|
634 | % paperheight=262mm,
|
---|
635 | paperwidth=210mm,
|
---|
636 | paperheight=297mm,
|
---|
637 | textheight=622pt,
|
---|
638 | textwidth=468pt,
|
---|
639 | % inner=13.1mm,
|
---|
640 | % top=22.1mm,
|
---|
641 | centering,
|
---|
642 | headheight=50pt,
|
---|
643 | headsep=12pt,
|
---|
644 | footskip=12pt,
|
---|
645 | footnotesep=24pt plus 2pt minus 12pt,
|
---|
646 | columnsep=2pc
|
---|
647 | }
|
---|
648 | \global\let\bibfont=\footnotesize
|
---|
649 | \global\bibsep=0pt
|
---|
650 | \if@twocolumn\input{fleqn.clo}\fi
|
---|
651 | %%
|
---|
652 | %% End of option '3p'
|
---|
653 | %%
|
---|
654 | \else\ifnum\jtype=5
|
---|
655 | \RequirePackage{geometry}
|
---|
656 | \geometry{twoside,
|
---|
657 | % top=30mm,
|
---|
658 | paperwidth=210mm,
|
---|
659 | % paperheight=280mm,
|
---|
660 | paperheight=297mm,
|
---|
661 | textheight=682pt,
|
---|
662 | textwidth=522pt,
|
---|
663 | % inner=15mm,
|
---|
664 | % top=23.2mm,
|
---|
665 | centering,
|
---|
666 | headheight=50pt,
|
---|
667 | headsep=12pt,
|
---|
668 | footskip=18pt,
|
---|
669 | footnotesep=24pt plus 2pt minus 12pt,
|
---|
670 | columnsep=18pt
|
---|
671 | }%
|
---|
672 | \global\let\bibfont=\footnotesize
|
---|
673 | \global\bibsep=0pt
|
---|
674 | \input{fleqn.clo}
|
---|
675 | \global\@twocolumntrue
|
---|
676 | %%
|
---|
677 | %% End of option '5p'
|
---|
678 | %%
|
---|
679 | \fi\fi\fi
|
---|
680 |
|
---|
681 | \def\journal#1{\gdef\@journal{#1}}
|
---|
682 | \let\@journal\@empty
|
---|
683 | \newenvironment{frontmatter}{}{\maketitle}
|
---|
684 |
|
---|
685 | \long\def\@makecaption#1#2{%
|
---|
686 | \vskip\abovecaptionskip\footnotesize
|
---|
687 | \sbox\@tempboxa{#1: #2}%
|
---|
688 | \ifdim \wd\@tempboxa >\hsize
|
---|
689 | #1: #2\par
|
---|
690 | \else
|
---|
691 | \global \@minipagefalse
|
---|
692 | \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
|
---|
693 | \fi
|
---|
694 | \vskip\belowcaptionskip}
|
---|
695 |
|
---|
696 | %\RequirePackage[expansion=alltext,stretch=30]{microtype}
|
---|
697 | \AtBeginDocument{\@ifpackageloaded{hyperref}
|
---|
698 | {\def\@linkcolor{blue}
|
---|
699 | \def\@anchorcolor{blue}
|
---|
700 | \def\@citecolor{blue}
|
---|
701 | \def\@filecolor{blue}
|
---|
702 | \def\@urlcolor{blue}
|
---|
703 | \def\@menucolor{blue}
|
---|
704 | \def\@pagecolor{blue}
|
---|
705 | }{}}
|
---|