source: trunk/Documents/DrivePaper/elsarticle.cls@ 10160

Last change on this file since 10160 was 9188, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 21.2 KB
Line 
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}{}}
Note: See TracBrowser for help on using the repository browser.