rpms/tetex-elsevier/devel elsart-harv.bst, NONE, 1.1 elsart-num.bst, NONE, 1.1 elsart.cls, NONE, 1.1 elsart1p.cls, NONE, 1.1 elsart3p.cls, NONE, 1.1 elsart5p.cls, NONE, 1.1 template-harv.tex, NONE, 1.1 template-num.tex, NONE, 1.1 tetex-elsevier-README.fedora, NONE, 1.1 tetex-elsevier.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Patrice Dumas (pertusus)
fedora-extras-commits at redhat.com
Tue Aug 15 08:27:24 UTC 2006
Author: pertusus
Update of /cvs/extras/rpms/tetex-elsevier/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv1108/devel
Modified Files:
.cvsignore sources
Added Files:
elsart-harv.bst elsart-num.bst elsart.cls elsart1p.cls
elsart3p.cls elsart5p.cls template-harv.tex template-num.tex
tetex-elsevier-README.fedora tetex-elsevier.spec
Log Message:
auto-import tetex-elsevier-0.1.20060516-2 on branch devel from tetex-elsevier-0.1.20060516-2.src.rpm
--- NEW FILE elsart-harv.bst ---
%%
%% This is file `elsart-harv.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `,ay,nat,nm-rev,ed-rev,dt-beg,yr-com,aymth,yrp-per,note-yr,jttl-rm,thtit-a,vnum-sp,volp-com,pp-last,jnm-x,btit-rm,bt-rm,pre-edn,url,url-nl,edpar,blk-tit,in-col,pp,ed,abr,ednx,ord,jabr,xand,em-x,nfss')
%% After docstrip generation some manual changes were made (SP)
%SP 2001/01/23
% Changed the pages output for inproceedings
%SP 2001/07/25
% Add the leading space in format.vol.num.pages only if there is a volume
%% ----------------------------------------
%% *** Author-date reference style for elsart ***
%% $Id: elsart-harv.bst,v 1.1 2004/03/18 15:18:52 iowen Exp $
%%
%% Copyright 1994-1999 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[1999/03/18 3.88 (PWD)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in ENGLISH
% This is an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%---------------------------------------------------------------------
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label extra.label sort.label short.list }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
%SP 2003/07/25
% No longer used
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {date.block}
{
new.sentence
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ skip$ }
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
% The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {bbl.editors}
{ "Eds." }
FUNCTION {bbl.editor}
{ "Ed." }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "Edition" }
FUNCTION {bbl.volume}
{ "Vol." }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "no." }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pp." }
FUNCTION {bbl.page}
{ "p." }
FUNCTION {bbl.chapter}
{ "Ch." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
FUNCTION {bbl.first}
{ "1st" }
FUNCTION {bbl.second}
{ "2nd" }
FUNCTION {bbl.third}
{ "3rd" }
FUNCTION {bbl.fourth}
{ "4th" }
FUNCTION {bbl.fifth}
{ "5th" }
FUNCTION {bbl.st}
{ "st" }
FUNCTION {bbl.nd}
{ "nd" }
FUNCTION {bbl.rd}
{ "rd" }
FUNCTION {bbl.th}
{ "th" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"Mar."}
MACRO {apr} {"Apr."}
MACRO {may} {"May"}
MACRO {jun} {"Jun."}
MACRO {jul} {"Jul."}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
FUNCTION {eng.ord}
{ duplicate$ "1" swap$ *
#-2 #1 substring$ "1" =
{ bbl.th * }
{ duplicate$ #-1 #1 substring$
duplicate$ "1" =
{ pop$ bbl.st * }
{ duplicate$ "2" =
{ pop$ bbl.nd * }
{ "3" =
{ bbl.rd * }
{ bbl.th * }
if$
}
if$
}
if$
}
if$
}
MACRO {acmcs} {"ACM Comput. Surv."}
MACRO {acta} {"Acta Inf."}
MACRO {cacm} {"Commun. ACM"}
MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
{"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
MACRO {ipl} {"Inf. Process. Lett."}
MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
MACRO {scp} {"Sci. Comput. Programming"}
MACRO {sicomp} {"SIAM J. Comput."}
MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
MACRO {tog} {"ACM Trans. Gr."}
MACRO {toms} {"ACM Trans. Math. Softw."}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
MACRO {tcs} {"Theoretical Comput. Sci."}
FUNCTION {write.url}
{ url empty$
{ skip$ }
{ "\newline\urlprefix\url{" url * "}" * write$ newline$ }
if$
}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, jj}{, f.}" format.name$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
"," *
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.names.ed}
{ format.names }
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names
editor num.names$ #1 >
{ " (" * bbl.editors * ")" * }
{ " (" * bbl.editor * ")" * }
if$
}
if$
}
FUNCTION {format.in.editors}
{ editor empty$
{ "" }
{ editor format.names.ed
editor num.names$ #1 >
{ " (" * bbl.editors * ")" * }
{ " (" * bbl.editor * ")" * }
if$
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ *
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$
}
if$
}
FUNCTION {format.full.names}
{'s :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
numnames #2 >
{ "," * }
'skip$
if$
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{ bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.key.full}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}
FUNCTION {editor.key.full}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.full
{ type$ "proceedings" =
'editor.key.full
'author.key.full
if$
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[{" write$
label write$
")" make.full.names duplicate$ short.list =
{ pop$ }
{ * }
if$
"}]{" * write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in capitalize
":" *
" " * }
FUNCTION {format.date}
{ year duplicate$ empty$
{ "empty year in " cite$ * "; set to ????" * warning$
pop$ "????" }
'skip$
if$
month empty$
'skip$
{ month
" " * swap$ *
}
if$
extra.label *
before.all 'output.state :=
", " swap$ *
}
FUNCTION {format.btitle}
{ title
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.connect
series empty$
'skip$
{ bbl.of space.word * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ bbl.in space.word * series * }
if$
}
if$
}
{ "" }
if$
}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
swap$ "9" chr.to.int$ > not and
}
FUNCTION {extract.num}
{ duplicate$ 't :=
"" 's :=
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
duplicate$ is.num
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
}
while$
s empty$
'skip$
{ pop$ s }
if$
}
FUNCTION {convert.edition}
{ edition extract.num "l" change.case$ 's :=
s "first" = s "1" = or
{ bbl.first 't := }
{ s "second" = s "2" = or
{ bbl.second 't := }
{ s "third" = s "3" = or
{ bbl.third 't := }
{ s "fourth" = s "4" = or
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
{ s #1 #1 substring$ is.num
{ s eng.ord 't := }
{ edition 't := }
if$
}
if$
}
if$
}
if$
}
if$
}
if$
t
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ convert.edition "l" change.case$ " " * bbl.edition * }
{ convert.edition "t" change.case$ " " * bbl.edition * }
if$
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
{ bbl.pages pages n.dashify tie.or.space.connect }
{ bbl.page pages tie.or.space.connect }
if$
}
if$
}
FUNCTION {format.journal.pages}
{ pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{
", " *
pages n.dashify *
}
if$
}
if$
}
%SP 2001/01/23
% Only used in articles
FUNCTION {format.vol.num.pages}
{
%SP 2001/01/23
% Add the leading space only if there is a volume
% volume field.or.null
" "
volume empty$
{ pop$ "" }
{ volume * }
if$
number empty$
'skip$
{
"~(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ word.in booktitle * }
{ word.in format.in.editors * ", " *
booktitle * }
if$
}
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$
type "t" change.case$
}
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ bbl.techrep }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
word.in
}
{ bbl.volume capitalize
volume tie.or.space.connect
bbl.of space.word *
}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
t empty$
{ address empty$
'skip$
{ address * }
if$
}
{ t *
address empty$
'skip$
{ ", " * address * }
if$
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher empty$
{ "empty publisher in " cite$ * warning$
""
}
{ publisher }
if$
format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization empty$
{ "" }
{ organization }
if$
format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ journal
"journal" output.check
%SP 2001/01/23
% Add the space in format.vol.num.pages
% add.blank
before.all 'output.state :=
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.journal.pages
format.note output
fin.entry
write.url
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{ format.edition output
new.sentence
format.bvolume output
format.number.series output
new.sentence
format.publisher.address output
}
{
new.sentence
format.book.crossref output.nonnull
}
if$
format.note output
fin.entry
write.url
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
howpublished output
address output
format.note output
fin.entry
write.url
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{
format.edition output
new.sentence
format.bvolume output
format.number.series output
new.sentence
format.publisher.address output
format.chapter.pages "chapter and pages" output.check
}
{
format.chapter.pages "chapter and pages" output.check
new.sentence
format.book.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.edition output
new.sentence
format.bvolume output
format.number.series output
new.sentence
format.publisher.address output
format.chapter.pages output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.edition output
new.sentence
format.bvolume output
format.number.series output
new.sentence
publisher empty$
{ format.organization.address output }
{ organization output
format.publisher.address output
}
if$
%SP 2001/01/23
% format.pages output
}
{ format.incoll.inproc.crossref output.nonnull
%SP 2001/01/23
% format.pages output
}
if$
%SP 2001/01/23
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
new.sentence
organization output
address output
format.edition output
format.note output
fin.entry
write.url
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
bbl.mthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.note output
fin.entry
write.url
}
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
new.sentence
howpublished output
format.note output
fin.entry
write.url
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
bbl.phdthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.note output
fin.entry
write.url
}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
new.sentence
format.bvolume output
format.number.series output
new.sentence
publisher empty$
{ format.organization.address output }
{ organization output
format.publisher.address output
}
if$
format.note output
fin.entry
write.url
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.sentence
format.tr.number output.nonnull
institution "institution" output.check
address output
format.note output
fin.entry
write.url
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
format.note "note" output.check
fin.entry
write.url
}
FUNCTION {default.type} { misc }
READ
FUNCTION {sortify}
{ purify$
"l" change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
'len :=
s #1 len substring$ =
{ s len #1 + global.max$ substring$ }
's
if$
}
FUNCTION {format.lab.names}
{ 's :=
s #1 "{vv~}{ll}" format.name$
s num.names$ duplicate$
#2 >
{ pop$
" " * bbl.etal *
}
{ #2 <
'skip$
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
" " * bbl.etal *
}
{ bbl.and space.word * s #2 "{vv~}{ll}" format.name$
* }
if$
}
if$
}
if$
}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
}
FUNCTION {editor.key.label}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.label
'author.key.label
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
year duplicate$ empty$
{ pop$ "????" }
'skip$
if$
*
'label :=
}
FUNCTION {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
format.name$ 't :=
nameptr #1 >
{
" " *
namesleft #1 = t "others" = and
{ "zzzzz" * }
{ t sortify * }
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {sort.format.title}
{ 't :=
"A " #2
"An " #3
"The " #4 t chop.word
chop.word
chop.word
sortify
#1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
{ key empty$
{ "to sort, need author or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
{ key empty$
{ "to sort, need author, editor, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.sort}
{ editor empty$
{ key empty$
{ "to sort, need editor or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
" "
*
type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.sort
'author.sort
if$
}
if$
#1 entry.max$ substring$
'sort.label :=
sort.label
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ "a" chr.to.int$ 'last.extra.num :=
"" 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
"\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
write$ newline$
"\expandafter\ifx\csname url\endcsname\relax"
write$ newline$
" \def\url#1{\texttt{#1}}\fi"
write$ newline$
"\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `elsart-harv.bst'.
--- NEW FILE elsart-num.bst ---
%%
%% This is file `elsart-num.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `,seq-no,nm-init,ed-au,dt-end,yr-par,yrp-x,jttl-rm,thtit-a,vnum-sp,volp-blk,jdt-p,pp-last,jnm-x,btit-rm,bt-rm,pub-date,pub-xpar,pre-edn,url,url-nl,edpar,blk-com,in-col,pp,ed,abr,ednx,ord,jabr,and-xcom,xand,em-x,nfss')
%% After docstrip generation some manual changes were made (SP)
%SP 2001/01/23
% Changed the pages output for inproceedings
%SP 2001/07/25
% Add the leading space in format.vol.num.pages only if there is a volume
%% ----------------------------------------
%% *** Numerical reference style for elsart ***
%% $Id: elsart-num.bst,v 1.1 2004/03/18 15:18:53 iowen Exp $
%%
%% Copyright 1994-1999 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[1999/03/18 3.88 (PWD)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in ENGLISH
% This is a numerical citation style, and as such is standard LaTeX.
% It requires no extra package to interface to the main text.
% The form of the \bibitem entries is
% \bibitem{key}...
% Usage of \cite is as follows:
% \cite{key} ==>> [#]
% \cite[chap. 2]{key} ==>> [#, chap. 2]
% where # is a number determined by the ordering in the reference list.
% The order in the reference list is that by which the works were originally
% cited in the text, or that in the database.
%---------------------------------------------------------------------
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
%SP 2003/07/25
% No longer used
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {date.block}
{
add.blank
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ skip$ }
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
% The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {bbl.editors}
{ "Eds." }
FUNCTION {bbl.editor}
{ "Ed." }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "Edition" }
FUNCTION {bbl.volume}
{ "Vol." }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "no." }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pp." }
FUNCTION {bbl.page}
{ "p." }
FUNCTION {bbl.chapter}
{ "Ch." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
FUNCTION {bbl.first}
{ "1st" }
FUNCTION {bbl.second}
{ "2nd" }
FUNCTION {bbl.third}
{ "3rd" }
FUNCTION {bbl.fourth}
{ "4th" }
FUNCTION {bbl.fifth}
{ "5th" }
FUNCTION {bbl.st}
{ "st" }
FUNCTION {bbl.nd}
{ "nd" }
FUNCTION {bbl.rd}
{ "rd" }
FUNCTION {bbl.th}
{ "th" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"Mar."}
MACRO {apr} {"Apr."}
MACRO {may} {"May"}
MACRO {jun} {"Jun."}
MACRO {jul} {"Jul."}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sep."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
FUNCTION {eng.ord}
{ duplicate$ "1" swap$ *
#-2 #1 substring$ "1" =
{ bbl.th * }
{ duplicate$ #-1 #1 substring$
duplicate$ "1" =
{ pop$ bbl.st * }
{ duplicate$ "2" =
{ pop$ bbl.nd * }
{ "3" =
{ bbl.rd * }
{ bbl.th * }
if$
}
if$
}
if$
}
if$
}
MACRO {acmcs} {"ACM Comput. Surv."}
MACRO {acta} {"Acta Inf."}
MACRO {cacm} {"Commun. ACM"}
MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
{"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
MACRO {ipl} {"Inf. Process. Lett."}
MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
MACRO {scp} {"Sci. Comput. Programming"}
MACRO {sicomp} {"SIAM J. Comput."}
MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
MACRO {tog} {"ACM Trans. Gr."}
MACRO {toms} {"ACM Trans. Math. Softw."}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
MACRO {tcs} {"Theoretical Comput. Sci."}
FUNCTION {write.url}
{ url empty$
{ skip$ }
{ "\newline\urlprefix\url{" url * "}" * write$ newline$ }
if$
}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{f.~}{vv~}{ll}{, jj}" format.name$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
"," *
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.names.ed}
{ format.names }
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names
editor num.names$ #1 >
{ " (" * bbl.editors * ")" * }
{ " (" * bbl.editor * ")" * }
if$
}
if$
}
FUNCTION {format.in.editors}
{ editor empty$
{ "" }
{ editor format.names.ed
editor num.names$ #1 >
{ " (" * bbl.editors * ")" * }
{ " (" * bbl.editor * ")" * }
if$
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ *
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in
":" *
" " * }
FUNCTION {format.date}
{ year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
month
}
if$
}
{ month empty$
'year
{ month " " * year * }
if$
}
if$
duplicate$ empty$
'skip$
{
before.all 'output.state :=
" (" swap$ * ")" *
}
if$
}
FUNCTION{format.year}
{ year duplicate$ empty$
{ "empty year in " cite$ * warning$ pop$ "" }
{ "(" swap$ * ")" * }
if$
}
FUNCTION {format.btitle}
{ title
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.connect
series empty$
'skip$
{ bbl.of space.word * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ bbl.in space.word * series * }
if$
}
if$
}
{ "" }
if$
}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
swap$ "9" chr.to.int$ > not and
}
FUNCTION {extract.num}
{ duplicate$ 't :=
"" 's :=
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
duplicate$ is.num
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
}
while$
s empty$
'skip$
{ pop$ s }
if$
}
FUNCTION {convert.edition}
{ edition extract.num "l" change.case$ 's :=
s "first" = s "1" = or
{ bbl.first 't := }
{ s "second" = s "2" = or
{ bbl.second 't := }
{ s "third" = s "3" = or
{ bbl.third 't := }
{ s "fourth" = s "4" = or
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
{ s #1 #1 substring$ is.num
{ s eng.ord 't := }
{ edition 't := }
if$
}
if$
}
if$
}
if$
}
if$
}
if$
t
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ convert.edition "l" change.case$ " " * bbl.edition * }
{ convert.edition "t" change.case$ " " * bbl.edition * }
if$
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
{ bbl.pages pages n.dashify tie.or.space.connect }
{ bbl.page pages tie.or.space.connect }
if$
}
if$
}
FUNCTION {format.journal.pages}
{ pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{
" " *
format.year * " " *
pages n.dashify *
}
if$
}
if$
}
%SP 2001/01/23
% Only used in articles
FUNCTION {format.vol.num.pages}
{
%SP 2001/01/23
% Add the leading space only if there is a volume
% volume field.or.null
" "
volume empty$
{ pop$ "" }
{ volume * }
if$
number empty$
'skip$
{
"~(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ word.in booktitle * }
{ word.in format.in.editors * ", " *
booktitle * }
if$
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$
type "t" change.case$
}
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ bbl.techrep }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{
key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ word.in journal emphasize * }
if$
}
{ word.in key * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
editor num.names$ duplicate$
#2 >
{ pop$
" " * bbl.etal *
}
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
" " * bbl.etal *
}
{ bbl.and space.word * editor #2 "{vv~}{ll}" format.name$
* }
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
word.in
}
{ bbl.volume volume tie.or.space.connect
bbl.of space.word *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ series emphasize * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ word.in booktitle * }
if$
}
{ word.in key * " " *}
if$
}
{ word.in format.crossref.editor * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
year empty$
{ "empty year in " cite$ * warning$ }
'skip$
if$
address empty$ t empty$ and
year empty$ and
'skip$
{
t empty$
{ address empty$
'skip$
{ address * }
if$
}
{ t *
address empty$
'skip$
{ ", " * address * }
if$
}
if$
year empty$
'skip$
{ t empty$ address empty$ and
'skip$
{ ", " * }
if$
year *
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher empty$
{ "empty publisher in " cite$ * warning$
""
}
{ publisher }
if$
format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization empty$
{ "" }
{ organization }
if$
format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
crossref missing$
{ journal
"journal" output.check
%SP 2001/01/23
% Add the space in format.vol.num.pages
% add.blank
before.all 'output.state :=
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.journal.pages
format.note output
fin.entry
write.url
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{ format.edition output
format.bvolume output
format.number.series output
format.publisher.address output
}
{
format.book.crossref output.nonnull
}
if$
format.note output
fin.entry
write.url
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
format.title "title" output.check
howpublished output
address output
format.note output
format.date output
fin.entry
write.url
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{
format.edition output
format.bvolume output
format.number.series output
format.publisher.address output
format.chapter.pages "chapter and pages" output.check
}
{
format.chapter.pages "chapter and pages" output.check
format.book.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.edition output
format.bvolume output
format.number.series output
format.publisher.address output
format.chapter.pages output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.edition output
format.bvolume output
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization output
format.publisher.address output
}
if$
%SP 2001/01/23
% format.pages output
}
{ format.incoll.inproc.crossref output.nonnull
%SP 2001/01/23
% format.pages output
}
if$
%SP 2001/01/23
format.pages "pages" output.check
format.note output
fin.entry
write.url
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
'skip$
{ organization output.nonnull
address output
}
if$
}
{ format.authors output.nonnull }
if$
format.btitle "title" output.check
author empty$
{ organization empty$
{
address output
}
'skip$
if$
}
{
organization output
address output
}
if$
format.edition output
format.note output
format.date output
fin.entry
write.url
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
bbl.mthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.note output
format.date "year" output.check
fin.entry
write.url
}
FUNCTION {misc}
{ output.bibitem
format.authors output
format.title output
howpublished output
format.note output
format.date output
fin.entry
write.url
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
bbl.phdthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.note output
format.date "year" output.check
fin.entry
write.url
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization output }
{ format.editors output.nonnull }
if$
format.btitle "title" output.check
format.bvolume output
format.number.series output
editor empty$
{ publisher empty$
'skip$
{
format.publisher.address output
}
if$
}
{ publisher empty$
{
format.organization.address output }
{
organization output
format.publisher.address output
}
if$
}
if$
format.note output
% format.date "year" output.check
fin.entry
write.url
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
format.tr.number output.nonnull
institution "institution" output.check
address output
format.note output
format.date "year" output.check
fin.entry
write.url
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
format.note "note" output.check
format.date output
fin.entry
write.url
}
FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" *
write$ newline$
"\expandafter\ifx\csname url\endcsname\relax"
write$ newline$
" \def\url#1{\texttt{#1}}\fi"
write$ newline$
"\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `elsart-num.bst'.
--- NEW FILE elsart.cls ---
%%
%% This is file `elsart.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% esl.dtx (with options: `package,elsart,ONECOL,DEEPLIST')
%%
%% elsart.cls Copyright (C) 1994-2006 Elsevier Science
%%
%% 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
%% 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.
%%
\def\readRCS$#1: #2 #3 #4 #5${%
\def\RCSfile{#2}%
\def\RCSversion{#3}%
\def\RCSdate{#4}%
}
\def\@shortjnl{\relax}
\def\esp at fileversion{2.19}
\def\esp at filedate{2006/05/01}
\def\@journal{Elsevier} \def\@company{Elsevier}
\def\@issn{000-0000}
\def\@shortjid{elsart}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\@shortjid}[\esp at filedate, \esp at fileversion: \@journal]
\newif\if at TwoColumn
\newif\if at seceqn
\newif\if at secthm
\newif\if at nameyear
\newif\if at Elproofing
\@Elproofingfalse
\DeclareOption{12pt}{}
\DeclareOption{11pt}{}
\DeclareOption{10pt}{}
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
\@twocolumnfalse
\DeclareOption{onecolumn}{\@twocolumnfalse\@TwoColumnfalse}
\DeclareOption{twocolumn}{\@twocolumntrue\@TwoColumntrue}
\newif\if at narrowdisplay
\@narrowdisplayfalse
\DeclareOption{narrowdisplay}{\@narrowdisplaytrue}
\newif\if at draft\@draftfalse
\DeclareOption{draft}{%
\@drafttrue
\overfullrule 5\p@ % to indicate overfull boxes
}
\DeclareOption{final}{%
\@draftfalse
\overfullrule \z@
}
\let\snm\relax \let\cty\relax \let\cny\relax\let\jr\relax
\newif\if at ussrhead \@ussrheadfalse
\DeclareOption{ussrhead}{\@ussrheadtrue}
\@seceqnfalse % Default: equation numbering is not
\DeclareOption{seceqn}{\@seceqntrue} % reset at beginning of each section
\@secthmfalse
\DeclareOption{secthm}{\@secthmtrue}
\@nameyearfalse
\DeclareOption{nameyear}{\@nameyeartrue}
\def\@blstr{1}
\DeclareOption{doublespacing}{\def\@blstr{1.7}}
\DeclareOption{reviewcopy}{\def\@blstr{1.7}}
\newif\if at symbold\@symboldfalse
\DeclareOption{symbold}{\@symboldtrue}
\newif\if at amsthm\@amsthmfalse
\DeclareOption{amsthm}{\@amsthmtrue}
\ExecuteOptions{oneside}
\ExecuteOptions{onecolumn,final}
\ProcessOptions
\if at TwoColumn\@narrowdisplayfalse\fi
\if at draft\else\@narrowdisplayfalse\fi
\def\@pagenumprefix{}
\def\author at font{}
\def\partname{Part}
\def\appendixname{Appendix}
\def\contentsname{Contents}
\def\listfigurename{List of Figures}
\def\listtablename{List of Tables}
\def\refname{References}
\def\indexname{Index}
\def\figurename{Fig.}
\def\tablename{Table}
\def\abstractname{Abstract}
\lineskip 1\p@
\normallineskip 1\p@
\def\baselinestretch{1}
\frenchspacing
\def\cropwidth{297mm}
\def\cropheight{210mm}
\def\cropleft{0mm}
\def\croptop{0mm}
\def\FullCopyrightText{}
\def\copyrightholder#1{\def\@copyrightholder{#1}}
\newdimen\@frontmatterwidth
\def\@overtitleskip{69\p@}
\def\@overhistoryskip{\z@}
\def\@undertitleskip{\z@}
\def\@overkeywordskip{12\p@}
\def\@overabstractskip{8\p@}
\def\@overcaptionskip{8\p@}
\def\@preabstractskip{24\p@ \@plus 6\p@ \@minus 3\p@}
\def\@belowfmskip{18\p@}
\def\@bibliosize{\small}
\def\@historysize{\small}
\def\@keywordsize{\small}
\def\@overaddressskip{2pt}
\def\@titlesize{\Large\bfseries}
\def\@bibitemsep{0.3\@bls \@plus 0.1\@bls \@minus 0.1\@bls}
\def\@authorsize{\large}
\def\@keywordheading{{\it Key words: \ }}
\def\@addressstyle{\small\itshape}
\def\@captionsize{\small}
\def\@tablecaptionsize{\@captionsize}
\def\@figurecaptionsize{\@captionsize}
\def\@tablesize{\small}
\def\@keywordwidth{.8\textwidth}
\def\@abstractwidth{.8\textwidth}
\def\@fignumfont#1{#1}
\def\@secnumfont#1{\upshape}
\def\@catchlinesize{\footnotesize}
\def\@runheadsize{\normalsize}
\def\@narrowdisplaywidth{259pt}
\def\etal{et al.}
\def\AND{\&}
\def\@Colofonheight{1cm}
\def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}
\def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}
\def\normalsize{\@setfontsize\normalsize\@xiipt{14.5}%
\abovedisplayskip 12\p@ \@plus 2\p@ \@minus 2\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 2\p@%
\belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@
\let\@listi\@listI}
\def\small{\@setfontsize\small\@xipt{13.6}%
\abovedisplayskip 11\p@ \@plus3\p@ minus6\p@
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ minus3\p@
\def\@listi{\leftmargin\leftmargini
\parsep 4.5\p@ \@plus2\p@ minus\p@ \itemsep \parsep
\topsep 9\p@ \@plus3\p@ minus5\p@}}
\let\footnotesize=\small
\let\@xviiipt\@xviipt
\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\def\tiny{\@setfontsize\tiny\@vipt{7}}
\def\large{\@setfontsize\large\@xivpt{18}}
\def\Large{\@setfontsize\Large\@xviipt{22}}
\def\LARGE{\@setfontsize\LARGE\@xxpt{22}}
\def\huge{\@setfontsize\huge\@xxvpt{27}}
\let\Huge=\huge
\normalsize % Choose the normalsize font.
\newdimen\@bls % Several dimensions are
\@bls=\baselineskip % expressed in terms of this.
\if at twoside % Values for two-sided printing:
\oddsidemargin 20\p@ % Left margin on odd-numbered pages.
\evensidemargin 20\p@ % Left margin on even-numbered pages.
\marginparwidth 10\p@ % \@Width of marginal notes.
\else % Values for one-sided printing:
\oddsidemargin 20\p@ % Left margin on odd-numbered pages.
\evensidemargin 20\p@ % Left margin on even-numbered pages.
\marginparwidth 2pc
\fi
\marginparsep 20\p@ % Horizontal space between outer margin and
% marginal note
\topmargin \z@ % Nominal distance from top of page to top of
% box containing running head.
\headheight \z@ % \@Height of box containing running head.
\headsep \z@ % Space between running head and text.
\footskip 40\p@
\bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line
\medskipamount=0.5\bigskipamount % 1/2 line
\smallskipamount=0.25\bigskipamount % 1/4 line
\@tempdima=651pt \advance\@tempdima -\topskip \@tempcnta=\@tempdima
\@tempdimb=\@blstr\@bls \@tempcntb=\@tempdimb
\divide\@tempcnta\@tempcntb
\textheight\@tempdimb \multiply\textheight\@tempcnta
\advance\textheight\topskip
\textwidth 33pc % \@Width of text line.
% For two-column mode:
\columnsep 2pc % Space between columns
\columnseprule \z@ % \@Width of rule between columns.
\footnotesep 8.4\p@
\skip\footins 12\p@ \@plus 8\p@ % Space between last line of text and
% top of first footnote.
\floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved
% to top or bottom of text page.
\textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats
% at top or bottom of page.
\intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and
% text.
\dblfloatsep 8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column
% figures in two-column mode.
\dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column
% floats.
\@fptop \z@ \@plus 1fil % Stretch at top of float page/column. (Must be
% \z@ \@plus ...)
\@fpsep 8\p@ \@plus 2fil % Space between floats on float page/column.
\@fpbot \z@ \@plus 1fil % Stretch at bottom of float page/column. (Must be
% \z@ \@plus ... )
\@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)
\@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.
\@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be
% \z@ \@plus ... )
\marginparpush 5\p@ % Minimum vertical separation between two marginal
% notes.
\parskip 1pc \@plus 1\p@ % Extra vertical space between paragraphs.
\parindent \z@ % Indentation of each paragraph.
\newskip\eqntopsep % Extra vertical space, in addition to
\eqntopsep 12\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below
\newdimen\eqnarraycolsep % Half the space between columns
\eqnarraycolsep 1\p@ % in an \eqnarray.
\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1]
\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2]
\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3]
\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
\@endparpenalty -\@lowpenalty % After a list or paragraph environment.
\@itempenalty -\@lowpenalty % Between list items.
\def\section{\@startsection{section}{1}{\z@}{1.5\@bls
\@plus .4\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries}}
\def\subsection{\@startsection{subsection}{2}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls
\@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}
\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalsize\bfseries}}
\setcounter{secnumdepth}{4}
\def\half at em{\hskip 0.5em}
\def\lb at part{PART \thepart.\half at em}
\def\lb at empty@part{PART \thepart}
\def\lb at section{\thesection.\half at em}
\def\lb at empty@section{\thesection}
\def\lb at subsection{\thesubsection.\half at em}
\def\lb at empty@subsection{\thesubsection}
\def\lb at subsubsection{\thesubsubsection.\half at em}
\def\lb at empty@subsubsection{\thesubsubsection}
\def\lb at paragraph{\theparagraph.\half at em}
\def\lb at empty@paragraph{\theparagraph}
\def\lb at subparagraph{\thesubparagraph.\half at em}
\def\lb at empty@subparagraph{\thesubparagraph}
\def\head at format#1#2{#2}
\def\head at style{\interlinepenalty\@M
\hyphenpenalty\@M \exhyphenpenalty\@M
\rightskip \z@ \@plus 0.5\hsize \relax
}
\def\app at number#1{\setcounter{#1}{0}%
\@addtoreset{#1}{section}%
\@namedef{the#1}{\thesection.\arabic{#1}}}
\def\appendix{\@ifstar{\appendix at star}{\appendix at nostar}}
\def\appendix at nostar{%
\def\lb at section{\appendixname\ \thesection.\half at em}
\def\lb at empty@section{\appendixname\ \thesection}
\setcounter{section}{0}\def\thesection{\Alph{section}}%
\setcounter{subsection}{0}%
\setcounter{subsubsection}{0}%
\setcounter{paragraph}{0}%
\app at number{equation}\app at number{figure}\app at number{table}}
\def\appendix at star{%
\def\lb at section{\appendixname}\let\lb at empty@section\lb at section
\setcounter{section}{0}\def\thesection{\Alph{section}}%
\setcounter{subsection}{0}%
\setcounter{subsubsection}{0}%
\setcounter{paragraph}{0}%
\app at number{equation}\app at number{figure}\app at number{table}}
\def\ack{\section*{Acknowledgements}%
\addtocontents{toc}{\protect\vspace{6pt}}%
\addcontentsline{toc}{section}{Acknowledgements}%
}
\@namedef{ack*}{\par\vskip 3.0ex \@plus 1.0ex \@minus 1.0ex}
\let\endack\par
\@namedef{endack*}{\par}
\newdimen\labelwidthi
\newdimen\labelwidthii
\newdimen\labelwidthiii
\newdimen\labelwidthiv
\def\normal at labelsep{0.5em}
\labelsep\normal at labelsep
\settowidth{\labelwidthi}{(iii)}
\settowidth{\labelwidthii}{(d)}
\settowidth{\labelwidthiii}{(iii)}
\settowidth{\labelwidthiv}{(M)}
\leftmargini\labelwidthi \advance\leftmargini\labelsep
\leftmarginii\labelwidthii \advance\leftmarginii\labelsep
\leftmarginiii\labelwidthiii \advance\leftmarginiii\labelsep
\leftmarginiv\labelwidthiv \advance\leftmarginiv\labelsep
\def\setleftmargin#1#2{\settowidth{\@tempdima}{#2}\labelsep\normal at labelsep
\csname labelwidth#1\endcsname\@tempdima
\@tempdimb\@tempdima \advance\@tempdimb\labelsep
\csname leftmargin#1\endcsname\@tempdimb}
\def\@listI{\leftmargin\leftmargini
\labelwidth\labelwidthi \labelsep\normal at labelsep
\topsep \z@ \partopsep\z@ \parsep\z@ \itemsep\z@
\listparindent 1em}
\def\@listii{\leftmargin\leftmarginii
\labelwidth\labelwidthii \labelsep\normal at labelsep
\topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
\listparindent 1em}
\def\@listiii{\leftmargin\leftmarginiii
\labelwidth\labelwidthiii \labelsep\normal at labelsep
\topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
\listparindent 1em}
\def\@listiv{\leftmargin\leftmarginiv
\labelwidth\labelwidthiv \labelsep\normal at labelsep
\topsep\z@ \partopsep\z@ \parsep\z@ \itemsep\z@
\listparindent 1em}
\let\@listi\@listI
\@listi
\def\left at label#1{{#1}\hss}
\def\right at label#1{\hss\llap{#1}}
\def\thick at label#1{\hspace\labelsep #1}
\newcount\@maxlistdepth
\@maxlistdepth=4
\def\labelitemi{$\bullet$} \def\labelitemii{$\cdot$}
\def\labelenumi{(\theenumi)} \def\theenumi{\arabic{enumi}}
\def\labelenumii{(\alph{enumii})} \def\theenumii{\theenumi\alph{enumii}}
\def\labelenumiii{(\roman{enumiii})}\def\theenumiii{\theenumii.\roman{enumiii}}
\def\labelenumiv{(\Alph{enumiv})} \def\theenumiv{\theenumiii.\Alph{enumiv}}
\def\enumerate{%
\ifnum \@enumdepth >\@maxlistdepth
\@toodeep
\else
\advance\@enumdepth \@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
\list{\csname label\@enumctr\endcsname}%
{\usecounter{\@enumctr}
\let\makelabel=\right at label}
\fi}
\def\itemize{%
\ifnum \@itemdepth >\@maxlistdepth
\@toodeep
\else
\advance\@itemdepth \@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\setleftmargin{i}{--}%
\setleftmargin{ii}{$\cdot$}%
\list{\csname\@itemitem\endcsname}%
{\let\makelabel\right at label}
\fi}
\def\verse{\let\\=\@centercr
\list{}{\itemsep\z@
\itemindent \z@
\listparindent\z@
\rightmargin 1em
\leftmargin \rightmargin}\item[]}
\let\endverse\endlist
\def\quotation{\list{}{\itemindent\z@
\leftmargin 1em \rightmargin \z@
\parsep \z@ \@plus 1pt}\item[]}
\let\endquotation=\endlist
\def\quote{\list{}{\itemindent\z@
\leftmargin 1em \rightmargin \z@}%
\item[]}
\let\endquote=\endlist
\def\descriptionlabel#1{\hspace\labelsep \bfseries #1}
\def\description{\list{}{\labelwidth\z@
\leftmargin 1em \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
\let\enddescription\endlist
\def\@atfmtname{atlplain}
\ifx\fmtname\@atfmtname
\def\neq{\not\nobreak\mkern -2mu =}%
\let\ne\neq
\fi
\def\operatorname#1{\mathop{\mathrm{#1}}\nolimits}
\def\lefteqn#1{\hbox to\z@{$\displaystyle {#1}$\hss}}
\newskip\eqnbaselineskip % Standard interline spacing in an {eqnarray}
\jot=2\p@
\newskip\eqnlineskip % Minimal space between the bottom of
% a line and the top of the next line.
\eqnbaselineskip=14\p@ \eqnlineskip=2\p@
\newdimen\mathindent
\if at TwoColumn
\mathindent 0em
\else
\mathindent 2em
\fi
\if at narrowdisplay
\def\calcmathindent{%
\mathindent\linewidth\relax
\advance\mathindent-\@narrowdisplaywidth}
\else
\let\calcmathindent\relax
\fi
\def\[{\relax\ifmmode\@badmath
\else%\bgroup removed on request from BW (1993-05-17)
\@beginparpenalty\predisplaypenalty
\@endparpenalty\postdisplaypenalty
\calcmathindent
\begin{trivlist}\@topsep \eqntopsep % used by first \item
\@topsepadd \eqntopsep % used by \@endparenv
\item[]\leavevmode
\hbox to\linewidth\bgroup$ \displaystyle
\hskip\mathindent\bgroup\fi}
\def\]{\relax\ifmmode \egroup $\hfil \egroup
\end{trivlist}% \egroup removed on request from BW (1993-05-17)
\else \@badmath \fi}
\def\equation{\@beginparpenalty\predisplaypenalty
\@endparpenalty\postdisplaypenalty
\refstepcounter{equation}\trivlist
\@topsep \eqntopsep % used by first \item
\@topsepadd \eqntopsep % used by \@endparenv
\calcmathindent
\item[]\leavevmode
\hbox to\linewidth\bgroup $ \displaystyle \hskip\mathindent\bgroup}
\def\endequation{\egroup$\hfil \displaywidth\linewidth
\@eqnnum\egroup \endtrivlist}
\def\eqnarray{%
\par %BW
\noindent %BW
\baselineskip\eqnbaselineskip\lineskip\eqnlineskip %BW
\lineskiplimit\eqnlineskip %BW
\calcmathindent
\stepcounter{equation}%
\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@
\tabskip\mathindent
\let\\=\@eqncr
\abovedisplayskip\eqntopsep\ifvmode\advance\abovedisplayskip\partopsep\fi
\belowdisplayskip\abovedisplayskip
\belowdisplayshortskip\abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
$$\halign to \displaywidth\bgroup\@eqnsel
\pre at coli$\displaystyle\tabskip\z@{##}$\post at coli
&\global\@eqcnt\@ne
\pre at colii$\displaystyle{##}$\post at colii
&\global\@eqcnt\tw@
\pre at coliii $\displaystyle\tabskip\z@{##}$\post at coliii
\tabskip\@centering&\llap{##}\tabskip\z@\cr
}
\def\endeqnarray{\@@eqncr\egroup
\global\advance\c at equation\m at ne$$\global\@ignoretrue }
\def\pre at coli{\hskip\@centering} \def\post at coli{}
\def\pre at colii{\hskip 2\eqnarraycolsep \hfil} \def\post at colii{\hfil}
\def\pre at coliii{\hskip 2\eqnarraycolsep} \def\post at coliii{\hfil}
\arraycolsep 2\p@ % Half the space between columns in array environment.
\tabcolsep 6\p@ % idem in tabular environment.
\def\arraystretch{1.5} % More vertical space in tables
\arrayrulewidth 0.4\p@ % \@Width of rules and space between adjacent
\doublerulesep 2\p@ % rules in any of these two environments.
\newdimen\rulepreskip \newdimen\rulepostskip
\rulepreskip=4\p@ \rulepostskip=6\p@
\tabbingsep \labelsep % Space used by the \' command. (See LaTeX{} manual.)
\skip\@mpfootins = 6\p@ \@plus 2\p@ % Space between last line of text and
% top of first footnote.
\fboxsep = 7\p@ % Space left between box and text by \fbox and \framebox.
\fboxrule = 0.4\p@ % \@Width of rules in box made by \fbox and \framebox.
\newcounter{section}
\newcounter{subsection}[section]
\newcounter{subsubsection}[subsection]
\newcounter{paragraph}[subsubsection]
\newcounter{subparagraph}[paragraph]
\if at seceqn
\@addtoreset{equation}{section}
\def\theequation{\arabic{section}.\arabic{equation}}
\else
\def\theequation{\arabic{equation}}
\fi
\def\thesection {\arabic{section}}
\def\thesubsection {\thesection.\arabic{subsection}}
\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
\@addtoreset{section}{part} % reset section numbers at beginning of part
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\RequirePackage{latexsym}
\def\qed{\relax\ifmmode\hskip2em \Box\else\unskip\nobreak\hskip1em $\Box$\fi}
\def\proof at headerfont{\upshape\bfseries}
\if at amsthm
\RequirePackage{amsthm}%
\def\th at plain{%
\thm at preskip\parskip
\thm at postskip\z@
\itshape % body font
}
\def\th at definition{%
\thm at preskip\parskip
\thm at postskip\z@
\normalfont % body font
}
\def\th at remark{%
\thm at headfont{\itshape}%
\normalfont % body font
\thm at preskip\parskip \divide\thm at preskip\tw@
\thm at postskip\z@
}
\else\let\theoremstyle\@gobble\fi
\newenvironment{pf}%
{\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}\noindent
{\bfseries\Elproofname}\enspace\ignorespaces}%
{\par\addvspace{\@bls \@plus 0.5\@bls \@minus 0.1\@bls}}
\def\Elproofname{PROOF.}
\@namedef{pf*}#1{\par\begingroup\def\Elproofname{#1}\pf\endgroup\ignorespaces}
\expandafter\let\csname endpf*\endcsname=\endpf
\theoremstyle{plain}
\if at secthm
\newtheorem{thm}{Theorem}[section]
\@addtoreset{thm}{section}
\else
\newtheorem{thm}{Theorem}
\fi
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{claim}[thm]{Claim}
\newtheorem{axiom}[thm]{Axiom}
\newtheorem{conj}[thm]{Conjecture}
\newtheorem{fact}[thm]{Fact}
\newtheorem{hypo}[thm]{Hypothesis}
\newtheorem{assum}[thm]{Assumption}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{crit}[thm]{Criterion}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{exmp}[thm]{Example}
\newtheorem{rem}[thm]{Remark}
\newtheorem{prob}[thm]{Problem}
\newtheorem{prin}[thm]{Principle}
\newtheorem{alg}{Algorithm}
\long\def\@makealgocaption#1#2{\vskip 2ex \small
\hbox to \hsize{\parbox[t]{\hsize}{{\bfseries #1.} #2}}}
\newcounter{algorithm}
\def\thealgorithm{\@arabic\c at algorithm}
\def\fps at algorithm{tbp}
\def\ftype at algorithm{4}
\def\ext at algorithm{lof}
\def\fnum at algorithm{Algorithm \thealgorithm}
\def\algorithm{\let\@makecaption\@makealgocaption\@float{algorithm}}
\let\endalgorithm\end at float
\newtheorem{note}{Note}
\newtheorem{summ}{Summary}
\newtheorem{case}{Case}
\def\@pnumwidth{2.55em}
\def\@tocrmarg{2.55em \@plus 5em}
\def\@dotsep{-2.5}
\setcounter{tocdepth}{2}
\newcommand\listoffigures{%
\section*{\listfigurename
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}}%
\@starttoc{lof}%
}
\newcommand*\l at figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
\section*{\listtablename
\@mkboth{%
\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
\@starttoc{lot}%
}
\let\l at table\l at figure
\def\tableofcontents{%
\begin{small}
\leftline {{\bfseries \contentsname\/}}
\setcounter{secnumdepth}{4}%
\setcounter{tocdepth}{2}%
{\@starttoc{toc}}%
\end{small}
}
\newcommand*\l at section{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\l at subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand*\l at subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand*\l at paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*\l at subparagraph{\@dottedtocline{5}{10em}{5em}}
\def\@dotsep{2000}
\def\thebibliography{%
\@startsection{section}{1}{\z@}{20\p@ \@plus 8\p@ \@minus 4pt}
{\@bls}{\normalsize\bfseries}*{\refname}%
\addcontentsline{toc}{section}{\refname}%
\@thebibliography}
\let\endthebibliography=\endlist
\def\@thebibliography#1{\@bibliosize
\list{\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}
\if at nameyear
\labelwidth\z@ \labelsep\z@ \leftmargin\parindent
\itemindent-\parindent
\else
\labelsep 3\p@ \itemindent\z@
\leftmargin\labelwidth \advance\leftmargin\labelsep
\fi
\itemsep\@bibitemsep
\usecounter{enumiv}\let\p at enumiv\@empty
\def\theenumiv{\arabic{enumiv}}}%
\tolerance\@M
\hyphenpenalty\@M
\hbadness5000 \sfcode`\.=1000\relax}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\if at nameyear
\def\@biblabel#1{}
\else
\def\@biblabel#1{[#1]\hskip \z@ \@plus 1filll}
\fi
\let\make at bb@error\relax
\def\@mkbberr{\def\bibitem{\ClassError{elsart}%
{Bibitem after note}%
{You are using a bibitem after a note in a subbibitems
environment;\MessageBreak
note should the last item in a subbibitems environment}}}
\def\@itemnote{\make at bb@error\item[]}
\def\mk at noitemnote{\ifx\@tempa\note \let\note\@noitemnote \fi}
\def\@noitemnote{\let\note\@itemnote}
\AtBeginDocument{%
\let\nopeek at bibitem\@bibitem
\let\nopeek at lbibitem\@lbibitem
\def\@bibitem#1{\let\note\@itemnote\nopeek at bibitem{#1}%
\futurelet\@tempa\mk at noitemnote}
\def\@lbibitem[#1]#2{\let\note\@itemnote\nopeek at lbibitem[#1]{#2}%
\futurelet\@tempa\mk at noitemnote}
}
\newif\if at natbibloaded\@natbibloadedfalse
\AtBeginDocument{\@ifpackageloaded{natbib}{\@natbibloadedtrue}{}}
\newenvironment{subbibitems}[1]{%
\if at natbibloaded\def\bib at ctr{NAT at ctr}\else\def\bib at ctr{enumiv}\fi
\if at filesw {\let \protect \noexpand \immediate \write \@auxout
{\string \nocollapse at cites}%
\global\let\nocollapse at cites\relax}\fi
\def\@itemslabel{#1}%
\stepcounter{\bib at ctr}%
\edef\main at bibnum{\the\value{\bib at ctr}}%
\setcounter{\bib at ctr}{0}%
\def\thebib at ctr{\main at bibnum\alph{\bib at ctr}}%
\if at natbibloaded
\def\bibitem{\@ifnextchar [{\@lbibitem }{\global \NAT at stdbsttrue
\stepcounter {\bib at ctr}\@lbibitem [\thebib at ctr]}}%
\else
\def\@bibitem##1{\stepcounter{\bib at ctr}\@lbibitem[\thebib at ctr]{##1}}%
\fi
\let\make at bb@error\@mkbberr
}{%
\if at filesw {%
\if at natbibloaded{%
\let\protect\noexpand
\immediate\write\@auxout {\string\bibcite{\@itemslabel}%
{{\main at bibnum a--\alph {\bib at ctr}}{}{{}}{{}}}}%
\immediate\write\@auxout {\string\bibcite{\@itemslabel :s}%
{{\main at bibnum}{}{{}}{{}}}}%
}\else{%
\let\protect\noexpand
\immediate\write\@auxout {\string\bibcite{\@itemslabel}%
{\main at bibnum a--\alph{\bib at ctr}}}%
\immediate\write\@auxout {\string\bibcite{\@itemslabel :s}%
{\main at bibnum}}%
}\fi
}\fi
\setcounter{\bib at ctr}{\main at bibnum}%
}
\let\nocollapse at citex\@citex
\newcount\@tempcntc
\def\collapse at citex[#1]#2{\if at filesw\immediate\write\@auxout{\string\citation{#2}}\fi
\@tempcnta\z@\@tempcntb\m at ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
{\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\@ifundefined
{b@\@citeb}{\@citeo\@tempcntb\m at ne\@citea\def\@citea{,}{\bfseries ?}\@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
\ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m at ne
\@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
\else
\advance\@tempcntb\@ne
\ifnum\@tempcntb=\@tempcntc
\else\advance\@tempcntb\m at ne\@citeo
\@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
\let\@citex\collapse at citex
\def\nocollapse at cites{%
\@ifpackageloaded{hyperref}{}{\global\let\@citex\nocollapse at citex}%
\global\let\nocollapse at cites\relax}
\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}%
\ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
{\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
\advance\@tempcnta\m at ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
\@namedef{cv*}{\section*{Curriculum Vitae}\cv}
\def\cv{\hangindent=7pc \hangafter=-12 \parskip\bigskipamount \small}
\def\footnote{\@ifnextchar[{\@xfootnote}{\refstepcounter
{\@mpfn}\protected at xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}
\def\footnotemark{\@ifnextchar[{\@xfootnotemark
}{\refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}
\def\footnoterule{\kern-3\p@
\hrule \@width 3pc % The \hrule has default \@height of 0.4pt.
\kern 2.6\p@}
\def\thempfootnote{\alph{mpfootnote}}
\def\mpfootnotemark{%
\@ifnextchar[{\@xmpfootnotemark}{\stepcounter{mpfootnote}%
\begingroup
\let\protect\noexpand
\xdef\@thefnmark{\thempfootnote}%
\endgroup
\@footnotemark}}
\def\@xmpfootnotemark[#1]{%
\begingroup
\c at mpfootnote #1\relax
\let\protect\noexpand
\xdef\@thefnmark{\thempfootnote}%
\endgroup
\@footnotemark}
\def\@mpmakefnmark{\,\hbox{$^{\mathrm{\@thefnmark}}$}}
\long\def\@mpmakefntext#1{\noindent
\hbox{$^{\mathrm{\@thefnmark}}$} #1}
\def\@iiiminipage#1#2[#3]#4{%
\leavevmode
\@pboxswfalse
\setlength\@tempdima{#4}%
\def\@mpargs{{#1}{#2}[#3]{#4}}%
\setbox\@tempboxa\vbox\bgroup
\color at begingroup
\hsize\@tempdima
\textwidth\hsize \columnwidth\hsize
\@parboxrestore
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c at mpfootnote\z@
\let\@footnotetext\@mpfootnotetext
\let\@makefntext\@mpmakefntext
\let\@makefnmark\@mpmakefnmark
\let\@listdepth\@mplistdepth \@mplistdepth\z@
\@minipagerestore\global\@minipagetrue %% \global added 24 May 89
\everypar{\global\@minipagefalse\everypar{}}}
\def\fn at presym{}
\long\def\@makefntext#1{\noindent\hbox to 1em
{$^{\fn at presym\mathrm{\@thefnmark}}$\hss}#1}
\def\@makefnmark{\,\hbox{$^{\fn at presym\mathrm{\@thefnmark}}$}\,}
\def\patched at end@dblfloat{%
\if at twocolumn
\par\vskip\z at skip %% \par\vskip\z@ added 15 Dec 87
\global\@minipagefalse
\outer at nobreak
\egroup %% end of vbox
\color at endbox
\ifnum\@floatpenalty <\z@
\@largefloatcheck
\@cons\@dbldeferlist\@currbox
\fi
\ifnum \@floatpenalty =-\@Mii \@Esphack\fi
\else
\end at float
\fi
}
\setcounter{topnumber}{5}
\def\topfraction{0.99}
\def\textfraction{0.05}
\def\floatpagefraction{0.9}
\setcounter{bottomnumber}{5}
\def\bottomfraction{0.99}
\setcounter{totalnumber}{10}
\def\dbltopfraction{0.99}
\def\dblfloatpagefraction{0.8}
\setcounter{dbltopnumber}{5}
\long\def\@maketablecaption#1#2{\@tablecaptionsize
\global \@minipagefalse
\hbox to \hsize{\parbox[t]{\hsize}{#1 \\ #2}}}
\long\def\@makefigurecaption#1#2{\@figurecaptionsize
\vskip \@overcaptionskip
\setbox\@tempboxa\hbox{#1. #2}
\ifdim \wd\@tempboxa >\hsize % IF longer than one line THEN
\unhbox\@tempboxa\par % set as justified paragraph
\else % ELSE
\global \@minipagefalse
\hbox to\hsize{\hfil\box\@tempboxa\hfil}% center single line.
\fi}
\def\@makecaption{\@makefigurecaption}
\def\conttablecaption{\par \begingroup \@parboxrestore \normalsize
\@makecaption{\fnum at table\,---\,continued}{}\par
\vskip-1pc \endgroup}
\def\contfigurecaption{\vskip-1pc \par \begingroup \@parboxrestore
\@captionsize
\@makecaption{\fnum at figure\,---\,continued}{}\par
\endgroup}
\newcounter{figure}
\def\thefigure{\@arabic\c at figure}
\def\fps at figure{tbp}
\def\ftype at figure{1}
\def\ext at figure{lof}
\def\fnum at figure{\figurename~\thefigure}
\def\figure{%
\let\@makecaption\@makefigurecaption
\let\contcaption\contfigurecaption \@float{figure}}
\let\endfigure\end at float
\@namedef{figure*}{%
\let\@makecaption\@makefigurecaption
\let\contcaption\contfigurecaption \@dblfloat{figure}}
\@namedef{endfigure*}{\end at dblfloat}
\newcounter{table}
\def\thetable{\@arabic\c at table}
\def\fps at table{tbp}
\def\ftype at table{2}
\def\ext at table{lot}
\def\fnum at table{\tablename~\thetable}
\let\old at floatboxreset\@floatboxreset
\def\table{%
\let\@makecaption\@maketablecaption
\def\@floatboxreset{%
\old at floatboxreset
\@tablesize
}%
\let\footnoterule\relax
\let\contcaption\conttablecaption \@float{table}}
\let\endtable\end at float
\@namedef{table*}{%
\let\@makecaption\@maketablecaption
\def\@floatboxreset{%
\old at floatboxreset
\@tablesize
}%
\let\footnoterule\relax
\let\contcaption\conttablecaption \@dblfloat{table}}
\@namedef{endtable*}{\end at dblfloat}
\newtoks\t at glob@notes % List of all notes
\newtoks\t at loc@notes % List of notes for one element
\newcount\note at cnt % Number of notes per element
\newtoks\corauth at text
\newtoks\email at text
\newtoks\url at text
\newcounter{corauth}
\newcounter{author} % Author counter
\newcount\n at author % Total number of authors
\def\n at author@{1} % idem, read from .aux file
\newcounter{collab} % Collaboration counter
\newcount\n at collab % Total number of collaborations
\def\n at collab@{} % idem, read from .aux file
\newcounter{address} % Address counter
\def\theHaddress{\arabic{address}}% for hyperref
\newdimen\sv at mathsurround % Dimen register to save \mathsurround
\newcount\sv at hyphenpenalty % Count register to save \hyphenpenalty
\newcount\prev at elem \prev at elem=0 % Variables to keep track of
\newcount\cur at elem \cur at elem=0 % types of elements that are processed
\chardef\e at title=1
\chardef\e at subtitle=1
\chardef\e at author=2
\chardef\e at collab=3
\chardef\e at address=4
\newif\if at newelem % Switch to new type of element?
\newif\if at firstauthor % First author or collaboration?
\newif\if at preface % If preface: omit history and abstract
\newif\if at hasabstract % If abstract / keywords: do not omit rules
\newif\if at haskeywords % If abstract / keywords: do not omit rules
\newbox\fm at box % Box for collected front matter
\newdimen\fm at size % Total height of \fm at box
\newbox\t at abstract % Box for abstract
\newbox\t at keyword % Box for keyword abstract
\let\report at elt\@gobble
\def\add at tok#1#2{\global#1\expandafter{\the#1#2}}
\def\add at xtok#1#2{\begingroup
\no at harm
\xdef\@act{\global\noexpand#1{\the#1#2}}\@act
\endgroup}
\def\beg at elem{\global\t at loc@notes={}\global\note at cnt\z@}
\def\@xnamedef#1{\expandafter\xdef\csname #1\endcsname}
\def\no at harm{%
\let\\=\relax \let\rm\relax
\let\ss=\relax \let\ae=\relax \let\oe=\relax
\let\AE=\relax \let\OE=\relax
\let\o=\relax \let\O=\relax
\let\i=\relax \let\j=\relax
\let\aa=\relax \let\AA=\relax
\let\l=\relax \let\L=\relax
\let\d=\relax \let\b=\relax \let\c=\relax
\let\bar=\relax
\def\protect{\noexpand\protect\noexpand}}
\def\proc at elem#1#2{\begingroup
\no at harm % make a few instructions harmless
\let\thanksref\@gobble % remove \thanksref from element
\let\corauthref\@gobble
\@xnamedef{@#1}{#2}% % and store as \@#1
\let\thanksref\add at thanksref
\let\corauthref\add at thanksref
\setbox\@tempboxa\hbox{#2}%
\endgroup
\prev at elem=\cur at elem % keep track of type of previous
\cur at elem=\csname e@#1\endcsname % and current element
}
\def\add at thanksref#1{\global\advance\note at cnt\@ne
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{\ref{#1}}}
\def\note at sep{,}
\def\thanks{\@ifnextchar[{\@tempswatrue
\thanks at optarg}{\@tempswafalse\thanks at optarg[]}}
\def\thanks at optarg[#1]#2{\refstepcounter{footnote}%
\if at tempswa\label{#1}\else\relax\fi
\add at tok\t at glob@notes{\footnotetext}%
\add at xtok\t at glob@notes{[\the\c at footnote]}%
\add at tok\t at glob@notes{{#2}}%
\ignorespaces}
\def\corauth{\@ifnextchar[{\@tempswatrue
\corauth at optarg}{\@tempswafalse\corauth at optarg[]}}
\def\corauth at optarg[#1]#2{\refstepcounter{corauth}%
\if at tempswa\label{#1}\else\relax\fi
\add at tok\corauth at text{\footnotetext}%
\add at xtok\corauth at text{[\the\c at corauth]}%
\add at tok\corauth at text{{#2}}\ignorespaces}
\newcommand\ead[1][email]{%
\add at eadcomma{#1}%
\expandafter\ifcase\csname has at ead@#1\endcsname
\expandafter\global\expandafter\chardef
\csname has at ead@#1\endcsname=1\relax\else
\expandafter\global\expandafter\chardef
\csname has at ead@#1\endcsname=2\relax\fi
\add at ead{#1}%
}
\def\add at ead#1#2{%
\expandafter\add at tok\csname #1 at text\endcsname{\texttt{#2}\ead at au}%
\expandafter\add at xtok\csname #1 at text\endcsname{{\@author}}%
\ignorespaces
}
\def\add at eadcomma#1{%
\expandafter\ifcase\csname has at ead@#1\endcsname\else
\expandafter\add at tok\csname #1 at text\endcsname{, }\fi
}
\let\@ead at au\@empty
\def\ead at newau{\ifx\@ead at au\@empty\else\ead at addau\@ead at au
\let\@ead at au\@empty\fi}
\let\ead at endau\ead at newau
\def\ead at addau#1{ (#1)}
\def\ead at au#1{\def\@ead at au{#1}}
\def\email at name{Email address}
\def\emails at name{Email addresses}
\chardef\has at ead@email=0
\def\url at name{URL}
\def\urls at name{URLs}
\chardef\has at ead@url=0
\let\real at refstepcounter\refstepcounter
\def\footnote{\@ifnextchar[{\@xfootnote}{\real at refstepcounter
{\@mpfn}\protected at xdef\@thefnmark{\thempfn}\@footnotemark\@footnotetext}}
\def\footnotemark{\@ifnextchar[{\@xfootnotemark
}{\real at refstepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}}
\def\footnoterule{\kern-3\p@
\hrule \@width 3pc % The \hrule has default \@height of 0.4pt.
\kern 2.6\p@}
\let\report at elt\@gobble
\newenvironment{NoHyper}{}{}
\def\frontmatter{%
\NoHyper
\let\@corresp at note\relax
\global\t at glob@notes={}\global\c at author\z@
\global\c at collab\z@ \global\c at address\z@
\sv at mathsurround\mathsurround \m at th
\global\n at author=0\n at author@\relax
\global\n at collab=0\n at collab@\relax
\global\advance\n at author\m at ne % In comparisons later on we need
\global\advance\n at collab\m at ne % n at author-1 and n at collab-1
\global\@firstauthortrue % set to false by first \author or \collab
\global\@hasabstractfalse % Default: no abstract or keywords
\global\@haskeywordsfalse % Default: no abstract or keywords
\global\@prefacefalse % not preface
\ifnum\c at firstpage=\c at lastpage
\gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}
\else
\gdef\@pagerange{\@pagenumprefix
\ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%
\fi
\parskip 4\p@
\open at fm \ignorespaces}
\def\preface{\@prefacetrue}
\def\endfrontmatter{%
\ifx\@runauthor\relax
\global\let\@runauthor\@runningauthor
\fi
\global\n at author=\c at author
\global\n at collab=\c at collab \@writecount
\global\@topnum\z@
\thispagestyle{copyright}% % Format rest of front matter:
\if at preface \else % IF not preface THEN
\vskip \@overhistoryskip
\history at fmt % print history (received, ...)
\newcount\c at sv@footnote
\global\c at sv@footnote=\c at footnote % save current footnote number
\if at hasabstract % IF abstract/ keywords THEN
\vskip \@preabstractskip % Space above rule
\hrule height 0.4\p@ % Rule above abstract/keywords
\vskip 8\p@
\unvbox\t at abstract % print abstract, if any
\fi
\if at haskeywords % IF keywords THEN
\vskip \@overkeywordskip
\unvbox\t at keyword % Keyword abstract, if any
\fi % FI
\vskip 10\p@
\hrule height 0.4\p@ % rule below abstract/keywords
\dedicated at fmt % print dedication
\vskip \@belowfmskip % Vertical space below frontmatter
\fi % FI
\close at fm % Close front matter material.
\output at glob@notes % Put notes at bottom of 1st page
\global\c at footnote=\c at sv@footnote % restore footnote number
\global\@prefacefalse
\global\leftskip\z@ % Restore the normal values of
\global\@rightskip\z@ % \leftskip,
\global\rightskip\@rightskip % \rightskip and
\global\mathsurround\sv at mathsurround % \mathsurround.
\let\title\relax \let\author\relax
\let\collab\relax \let\address\relax
\let\frontmatter\relax \let\endfrontmatter\relax
\let\@maketitle\relax \let\@@maketitle\relax
\normal at text
}
\let\maketitle\relax
\newdimen\t at xtheight
\t at xtheight\textheight \advance\t at xtheight-\splittopskip
\def\open at fm{\global\setbox\fm at box=\vbox\bgroup
\hsize=\@frontmatterwidth % Front matter is page-wide by default
\centering % and centered
\sv at hyphenpenalty\hyphenpenalty % (save \hyphenpenalty)
\hyphenpenalty\@M} % and not hyphenated
\def\close at fm{\egroup % close \vbox (\fm at box)
\fm at size=\dp\fm at box \advance\fm at size by \ht\fm at box
\@whiledim\fm at size>\t at xtheight \do{%
\global\setbox\@tempboxa=\vsplit\fm at box to \t at xtheight
\unvbox\@tempboxa \newpage
\fm at size=\dp\fm at box \advance\fm at size by \ht\fm at box}
\if at TwoColumn
\emergencystretch=1pc \twocolumn[\unvbox\fm at box]
\else
\unvbox\fm at box
\fi}
\def\output at glob@notes{\bgroup
\the\t at glob@notes
\egroup}
\def\justify at off{\let\\=\@normalcr
\leftskip\z@ \@rightskip\@flushglue \rightskip\@rightskip}
\def\justify at on{\let\\=\@normalcr
\leftskip\z@ \@rightskip\z@ \rightskip\@rightskip}
\def\normal at text{\global\let\\=\@normalcr
\global\leftskip\z@ \global\@rightskip\z@ \global\rightskip\@rightskip
\global\parfillskip\@flushglue}
\def\@writecount{\write\@mainaux{\string\global
\string\@namedef{n at author@}{\the\n at author}}%
\write\@mainaux{\string\global\string
\@namedef{n at collab@}{\the\n at collab}}}
\def\title#1{%
\beg at elem
\title at note@fmt % formatting instruction
\add at tok\t at glob@notes % for \thanks commands
{\title at note@fmt}%
\proc at elem{title}{#1}%
\def\title at notes{\the\t at loc@notes}% % store the notes of the title,
\title at fmt{\@title}{\title at notes}% % print the title
\ignorespaces}
\def\subtitle#1{%
\beg at elem
\proc at elem{subtitle}{#1}%
\def\title at notes{\the\t at loc@notes}% % store the notes of the title,
\subtitle at fmt{\@subtitle}{\title at notes}% print the title
\ignorespaces}
\newdimen \@logoheight \@logoheight 5pc
\def\@Lhook{\vrule \@height \@logoheight \@width \z@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height 0.2\p@ \@width 10pt}
\def\@Rhook{\vrule \@height 0.2\p@ \@width 10\p@ \vrule \@height 10\p@ \@width 0.2\p@ \vrule \@height \@logoheight \@width \z@}
\def\title at fmt#1#2{%
\@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%
\vspace*{12pt} % Vertical space above title
{\@titlesize #1\,\hbox{$^{#2}$}\par}%
\vskip\@undertitleskip
\vskip24\p@ % Vertical space below title
}
\def\subtitle at fmt#1#2{% % No vertical space above sub-title
{\@titlesize #1\,\hbox{$^{#2}$}}\par}
\def\title at note@fmt{\def\thefootnote{\fnstar{footnote}}}
\def\author{\@ifnextchar[{\author at optarg}{\author at optarg[]}}
\def\author at optarg[#1]#2{\stepcounter{author}%
\beg at elem
\add at tok\email at text{\ead at newau}%
\add at tok\url at text{\ead at newau}%
\@for\@tempa:=#1\do{\expandafter\add at thanksref\expandafter{\@tempa}}%
\report at elt{author}\proc at elem{author}{#2}%
\ifnum0\n at collab@=\z@ \runningauthor at fmt \fi
\author at fmt{\the\c at author}{\the\t at loc@notes}{\@author}%
}
\def\runningauthor at fmt{%
\begingroup\no at harm
\if at firstauthor
\ifnum0\n at author@ > 2
\global\edef\@runningauthor{\@author\ et al.}%
\else
\global\let\@runningauthor\@author%
\fi
\else % \c at author > 1
\ifnum0\n at author@ = 2
\global\edef\@runningauthor{\@runningauthor\ \& \noexpand\@author}%
\fi
\fi
\endgroup
}
\def\author at fmt#1#2#3{\@newelemtrue
\if at firstauthor
\first at author \global\@firstauthorfalse \fi
\ifnum\prev at elem=\e at author \global\@newelemfalse \fi
\if at newelem \author at fmt@init \fi
\edef\@tempb{#2}\ifx\@tempb\@empty
\hbox{{\author at font #3}}\else
\hbox{{\author at font #3}\,$^{\mathrm{#2}}$}%
\fi}
\def\first at author{\author at note@fmt
\corauth at mark@fmt
\add at tok\t at glob@notes
{\output at corauth@text
\output at ead@text{email}%
\output at ead@text{url}%
\author at note@fmt}%
}%
\def\author at fmt@init{%
\par
\vskip 8\p@ \@plus 4\p@ \@minus 2\p@
\@authorsize
\leavevmode} % Vertical space above author list
\def\and{\unskip~and~}
\def\collab{\@ifstar{\collab at arg}{\collab at arg}}
\let\collaboration=\collab
\def\collab at arg#1{\stepcounter{collab}%
\if at firstauthor \first at author \global\@firstauthorfalse \fi
\gdef\@runningauthor{#1}%
\beg at elem
\proc at elem{collab}{#1}%
\collab at fmt{\the\c at collab}{\the\t at loc@notes}{\@collab}%
\ignorespaces}
\def\collab at fmt#1#2#3{\@newelemtrue
\ifnum\prev at elem=\e at collab \global\@newelemfalse \fi
\if at newelem \collab at fmt@init \fi
\par % Start new paragraph
\edef\@tempb{#2}\ifx\@tempb\@empty
{\@authorsize #3}\else
{\@authorsize #3\,$^{\mathrm{#2}}$}}
\def\collab at fmt@init{\vskip 1em} % Vertical space above list
\def\author at note@fmt{\setcounter{footnote}{0}%
\def\thefootnote{\xarabic{footnote}}}
\let\collab at note@fmt=\author at note@fmt
\def\corauth at mark@fmt{\def\thecorauth{\astsymbol{corauth}}}
\def\output at corauth@text{\def\thefootnote{\astsymbol{footnote}}%
\the\corauth at text}
\def\output at ead@text#1{%
\expandafter\add at tok\csname #1 at text\endcsname{\ead at endau}%
\expandafter\ifcase\csname has at ead@#1\endcsname\else
{\let\thefootnote\relax
\footnotetext[0]{\raggedright\textit{%
\expandafter\ifcase\csname has at ead@#1\endcsname\or
\csname #1 at name\endcsname\else
\csname #1s at name\endcsname\fi
: }%
\expandafter\the\csname #1 at text\endcsname.}}%
\fi}
\def\xarabic#1{%
\expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
*\else\arabic{#1} \fi}
\def\xalph#1{%
\expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
*\else\alph{#1} \fi}
\def\xfnsymbol#1{%
\expandafter\expandafter\expandafter\ifnum\expandafter\the\@nameuse{c@#1}<0
*\else\fnsymbol{#1} \fi}
\def\address{\@ifstar{\address at star}%
{\@ifnextchar[{\address at optarg}{\address at noptarg}}}
\def\address at optarg[#1]#2{\real at refstepcounter{address}%
\beg at elem
\report at elt{address}\proc at elem{address}{#2}%
\address at fmt{\c at address}{\the\t at loc@notes}{\@address}{#1}%
\if at Elproofing\else\label{#1}\fi
\ignorespaces}
\def\address at noptarg#1{\real at refstepcounter{address}%
\beg at elem
\proc at elem{address}{#1}%
\address at fmt{\z@}{\the\t at loc@notes}{\@address}{\theaddress}%
\ignorespaces}
\def\address at star#1{%
\beg at elem
\proc at elem{address}{#1}%
\address at fmt{\m at ne}{\the\t at loc@notes}{\@address}{*}%
\ignorespaces}
\def\theaddress{\alph{address}}
\def\address at fmt#1#2#3#4{\@newelemtrue
\if at Elproofing\def\@eltag{#4}\else\def\@eltag{\theaddress}\fi
\ifnum\prev at elem=\e at address \@newelemfalse \fi
\if at newelem \address at fmt@init \fi
\noindent \bgroup \@addressstyle
\ifnum#1=\z@
#3\,$^{\mathrm{#2}}$\space%
\else
\ifnum#1=\m at ne
$^{\phantom{\mathrm{\@eltag}}}$\space #3\,$^{\mathrm{#2}}$%
\else
$^{\mathrm{\@eltag}}\space$#3\,$^{\mathrm{#2}}$%
\fi
\fi
\par \egroup}
\def\address at fmt@init{%
\par % Start new paragraph
\vskip 6\p@ \@plus 3\p@ \@minus 1.5pt}
\def\abstract{\@ifnextchar[{\@abstract}{\@abstract[]}}
\def\@abstract[#1]{%
\global\@hasabstracttrue
\hyphenpenalty\sv at hyphenpenalty % restore \hyphenpenalty
\global\setbox\t at abstract=\vbox\bgroup
\leftskip\z@
\@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue
\small
\parindent 1em % \parindent in abstract
\noindent {\bfseries\abstractname} % caption `Abstract' (bold)
\vskip 0.5\@bls % half a line of space below
\noindent\ignorespaces
}
\def\endabstract{\par \egroup}
\def\keyword{%
\global\@haskeywordstrue % Implies rules are to be printed
\hyphenpenalty\sv at hyphenpenalty % restore \hyphenpenalty
\def\sep{\unskip, } % separator for multiple keywords
\def\MSC{\par\leavevmode\hbox {\it 1991 MSC:\ }}%
\def\PACS{\par\leavevmode\hbox {\it PACS:\ }}%
\global\setbox\t at keyword=\vbox\bgroup
\@keywordsize
\parskip\z@
\vskip 10\p@ \@plus 2\p@ \@minus 2\p@ % One line of space above keywords.
\noindent\@keywordheading
\justify at off % Keywords are not justified.
\ignorespaces}
\def\endkeyword{\par \egroup}
\def\runtitle#1{\gdef\@runtitle{#1}}
\def\runauthor#1{\gdef\@runauthor{#1}}
\let\@runauthor\relax
\let\@runtitle\relax
\let\@runningauthor\relax
\def\RUNDATE{}
\def\RUNJNL{}
\def\RUNART{}
\def\journal#1{\gdef\@journal{#1}}
\def\volume#1{\gdef\@volume{#1}} \def\@volume{0}
\def\issue#1{\gdef\@issue{#1}} \def\@issue{0}
\newcount\@pubyear
\@pubyear=\number\year
\def\company#1{\def\@company{#1}}
\def\@copyrightyear{\number\year}
\def\@shortenyear#1#2#3#4\\{\global\def\@shortyear{#3#4}}
\expandafter\@shortenyear\the\@pubyear\\
\def\pubyear#1{\global\@pubyear#1
\expandafter\@shortenyear\the\@pubyear\\%
\ignorespaces}
\def\copyear#1{%
\gdef\@copyrightyear{#1}%
\ignorespaces}
\let\copyrightyear\copyear
\newcounter{firstpage}
\newcounter{lastpage}
\let\ESpagenumber\arabic
\def\firstpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else
\setcounter{firstpage}{#1}%
\global\c at page=#1 \ignorespaces\fi}
\setcounter{firstpage}{1}
\let\realpageref\pageref
\setcounter{lastpage}{0}
\def\lastpage#1{\def\@tempa{#1}\ifx\@tempa\@empty\else
\setcounter{lastpage}{#1}\ignorespaces\fi
}
\AtEndDocument{%
\clearpage
\addtocounter{page}{-1}%
\immediate\write\@auxout{%
\string\global\string\c at lastpage=\the\c at page}%
\addtocounter{page}{1}%
}
\def\date#1{\gdef\@date{#1}} \def\@date{\today}
\def\aid#1{}
\def\ssdi#1#2{}
\def\received#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@received{#1}\fi}
\def\@received{\relax}
\def\revised#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@revised{#1}\fi}
\def\@revised{\relax}
\def\accepted#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@accepted{#1}\fi}
\def\@accepted{\relax}
\def\communicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@communicated{#1}\fi}
\def\@communicated{\relax}
\def\dedicated#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@dedicated{#1}\fi}
\def\@dedicated{\relax}
\def\presented#1{\def\@tempa{#1}\ifx\@tempa\@empty\else\gdef\@presented{#1}\fi}
\def\@presented{\relax}
\def\articletype#1{\gdef\@articletype{#1}}
\@ifundefined{@articletype}{\def\@articletype{}}{}
\def\received at prefix{Received~}
\def\revised at prefix{; revised~}
\def\accepted at prefix{; accepted~}
\def\communicated at prefix{; communicated~by~}
\def\history at prefix{}
\def\received at postfix{}
\def\revised at postfix{}
\def\accepted at postfix{}
\def\communicated at postfix{}
\def\history at postfix{}
\def\empty at data{\relax}
\def\history at fmt{%
\bgroup
\@historysize
\vskip 6\p@ \@plus 2\p@ \@minus 1\p@ % Vertical space above history
\ifx\@received\empty at data \else % If there is no \received,
% do not print anything
\leavevmode
\history at prefix
\received at prefix\@received \received at postfix%
\ifx\@revised\empty at data \else
\revised at prefix\@revised \revised at postfix%
\fi
\ifx\@accepted\empty at data \else
\accepted at prefix\@accepted \accepted at postfix%
\fi
\ifx\@communicated\empty at data \else
\communicated at prefix\@communicated \communicated at postfix%
\fi
\history at postfix
\fi
\par \egroup}
\def\dedicated at fmt{%
\ifx\@dedicated\empty at data \else
\vskip 4\p@ \@plus 3\p@
\normalsize\it\centering \@dedicated
\fi}
\def\@alph#1{\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 \ensuremath{\ell}\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 y\or z\or aa\or ab\or ac\or ad\or ae\or af\or ag\or
ah\or ai\or aj\or ak\or a\ensuremath{\ell}\or am\or an\or ao\or ap\or
aq\or ar\or as\or at\or au\or av\or aw\or ay\or az\or ba\or bb\or bc\or
bd\or be\or bf\or bg\or bh\or bi\or bj\or bk\or b\ensuremath{\ell}\or
bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or bw\or bx\or by\or
bz\or ca\or cb\or cc\or cd\or ce\or cf\or cg\or ch\or ci\or cj\or ck\or
c\ensuremath{\ell}\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or
cu\or cw\or cx\or cy\or cz\or da\or db\or dc\or dd\or de\or df\or dg\or
dh\or di\or dj\or dk\or d\ensuremath{\ell}\or dm\or dn\or do\or dp\or
dq\or dr\or ds\or dt\or du\or dw\or dx\or dy\or dz\or ea\or eb\or ec\or
ed\or ee\or ef\or eg\or eh\or ei\or ej\or ek\or e\ensuremath{\ell}\or
em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or ew\or ex\or ey\or
ez\else\@ctrerr\fi}
\def\fnstar#1{\@fnstar{\@nameuse{c@#1}}}
\def\@fnstar#1{\ifcase#1\or
\hbox{$\star$}\or
\hbox{$\star\star$}\or
\hbox{$\star\star\star$}\or
\hbox{$\star\star\star\star$}\or
\hbox{$\star\star\star\star\star$}\or
\hbox{$\star\star\star\star\star\star$}
\else
\@ctrerr
\fi
\relax}
\def\astsymbol#1{\@astsymbol{\@nameuse{c@#1}}}
\def\@astsymbol#1{\ifcase#1\or
\hbox{$\ast$}\or
\hbox{$\ast\ast$}\or
\hbox{$\ast\ast\ast$}\or
\hbox{$\ast\ast\ast\ast$}\or
\hbox{$\ast\ast\ast\ast\ast$}\or
\hbox{$\ast\ast\ast\ast\ast\ast$}%
\else
\@ctrerr
\fi
\relax}
\mark{{}{}} % Initializes TeX's marks
\def\ps at plain{\let\@mkboth\@gobbletwo
\def\@oddhead{}%
\def\@evenhead{}%
\def\@oddfoot{\hfil {\rmfamily\thepage} \hfil}%
\let\@evenfoot\@oddfoot}
\def\@copyright{\@issn/\@shortyear/\$\@price\ $\copyright$\ \the\@pubyear\
\@company{} All rights reserved}
\def\@jou at vol@pag{\@journal\ \@volume\ (\the\@pubyear)\ \@pagerange}
\def\sectionmark#1{}
\def\subsectionmark#1{}
\let\@j at v@p\@jou at vol@pag % long journal title appears in reprint line
\let\@@j at v@p\@jou at vol@pag % long journal title appears in running headline
\def\sectionmark#1{}
\def\subsectionmark#1{}
\def\ps at copyright{\let\@mkboth\@gobbletwo
\def\@oddhead{}%
\let\@evenhead\@oddhead
\def\@oddfoot{\small\slshape
\def\@tempa{0}
\ifx\@volume\@tempa
Preprint submitted to \@journal\hfil\@date\/%
\else
Article published in \@jou at vol@pag\hfil\hbox{}\fi}%
\let\@evenfoot\@oddfoot
}
\let\ps at noissn\ps at empty
\let\ps at headings\ps at plain
\def\today{\number\day\space\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\year}
\def\nuc#1#2{\relax\ifmmode{}^{#1}{\protect\text{#2}}\else${}^{#1}$#2\fi}
\def\itnuc#1#2{\setbox\@tempboxa=\hbox{\scriptsize\it #1}
\def\@tempa{{}^{\box\@tempboxa}\!\protect\text{\it #2}}\relax
\ifmmode \@tempa \else $\@tempa$\fi}
\let\old at vec\vec % save old definition of \vec
\def\pol#1{\old at vec{#1}}
\def\half{{\textstyle\frac{1}{2}}}
\def\threehalf{{\textstyle\frac{3}{2}}}
\def\quart{{\textstyle\frac{1}{4}}}
\if at symbold\else\def\d{\,\mathrm{d}}\fi
\def\e{\mathop{\mathrm{e}}\nolimits}
\def\int{\intop}
\def\oint{\ointop}
\newbox\slashbox \setbox\slashbox=\hbox{$/$}
\newbox\Slashbox \setbox\Slashbox=\hbox{\large$/$}
\def\pFMslash#1{\setbox\@tempboxa=\hbox{$#1$}
\@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa
\copy\slashbox \kern-\@tempdima \box\@tempboxa}
\def\pFMSlash#1{\setbox\@tempboxa=\hbox{$#1$}
\@tempdima=0.5\wd\Slashbox \advance\@tempdima 0.5\wd\@tempboxa
\copy\Slashbox \kern-\@tempdima \box\@tempboxa}
\def\FMslash{\protect\pFMslash}
\def\FMSlash{\protect\pFMSlash}
\def\Cset{\mathbb{C}}
\def\Hset{\mathbb{H}}
\def\Nset{\mathbb{N}}
\def\Qset{\mathbb{Q}}
\def\Rset{\mathbb{R}}
\def\Zset{\mathbb{Z}}
\if at TwoColumn
\adjdemerits=100
\linepenalty=100
\doublehyphendemerits=5000 % experimental (1993-12-14)
\emergencystretch=1.6pc
\spaceskip=0.3em \@plus 0.17em \@minus 0.12em
\fi
\@frontmatterwidth\textwidth
\ps at headings % 'headings' page style
\pagenumbering{arabic} % Arabic page numbers
\def\thepage{\@pagenumprefix\ESpagenumber{page}} % preceded by \@pagenumprefix
\let\baselinestretch\@blstr
\InputIfFileExists{\@shortjid.cfg}{}{}
\endinput
%%
%% End of file `elsart.cls'.
--- NEW FILE elsart1p.cls ---
%%
%% This is file `elsart1p.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% esl.dtx (with options: `package,elsauth,wrapper,SL1P')
%%
%% elsart1p.cls Copyright (C) 1994-2006 Elsevier Science
%%
%% 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
%% 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.
%%
\def\readRCS$#1: #2 #3 #4 #5${%
\def\RCSfile{#2}%
\def\RCSversion{#3}%
\def\RCSdate{#4}%
}
\def\esp at fileversion{2.19}
\def\esp at filedate{2006/05/01}
\def\@journal{Elsevier} \def\@company{Elsevier}
\def\@issn{000-0000}
\def\@shortjid{elsart1p}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\@shortjid}[\esp at filedate, \esp at fileversion: \@journal]
\let\@save at journal\@journal
\let\@save at company\@company
\let\@save at shortjid\@shortjid
\DeclareOption{narrowdisplay}{}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{elsart}}
\ProcessOptions\relax
\LoadClass[onecolumn]{elsart}
\let\@journal\@save at journal
\let\@company\@save at company
\let\@shortjid\@save at shortjid
\def\@xiiipt{12}
\def\@titlesize{\Large}
\def\@bibitemsep{\z@ \@plus 0.5\p@ \@minus 0.5\p@}
\def\captionwidth{.8\linewidth}
\def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}
\def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}
\def\normalsize{\@setfontsize\normalsize\@xpt{12}%
\abovedisplayskip 5.75\p@ \@plus 2\p@ \@minus 2\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 2\p@%
\belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@
\let\@listi\@listI}
\def\small{\@setfontsize\small\@viiipt{10}%
\abovedisplayskip 7\p@ \@plus 2\p@ \@minus 4\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 1\p@%
\belowdisplayshortskip 3\p@ \@plus 1\p@ \@minus 2\p@
\def\@listi{\topsep 0.5\@bls \parsep\z@ \itemsep\parsep}}
\let\footnotesize=\small
\let\@xviiipt\@xviipt
\def\scriptsize{\@setfontsize\scriptsize\@viipt{8}}
\def\tiny{\@setfontsize\tiny\@vipt{7}}
\def\large{\@setfontsize\large\@xiiipt{14}}
\def\Large{\@setfontsize\Large\@xviipt{20}}
\def\LARGE{\@setfontsize\LARGE\@xviipt{19}}
\def\huge{\@setfontsize\huge\@xxpt{22}}
\def\Huge{\@setfontsize\Huge\@xxvpt{27}}
\normalsize % Choose the normalsize font.
\if at twoside
\oddsidemargin \z@
\evensidemargin \z@
\marginparwidth 10\p@
\else
\oddsidemargin \z@
\evensidemargin \z@
\marginparwidth 2pc
\fi
\marginparsep 20\p@ % Horizontal space between outer margin and
% marginal note
\topmargin \z@ % Nominal distance from top of page to top of
% box containing running head.
\headheight 10\p@ %
\headsep 11\p@ %
\footskip 23\p@
\bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line
\medskipamount=0.5\bigskipamount % 1/2 line
\smallskipamount=0.25\bigskipamount % 1/4 line
\textheight 46\baselineskip
\advance\textheight\topskip
\textwidth 32pc
% For two-column mode:
\columnsep 2pc % Space between columns
\columnseprule \z@ % \@Width of rule between columns.
\footnotesep 6.65\p@
\skip\footins 12\p@ \@plus 8\p@ % Space between last line of text and
% top of first footnote.
\floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved
% to top or bottom of text page.
\textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats
% at top or bottom of page.
\intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and
% text.
\dblfloatsep 8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column
% figures in two-column mode.
\dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column
% floats.
\@fptop \z@ \@plus 1fil % Stretch at top of float page/column. (Must be
% \z@ \@plus ...)
\@fpsep 8\p@ \@plus 2fil % Space between floats on float page/column.
\@fpbot \z@ \@plus 1fil % Stretch at bottom of float page/column. (Must be
% \z@ \@plus ... )
\@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)
\@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.
\@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be
% \z@ \@plus ... )
\marginparpush 5\p@ % Minimum vertical separation between two marginal
% notes.
\parskip \z@
\parindent 1em
\eqntopsep 8\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below
\eqnarraycolsep 1\p@ % in an \eqnarray.
\def\part{\@startsection{part}{1}{\z@}{2\@bls \@plus
0.4\@bls}{\@bls}{\normalsize}}
\def\partmark#1{}
\if at ussrhead
\def\section{\@startsection{section}{1}{\parindent}{\@bls
\@plus .3\@bls \@minus .1\@bls}{-0.00001pt}{\normalsize\bfseries\boldmath}{\relax}}
\else
\def\section{\@startsection{section}{1}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries
\boldmath}}
\fi
\def\subsection{\@startsection{subsection}{2}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls
\@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}
\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\subparagraph{\@startsection{subparagraph}{5}{1em}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}\def\@tempa{#8}%
\ifx\@tempa\@empty
\edef\@svsec{\csname lb at empty@#1\endcsname}%
\else
\edef\@svsec{\csname lb@#1\endcsname}\fi\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup #6\relax
\noindent \hskip #3\relax{\@secnumfont{#2}\@svsec}%
{\head at style\head at format{#2}{#8}\par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}%
\else
\def\@svsechd{#6\hskip #3\relax {\@secnumfont{#2}\@svsec }%
{\head at style\head at format{#2}{#8}}\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}}%
\fi
\@xsect{#5}}
\def\@ssect#1#2#3#4#5#6{%
\@tempskipa #4\relax
\ifdim \@tempskipa>\z@
\begingroup
#5{%
\@hangfrom{\hskip #2}%
\interlinepenalty \@M \head at format{#1}{#6}\@@par}%
\endgroup
\else
\def\@svsechd{#5{\hskip #2\relax \head at format{#1}{#6}}}%
\fi
\@xsect{#4}}
\def\@startsection#1#2#3#4#5#6{%
\if at noskipsec \leavevmode \fi
\par
\@tempskipa #4\relax
\@afterindenttrue
\ifdim \@tempskipa <\z@
\@tempskipa -\@tempskipa \@afterindentfalse
\fi
\if at nobreak
\everypar{}%
\else
\addpenalty\@secpenalty\addvspace\@tempskipa
\fi
\@ifstar
{\@ssect{#2}{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\@maxlistdepth=2
\def\labelitemi{--}
\def\labelitemii{$\cdot$}
\def\labelenumi{(\theenumi)} \def\theenumi{\roman{enumi}}
\def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}}
\tabcolsep 1\p@ % idem in tabular environment.
\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
\or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi
\edef\@preamble{\@preamble
\ifcase \@chnum
\hfil$\relax\displaystyle\@sharp$\hfil \or
$\relax\displaystyle\@sharp$\hfil \or
\hfil$\relax\displaystyle\@sharp$\fi}}
\newdimen\Arrayrulewidth \Arrayrulewidth=1.0\p@
\def\Hline{\noalign{\ifnum0=`}\fi\hrule \@height \Arrayrulewidth \futurelet
\@tempa\@xhline}
\newdimen\crulepostskip \crulepostskip -7\p@
\def\ccline#1{%
\noalign{\vskip\rulepreskip}%
\do at ccline(#1,1-0)\cr
\noalign{\vskip\crulepostskip}}
\def\do at ccline(#1-#2,#3){%
\ifnum#1>#2\else\@cline[#1-#2]\do at ccline(#3,1-0)\fi
\ignorespaces}
\newdimen\@Ldec \newdimen\@Rdec
\def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi}
\def\setdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Ldec\wd0\global\@Rdec\wd1
\egroup}
\setdec 000.000 % default 3 digits on each side
\newdimen\@Lpmdec \newdimen\@Rpmdec
\def\pmdec #1.#2 {\hbox to\@Lpmdec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rpmdec{\hfill}\else\hbox to\@Rpmdec{.#2\hss}\fi}
\def\setpmdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Lpmdec\wd0\global\@Rpmdec\wd1
\egroup}
\setpmdec 0.0 % default 1 digit on each side
\def\add at thanksref#1{%
\global\advance\note at cnt\@ne
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{*}%
\else
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{%
\if at Elproofing#1\else\ref{#1}\fi
}%
\fi}
\def\thanks at optarg[#1]#2{%
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\@tempcnta=\c at footnote \c at footnote=-1 \label{#1}\c at footnote=\@tempcnta
\gdef\@corresp at note{\footnotetext[-1]{#2}}%
\else
\add at tok\t at glob@notes{\footnotetext}%
\refstepcounter{footnote}%
\if at Elproofing\else\if at tempswa\label{#1}\else\relax\fi\fi
\add at xtok\t at glob@notes{[\the\c at footnote]}%
\add at tok\t at glob@notes{{#2}}%
\fi
\ignorespaces}
\def\frontmatter{%
\NoHyper
\let\@corresp at note\relax
\global\t at glob@notes={}\global\c at author\z@
\global\c at collab\z@ \global\c at address\z@
\sv at mathsurround\mathsurround \m at th
\global\n at author=0\n at author@\relax
\global\n at collab=0\n at collab@\relax
\global\advance\n at author\m at ne % In comparisons later on we need
\global\advance\n at collab\m at ne % n at author-1 and n at collab-1
\global\@firstauthortrue % set to false by first \author or \collab
\global\@hasabstractfalse % Default: no abstract or keywords
\global\@haskeywordsfalse % Default: no abstract or keywords
\global\@prefacefalse % not preface
\ifnum\c at firstpage=\c at lastpage
\gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}
\else
\gdef\@pagerange{\@pagenumprefix
\ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%
\fi
\@ifundefined{RIfM@}{}{\global\let\vec\@bfvec}%
\open at fm \ignorespaces}
\def\title at fmt#1#2{%
\@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%
\vspace*{\@overtitleskip} % Vertical space above article type,
\@articletypesize % Size for article type
\leavevmode\vphantom{Aye!}
\@articletype
\vskip12\p@
{\@titlesize #1\,\hbox{$^{#2}$}\par}%
\vskip\@undertitleskip
}
\def\address at fmt@init{%
\par % Start new paragraph
\vskip \@overaddressskip} % Vertical space before addresses
\def\@abstract[#1]{%
\global\@hasabstracttrue
\hyphenpenalty\sv at hyphenpenalty % restore \hyphenpenalty
\global\setbox\t at abstract=\vbox\bgroup
\leftskip\z@
\@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue
\@abstractsize % Text in 9/11
\parindent 1em % \parindent in abstract
\noindent {\bfseries\abstractname} % caption `Abstract' (bold)
\vskip 0.5\@bls % half a line of space below
\noindent\ignorespaces
}
\def\@bfvec#1{\boldsymbol{#1}}
\def\@pmbfvec#1{\pmb{#1}}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\if at TwoColumn
\adjdemerits=100
\linepenalty=100
\doublehyphendemerits=5000 % experimental (1993-12-14)
\emergencystretch=1.6pc
\spaceskip=0.3em \@plus 0.17em \@minus 0.12em
\fi
\binoppenalty=300
\relpenalty=100
\clubpenalty=5000 % 'Club line' at bottom of page.
\widowpenalty=2000 % 'Widow line' at top of page.
\displaywidowpenalty=1000 % Math display widow line.
\predisplaypenalty=150 % Breaking before a math display.
\postdisplaypenalty=50 % Breaking after a math display.
\hfuzz=1\p@
\hbadness=3000
\@frontmatterwidth\textwidth
\endinput
%%
%% End of file `elsart1p.cls'.
--- NEW FILE elsart3p.cls ---
%%
%% This is file `elsart3p.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% esl.dtx (with options: `package,elsauth,wrapper,SL3P')
%%
%% elsart3p.cls Copyright (C) 1994-2006 Elsevier Science
%%
%% 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
%% 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.
%%
\def\readRCS$#1: #2 #3 #4 #5${%
\def\RCSfile{#2}%
\def\RCSversion{#3}%
\def\RCSdate{#4}%
}
\def\esp at fileversion{2.19}
\def\esp at filedate{2006/05/01}
\def\@journal{Elsevier} \def\@company{Elsevier}
\def\@issn{000-0000}
\def\@shortjid{elsart3p}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\@shortjid}[\esp at filedate, \esp at fileversion: \@journal]
\let\@save at journal\@journal
\let\@save at company\@company
\let\@save at shortjid\@shortjid
\DeclareOption{onecolumn}{\def\@xcolumn{onecolumn}}
\DeclareOption{twocolumn}{\def\@xcolumn{twocolumn}}
\def\@xcolumn{twocolumn}
\DeclareOption{narrowdisplay}{}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{elsart}}
\ProcessOptions\relax
\LoadClass[\@xcolumn]{elsart}
\let\@journal\@save at journal
\let\@company\@save at company
\let\@shortjid\@save at shortjid
\def\@xiiipt{12}
\def\@titlesize{\Large}
\def\@bibitemsep{\z@ \@plus 0.5\p@ \@minus 0.5\p@}
\def\captionwidth{.8\linewidth}
\def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}
\def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}
\def\normalsize{\@setfontsize\normalsize\@xpt{12}%
\abovedisplayskip 5.75\p@ \@plus 2\p@ \@minus 2\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 2\p@%
\belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@
\let\@listi\@listI}
\def\small{\@setfontsize\small\@viiipt{10}%
\abovedisplayskip 7\p@ \@plus 2\p@ \@minus 4\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 1\p@%
\belowdisplayshortskip 3\p@ \@plus 1\p@ \@minus 2\p@
\def\@listi{\topsep 0.5\@bls \parsep\z@ \itemsep\parsep}}
\let\footnotesize=\small
\let\@xviiipt\@xviipt
\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\def\tiny{\@setfontsize\tiny\@vipt{7}}
\def\large{\@setfontsize\large\@xiiipt{14}}
\def\Large{\@setfontsize\Large\@xviipt{20}}
\def\LARGE{\@setfontsize\LARGE\@xviiipt{22}}
\def\huge{\@setfontsize\huge\@xxpt{22}}
\def\Huge{\@setfontsize\Huge\@xxvpt{27}}
\normalsize % Choose the normalsize font.
\if at twoside
\oddsidemargin \z@
\evensidemargin \z@
\marginparwidth 10\p@
\else
\oddsidemargin \z@
\evensidemargin \z@
\marginparwidth 2pc
\fi
\marginparsep 20\p@ % Horizontal space between outer margin and
% marginal note
\topmargin \z@ % Nominal distance from top of page to top of
% box containing running head.
\headheight 10\p@ %
\headsep 11\p@ %
\footskip 23\p@
\bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line
\medskipamount=0.5\bigskipamount % 1/2 line
\smallskipamount=0.25\bigskipamount % 1/4 line
\textheight 51\baselineskip
\advance\textheight\topskip % excl. running head and foot).
\textwidth 39pc % \@Width of text line.
% For two-column mode:
\columnsep 2pc % Space between columns
\columnseprule \z@ % \@Width of rule between columns.
\footnotesep 6.65\p@
\skip\footins 12\p@ \@plus 8\p@ % Space between last line of text and
% top of first footnote.
\floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved
% to top or bottom of text page.
\textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats
% at top or bottom of page.
\intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and
% text.
\dblfloatsep 8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column
% figures in two-column mode.
\dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column
% floats.
\@fptop \z@ \@plus 1fil % Stretch at top of float page/column. (Must be
% \z@ \@plus ...)
\@fpsep 8\p@ \@plus 2fil % Space between floats on float page/column.
\@fpbot \z@ \@plus 1fil % Stretch at bottom of float page/column. (Must be
% \z@ \@plus ... )
\@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)
\@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.
\@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be
% \z@ \@plus ... )
\marginparpush 5\p@ % Minimum vertical separation between two marginal
% notes.
\parskip \z@
\parindent 1em
\eqntopsep 8\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below
\eqnarraycolsep 1\p@ % in an \eqnarray.
\def\part{\@startsection{part}{1}{\z@}{2\@bls \@plus
0.4\@bls}{\@bls}{\normalsize}}
\def\partmark#1{}
\if at ussrhead
\def\section{\@startsection{section}{1}{\parindent}{\@bls
\@plus .3\@bls \@minus .1\@bls}{-0.00001pt}{\normalsize\bfseries\boldmath}{\relax}}
\else
\def\section{\@startsection{section}{1}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries
\boldmath}}
\fi
\def\subsection{\@startsection{subsection}{2}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls
\@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}
\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\subparagraph{\@startsection{subparagraph}{5}{1em}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}\def\@tempa{#8}%
\ifx\@tempa\@empty
\edef\@svsec{\csname lb at empty@#1\endcsname}%
\else
\edef\@svsec{\csname lb@#1\endcsname}\fi\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup #6\relax
\noindent \hskip #3\relax{\@secnumfont{#2}\@svsec}%
{\head at style\head at format{#2}{#8}\par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}%
\else
\def\@svsechd{#6\hskip #3\relax {\@secnumfont{#2}\@svsec }%
{\head at style\head at format{#2}{#8}}\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}}%
\fi
\@xsect{#5}}
\def\@ssect#1#2#3#4#5#6{%
\@tempskipa #4\relax
\ifdim \@tempskipa>\z@
\begingroup
#5{%
\@hangfrom{\hskip #2}%
\interlinepenalty \@M \head at format{#1}{#6}\@@par}%
\endgroup
\else
\def\@svsechd{#5{\hskip #2\relax \head at format{#1}{#6}}}%
\fi
\@xsect{#4}}
\def\@startsection#1#2#3#4#5#6{%
\if at noskipsec \leavevmode \fi
\par
\@tempskipa #4\relax
\@afterindenttrue
\ifdim \@tempskipa <\z@
\@tempskipa -\@tempskipa \@afterindentfalse
\fi
\if at nobreak
\everypar{}%
\else
\addpenalty\@secpenalty\addvspace\@tempskipa
\fi
\@ifstar
{\@ssect{#2}{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\@maxlistdepth=2
\def\labelitemi{--}
\def\labelitemii{$\cdot$}
\def\labelenumi{(\theenumi)} \def\theenumi{\roman{enumi}}
\def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}}
\tabcolsep 1\p@ % idem in tabular environment.
\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
\or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi
\edef\@preamble{\@preamble
\ifcase \@chnum
\hfil$\relax\displaystyle\@sharp$\hfil \or
$\relax\displaystyle\@sharp$\hfil \or
\hfil$\relax\displaystyle\@sharp$\fi}}
\newdimen\Arrayrulewidth \Arrayrulewidth=1.0\p@
\def\Hline{\noalign{\ifnum0=`}\fi\hrule \@height \Arrayrulewidth \futurelet
\@tempa\@xhline}
\newdimen\crulepostskip \crulepostskip -7\p@
\def\ccline#1{%
\noalign{\vskip\rulepreskip}%
\do at ccline(#1,1-0)\cr
\noalign{\vskip\crulepostskip}}
\def\do at ccline(#1-#2,#3){%
\ifnum#1>#2\else\@cline[#1-#2]\do at ccline(#3,1-0)\fi
\ignorespaces}
\newdimen\@Ldec \newdimen\@Rdec
\def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi}
\def\setdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Ldec\wd0\global\@Rdec\wd1
\egroup}
\setdec 000.000 % default 3 digits on each side
\newdimen\@Lpmdec \newdimen\@Rpmdec
\def\pmdec #1.#2 {\hbox to\@Lpmdec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rpmdec{\hfill}\else\hbox to\@Rpmdec{.#2\hss}\fi}
\def\setpmdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Lpmdec\wd0\global\@Rpmdec\wd1
\egroup}
\setpmdec 0.0 % default 1 digit on each side
\def\add at thanksref#1{%
\global\advance\note at cnt\@ne
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{*}%
\else
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{%
\if at Elproofing#1\else\ref{#1}\fi
}%
\fi}
\def\thanks at optarg[#1]#2{%
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\@tempcnta=\c at footnote \c at footnote=-1 \label{#1}\c at footnote=\@tempcnta
\gdef\@corresp at note{\footnotetext[-1]{#2}}%
\else
\add at tok\t at glob@notes{\footnotetext}%
\refstepcounter{footnote}%
\if at Elproofing\else\if at tempswa\label{#1}\else\relax\fi\fi
\add at xtok\t at glob@notes{[\the\c at footnote]}%
\add at tok\t at glob@notes{{#2}}%
\fi
\ignorespaces}
\def\frontmatter{%
\NoHyper
\let\@corresp at note\relax
\global\t at glob@notes={}\global\c at author\z@
\global\c at collab\z@ \global\c at address\z@
\sv at mathsurround\mathsurround \m at th
\global\n at author=0\n at author@\relax
\global\n at collab=0\n at collab@\relax
\global\advance\n at author\m at ne % In comparisons later on we need
\global\advance\n at collab\m at ne % n at author-1 and n at collab-1
\global\@firstauthortrue % set to false by first \author or \collab
\global\@hasabstractfalse % Default: no abstract or keywords
\global\@haskeywordsfalse % Default: no abstract or keywords
\global\@prefacefalse % not preface
\ifnum\c at firstpage=\c at lastpage
\gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}
\else
\gdef\@pagerange{\@pagenumprefix
\ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%
\fi
\@ifundefined{RIfM@}{}{\global\let\vec\@bfvec}%
\open at fm \ignorespaces}
\def\title at fmt#1#2{%
\@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%
\vspace*{\@overtitleskip} % Vertical space above article type,
\@articletypesize % Size for article type
\leavevmode\vphantom{Aye!}
\@articletype
\vskip12\p@
{\@titlesize #1\,\hbox{$^{#2}$}\par}%
\vskip\@undertitleskip
}
\def\address at fmt@init{%
\par % Start new paragraph
\vskip \@overaddressskip} % Vertical space before addresses
\def\@abstract[#1]{%
\global\@hasabstracttrue
\hyphenpenalty\sv at hyphenpenalty % restore \hyphenpenalty
\global\setbox\t at abstract=\vbox\bgroup
\leftskip\z@
\@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue
\@abstractsize % Text in 9/11
\parindent 1em % \parindent in abstract
\noindent {\bfseries\abstractname} % caption `Abstract' (bold)
\vskip 0.5\@bls % half a line of space below
\noindent\ignorespaces
}
\def\@bfvec#1{\boldsymbol{#1}}
\def\@pmbfvec#1{\pmb{#1}}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\if at TwoColumn
\adjdemerits=100
\linepenalty=100
\doublehyphendemerits=5000 % experimental (1993-12-14)
\emergencystretch=1.6pc
\spaceskip=0.3em \@plus 0.17em \@minus 0.12em
\fi
\binoppenalty=300
\relpenalty=100
\clubpenalty=5000 % 'Club line' at bottom of page.
\widowpenalty=2000 % 'Widow line' at top of page.
\displaywidowpenalty=1000 % Math display widow line.
\predisplaypenalty=150 % Breaking before a math display.
\postdisplaypenalty=50 % Breaking after a math display.
\hfuzz=1\p@
\hbadness=3000
\@frontmatterwidth\textwidth
\endinput
%%
%% End of file `elsart3p.cls'.
--- NEW FILE elsart5p.cls ---
%%
%% This is file `elsart5p.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% esl.dtx (with options: `package,elsauth,wrapper,SL5P')
%%
%% elsart5p.cls Copyright (C) 1994-2006 Elsevier Science
%%
%% 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
%% 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.
%%
\def\readRCS$#1: #2 #3 #4 #5${%
\def\RCSfile{#2}%
\def\RCSversion{#3}%
\def\RCSdate{#4}%
}
\def\esp at fileversion{2.19}
\def\esp at filedate{2006/05/01}
\def\@journal{Elsevier} \def\@company{Elsevier}
\def\@issn{000-0000}
\def\@shortjid{elsart5p}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\@shortjid}[\esp at filedate, \esp at fileversion: \@journal]
\let\@save at journal\@journal
\let\@save at company\@company
\let\@save at shortjid\@shortjid
\DeclareOption{narrowdisplay}{}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{elsart}}
\ProcessOptions\relax
\LoadClass[twocolumn]{elsart}
\let\@journal\@save at journal
\let\@company\@save at company
\let\@shortjid\@save at shortjid
\def\@xiiipt{12}
\def\@titlesize{\Large}
\def\@bibitemsep{\z@ \@plus 0.5\p@ \@minus 0.5\p@}
\def\captionwidth{.8\linewidth}
\def\@abstractsize{\fontsize{\@ixpt}{11pt}\selectfont}
\def\@articletypesize{\fontsize{\@xiiipt}{13pt}\selectfont}
\def\normalsize{\@setfontsize\normalsize\@xpt{12}%
\abovedisplayskip 5.75\p@ \@plus 2\p@ \@minus 2\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 2\p@%
\belowdisplayshortskip 3.5\p@ \@plus 2\p@ \@minus 2\p@
\let\@listi\@listI}
\def\small{\@setfontsize\small\@viiipt{10}%
\abovedisplayskip 7\p@ \@plus 2\p@ \@minus 4\p@%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ \@plus 1\p@%
\belowdisplayshortskip 3\p@ \@plus 1\p@ \@minus 2\p@
\def\@listi{\topsep 0.5\@bls \parsep\z@ \itemsep\parsep}}
\let\footnotesize=\small
\let\@xviiipt\@xviipt
\def\scriptsize{\@setfontsize\scriptsize\@viipt{8}}
\def\tiny{\@setfontsize\tiny\@vipt{7}}
\def\large{\@setfontsize\large\@xiiipt{14}}
\def\Large{\@setfontsize\Large\@xviipt{20}}
\def\LARGE{\@setfontsize\LARGE\@xviiipt{22}}
\def\huge{\@setfontsize\huge\@xxpt{22}}
\def\Huge{\@setfontsize\Huge\@xxvpt{27}}
\normalsize % Choose the normalsize font.
\if at twoside
\oddsidemargin -3pc
\evensidemargin \z@
\marginparwidth 10\p@
\else
\oddsidemargin -3pc
\evensidemargin -3pc
\marginparwidth 2pc
\fi
\marginparsep 20\p@ % Horizontal space between outer margin and
% marginal note
\topmargin \z@ % Nominal distance from top of page to top of
% box containing running head.
\headheight 10\p@ %
\headsep 11\p@ %
\footskip 23\p@
\bigskipamount=\@bls \@plus 0.3\@bls \@minus 0.3\@bls % 1/1 line
\medskipamount=0.5\bigskipamount % 1/2 line
\smallskipamount=0.25\bigskipamount % 1/4 line
\textheight 56\baselineskip % \@Height of text (incl. footnotes and figures,
\advance\textheight\topskip % excl. running head and foot).
\textwidth 43.5pc % \@Width of text line.
% For two-column mode:
\columnsep 1.5pc % Space between columns
\columnseprule \z@ % \@Width of rule between columns.
\footnotesep 6.65\p@
\skip\footins 12\p@ \@plus 8\p@ % Space between last line of text and
% top of first footnote.
\floatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between adjacent floats moved
% to top or bottom of text page.
\textfloatsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between main text and floats
% at top or bottom of page.
\intextsep 8\p@ \@plus 4\p@ \@minus 2\p@ % Space between in-text figures and
% text.
\dblfloatsep 8\p@ \@plus 4\p@ \@minus 4\p@ % Same as \floatsep for double-column
% figures in two-column mode.
\dbltextfloatsep 12\p@ \@plus 4\p@ \@minus 4\p@ % \textfloatsep for double-column
% floats.
\@fptop \z@ \@plus 1fil % Stretch at top of float page/column. (Must be
% \z@ \@plus ...)
\@fpsep 8\p@ \@plus 2fil % Space between floats on float page/column.
\@fpbot \z@ \@plus 1fil % Stretch at bottom of float page/column. (Must be
% \z@ \@plus ... )
\@dblfptop \z@ \@plus 1fil % Stretch at top of float page. (Must be \z@ \@plus ...)
\@dblfpsep 8\p@ \@plus 2fil % Space between floats on float page.
\@dblfpbot \z@ \@plus 1fil % Stretch at bottom of float page. (Must be
% \z@ \@plus ... )
\marginparpush 5\p@ % Minimum vertical separation between two marginal
% notes.
\parskip \z@
\parindent 1em
\eqntopsep 8\p@ \@plus 2\p@ \@minus 2\p@ %\parskip, added above and below
\eqnarraycolsep 1\p@ % in an \eqnarray.
\def\part{\@startsection{part}{1}{\z@}{2\@bls \@plus
0.4\@bls}{\@bls}{\normalsize}}
\def\partmark#1{}
\if at ussrhead
\def\section{\@startsection{section}{1}{\parindent}{\@bls
\@plus .3\@bls \@minus .1\@bls}{-0.00001pt}{\normalsize\bfseries\boldmath}{\relax}}
\else
\def\section{\@startsection{section}{1}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\bfseries
\boldmath}}
\fi
\def\subsection{\@startsection{subsection}{2}{\z@}{\@bls
\@plus .3\@bls \@minus .1\@bls}{\@bls}{\normalsize\itshape}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{\@bls
\@plus .2\@bls}{0.0001pt}{\normalsize\itshape}}
\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\subparagraph{\@startsection{subparagraph}{5}{1em}{3.25ex \@plus
2ex \@minus 0.2ex}{-1em}{\normalfont\normalsize\itshape}}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\ifnum #2>\c at secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}\def\@tempa{#8}%
\ifx\@tempa\@empty
\edef\@svsec{\csname lb at empty@#1\endcsname}%
\else
\edef\@svsec{\csname lb@#1\endcsname}\fi\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup #6\relax
\noindent \hskip #3\relax{\@secnumfont{#2}\@svsec}%
{\head at style\head at format{#2}{#8}\par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}%
\else
\def\@svsechd{#6\hskip #3\relax {\@secnumfont{#2}\@svsec }%
{\head at style\head at format{#2}{#8}}\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{\ifnum #2>\c at secnumdepth \else
\protect\numberline{\csname the#1\endcsname}\fi #7}}%
\fi
\@xsect{#5}}
\def\@ssect#1#2#3#4#5#6{%
\@tempskipa #4\relax
\ifdim \@tempskipa>\z@
\begingroup
#5{%
\@hangfrom{\hskip #2}%
\interlinepenalty \@M \head at format{#1}{#6}\@@par}%
\endgroup
\else
\def\@svsechd{#5{\hskip #2\relax \head at format{#1}{#6}}}%
\fi
\@xsect{#4}}
\def\@startsection#1#2#3#4#5#6{%
\if at noskipsec \leavevmode \fi
\par
\@tempskipa #4\relax
\@afterindenttrue
\ifdim \@tempskipa <\z@
\@tempskipa -\@tempskipa \@afterindentfalse
\fi
\if at nobreak
\everypar{}%
\else
\addpenalty\@secpenalty\addvspace\@tempskipa
\fi
\@ifstar
{\@ssect{#2}{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
\@maxlistdepth=2
\def\labelitemi{--}
\def\labelitemii{$\cdot$}
\def\labelenumi{(\theenumi)} \def\theenumi{\roman{enumi}}
\def\labelenumii{(\theenumii)} \def\theenumii{\alph{enumii}}
\tabcolsep 1\p@ % idem in tabular environment.
\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or
\or \or \@addamp \or \@acolampacol \or \@firstampfalse \@acol \fi
\edef\@preamble{\@preamble
\ifcase \@chnum
\hfil$\relax\displaystyle\@sharp$\hfil \or
$\relax\displaystyle\@sharp$\hfil \or
\hfil$\relax\displaystyle\@sharp$\fi}}
\newdimen\Arrayrulewidth \Arrayrulewidth=1.0\p@
\def\Hline{\noalign{\ifnum0=`}\fi\hrule \@height \Arrayrulewidth \futurelet
\@tempa\@xhline}
\newdimen\crulepostskip \crulepostskip -7\p@
\def\ccline#1{%
\noalign{\vskip\rulepreskip}%
\do at ccline(#1,1-0)\cr
\noalign{\vskip\crulepostskip}}
\def\do at ccline(#1-#2,#3){%
\ifnum#1>#2\else\@cline[#1-#2]\do at ccline(#3,1-0)\fi
\ignorespaces}
\newdimen\@Ldec \newdimen\@Rdec
\def\dec #1.#2 {\hbox to\@Ldec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rdec{\hfill}\else\hbox to\@Rdec{.#2\hss}\fi}
\def\setdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Ldec\wd0\global\@Rdec\wd1
\egroup}
\setdec 000.000 % default 3 digits on each side
\newdimen\@Lpmdec \newdimen\@Rpmdec
\def\pmdec #1.#2 {\hbox to\@Lpmdec{\hss#1}\def\@tempb{#2}%
\ifx\@tempb\empty\hbox to\@Rpmdec{\hfill}\else\hbox to\@Rpmdec{.#2\hss}\fi}
\def\setpmdec #1.#2 {\relax
\bgroup
\setbox0\hbox{\kern1pt\relax#1}\setbox1\hbox{\kern1pt\relax#2}%
\global\@Lpmdec\wd0\global\@Rpmdec\wd1
\egroup}
\setpmdec 0.0 % default 1 digit on each side
\def\add at thanksref#1{%
\global\advance\note at cnt\@ne
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{*}%
\else
\ifnum\note at cnt>\@ne \add at xtok\t at loc@notes{\note at sep}\fi
\add at tok\t at loc@notes{%
\if at Elproofing#1\else\ref{#1}\fi
}%
\fi}
\def\thanks at optarg[#1]#2{%
\def\@tempa{*}\def\@tempb{#1}%
\ifx\@tempa\@tempb
\@tempcnta=\c at footnote \c at footnote=-1 \label{#1}\c at footnote=\@tempcnta
\gdef\@corresp at note{\footnotetext[-1]{#2}}%
\else
\add at tok\t at glob@notes{\footnotetext}%
\refstepcounter{footnote}%
\if at Elproofing\else\if at tempswa\label{#1}\else\relax\fi\fi
\add at xtok\t at glob@notes{[\the\c at footnote]}%
\add at tok\t at glob@notes{{#2}}%
\fi
\ignorespaces}
\def\frontmatter{%
\NoHyper
\let\@corresp at note\relax
\global\t at glob@notes={}\global\c at author\z@
\global\c at collab\z@ \global\c at address\z@
\sv at mathsurround\mathsurround \m at th
\global\n at author=0\n at author@\relax
\global\n at collab=0\n at collab@\relax
\global\advance\n at author\m at ne % In comparisons later on we need
\global\advance\n at collab\m at ne % n at author-1 and n at collab-1
\global\@firstauthortrue % set to false by first \author or \collab
\global\@hasabstractfalse % Default: no abstract or keywords
\global\@haskeywordsfalse % Default: no abstract or keywords
\global\@prefacefalse % not preface
\ifnum\c at firstpage=\c at lastpage
\gdef\@pagerange{\@pagenumprefix\ESpagenumber{firstpage}}
\else
\gdef\@pagerange{\@pagenumprefix
\ESpagenumber{firstpage}--\@pagenumprefix\ESpagenumber{lastpage}}%
\fi
\@ifundefined{RIfM@}{}{\global\let\vec\@bfvec}%
\open at fm \ignorespaces}
\def\title at fmt#1#2{%
\@ifundefined{@runtitle}{\global\def\@runtitle{#1}}{}%
\vspace*{\@overtitleskip} % Vertical space above article type,
\@articletypesize % Size for article type
\leavevmode\vphantom{Aye!}
\@articletype
\vskip12\p@
{\@titlesize #1\,\hbox{$^{#2}$}\par}%
\vskip\@undertitleskip
}
\def\address at fmt@init{%
\par % Start new paragraph
\vskip \@overaddressskip} % Vertical space before addresses
\def\@abstract[#1]{%
\global\@hasabstracttrue
\hyphenpenalty\sv at hyphenpenalty % restore \hyphenpenalty
\global\setbox\t at abstract=\vbox\bgroup
\leftskip\z@
\@rightskip\z@ \rightskip\@rightskip \parfillskip\@flushglue
\@abstractsize % Text in 9/11
\parindent 1em % \parindent in abstract
\noindent {\bfseries\abstractname} % caption `Abstract' (bold)
\vskip 0.5\@bls % half a line of space below
\noindent\ignorespaces
}
\def\@bfvec#1{\boldsymbol{#1}}
\def\@pmbfvec#1{\pmb{#1}}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\if at TwoColumn
\adjdemerits=100
\linepenalty=100
\doublehyphendemerits=5000 % experimental (1993-12-14)
\emergencystretch=1.6pc
\spaceskip=0.3em \@plus 0.17em \@minus 0.12em
\fi
\binoppenalty=300
\relpenalty=100
\clubpenalty=5000 % 'Club line' at bottom of page.
\widowpenalty=2000 % 'Widow line' at top of page.
\displaywidowpenalty=1000 % Math display widow line.
\predisplaypenalty=150 % Breaking before a math display.
\postdisplaypenalty=50 % Breaking after a math display.
\hfuzz=1\p@
\hbadness=3000
\@frontmatterwidth\textwidth
\endinput
%%
%% End of file `elsart5p.cls'.
--- NEW FILE template-harv.tex ---
% Template article for preprint document class `elsart'
% with harvard style bibliographic references
% SP 2006/04/26
\documentclass{elsart}
% Use the option doublespacing or reviewcopy to obtain double line spacing
% \documentclass[doublespacing]{elsart}
% the natbib package allows both number and author-year (Harvard)
% style referencing;
\usepackage{natbib}
% if you use PostScript figures in your article
% use the graphics package for simple commands
% \usepackage{graphics}
% or use the graphicx package for more complicated commands
% \usepackage{graphicx}
% or use the epsfig package if you prefer to use the old commands
% \usepackage{epsfig}
% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
% The lineno packages adds line numbers. Start line numbering with
% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
% for the whole article with \linenumbers.
% \usepackage{lineno}
% \linenumbers
\begin{document}
\begin{frontmatter}
% Title, authors and addresses
% use the thanksref command within \title, \author or \address for footnotes;
% use the corauthref command within \author for corresponding author footnotes;
% use the ead command for the email address,
% and the form \ead[url] for the home page:
% \title{Title\thanksref{label1}}
% \thanks[label1]{}
% \author{Name\corauthref{cor1}\thanksref{label2}}
% \ead{email address}
% \ead[url]{home page}
% \thanks[label2]{}
% \corauth[cor1]{}
% \address{Address\thanksref{label3}}
% \thanks[label3]{}
\title{}
% use optional labels to link authors explicitly to addresses:
% \author[label1,label2]{}
% \address[label1]{}
% \address[label2]{}
\author{}
\address{}
\begin{abstract}
% Text of abstract
\end{abstract}
\begin{keyword}
% keywords here, in the form: keyword \sep keyword
% PACS codes here, in the form: \PACS code \sep code
\end{keyword}
\end{frontmatter}
% main text
\section{}
\label{}
% The Appendices part is started with the command \appendix;
% appendix sections are then done as normal sections
% \appendix
% \section{}
% \label{}
% Bibliographic references with the natbib package:
% Parenthetical: \citep{Bai92} produces (Bailyn 1992).
% Textual: \citet{Bai95} produces Bailyn et al. (1995).
% An affix and part of a reference:
% \citep[e.g.][Ch. 2]{Bar76}
% produces (e.g. Barnes et al. 1976, Ch. 2).
\begin{thebibliography}{}
% \bibitem[Names(Year)]{label} or \bibitem[Names(Year)Long names]{label}.
% (\harvarditem{Name}{Year}{label} is also supported.)
% Text of bibliographic item
\bibitem[]{}
\end{thebibliography}
\end{document}
--- NEW FILE template-num.tex ---
% Template article for preprint document class `elsart'
% SP 2006/04/26
\documentclass{elsart}
% Use the option doublespacing or reviewcopy to obtain double line spacing
% \documentclass[doublespacing]{elsart}
% if you use PostScript figures in your article
% use the graphics package for simple commands
% \usepackage{graphics}
% or use the graphicx package for more complicated commands
% \usepackage{graphicx}
% or use the epsfig package if you prefer to use the old commands
% \usepackage{epsfig}
% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
% The lineno packages adds line numbers. Start line numbering with
% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
% for the whole article with \linenumbers.
% \usepackage{lineno}
% \linenumbers
\begin{document}
\begin{frontmatter}
% Title, authors and addresses
% use the thanksref command within \title, \author or \address for footnotes;
% use the corauthref command within \author for corresponding author footnotes;
% use the ead command for the email address,
% and the form \ead[url] for the home page:
% \title{Title\thanksref{label1}}
% \thanks[label1]{}
% \author{Name\corauthref{cor1}\thanksref{label2}}
% \ead{email address}
% \ead[url]{home page}
% \thanks[label2]{}
% \corauth[cor1]{}
% \address{Address\thanksref{label3}}
% \thanks[label3]{}
\title{}
% use optional labels to link authors explicitly to addresses:
% \author[label1,label2]{}
% \address[label1]{}
% \address[label2]{}
\author{}
\address{}
\begin{abstract}
% Text of abstract
\end{abstract}
\begin{keyword}
% keywords here, in the form: keyword \sep keyword
% PACS codes here, in the form: \PACS code \sep code
\PACS
\end{keyword}
\end{frontmatter}
% main text
\section{}
\label{}
% The Appendices part is started with the command \appendix;
% appendix sections are then done as normal sections
% \appendix
% \section{}
% \label{}
\begin{thebibliography}{00}
% \bibitem{label}
% Text of bibliographic item
% notes:
% \bibitem{label} \note
% subbibitems:
% \begin{subbibitems}{label}
% \bibitem{label1}
% \bibitem{label2}
% If there is a note, it should come last:
% \bibitem{label3} \note
% \end{subbibitems}
\bibitem{}
\end{thebibliography}
\end{document}
--- NEW FILE tetex-elsevier-README.fedora ---
This information is rewritten from:
http://www.authors.elsevier.com/getting_published.html?dc=QG3
Preprints and journal layout style
----------------------------------
Class file for preprint: elsart.cls
Class files for journals: elsart1p.cls, elsart3p.cls, elsart5p.cls
For Harvard style (author-year) references (with natbib):
Reference manual: instructions-harv.pdf
Sample document: template-harv.tex
Bibtex style: elsart-harv.bst
For numbered references:
Reference manual: instructions-num.pdf
Sample document: template-harv.tex
Bibtex style: elsart-num.bst
--- NEW FILE tetex-elsevier.spec ---
%define texmf %{_datadir}/texmf
Name: tetex-elsevier
# upstream is unversionned, the version is constructed with the latest
# file timestamp, in the format YYYYMMDD
Version: 0.1.20060516
Release: 2%{?dist}
Summary: Elsevier LaTeX style files and documentation
Group: Applications/Publishing
License: LaTeX Project Public License
URL: http://www.authors.elsevier.com/getting_published.html?dc=QG3
Source1: http://www.authors.elsevier.com/latex/elsart.cls
Source2: http://www.authors.elsevier.com/latex/elsart1p.cls
Source3: http://www.authors.elsevier.com/latex/elsart3p.cls
Source4: http://www.authors.elsevier.com/latex/elsart5p.cls
Source5: http://www.authors.elsevier.com/latex/instructions-num.pdf
Source6: http://www.authors.elsevier.com/latex/instructions-harv.pdf
Source7: http://www.authors.elsevier.com/latex/template-harv.tex
Source8: http://www.authors.elsevier.com/latex/template-num.tex
Source9: http://www.authors.elsevier.com/latex/elsart-harv.bst
Source10: http://www.authors.elsevier.com/latex/elsart-num.bst
# explains what the files are associated with
Source100: tetex-elsevier-README.fedora
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Buildarch: noarch
Requires: tetex-latex
%description
LaTeX style files and documentation for the Elsevier publisher.
%prep
%setup -q -T -c
cp %{SOURCE100} README.fedora
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} \
%{SOURCE7} %{SOURCE8} %{SOURCE9} %{SOURCE10} .
# since there is no versionning the file date is relevant, try to keep it
for file in *.tex; do
touch -r $file $file-stamp
sed -i -e 's/\r//' $file
touch -r $file-stamp $file
rm -f $file-stamp
done
#%%build
%install
rm -rf $RPM_BUILD_ROOT
install -d -m755 $RPM_BUILD_ROOT%{texmf}/tex/latex/elsevier/
install -d -m755 $RPM_BUILD_ROOT%{texmf}/bibtex/elsevier/
cp -p *.cls $RPM_BUILD_ROOT%{texmf}/tex/latex/elsevier/
cp -p *.bst $RPM_BUILD_ROOT%{texmf}/bibtex/elsevier/
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /usr/bin/texhash
%postun -p /usr/bin/texhash
%files
%defattr(-,root,root,-)
%doc README.fedora *.pdf *.tex
%{texmf}/tex/latex/elsevier/
%{texmf}/bibtex/elsevier/
%changelog
* Fri Aug 11 2006 Patrice Dumas <pertusus at free.fr> 0.1.20060516-2
- really keep the timestamps
* Fri Aug 11 2006 Patrice Dumas <pertusus at free.fr> 0.1.20060516-1
- keep files timestamps, even for installed files
- remove unneeded tetex-latex BuildRequires
- correct the version by using the right month from the file timestamps
* Thu Aug 10 2006 Patrice Dumas <pertusus at free.fr> 0.1.20060416-3
- don't ship the ifac style, it is not redistributable
* Wed Aug 9 2006 Patrice Dumas <pertusus at free.fr> 0.1.20060416-2
- Ship a README.fedora file instead of packaging the web page
* Wed Aug 9 2006 Patrice Dumas <pertusus at free.fr> 0.1.20060416-1
- Initial Release
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/tetex-elsevier/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 15 Aug 2006 08:25:54 -0000 1.1
+++ .cvsignore 15 Aug 2006 08:27:24 -0000 1.2
@@ -0,0 +1,2 @@
+instructions-harv.pdf
+instructions-num.pdf
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/tetex-elsevier/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 15 Aug 2006 08:25:54 -0000 1.1
+++ sources 15 Aug 2006 08:27:24 -0000 1.2
@@ -0,0 +1,2 @@
+0c563cda4d6a90aed64b1842cd1a3cc1 instructions-harv.pdf
+d705c36eed9d254a25749bbf76e32a8f instructions-num.pdf
More information about the fedora-extras-commits
mailing list