diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls | 286 |
1 files changed, 141 insertions, 145 deletions
diff --git a/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls index 10b51e9ecf4..b8f488cd6d6 100644 --- a/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls +++ b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls @@ -1,23 +1,28 @@ %% -%% This is file 'elsarticle.cls', +%% This is file `elsarticle.cls', %% generated with the docstrip utility. %% %% The original source files were: %% -%% elsarticle.dtx (with options: 'package') +%% elsarticle.dtx (with options: `class') %% -%% elsarticle.cls Copyright (C) 2007,2008 Elsevier Science +%% Copyright 2007, 2008 Elsevier Ltd. %% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.2 -%% of this license or (at your option) any later version. -%% The latest version of this license is in +%% This file is part of the 'Elsarticle Bundle'. +%% ------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.2 of this license or (at your option) any +%% later version. The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. -%% -%% $Id: elsarticle.cls,v 1.8 2008-02-14 11:50:06 cvr Exp $ %% +%% The list of all files belonging to the 'Elsarticle Bundle' is +%% given in the file `manifest.txt'. +%% +%% $Id: elsarticle.cls,v 1.18 2008-08-28 06:03:47 cvr Exp $ +%% \def\RCSfile{elsarticle}% \def\RCSversion{1.0.1}% \def\RCSdate{2008/05/22}% @@ -27,8 +32,6 @@ \def\@shortjid{elsarticle} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal] -% -% \def\ABD{\AtBeginDocument} \newif\ifpreprint \preprintfalse \newif\iflongmktitle \longmktitlefalse @@ -46,8 +49,7 @@ for creating PDF suitable for submission.\MessageBreak ******************************************************\MessageBreak } -\def\biboptions#1{\g@addto@macro\@biboptions{,#1}} -\def\@biboptions{} + \DeclareOption{preprint}{\global\preprinttrue \gdef\@blstr{1}\xdef\jtype{0}% \AtBeginDocument{\@twosidefalse\@mparswitchfalse}} @@ -55,6 +57,7 @@ \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}} \DeclareOption{authoryear}{\xdef\@biboptions{authoryear}} \DeclareOption{number}{\xdef\@biboptions{square,numbers}} +\DeclareOption{numbers}{\xdef\@biboptions{square,numbers}} \DeclareOption{longtitle}{\global\longmktitletrue} \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse \ExecuteOptions{twocolumn}} @@ -64,21 +67,17 @@ \AtBeginDocument{\@twocolumnfalse}} \DeclareOption{times}{\IfFileExists{txfonts.sty}% {\AtEndOfClass{\RequirePackage{txfonts}% - \gdef\ttdefault{cmtt}% - \let\iint\relax - \let\iiint\relax - \let\iiiint\relax - \let\idotsint\relax - \let\openbox\relax}}{}} + \gdef\ttdefault{cmtt}% + \let\iint\relax + \let\iiint\relax + \let\iiiint\relax + \let\idotsint\relax + \let\openbox\relax}}{\RequirePackage{times}}} \ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} -\RequirePackage{comment} - -%% -%% Preamble -%% +\RequirePackage{graphicx} \let\comma\@empty \let\tnotesep\@empty \def\title#1{\gdef\@title{#1}} @@ -89,7 +88,6 @@ \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}} \def\Ref#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}% -% \alarm{REF [#1]: \csname X@#1\endcsname}% } \def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{% @@ -102,7 +100,7 @@ \RequirePackage{pifont} \newcounter{tnote} \def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% - \refstepcounter{tnote}\elsLabel{#1}% + \refstepcounter{tnote}\elsLabel{#1}% \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}% \footnotetext{#2}}} @@ -110,26 +108,27 @@ \def\fnmark[#1]{\let\comma\@empty \def\@fnmark{\@for\@@fnmark:=#1\do{% \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\Ref{\@@fnmark}}}% - \unskip\comma\fnotenum\let\comma,}}% + \unskip\comma\fnotenum\let\comma,}}% } \let\@fnotes\@empty\let\@fnmark\@empty \def\fntext[#1]#2{\g@addto@macro\@fnotes{% \refstepcounter{fnote}\elsLabel{#1}% - \def\thefootnote{\thefnote}% - \global\setcounter{footnote}{\thefnote}% - \footnotetext{#2}}} + \def\thefootnote{\thefnote}% + \global\setcounter{footnote}{\thefnote}% + \footnotetext{#2}}} + +\def\cormark[#1]{\edef\cnotenum{\Ref{#1}}\unskip% + \textsuperscript{\sep\ifcase\cnotenum\or + $\ast$\or$\ast\ast$\fi\hspace{-1pt}}\let\sep=,} -\def\cormark[#1]{\gdef\@cormark{\edef\cnotenum{% - \@ifundefined{X@#1}{0}{\Ref{#1}}}% - \ifcase\cnotenum\or$\ast$\or$\ast\ast$\fi}} \let\@cormark\@empty \let\@cornotes\@empty \newcounter{cnote} \def\cortext[#1]#2{\g@addto@macro\@cornotes{% - \refstepcounter{cnote}\elsLabel{#1}% + \refstepcounter{cnote}\elsLabel{#1}% \def\thefootnote{\ifcase\thecnote\or$\ast$\or - $\ast\ast$\fi}% + $\ast\ast$\fi}% \footnotetext{#2}}} \def\corref#1{\cormark[#1]} @@ -142,15 +141,20 @@ \let\eadsep\@empty \let\@elseads\@empty \let\@elsuads\@empty +\let\@cormark\@empty \def\ead{\@ifnextchar[{\@uad}{\@ead}} -\gdef\@ead#1{\bgroup +\gdef\@ead#1{\bgroup\def\_{\string\_}\def\{{\string\{}% + \def\}{\string\}}% \edef\tmp{\the\@eadauthor} \immediate\write\@auxout{\string\emailauthor {#1}{\expandafter\strip@prefix\meaning\tmp}}% \egroup } -\def\emailauthor#1#2{\g@addto@macro\@elseads{\raggedright% - \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}% +\newcounter{ead} +\gdef\emailauthor#1#2{\stepcounter{ead}% + \g@addto@macro\@elseads{\raggedright% + \let\corref\@gobble + \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}% } \gdef\@uad[#1]#2{\bgroup \edef\tmp{\the\@eadauthor} @@ -158,13 +162,15 @@ {#2}{\expandafter\strip@prefix\meaning\tmp}}% \egroup } -\def\urlauthor#1#2{\g@addto@macro\@elsuads{% - \eadsep\texttt{#1}\space(#2)\def\eadsep{\unskip,\space}}% +\def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% + \raggedright\eadsep\texttt{#1}\space(#2)% + \def\eadsep{\unskip,\space}}% } \def\elsauthors{} \def\pprinttitle{} \let\authorsep\@empty +\let\sep\@empty \newcounter{author} \def\author{\@ifnextchar[{\@@author}{\@author}} @@ -174,23 +180,21 @@ \authorsep#2\unskip\textsuperscript{%#1% \@for\@@affmark:=#1\do{% \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\Ref{\@@affmark}}}% - \unskip\comma\affnum\let\comma,}% - \ifx\@cormark\@empty\else\unskip,\@cormark\fi - \ifx\@fnmark\@empty\else\unskip\@fnmark\fi}% + \unskip\sep\affnum\let\sep=,}% + \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}% \def\authorsep{\unskip,\space}% - \global\let\@cormark\@empty + \global\let\sep\@empty \global\let\@fnmark\@empty}% \@eadauthor={#2} } \def\@author#1{\g@addto@macro\elsauthors{\normalsize% \def\baselinestretch{1}% - \upshape\authorsep#1\unskip\textsuperscript{\let\sep\@empty% - \ifx\@cormark\@empty\else$\ast$\let\sep=,\fi + \upshape\authorsep#1\unskip\textsuperscript{% \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}% - \def\authorsep{\par\vskip15pt}% - \global\let\@cormark\@empty - \global\let\@fnmark\@empty}% + \def\authorsep{\unskip,\space}% + \global\let\@fnmark\@empty + \global\let\sep\@empty}% \@eadauthor={#1} } @@ -208,21 +212,23 @@ \long\def\@address#1{\g@addto@macro\elsauthors{% \def\baselinestretch{1}% - \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}}} + \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}% + \def\authorsep{\par\vskip8pt}}} \newbox\absbox \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup \hsize=\textwidth\def\baselinestretch{1}% \noindent\unskip\textbf{Abstract} - \par\medskip\noindent\unskip\ignorespaces} + \par\medskip\noindent\unskip\ignorespaces} {\egroup} \newbox\keybox \def\keyword{% \def\sep{\unskip, }% - \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}} + \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}} \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}% \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}% + \def\JEL{\par\leavevmode\hbox {\it JEL:\space}}% \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth \normalsize\normalfont\def\baselinestretch{1} \parskip\z@ @@ -236,12 +242,14 @@ \def\printFirstPageNotes{% \iflongmktitle - \let\columnwidth=\textwidth\fi + \let\columnwidth=\textwidth\fi \ifx\@tnotes\@empty\else\@tnotes\fi \ifx\@cornotes\@empty\else\@cornotes\fi \ifx\@elseads\@empty\relax\else \let\thefootnote\relax - \footnotetext{\textit{Email addresses:\space}% + \footnotetext{\ifnum\theead=1\relax + \textit{Email address:\space}\else + \textit{Email addresses:\space}\fi \@elseads}\fi \ifx\@elsuads\@empty\relax\else \let\thefootnote\relax @@ -249,16 +257,16 @@ \@elsuads}\fi \ifx\@fnotes\@empty\else\@fnotes\fi \iflongmktitle\if@twocolumn - \let\columnwidth=\Columnwidth\fi\fi -} - + \let\columnwidth=\Columnwidth\fi\fi +} + \long\def\pprintMaketitle{\clearpage \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi \resetTitleCounters \def\baselinestretch{1}% \printFirstPageNotes \begin{center}% - \thispagestyle{pprintTitle}% + \thispagestyle{pprintTitle}% \def\baselinestretch{1}% \Large\@title\par\vskip18pt \normalsize\elsauthors\par\vskip10pt @@ -303,7 +311,6 @@ \end{center}% } - \def\FNtext#1{\par\bgroup\footnotesize#1\egroup} \newdimen\space@left \def\alarm#1{\typeout{******************************}% @@ -312,7 +319,7 @@ } \long\def\getSpaceLeft{%\global\@twocolumnfalse% \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}% - \global\setbox1=\vbox{\hsize=\textwidth + \global\setbox1=\vbox{\hsize=\textwidth \let\footnotetext\FNtext \printFirstPageNotes}% \xdef\noteheight{\the\ht1}% @@ -320,14 +327,8 @@ \@tempdima=\vsize \advance\@tempdima-\noteheight \advance\@tempdima-1\baselineskip -% \alarm{Note height .... \noteheight}% -% \alarm{Title height .... \titleheight}% -% \alarm{T-height........ \the\textheight}% -% \alarm{Goal........ \the\@tempdima}% } - -%\ifpreprint\let\footnoterule\relax\fi \skip\footins=24pt \newbox\els@boxa @@ -349,7 +350,7 @@ \fi \gdef\thefootnote{\arabic{footnote}}}% \else - \ifnum\jtype=5 + \ifnum\jtype=5 \def\maketitle{% \iflongmktitle\getSpaceLeft \global\setbox\els@boxa=\vsplit0 to \@tempdima @@ -390,10 +391,6 @@ \fi \fi \fi - -%% -%% Headers/footers -%% \def\ps@pprintTitle{% \let\@oddhead\@empty \let\@evenhead\@empty @@ -402,10 +399,6 @@ \else\@journal\fi\hfill\today}% \let\@evenfoot\@oddfoot} - -%% -%% Section headings -%% \def\@seccntDot{.} \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em} @@ -430,10 +423,8 @@ {10\p@ \@plus 6\p@ \@minus 3\p@}% {-6\p@}% {\normalfont\itshape}} - -%% -%% List environment -%% +\newdimen\leftMargin +\leftMargin=2em \newtoks\@enLab %\newtoks\@enfont \def\@enQmark{?} \def\@enLabel#1#2{% @@ -465,7 +456,7 @@ \providecommand{\sfbc}{\rmfamily\upshape} \providecommand{\sfn}{\rmfamily\upshape} \def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt} -\def\enumerate{% +\def\enumerate{% \ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi @@ -484,15 +475,16 @@ \@enum@} \def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}% {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}% - \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else + \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else \setlength{\topsep}{\@sep}\fi - \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}% - \else \setlength{\itemsep}{\@@sep}\fi - \setlength\leftmargin{2em}%%%{1.8em} - \setlength{\parsep}{0pt plus1pt minus1pt}% - \setlength{\parskip}{0pt plus1pt minus1pt}}} - -\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else + \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}% + \else \setlength{\itemsep}{\@@sep}\fi + %\setlength\leftmargin{\leftMargin}%%%{1.8em} + \setlength{\parsep}{0pt plus1pt minus1pt}% + \setlength{\parskip}{0pt plus1pt minus1pt} + }} + +\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else \addvspace{\@sep}\fi \endlist} \def\sitem{\@noitemargtrue\@item[\@itemlabel *]} @@ -501,53 +493,50 @@ \def\@Itemize[#1]{\def\next{#1}% \ifnum \@itemdepth >\thr@@\@toodeep\else - \advance\@itemdepth\@ne - \ifx\next\@empty\else\expandafter\def\csname - labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi% - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter\list\csname\@itemitem\endcsname - {\def\makelabel##1{\hss\llap{##1}}}% - \fi} -%% -%% Theorem environment -%% -\def\newdefinition#1{ - \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}} -\def\@ndfn#1#2{ + \advance\@itemdepth\@ne + \ifx\next\@empty\else\expandafter\def\csname + labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi% + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \expandafter\list\csname\@itemitem\endcsname + {\def\makelabel##1{\hss\llap{##1}}}% + \fi} +\def\newdefinition#1{% + \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%] +\def\@ndfn#1#2{% \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}} -\def\@xndfn#1#2[#3]{ +\def\@xndfn#1#2[#3]{% \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1}\@newctr{#1}[#3] - \expandafter\xdef\csname the#1\endcsname{ + {\@definecounter{#1}\@newctr{#1}[#3]% + \expandafter\xdef\csname the#1\endcsname{% \expandafter\noexpand\csname the#3\endcsname \@dfncountersep - \@dfncounter{#1}} - \global\@namedef{#1}{\@dfn{#1}{#2}} + \@dfncounter{#1}}% + \global\@namedef{#1}{\@dfn{#1}{#2}}% \global\@namedef{end#1}{\@enddefinition}}} -\def\@yndfn#1#2{ +\def\@yndfn#1#2{% \expandafter\@ifdefinable\csname #1\endcsname - {\@definecounter{#1} - \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}} - \global\@namedef{#1}{\@dfn{#1}{#2}} + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}% + \global\@namedef{#1}{\@dfn{#1}{#2}}% \global\@namedef{end#1}{\@enddefinition}}} -\def\@odfn#1[#2]#3{ - \@ifundefined{c@#2}{\@nocounterr{#2}} +\def\@odfn#1[#2]#3{% + \@ifundefined{c@#2}{\@nocounterr{#2}}% {\expandafter\@ifdefinable\csname #1\endcsname {\global\@namedef{the#1}{\@nameuse{the#2}} - \global\@namedef{#1}{\@dfn{#2}{#3}} + \global\@namedef{#1}{\@dfn{#2}{#3}}% \global\@namedef{end#1}{\@enddefinition}}}} -\def\@dfn#1#2{ - \refstepcounter{#1} +\def\@dfn#1#2{% + \refstepcounter{#1}% \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}} -\def\@xdfn#1#2{ +\def\@xdfn#1#2{% \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces} -\def\@ydfn#1#2[#3]{ +\def\@ydfn#1#2[#3]{% \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces} \def\@dfncounter#1{\noexpand\arabic{#1}} \def\@dfncountersep{.} \def\@begindefinition#1#2{\trivlist - \item[\hskip\labelsep{\bfseries#1#2.}]\upshape} + \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape} \def\@opargbegindefinition#1#2#3{\trivlist - \item[\hskip\labelsep{\bfseries #1#2\ (#3).}]\upshape} + \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape} \def\@enddefinition{\endtrivlist} \def\@begintheorem#1#2{\trivlist @@ -597,26 +586,25 @@ \def\@endproof{\endtrivlist} \newcommand*{\qed}{\hbox{}\hfill$\Box$} +\@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{} +\InputIfFileExists{\jobname.spl}{}{} \RequirePackage[\@biboptions]{natbib} -\let\baselinestretch=\@blstr +\newwrite\splwrite +\immediate\openout\splwrite=\jobname.spl +\def\biboptions#1{\def\next{#1}\immediate\write\splwrite{% + \string\g@addto@macro\string\@biboptions{% + ,\expandafter\strip@prefix\meaning\next}}} +\let\baselinestretch=\@blstr -%% -%% Page dimensions and margins for final form -%% \ifnum\jtype=1 \RequirePackage{geometry} \geometry{twoside, -% top=30mm, -% paperwidth=165mm, -% paperheight=240mm, paperwidth=210mm, paperheight=297mm, textheight=562pt, textwidth=384pt, -% inner=16mm, -% top=22.1mm, centering, headheight=50pt, headsep=12pt, @@ -625,21 +613,16 @@ } \global\let\bibfont=\footnotesize \global\bibsep=0pt - \if@twocolumn\global\@twocolumnfalse\fi -% + \if@twocolumn\global\@twocolumnfalse\fi \else\ifnum\jtype=3 \RequirePackage{geometry} \geometry{twoside, -% paperwidth=192mm, -% paperheight=262mm, paperwidth=210mm, paperheight=297mm, textheight=622pt, textwidth=468pt, -% inner=13.1mm, -% top=22.1mm, centering, - headheight=50pt, + headheight=50pt, headsep=12pt, footskip=12pt, footnotesep=24pt plus 2pt minus 12pt, @@ -647,23 +630,16 @@ } \global\let\bibfont=\footnotesize \global\bibsep=0pt - \if@twocolumn\input{fleqn.clo}\fi -%% -%% End of option '3p' -%% + \if@twocolumn\input{fleqn.clo}\fi \else\ifnum\jtype=5 \RequirePackage{geometry} \geometry{twoside, -% top=30mm, paperwidth=210mm, -% paperheight=280mm, paperheight=297mm, textheight=682pt, textwidth=522pt, -% inner=15mm, -% top=23.2mm, centering, - headheight=50pt, + headheight=50pt, headsep=12pt, footskip=18pt, footnotesep=24pt plus 2pt minus 12pt, @@ -693,7 +669,6 @@ \fi \vskip\belowcaptionskip} -%\RequirePackage[expansion=alltext,stretch=30]{microtype} \AtBeginDocument{\@ifpackageloaded{hyperref} {\def\@linkcolor{blue} \def\@anchorcolor{blue} @@ -702,4 +677,25 @@ \def\@urlcolor{blue} \def\@menucolor{blue} \def\@pagecolor{blue} +\begingroup + \@makeother\`% + \@makeother\=% + \edef\x{% + \edef\noexpand\x{% + \endgroup + \noexpand\toks@{% + \catcode 96=\noexpand\the\catcode`\noexpand\`\relax + \catcode 61=\noexpand\the\catcode`\noexpand\=\relax + }% + }% + \noexpand\x + }% +\x +\@makeother\` +\@makeother\= }{}} +%% + +\endinput +%% +%% End of file `elsarticle.cls'. |