summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-18 23:51:03 +0000
committerKarl Berry <karl@freefriends.org>2009-09-18 23:51:03 +0000
commit16a931a6ec904cd0fcf4cc41d0926951da96b7b8 (patch)
tree82a8407276bacf65add5d243c1fd0722df7527e0 /Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
parent2aaaa469a2ca0da6f8aac5752c40bf00ce399449 (diff)
elsarticle update (18sep09)
git-svn-id: svn://tug.org/texlive/trunk@15370 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx')
-rw-r--r--Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx5788
1 files changed, 118 insertions, 5670 deletions
diff --git a/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx b/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
index 1190838703c..3ea78d9321b 100644
--- a/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
+++ b/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (C) 2007, 2008 by Elsevier Ltd.
-% ----------------------------------------
+% Copyright (C) 2007, 2008, 2009 by Elsevier Ltd
+% -----------------------------------------------
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.2
@@ -14,7 +14,7 @@
% version 1999/12/01 or later.
%
% \fi
-% \CheckSum{1854}
+% \CheckSum{2196}
%
% \iffalse
%<*driver>
@@ -50,13 +50,19 @@
%
% \changes{v1.1}{2008/09/25}{Initial version}
%
+%
+% \changes{v1.2}{2009/09/17}{Documentation, templates, and *.bst
+% has been seperated from this .dtx. Incompatibility problems
+% with amsref.sty, fncylab.sty have been fixed. Some bugs related
+% to author/affiliation part have been fixed.}
+%
% \GetFileInfo{elsarticle.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment}
%
%
% \title{The \textsf{elsarticle.cls} -- Implimentation}
-% \author{Elsevier Ltd.}
+% \author{Elsevier Ltd}
%
% \maketitle
%
@@ -66,19 +72,18 @@
%
% \begin{macrocode}
%<*class>
-%% $Id: elsarticle.cls,v 1.18 2008-08-28 06:03:47 cvr Exp $
%%
+%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $
+%%
\def\RCSfile{elsarticle}%
- \def\RCSversion{1.0.1}%
- \def\RCSdate{2008/05/22}%
+ \def\RCSversion{1.2.0}%
+ \def\RCSdate{2009/09/17}%
\def\@shortjnl{\relax}
- \def\@journal{Elsevier Science} \def\@company{Elsevier Science}
+ \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd}
\def\@issn{000-0000}
\def\@shortjid{elsarticle}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
-%
-%
\def\ABD{\AtBeginDocument}
\newif\ifpreprint \preprintfalse
\newif\iflongmktitle \longmktitlefalse
@@ -97,15 +102,14 @@
******************************************************\MessageBreak
}
-
\DeclareOption{preprint}{\global\preprinttrue
\gdef\@blstr{1}\xdef\jtype{0}%
\AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
\DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
\DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
-\DeclareOption{authoryear}{\xdef\@biboptions{authoryear}}
-\DeclareOption{number}{\xdef\@biboptions{square,numbers}}
-\DeclareOption{numbers}{\xdef\@biboptions{square,numbers}}
+\DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}}
+\DeclareOption{number}{\xdef\@biboptions{numbers}}
+\DeclareOption{numbers}{\xdef\@biboptions{numbers}}
\DeclareOption{longtitle}{\global\longmktitletrue}
\DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
\ExecuteOptions{twocolumn}}
@@ -140,12 +144,11 @@
{\string\Newlabel{#1}{\@currentlabel}}\@esphack}
\def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
-\def\Ref#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
-% \alarm{REF [#1]: \csname X@#1\endcsname}%
+\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
}
\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
- \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\Ref{\@@tmark}}}%
+ \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}%
\ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
}
\let\@tnotemark\@empty
@@ -158,10 +161,14 @@
\def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
\footnotetext{#2}}}
+\let\@nonumnotes\@empty
+\def\nonumnote#1{\g@addto@macro\@nonumnotes{%
+ \let\thefootnote\relax\footnotetext{#1}}}
+
\newcounter{fnote}
\def\fnmark[#1]{\let\comma\@empty
\def\@fnmark{\@for\@@fnmark:=#1\do{%
- \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\Ref{\@@fnmark}}}%
+ \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}%
\unskip\comma\fnotenum\let\comma,}}%
}
@@ -172,20 +179,25 @@
\global\setcounter{footnote}{\thefnote}%
\footnotetext{#2}}}
-\def\cormark[#1]{\edef\cnotenum{\Ref{#1}}\unskip%
- \textsuperscript{\sep\ifcase\cnotenum\or
+\def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}%
+ \unskip\textsuperscript{\sep\ifcase\cnotenum\or
$\ast$\or$\ast\ast$\fi\hspace{-1pt}}\let\sep=,}
\let\@cormark\@empty
\let\@cornotes\@empty
\newcounter{cnote}
\def\cortext[#1]#2{\g@addto@macro\@cornotes{%
- \refstepcounter{cnote}\elsLabel{#1}%
+ \refstepcounter{cnote}\elsLabel{#1}%
\def\thefootnote{\ifcase\thecnote\or$\ast$\or
$\ast\ast$\fi}%
\footnotetext{#2}}}
-\def\corref#1{\cormark[#1]}
+\let\@corref\@empty
+%\def\corref#1{\cormark[#1]}
+\def\corref#1{\edef\cnotenum{\elsRef{#1}}%
+ \edef\@corref{\ifcase\cnotenum\or
+ $\ast$\or$\ast\ast$\fi\hskip-1pt}}
+
\def\fnref#1{\fnmark[#1]}
\def\tnoteref#1{\tnotemark[#1]}
@@ -196,9 +208,16 @@
\let\@elseads\@empty
\let\@elsuads\@empty
\let\@cormark\@empty
+\def\hashchar{\expandafter\@gobble\string\~}
+\def\underscorechar{\expandafter\@gobble\string\_}
+\def\lbracechar{\expandafter\@gobble\string\{}
+\def\rbracechar{\expandafter\@gobble\string\}}
+
\def\ead{\@ifnextchar[{\@uad}{\@ead}}
-\gdef\@ead#1{\bgroup\def\_{\string\_}\def\{{\string\{}%
- \def\}{\string\}}%
+\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}%
+ \def\{{\string\lbracechar\space}%
+ \def~{\hashchar\space}%
+ \def\}{\string\rbracechar\space}%
\edef\tmp{\the\@eadauthor}
\immediate\write\@auxout{\string\emailauthor
{#1}{\expandafter\strip@prefix\meaning\tmp}}%
@@ -207,10 +226,12 @@
\newcounter{ead}
\gdef\emailauthor#1#2{\stepcounter{ead}%
\g@addto@macro\@elseads{\raggedright%
- \let\corref\@gobble
+ \let\corref\@gobble
\eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
}
\gdef\@uad[#1]#2{\bgroup
+ \def~{\string\hashchar\space}%
+ \def\_{\string\underscorechar\space}%
\edef\tmp{\the\@eadauthor}
\immediate\write\@auxout{\string\urlauthor
{#2}{\expandafter\strip@prefix\meaning\tmp}}%
@@ -233,11 +254,13 @@
\def\baselinestretch{1}%
\authorsep#2\unskip\textsuperscript{%#1%
\@for\@@affmark:=#1\do{%
- \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\Ref{\@@affmark}}}%
+ \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\elsRef{\@@affmark}}}%
\unskip\sep\affnum\let\sep=,}%
- \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}%
+ \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
+ \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
+ }%
\def\authorsep{\unskip,\space}%
- \global\let\sep\@empty
+ \global\let\sep\@empty\global\let\@corref\@empty
\global\let\@fnmark\@empty}%
\@eadauthor={#2}
}
@@ -245,7 +268,9 @@
\def\@author#1{\g@addto@macro\elsauthors{\normalsize%
\def\baselinestretch{1}%
\upshape\authorsep#1\unskip\textsuperscript{%
- \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}%
+ \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
+ \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
+ }%
\def\authorsep{\unskip,\space}%
\global\let\@fnmark\@empty
\global\let\sep\@empty}%
@@ -256,12 +281,41 @@
\def\addsep{\par\vskip6pt}
\def\address{\@ifnextchar[{\@@address}{\@address}}
+\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
+ l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
+ 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 al\or am\or an\or ao\or ap\or aq\or ar\or as\or at\or au\or
+ av\or aw\or ax\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 bl\or bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or
+ bv\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 cl\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or cu\or
+ cv\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 dl\or dm\or dn\or do\or dp\or dq\or dr\or ds\or dt\or du\or
+ dv\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 el\or em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or
+ ev\or ew\or ex\or ey\or ez%
+ \or fa\or fb\or fc\or fd\or fe\or ff\or fg\or fh\or fi\or fj\or
+ fk\or fl\or fm\or fn\or fo\or fp\or fq\or fr\or fs\or ft\or fu\or
+ fv\or fw\or fx\or fy\or fz%
+ \or ga\or gb\or gc\or gd\or ge\or gf\or gg\or gh\or gi\or gj\or
+ gk\or gl\or gm\or gn\or go\or gp\or gq\or gr\or gs\or gt\or gu\or
+ gv\or gw\or gx\or gy\or gz%
+ \else\@ctrerr\fi}
+
\newcounter{affn}
\renewcommand\theaffn{\alph{affn}}
\long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
\def\baselinestretch{1}%
- \refstepcounter{affn}\elsLabel{#1}%
+ \refstepcounter{affn}
+ \xdef\@currentlabel{\theaffn}
+ \elsLabel{#1}%
\textsuperscript{\theaffn}#2\par}}
\long\def\@address#1{\g@addto@macro\elsauthors{%
@@ -286,7 +340,7 @@
\global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
\normalsize\normalfont\def\baselinestretch{1}
\parskip\z@
- \noindent\textit{Key words: }
+ \noindent\textit{Keywords: }
\raggedright % Keywords are not justified.
\ignorespaces}
\def\endkeyword{\par \egroup}
@@ -298,6 +352,7 @@
\iflongmktitle
\let\columnwidth=\textwidth\fi
\ifx\@tnotes\@empty\else\@tnotes\fi
+ \ifx\@nonumnotes\@empty\else\@nonumnotes\fi
\ifx\@cornotes\@empty\else\@cornotes\fi
\ifx\@elseads\@empty\relax\else
\let\thefootnote\relax
@@ -312,8 +367,8 @@
\ifx\@fnotes\@empty\else\@fnotes\fi
\iflongmktitle\if@twocolumn
\let\columnwidth=\Columnwidth\fi\fi
-}
-
+}
+
\long\def\pprintMaketitle{\clearpage
\iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi
\resetTitleCounters
@@ -365,7 +420,6 @@
\end{center}%
}
-
\def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
\newdimen\space@left
\def\alarm#1{\typeout{******************************}%
@@ -374,7 +428,7 @@
}
\long\def\getSpaceLeft{%\global\@twocolumnfalse%
\global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
- \global\setbox1=\vbox{\hsize=\textwidth
+ \global\setbox1=\vbox{\hsize=\textwidth
\let\footnotetext\FNtext
\printFirstPageNotes}%
\xdef\noteheight{\the\ht1}%
@@ -382,14 +436,8 @@
\@tempdima=\vsize
\advance\@tempdima-\noteheight
\advance\@tempdima-1\baselineskip
-% \alarm{Note height .... \noteheight}%
-% \alarm{Title height .... \titleheight}%
-% \alarm{T-height........ \the\textheight}%
-% \alarm{Goal........ \the\@tempdima}%
}
-
-%\ifpreprint\let\footnoterule\relax\fi
\skip\footins=24pt
\newbox\els@boxa
@@ -464,7 +512,6 @@
Preprint submitted to \ifx\@journal\@empty Elsevier
\else\@journal\fi\hfill\today}%
\let\@evenfoot\@oddfoot}
-
% \end{macrocode}
%
% \section{Section headings}
@@ -532,7 +579,7 @@
\providecommand{\sfbc}{\rmfamily\upshape}
\providecommand{\sfn}{\rmfamily\upshape}
\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
-\def\enumerate{%
+\def\enumerate{%
\ifnum \@enumdepth >3 \@toodeep\else
\advance\@enumdepth \@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
@@ -559,8 +606,8 @@
\setlength{\parsep}{0pt plus1pt minus1pt}%
\setlength{\parskip}{0pt plus1pt minus1pt}
}}
-
-\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
+
+\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
\addvspace{\@sep}\fi \endlist}
\def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
@@ -570,7 +617,7 @@
\def\@Itemize[#1]{\def\next{#1}%
\ifnum \@itemdepth >\thr@@\@toodeep\else
\advance\@itemdepth\@ne
- \ifx\next\@empty\else\expandafter\def\csname
+ \ifx\next\@empty\else\expandafter\def\csname
labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter\list\csname\@itemitem\endcsname
@@ -689,15 +736,10 @@
\ifnum\jtype=1
\RequirePackage{geometry}
\geometry{twoside,
-% top=30mm,
-% paperwidth=165mm,
-% paperheight=240mm,
paperwidth=210mm,
paperheight=297mm,
textheight=562pt,
textwidth=384pt,
-% inner=16mm,
-% top=22.1mm,
centering,
headheight=50pt,
headsep=12pt,
@@ -706,7 +748,7 @@
}
\global\let\bibfont=\footnotesize
\global\bibsep=0pt
- \if@twocolumn\global\@twocolumnfalse\fi
+ \if@twocolumn\global\@twocolumnfalse\fi
%
% \end{macrocode}
%
@@ -716,24 +758,20 @@
\else\ifnum\jtype=3
\RequirePackage{geometry}
\geometry{twoside,
-% paperwidth=192mm,
-% paperheight=262mm,
paperwidth=210mm,
paperheight=297mm,
textheight=622pt,
textwidth=468pt,
-% inner=13.1mm,
-% top=22.1mm,
centering,
- headheight=50pt,
+ headheight=50pt,
headsep=12pt,
- footskip=12pt,
+ footskip=18pt,
footnotesep=24pt plus 2pt minus 12pt,
columnsep=2pc
}
\global\let\bibfont=\footnotesize
\global\bibsep=0pt
- \if@twocolumn\input{fleqn.clo}\fi
+ \if@twocolumn\input{fleqn.clo}\fi
% \end{macrocode}
%
%\subsection{Option '5p'}
@@ -742,14 +780,10 @@
\else\ifnum\jtype=5
\RequirePackage{geometry}
\geometry{twoside,
-% top=30mm,
paperwidth=210mm,
-% paperheight=280mm,
paperheight=297mm,
textheight=682pt,
textwidth=522pt,
-% inner=15mm,
-% top=23.2mm,
centering,
headheight=50pt,
headsep=12pt,
@@ -770,7 +804,6 @@
%\section{Other items}
%
% \begin{macrocode}
-
\def\journal#1{\gdef\@journal{#1}}
\let\@journal\@empty
\newenvironment{frontmatter}{}{\maketitle}
@@ -786,7 +819,6 @@
\fi
\vskip\belowcaptionskip}
-%\RequirePackage[expansion=alltext,stretch=30]{microtype}
\AtBeginDocument{\@ifpackageloaded{hyperref}
{\def\@linkcolor{blue}
\def\@anchorcolor{blue}
@@ -812,5619 +844,35 @@
\@makeother\`
\@makeother\=
}{}}
-%
%%
-%</class>
-%
-% \end{macrocode}
-% \Finale
-% \endinput
-% \begin{macrocode}
-%<*mydoc>
-\documentclass[a4paper,12pt]{article}
-\usepackage{amsfonts}
-\usepackage[pdftex,screen,vpanel]{docscreen}
-
-\panelwidth=5in
-\vpanelheight=1.25in
-\margins{1.5cm}{1cm}{1.25cm}{1.25cm}
-\screensize{210mm}{297mm}
-\vpaneloverlay{bg_body1.jpg}
-
-\usepackage{pxfonts}
-\usepackage{charter}
-\usepackage[scaled=.9]{lfr}
-\usepackage[scaled=.8]{prima}
-\usepackage{xspace}
-\usepackage{pdfwidgets}
-\makeatletter
-\def\bs{\expandafter\@gobble\string\\}
-\def\lb{\expandafter\@gobble\string\{}
-\def\rb{\expandafter\@gobble\string\}}
-\def\@pdfauthor{C.V.Radhakrishnan}
-\def\@pdftitle{elsarticle.cls -- A documentation}
-\def\@pdfsubject{Document formatting with elsarticle.cls}
-\def\@pdfkeywords{LaTeX, Elsevier Ltd., document class}
-\def\file#1{\textsf{#1}\xspace}
-\def\Hlink#1#2{\hyperlink{#1}{{\sffamily\color{brown}#2}}}
-
-\def\LastPage{19}
-
-\DeclareRobustCommand{\LaTeX}{L\kern-.26em%
- {\sbox\z@ T%
- \vbox to\ht\z@{\hbox{\check@mathfonts
- \fontsize\sf@size\z@
- \math@fontsfalse\selectfont
- A\,}%
- \vss}%
- }%
- \kern-.15em%
- \TeX}
-\makeatother
-
-\usepackage{doc-tooltips}
-
-\begin{document}
-
-\newbox\contbox
-\global\setbox\contbox=\vbox{\hsize=108mm
- \color{orange}
- \begin{enumerate}[$\square$]
- \item \Hlink{introduction}{Introduction}
- \item \Hlink{majordifferences}{Major Differences}
- \item \Hlink{installation}{Installation}
- \item \Hlink{usage}{Usage}
- \item \Hlink{preamble}{Preamble}
- \item \Hlink{floats}{Floats}
- \item \Hlink{theorems}{Theorems}
- \item \Hlink{lists}{Lists}
- \item \Hlink{crossreferences}{Cross-references}
- \item \Hlink{math}{Mathematical Symbols and Formulae}
- \item \Hlink{bibliography}{Bibliography}
- \item \Hlink{final}{Final Print}
- \end{enumerate}\par\vspace{45mm}
- \footnotesize\parindent=0pt
- \color{Olive}%
- \copyright 2008, Elsevier Ltd. Bugs, feature requests,
- suggestions and comments shall be mailed to
- \href{mailto:elsarticle@river-valley.com}
- {\texttt{<elsarticle@river-valley.com>}}.
- \file{elsarticle.\allowbreak [dtx,ins]}, related documentation
- and supporting packages are released under \LaTeX{} Project
- Public Licence, either version 1.2 or any later version. This
- work has the LPPL maintenance status
- `author-maintained'.\par\vskip6pt
- \noindent
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \setcounter{equation}{0}
+ \gdef\thefigure{\@Alph\c@section.\arabic{figure}}%
+ \gdef\thetable{\@Alph\c@section.\arabic{table}}%
+ \gdef\thesection{\appendixname\@Alph\c@section}%
+ \@addtoreset{equation}{section}%
+ \gdef\theequation{\@Alph\c@section.\arabic{equation}}%
}
+\def\appendixname{Appendix }
-\def\testa{This is a specimen document. }
-\def\testc{\testa\testa\testa\testa}
-\def\testb{\testc\testc\testc\testc\testc}
-\long\def\test{\testb\par\testb\par\testb\par}
-
-
-\pinclude{\copy\contbox\printSq{\LastPage}}
-
-\normalcolor
-
-\section{Introduction}
-\hypertarget{introduction}{}
-
-\file{elsarticle.cls} is a thoroughly re-written document class
-for formatting \LaTeX{} submissions to Elsevier journals.
-The class uses the environments and commands defined in \LaTeX{} kernel
-without change to the signature so that clashes with other
-contributed \LaTeX{} packages like \file{hyperref.sty},
-\file{preview-latex.sty}, etc., will be minimal.
-\file{elsarticle.cls} is primarily built upon the default
-\file{article.cls}. The class depends on the following packages
-for its proper functionality:
-
-\begin{enumerate}[1.]
-
-\item \file{pifont.sty} for openstar in the title footnotes.
-\item \file{natbib.sty} for citation processing.
-\item \file{geometry.sty} for margin settings.
-\item \file{fleqn.clo} for left aligned equations.
-\item \file{graphicx.sty} for graphics inclusion.
-\item \file{txfonts.sty} optional font package, if document is to
- be formatted with Times and compatible math fonts.
-\item \file{hyperref.sty} optional packages if hyper linking is
- required in the document.
-
-\end{enumerate}
-
-All the above packages are part of any standard \LaTeX{} installation.
-Therefore, the users need not be bothered about downloading any
-extra packages. Further, users are free to make use of \textsc{ams}
-math packages like, \file{amsmath.sty}, \file{amsthm.sty},
-\file{amssymb.sty}, \file{amsfonts.sty}, etc., if they want. All
-these packages work in tandem with \file{elsarticle.cls} without
-any problems.
-
-\section{Major Differences}
-\hypertarget{majordifferences}{}
-
-Following are the major differences between \file{elsarticle.cls}
-and its predecesor package, \file{elsart.cls}:
-
-\begin{enumerate}[\textbullet]
-
-\item \file{elsarticle.cls} is built upon \file{article.cls}
- while \file{elsart.cls} is not. \file{elsart.cls} redefines
- many of the commands in the \LaTeX{} classes/kernel, which can
- possibly cause surprising clashes with other contributed
- \LaTeX{} packages.
-
-\item Provides preprint document formatting by default, and
- optionally formats the document as per the final
- style of models $1+$, $3+$ and $5+$ of Elsevier journals.
-
-\item Some easier hooks for formatting \verb+list+ and
- \verb+theorem+ environments are provided while people can still
- use \file{amsthm.sty} package.
-
-\item \file{natbib.sty} is the main citation processing package
- which can comprehensively handle all kinds of citations and
- works perfectly with \file{hyperref.sty} in combination with
- \file{hypernat.sty}.
-
-\item Long title pages are processed correctly in preprint and
- final formats.
-
-\end{enumerate}
-
-\section{Installation}
-\hypertarget{installation}{}
-
-The package is available at
-\url{http://www.elsevier.com/locate/latex}.
-It can also be found in any of the nodes of the Comprehensive
-\TeX{} Archive Network (\textsc{ctan}), one of the primary nodes
-being
-\url{http://www.ctan.org/tex-archive/macros/latex/contrib/elsevier/}.
-Please grab the \file{elsarticle.dtx} which is the composite
-class with documentation and \file{elsarticle.ins} which is the
-\LaTeX{} installer file. When we compile the
-\file{elsarticle.ins} with \LaTeX{} it provides the class file,
-\file{elsarticle.cls} by
-stripping off all the documentation from the \verb+*.dtx+ file.
-The class may be moved or copied to a place, usually,
-\texttt{\$TEXMF/tex/latex/elsevier/}, or a folder which will be read
-by \LaTeX{} during document compilation. The \TeX{} file
-database needs updation after moving/copying class file. Usually,
-we use commands like \verb+mktexlsr+ or \verb+texhash+ depending
-upon the distribution and operating system.
-
-%\newpage
-
-\section{Usage}\label{sec:usage}
-\hypertarget{usage}{}
-The class should be loaded with the command:
-
-\begin{vquote}
- \documentclass[<options>]{elsarticle}
-\end{vquote}
-
-where the \verb+options+ can be the following:
-
-\begin{enumerate}[(1)]
-
-\item \verb+preprint+ --- default options which formats the
- document for submission to Elsevier journals.
-
-\item \verb+review+ --- similar to \verb+preprint+ option, but
- increases the baselineskip to facilitate easier review process.
-
-\item \verb+1p+ --- formats to the look and feel of the final
- format of model 1+ journals. This is always single column style.
-
-\item \verb+3p+ --- formats to the look and feel of the final
- format of model 3+ journals. If the journal is a two column
- model use \verb+twocolumn+ option in combination.
-
-\item \verb+5p+ --- formats for model 5+ journals. This is always
- two column style.
-
-\item \verb+authoryear+ --- author-year citation style of
- \file{natbib.sty}. If you want to add extra options of
- \file{natbib.sty}, you may use the options as a comma delimited
- strings as argument to \verb+\biboptions+ command. An example
- would be:
-\end{enumerate}
-\begin{vquote}
- \biboptions{longnamesfirst,angle,semicolon}
-\end{vquote}
-
-\begin{enumerate}[(1)] \setcounter{enumi}{6}
-\item \verb+number+ --- numbered citation style. Extra options
- can be loaded with \verb+\biboptions+ command.
-
-\item \verb+longtitle+ --- if front matter is unusually long, use
- this option to split the title page across pages with correct
- placing of title and author footnotes in the first page.
-
-\item \verb+times+ --- loads \file{txfonts.sty} if available in
- the system to use Times and compatible math fonts.
-
-\item All options of \file{article.cls} can be used with this
- document class.
-
-\item The default options loaded are \verb+a4paper+, \verb+10pt+,
- \verb+oneside+, \verb+onecolumn+ and \verb+preprint+.
-
-\end{enumerate}
-
-\section{Preamble}
-\hypertarget{preamble}{}
-
-There are two types of preamble coding --- (1) each author is
-connected to an affiliation with a footnote marker; hence all
-authors are grouped together and affiliations follow; (2) authors
-of same affiliations are grouped together and the relevant
-affiliation follows this group. An example coding of the first
-type is provided below:
-
-\begin{vquote}
- \title{This is a specimen title\tnoteref{t1,t2}}
- \tnotetext[t1]{This document is a collaborative effort.}
- \tnotetext[t2]{The second title footnote which is a longer
- longer than the first one and with an intention to fill
- in up more than one line while formatting.}
-\end{vquote}
-
-\begin{vquote}
- \author[rvt]{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
- \ead{cvr@river-valley.com}
-
- \author[rvt,focal]{K.~Bazargan\fnref{fn2}}
- \ead{kaveh@river-valley.com}
-
- \author[els]{S.~Pepping\corref{cor2}\fnref{fn1,fn3}}
- \ead[url]{http://www.elsevier.com}
-\end{vquote}
-
-\begin{vquote}
- \cortext[cor1]{Corresponding author}
- \cortext[cor2]{Principal corresponding author}
- \fntext[fn1]{This is the specimen author footnote.}
- \fntext[fn2]{Another author footnote, but a little more longer.}
- \fntext[fn3]{Yet another author footnote. Indeed, you can have
- any number of author footnotes.}
-\end{vquote}
-
-\begin{vquote}
-
- \address[rvt]{River Valley Technologies, SJP Building,
- Cotton Hills, Trivandrum, Kerala, India 695014}
- \address[focal]{River Valley Technologies, 9, Browns Court,
- Kennford, Exeter, United Kingdom}
- \address[els]{Central Application Management,
- Elsevier, Radarweg 29, 1043 NX\\
- Amsterdam, Netherlands}
-
-\end{vquote}
-
-You can see the output in the panel to the right.
-\mywidth=.7\panelwidth
-\Sep=8pt
-\def\rulewidth{.2pt}
-\def\rulecolor{orange}
-\npskip=8mm
-\pinclude{\def\rulecolor{blue!80}%
- \includeclip[width=3.25in]{1}{130 84 484 676}{els1.pdf}%
- \def\rulecolor{orange}}
-
-Most of the commands like \verb+\title+, \verb+\author+,
-\verb+\address+ are self explanatory. Various components are
-linked each other by a label--reference mechanism, for
-instance, title footnote is linked to the title with a footnote
-mark generated by referring to the \verb+\label+ string of
-the \verb=\tnotetext=. We have used similar commands
-like \verb=\tnoteref= (to link title note to title);
-\verb=\corref= (to link corresponding author text to
-corresponding author); \verb=\fnref= (to link footnote text to
-the relevant author names). \TeX{} needs two compilations to
-resolve the footnote marks in the preamble part. Given below are
-the syntax of various note marks and note texts.
-
-\begin{vquote}
- \tnoteref{<label(s)>}
- \corref{<label(s)>}
- \fnref{<label(s)>}
- \tnotetext[<label>]{<title note text>}
- \cortext[<label>]{<corresponding author note text>}
- \fntext[<label>]{<author footnote text>}
-\end{vquote}
-
-\noindent where \verb=<label(s)>= can be either one or more comma
-delimited label strings. The optional arguments to the
-\verb=\author= command holds the ref label(s) of the address(es)
-to which the author is affiliated while each \verb=\address=
-command can have an optional argument of a label. In the same
-manner, \verb=\tnotetext=, \verb=\fntext=, \verb=\cortext= will
-have optional arguments as their respective labels and note text
-as their mandatory argument.
-
-The following example code provides the markup of the second type
-of author-affiliation as seen in the output given in the
-box to the right.
-\pinclude{\def\rulecolor{blue!80}
- \includeclip[width=3.25in]{1}{130 84 484 676}{els2.pdf}%
- \def\rulecolor{orange}}
-
-\begin{vquote}
-\author{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
- \ead{cvr@river-valley.com}
- \address{River Valley Technologies, SJP Building,
- Cotton Hills, Trivandrum, Kerala, India 695014}
-\end{vquote}
-
-\begin{vquote}
-\author{K.~Bazargan\fnref{fn2}}
- \ead{kaveh@river-valley.com}
- \address{River Valley Technologies, 9, Browns Court, Kennford,
- Exeter, UK.}
-\end{vquote}
-
-\begin{vquote}
-\author{S.~Pepping\fnref{fn1,fn3}}
- \ead[url]{http://www.elsevier.com}
- \address{Central Application Management,
- Elsevier, Radarweg 43, 1043 NX Amsterdam, Netherlands}
-\end{vquote}
-
-\begin{vquote}
-\cortext[cor1]{Corresponding author}
-\fntext[fn1]{This is the first author footnote.}
-\fntext[fn2]{Another author footnote, this is a very long footnote and
- it should be a really long footnote. But this footnote is not yet
- sufficiently long enough to make two lines of footnote text.}
-\fntext[fn3]{Yet another author footnote.}
-\end{vquote}
-
-The preamble part has further environments like
-\verb+\begin{abstract}+ \dots \linebreak \verb+\end{abstract}+ and
-\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+ which
-contain the abstract and keywords respectively. Keywords can be
-marked up in the following manner:
-
-\begin{vquote}
- \begin{keyword}
- quadruple exiton \sep polariton \sep WGM
-
- \PACS 71.35.-y \sep 71.35.Lk \sep 71.36.+c
- \end{keyworkd}
-\end{vquote}
-
-\noindent Each keyword shall be separated by \verb+\sep+ command.
-\textsc{pacs} and \textsc{msc} classifications shall be provided in
-the keyword environment with the commands \verb+\PACS+ and
-\verb+\MSC+ respectively. \verb+\MSC+ accepts an optional
-argument to accommodae future revisions.
-eg., \verb=\MSC[2008]=. The default is 2000.
-
-\npskip=0mm
-\pinclude{\copy\contbox\printSq{\LastPage}}
-
-\newpage
-
-\section{Floats}
-\hypertarget{floats}{}
-\tooltip{Figures}{mytip6} may be included using the command,
-\verb+\includegraphics+ in combination with or without its
-several options to further control the graphic.
-\verb+\includegraphics+ is provided by \file{graphic[s,x].sty}
-which is part of any standard \LaTeX{} distribution.
-\file{graphicx.sty} is loaded by default. \LaTeX{} accepts
-figures in postscript format while pdf\LaTeX{} accepts
-\file{*.pdf}, \file{*.mps} (metapost), \file{*.jpg} and
-\file{*.png} formats. pdf\LaTeX{} does not accept
-graphic files in postscript format.
-
-The \verb+table+ environment is handy for marking up tabular
-material. If users want to use \file{multirow.sty},
-\file{array.sty}, etc., to fine control/enhance the tables, they
-are welcome to load any package of their choice and
-\file{elsarticle.cls} will work in combination with all loaded
-packages.
-
-\section{Theorem and theorem like environments}
-\hypertarget{theorems}{}
-1
-\file{elsarticle.cls} provides a few hooks to format theorems and
-theorem like environments with ease. All commands the options
-that are used with \verb+\newtheorem+ command will work exactly
-in the same manner. \file{elsarticle.cls} provides three
-commands to format theorem or theorem like environments:
-
-\begin{vquote}
- \newtheorem{thm}{Theorem}
- \newtheorem{lem}[thm]{Lemma}
- \newdefinition{rmk}{Remark}
- \newproof{pf}{Proof}
- \newproof{pot}{Proof of Theorem \ref{thm2}}
-\end{vquote}
-
-%%
-%% mytip 1
-%%
-\begin{toolwrite}{15cm}
-\let\la\lambda
-\noindent\textbf{Remark 3.}\enspace
-We remark that; when the ratio $h/\la$ tends to 0, the expression $\la
-L(r,s)=-(s-r)/(4\left(\frac{h}{\la}\right)^2+(r-s)^2)$ tends to
-$1/(r-s)$ which is a singular function. This means that the expression
-$\la L(r,s)$ is not well behaved for the small values of
-$h/\la$. Consequently, for the solution to converge, the integrals of
-(10) and (11) must be evaluated with a large number of
-nodes. In our numerical applications (cf. section 5), we
-use 100 nodes to evaluate these integrals. With the smallest value of
-$h/\la=0.02$, the convergence is good with $N=20$.
-\end{toolwrite}
-
-%%
-%% mytip 2
-%%
-\begin{toolwrite}{15cm}
-\noindent\textbf{Theorem 2.}\enspace\itshape
-For system (8), consensus can be achieved with
-$\|T_{\omega z}(s)\|_{\infty}<\gamma$ if there exist a symmetric
-positive definite
- matrix $P\in \mathcal{R}^{(n-1)\times (n-1)}$ and a scalar $\mu>0$ satisfying
-\setcounter{equation}{9}
-\begin{eqnarray}\label{10}
-\Gamma=\begin{bmatrix}
--\bar{L}^TP-P\bar{L}+U_1^TU_1+\mu \bar{E}&PU_1^TE_1&PU_1^T\\
-E_1^TU_1P&-\mu I&0\\ U_1P&0&-\gamma^2I\end{bmatrix}<0,
-\end{eqnarray}
-where $\bar{L}=U_1^TLU_1$ and $\bar{E}=U_1^TE_2^TE_2U_1.$
-\end{toolwrite}
-
-%%
-%% mytip 3
-%%
-\begin{toolwrite}{15cm}
-\noindent\textbf{Proof of Theorem 2.}\enspace Proof follows
-straightforward from Lemma 3 and Theorem 1. However, it should be
-emphasized that all possible $\bar{L}_{\sigma(t)}$ should share a
-common Lyapunov function $V(\delta)=\delta^T(t)P\delta(t)$ (see
-the proof of Lemma 3 in Appendix A). \hfill$\square$
-\end{toolwrite}
-
-\tooltip{\ttfamily\bs newtheorem}{mytip2} command formats a
-theorem in \LaTeX's default style with italicized font, bold font
-for theorem heading, theorem number at the right hand side of the
-theorem heading. It also optionally accepts an argument which
-will be printed as an extra heading in parentheses. You may roll
-over your \tooltip{mouse here}{mytip2} to see how some text
-enclosed between \verb+\begin{thm}+ \dots \verb+\end{thm}+ will
-look like.
-
-\tooltip{\ttfamily\bs newdefinition}{mytip1} command is same in
-all respects as its \verb+\newtheorem+ counterpart except that
-the font shape is roman instead of italic. Both
-\verb+\newdefinition+ and \verb+\newtheorem+ commands
-automatically defines counters for the environments defined.
-\tooltip{See the output of}{mytip1} of \verb+\begin{rmk}+ \dots
-\verb+\end{rmk}+.
-
-\tooltip{\ttfamily\bs newproof}{mytip3} command is for defining
-proof environments with upright font shape. No counters are
-defined. \tooltip{See the output of}{mytip3} \verb+\begin{pot}+
-\dots \verb+\end{pot}+.
-
-Users can also make use of \verb+amsthm.sty+ which will override
-all the default definitions described above.
-
-\section{Enumerated and Itemized Lists}
-\hypertarget{lists}{}
-\file{elsarticle.cls} provides an extended list processing macros
-which makes the usage a bit more user friendly than the default
-\LaTeX{} list macros. With an optional argument to the
-\verb+\begin{enumerate}+ command, you can change the list counter
-type and its attributes.
-
-\begin{vquote}
- \begin{enumerate}[1.]
- \item The enumerate environment starts with an optional
- argument `1.' so that the item counter will be suffixed
- by a period.
- \item If you provide a closing parenthesis to the number in the
- optional argument, the output will have closing parenthesis
- for all the item counters.
- \item You can use `(a)' for alphabetical counter and '(i)' for
- roman counter.
-\end{vquote}
-
-\begin{vquote}
- \begin{enumerate}[a)]
- \item Another level of list with alphabetical counter.
- \item One more item before we start another.
- \begin{enumerate}[(i)]
- \item This item has roman numeral counter.
- \item Another one before we close the third level.
- \end{enumerate}
- \item Third item in second level.
- \end{enumerate}
- \item All list items conclude with this step.
- \end{enumerate}
-\end{vquote}
-%%
-%% Mytool 4
-%%
-\begin{toolwrite}{15cm}
- \begin{enumerate}[1.]
- \item The enumerate environment starts with an optional
- argument `1.' so that the item counter will be suffixed
- by a period.
- \item If you provide parentheses to the number, the
- output will have only one parentheses for all the item
- counters.
- \item You can use `(a)' for alphabetical counter and '(i)' for
- roman counter.
- \begin{enumerate}[a)]
- \item Another level of list with alphabetical counter.
- \item One more item before we start another.
- \begin{enumerate}[(i)]
- \item This item has roman numeral counter.
- \item Another one before we close the third level.
- \end{enumerate}
- \item Third item in second level.
- \end{enumerate}
- \item All list items conclude with this step.
-\end{enumerate}
-\end{toolwrite}
-
-You can see the typeset copy of the above source code if you
-roll over \tooltip{your mouse here}{mytip4}.
+%% Added for work with amsrefs.sty
-Further, the enhanced list environment allows one to prefix a
-string like `step' to all the item numbers. Take a look at the
-example below:
-
-\begin{vquote}
- \begin{enumerate}[Step 1.]
- \item This is the first step of the example list.
- \item Obviously this is the second step.
- \item The final step to wind up this example.
- \end{enumerate}
-\end{vquote}
-
-
-%%
-%% mytool 5
-%%
-\begin{toolwrite}{10cm}
-\lmrgn=4em
- \begin{enumerate}[Step 1.]
- \item This is the first step of the example list.
- \item Obviously this is the second step.
- \item The final step to wind up this example.
- \end{enumerate}
-\end{toolwrite}
-
-\tooltip{Here is the typeset output}{mytip5} of the above example code.
-
-\section{Cross-references}
-\hypertarget{crossreferences}{}
-
-In electronic publications articles may be internally
-hyperlinked. Hyperlinks are generated from proper
-cross-references in the article. For example, the words
-\textcolor{black!80}{Fig.~1} will never be more than simple text,
-whereas the proper cross-reference \verb+\ref{tiger}+ may be
-turned into a hyperlink to the figure itself:
-\tooltip{Fig.~1}{mytip6}. In the same way,
-the words \tooltip{Ref.~[1]}{mytip7} will fail to turn into a
-hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+.
-Cross-referencing is possible in \LaTeX{} for sections,
-subsections, formulae, figures, tables, and literature
-references.
-
-
-\section{Mathematical symbols and formulae}
-\hypertarget{math}{}
-
-Many physical/mathematical sciences authors require more
-mathematical symbols than the few that are provided in standard
-\LaTeX. A useful package for additional symbols is the
-\file{amssymb} package, developed by the American Mathematical
-Society. This package includes such oft used symbols as
-\verb+\lesssim+ for $\lesssim$, \verb+\gtrsim+ for $\gtrsim$ or
-\verb+\hbar+ for $\hbar$. Note that your \TeX{} system should
-have the \file{msam} and \file{msbm} fonts installed. If you need
-only a few symbols, such as \verb+\Box+ for $\square$, you might
-try the package \file{latexsym}.
-
-Another point which would require authors' attention is the
-breaking of longer equations. When you use
-\file{elsarticle.cls} for formatting your submissions in
-\verb+preprint+ mode, the document is formatted in single column
-style with a text width of 384pt or 5.3in. When this document is
-formatted for final print and if the journal happens to be a double column
-journal, the text width will be reduced to 224pt at for 3+
-double column and 5+ journals respectively. All the nifty fine
-tuning in equation breaking done by the author goes to waste in
-such cases. Therefore, authors are requested to check this
-problem by typesetting their submissions in final format as well
-just to see if their equations are broken at appropriate places,
-by changing appropriate options in the document class loading
-command, which is explained in section~\ref{sec:usage},
-\nameref{sec:usage}. This allows authors to fix any equation breaking
-problem before submission for publication.
-\file{elsarticle.cls} supports formatting the author submission
-in different types of final format. This is further discussed in
-section \ref{sec:final}, \nameref{sec:final}.
-
-
-\section{Bibliography}
-\hypertarget{bibliography}{}
-
-Three bibliographic style files (\verb+*.bst+) are provided ---
-\file{elsarticle-num.bst}, \file{elsarticle-num-names.bst} and
-\file{elsarticle-harv.bst} --- the first one for numbered scheme, the
-second for numbered with new options of \file{natbib.sty} and the
-last one for author year scheme.
-
-In \LaTeX{} literature references are listed in the
-thebibliography environment. Each reference is a
-\verb+\bibitem+; each \verb+\bibitem+ is identified by a label,
-by which it can be cited in the text:
-\verb+\bibitem[Elson et al.(1996)]{ESG96}+ is cited as
-\verb+\citet{ESG96}+. In connection with cross-referencing and
-possible future hyperlinking it is not a good idea to collect
-more that one literature item in one \verb+\bibitem+. The
-so-called Harvard or author-year style of referencing is enabled
-by the \LaTeX{} package \file{natbib}. With this package the
-literature can be cited as follows:
-
-\begin{enumerate}[\textbullet]
-\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \&
- Brown, 1996).
-\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996).
-\item An affix and part of a reference:
- \verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et
- al., 1997, Ch. 2).
-\end{enumerate}
-
-In the numbered scheme of citation, \verb+\cite{<label>}+ is used,
-since \verb+\citep+ or \verb+\citet+ has no relevance in numbered
-scheme. \file{natbib} package is loaded by \file{elsarticle} with
-\verb+numbers+ as default option. You can change this to author-year
-or harvard scheme by adding option \verb+authoryear+ in the class
-loading command. If you want to use more options of the \file{natbib}
-package, you can do so with the \verb+\biboptions+ command, which is
-described in section \ref{sec:usage}, \nameref{sec:usage}. For
-details of various options of the \file{natbib} package, please take a
-look at the \file{natbib} documentation, which is part of any standard
-\LaTeX{} installation.
-
-
-\newpage
-
-\section{Final print}\label{sec:final}
-\hypertarget{final}{}
-
-Authors can format their submission to the page size and margins
-of their preferred journal. \file{elsarticle} provides four
-class options for the same:
-\lmrgn=3em
-\begin{enumerate}
-\item [\texttt{1p}:] $1+$ journals with a text area of
-384pt $\times$ 562pt or 13.5cm $\times$ 19.75cm or 5.3in $\times$
-7.78in, single column style only.
-
-\item [\texttt{3p}:] $3+$ journals with a text area of 468pt
-$\times$ 622pt or 16.45cm $\times$ 21.9cm or 6.5in $\times$
-8.6in, single column style.
-
-\item [\texttt{3pd}:] $3+$ with the same text area as above,
-double column style.
-
-\item [\texttt{5p}:] $5+$ with text area of 522pt $\times$
-682pt or 18.35cm $\times$ 24cm or 7.22in $\times$ 9.45in,
-double column style only.
-\end{enumerate}
-
-Following pages have the clippings of different parts of
-the first page of different journal models typeset in final
-format.
-
-\bigskip
-\mywidth=14cm
-\def\rulecolor{blue!70}
-\src{Upper part of first page of a single column article}
-\includeclip{1}{104 510 492 712}{els-1p.pdf}
-\def\rulecolor{orange}
-
-\newpage
-\vspace*{-18pt}
-\def\rulecolor{blue!70}
-\src{Lower part of first page of a single column article}
-%\includeclip{1}{104 124 492 461}{els-1p.pdf}
-\includeclip{1}{104 124 492 443}{els-1p.pdf}
-\def\rulecolor{orange}
-
-\medskip
-
-\noindent
-Model $1+$ and $3+$ will have the same look and
-feel in the typeset copy when presented in this document. That is
-also the case with the double column $3+$ and $5+$ journal article
-pages. The only difference will be wider text width of
-higher models. Therefore we will look at the
-different portions of a typical single column journal page and
-that of a double column article in the final format.
-
-\newpage
-\vspace*{-18pt}
-\def\rulecolor{blue!70}
-\src{Upper part of first page of a typical double column article}
- \includeclip{1}{60 245 536 752}{els-3pd.pdf}
-\def\rulecolor{orange}
-
-\newpage\vspace*{-18pt}
-\def\rulecolor{blue!70}
-\src{Lower part of first page a typical double column article}
-\includeclip{1}{60 93 536 600}{els-3pd.pdf}
-\def\rulecolor{orange}
-
-\subsection*{Displayed equations and double column journals}
-
-Many Elsevier journals print their text in two columns. Because
-the preprint layout uses a larger line width than such columns,
-the formulas are too wide for the line width in print. Here is an
-example of an equation (see equation 6) which is perfect in
-single column preprint format:
-
-\bigskip
-\src{See equation (6)}
-\def\rulecolor{blue!70}
-\includeclip{4}{134 391 483 594}{els1.pdf}
-\def\rulecolor{orange}
-
-\bigskip
-\noindent When this document is typeset for publication in a
-model 3+ journal with double columns, the equation will overlap
-the second column text matter if the equation is not broken at
-the appropriate location.
-
-\newpage\vspace*{-18pt}
-\def\rulecolor{blue!70}
-\src{See equation (6) overprints into second column}
-\includeclip{3}{61 531 532 734}{els-3pd.pdf}
-\def\rulecolor{orange}
-
-\medskip
-
-\noindent The typesetter will try to break the equation which
-need not necessarily be to the liking of the author or as it
-happens, typesetter's break point may be semantically incorrect.
-Therefore, authors may check their submissions for the incidence
-of such long equations and break the equations at the correct
-places so that the final typeset copy will be as they wish.
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Tooltip 6
-%%
-\begin{toolwrite}{10cm}
-\centering
- {\ttfamily\bs includegraphics[width=3in,angle=45]\lb
- tiger.pdf\rb}\\
- \hspace*{-1cm}
- \includegraphics[width=3in,angle=45,origin=c]{tiger.pdf}\\
- \raggedright
- \textbf{Fig.~1.}~~More details on the usage of {\ttfamily\bs
- includegraphics} can be found in the \textsf{grfguide.ps} of the
- \LaTeX{} documentation.
-\end{toolwrite}
-
-%%
-%% tooltip 7
-%%
-\begin{toolwrite}{15cm}
-\raggedright
-\begin{enumerate}[{[1]}]
-\item Knuth, D.E., \emph{TeX: The Program}, Computers \&
-Typesetting; B., 1995, Addisson-Wesley Publishing Co., Inc., New
-York.
-\end{enumerate}
-\end{toolwrite}
-
-%%
-%% tooltip 8
-%%
-%\begin{toolwrite}{15cm}
-%\includegraphics[page=1,viewport=104 124 492 712]{els-1p.pdf}
-%\end{toolwrite}
-
-%</mydoc>
-%<mydoc> \end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%<*num>
-%%% Modification of BibTeX style file elsarticle-num.bst
-%%% ... by urlbst, version 0.6 (marked with "% urlbst")
-%%% See <http://purl.org/nxg/dist/urlbst>
-%%% Added webpage entry type, and url and lastchecked fields.
-%%% Added eprint support.
-%%% Added DOI support.
-%%% Added hyperref support.
-%%% Original headers follow...
-
-%%
-%% This is file `elsarticle-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)
-
-%% ----------------------------------------
-
-ENTRY
- { address
- author
- booktitle
- chapter
- edition
- editor
- howpublished
- institution
- journal
- key
- month
- note
- number
- organization
- pages
- publisher
- school
- series
- title
- type
- volume
- year
- eprint % urlbst
- doi % urlbst
- url % urlbst
- lastchecked % urlbst
- }
+\@ifpackageloaded{amsrefs}%
{}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl openinlinelink closeinlinelink } % urlbst...
-INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver }
-% Following constants may be adjusted by hand, if desired
-FUNCTION {init.urlbst.variables}
-{
- "Available from: " 'urlintro := % prefix before URL
- "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
- "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
- "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
- "doi:" 'doiprefix := % text prefix printed before DOI ref
- #1 'addeprints := % 0=no eprints; 1=include eprints
- #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
- #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
- #1 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
- % the following are internal state variables, not config constants
- #0 'makeinlinelink := % state variable managed by setup.inlinelink
- "" 'openinlinelink := % ditto
- "" 'closeinlinelink := % ditto
-}
-INTEGERS {
- bracket.state
- outside.brackets
- open.brackets
- within.brackets
- close.brackets
-}
-% ...urlbst to here
-FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst
- #1 'open.brackets :=
- #2 'within.brackets :=
- #3 'close.brackets :=
-
- #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-STRINGS { s t }
-
-% urlbst
-FUNCTION {output.nonnull.original}
-{ '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
-}
-
-% urlbst...
-% The following three functions are for handling inlinelink. They wrap
-% a block of text which is potentially output with write$ by multiple
-% other functions, so we don't know the content a priori.
-% They communicate between each other using the variables makeinlinelink
-% (which is true if a link should be made), and closeinlinelink (which holds
-% the string which should close any current link. They can be called
-% at any time, but start.inlinelink will be a no-op unless something has
-% previously set makeinlinelink true, and the two ...end.inlinelink functions
-% will only do their stuff if start.inlinelink has previously set
-% closeinlinelink to be non-empty.
-FUNCTION {setup.inlinelink}
-{ makeinlinelink
- { hrefform #1 = % hypertex
- { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
- "\special {html:</a>}" 'closeinlinelink :=
- }
- { hrefform #2 = % hyperref
- { "\href{" url * "}{" * 'openinlinelink :=
- "}" 'closeinlinelink :=
- }
- 'skip$
- if$ % hrefform #2 =
- }
- if$ % hrefform #1 =
- #0 'makeinlinelink :=
- }
- 'skip$
- if$ % makeinlinelink
-}
-FUNCTION {add.inlinelink}
-{ openinlinelink empty$
- 'skip$
- { openinlinelink swap$ * closeinlinelink *
- "" 'openinlinelink :=
- }
- if$
-}
-FUNCTION {output.nonnull}
-{ % Save the thing we've been asked to output
- 's :=
- % If the bracket-state is close.brackets, then add a close-bracket to
- % what is currently at the top of the stack, and set bracket.state
- % to outside.brackets
- bracket.state close.brackets =
- { "]" *
- outside.brackets 'bracket.state :=
- }
- 'skip$
- if$
- bracket.state outside.brackets =
- { % We're outside all brackets -- this is the normal situation.
- % Write out what's currently at the top of the stack, using the
- % original output.nonnull function.
- s
- add.inlinelink
- output.nonnull.original % invoke the original output.nonnull
- }
- { % Still in brackets. Add open-bracket or (continuation) comma, add the
- % new text (in s) to the top of the stack, and move to the close-brackets
- % state, ready for next time (unless inbrackets resets it). If we come
- % into this branch, then output.state is carefully undisturbed.
- bracket.state open.brackets =
- { " [" * }
- { ", " * } % bracket.state will be within.brackets
- if$
- s *
- close.brackets 'bracket.state :=
- }
- if$
-}
-
-% Call this function just before adding something which should be presented in
-% brackets. bracket.state is handled specially within output.nonnull.
-FUNCTION {inbrackets}
-{ bracket.state close.brackets =
- { within.brackets 'bracket.state := } % reset the state: not open nor closed
- { open.brackets 'bracket.state := }
- if$
-}
-
-FUNCTION {format.lastchecked}
-{ lastchecked empty$
- { "" }
- { inbrackets "cited " lastchecked * }
- if$
-}
-% ...urlbst to here
-
-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.original}
-{ 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.original}
-{ 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
-}
-
-% urlbst...
-% Functions for making hypertext links.
-% In all cases, the stack has (link-text href-url)
+ {\let\bibsection\relax%
+ \AtBeginDocument{\def\cites@b#1#2,#3{%
+ \begingroup[%
+ \toks@{\InnerCite{#2}#1}%
+ \ifx\@empty#3\@xp\@gobble\fi
+ \cites@c#3%
+}}}
%
-% make 'null' specials
-FUNCTION {make.href.null}
-{
- pop$
-}
-% make hypertex specials
-FUNCTION {make.href.hypertex}
-{
- "\special {html:<a href=" quote$ *
- swap$ * quote$ * "> }" * swap$ *
- "\special {html:</a>}" *
-}
-% make hyperref specials
-FUNCTION {make.href.hyperref}
-{
- "\href {" swap$ * "} {\path{" * swap$ * "}}" *
-}
-FUNCTION {make.href}
-{ hrefform #2 =
- 'make.href.hyperref % hrefform = 2
- { hrefform #1 =
- 'make.href.hypertex % hrefform = 1
- 'make.href.null % hrefform = 0 (or anything else)
- if$
- }
- if$
-}
-
-% If inlinelinks is true, then format.url should be a no-op, since it's
-% (a) redundant, and (b) could end up as a link-within-a-link.
-FUNCTION {format.url}
-{ inlinelinks #1 = url empty$ or
- { "" }
- { hrefform #1 =
- { % special case -- add HyperTeX specials
- urlintro "\url{" url * "}" * url make.href.hypertex * }
- { urlintro "\url{" * url * "}" * }
- if$
- }
- if$
-}
-
-FUNCTION {format.eprint}
-{ eprint empty$
- { "" }
- { eprintprefix eprint * eprinturl eprint * make.href }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$
- { "" }
- { doiprefix doi * doiurl doi * make.href }
- if$
-}
-
-% Output a URL. We can't use the more normal idiom (something like
-% `format.url output'), because the `inbrackets' within
-% format.lastchecked applies to everything between calls to `output',
-% so that `format.url format.lastchecked * output' ends up with both
-% the URL and the lastchecked in brackets.
-FUNCTION {output.url}
-{ url empty$
- 'skip$
- { new.block
- format.url output
- format.lastchecked output
- }
- if$
-}
-
-FUNCTION {output.web.refs}
-{
- new.block
- output.url
- addeprints eprint empty$ not and
- { format.eprint output.nonnull }
- 'skip$
- if$
- adddoiresolver doi empty$ not and
- { format.doi output.nonnull }
- 'skip$
- if$
-}
-
-% Wrapper for output.bibitem.original.
-% If the URL field is not empty, set makeinlinelink to be true,
-% so that an inline link will be started at the next opportunity
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state :=
- output.bibitem.original
- inlinelinks url empty$ not and
- { #1 'makeinlinelink := }
- { #0 'makeinlinelink := }
- if$
-}
-
-% Wrapper for fin.entry.original
-FUNCTION {fin.entry}
-{ output.web.refs % urlbst
- makeinlinelink % ooops, it appears we didn't have a title for inlinelink
- { setup.inlinelink % add some artificial link text here, as a fallback
- "[link]" output.nonnull }
- 'skip$
- if$
- bracket.state close.brackets = % urlbst
- { "]" * }
- 'skip$
- if$
- fin.entry.original
-}
-
-% Webpage entry type.
-% Title and url fields required;
-% author, note, year, month, and lastchecked fields optional
-% See references
-% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
-% http://www.classroom.net/classroom/CitingNetResources.html
-% http://neal.ctstateu.edu/history/cite.html
-% http://www.cas.usf.edu/english/walker/mla.html
-% for citation formats for web pages.
-FUNCTION {webpage}
-{ output.bibitem
- author empty$
- { editor empty$
- 'skip$ % author and editor both optional
- { format.editors output.nonnull }
- if$
- }
- { editor empty$
- { format.authors output.nonnull }
- { "can't use both author and editor fields in " cite$ * warning$ }
- if$
- }
- if$
- new.block
- title empty$ 'skip$ 'setup.inlinelink if$
- format.title "title" output.check
- inbrackets "online" output
- new.block
- year empty$
- 'skip$
- { format.date "year" output.check }
- if$
- % We don't need to output the URL details ('lastchecked' and 'url'),
- % because fin.entry does that for us, using output.web.refs. The only
- % reason we would want to put them here is if we were to decide that
- % they should go in front of the rather miscellaneous information in 'note'.
- new.block
- note output
- fin.entry
-}
-% ...urlbst to here
-
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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$
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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
- title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
- 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$
- "\expandafter\ifx\csname href\endcsname\relax"
- write$ newline$
- " \def\href#1#2{#2} \def\path#1{#1}\fi"
- write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.urlbst.variables}
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-%% End of customized bst file
-%%
-%</num>
-% \end{macrocode}
-% \begin{macrocode}
-%<*numnames>
-%%
-%% This is file `elsearticle-num-names.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% merlin.mbs (with options: `head,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% english.mbs (with options: `exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% merlin.mbs (with options: `tail,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% ----------------------------------------
-%% *** Journal of Sound and Vibration ***
-%%
-%% Copyright 1994-2004 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}[2004/02/09 4.13 (PWD, AO, DPC)]
- % For use with BibTeX version 0.99a or later
- %-------------------------------------------------------------------
-
-ENTRY
- { address
- author
- booktitle
- chapter
- doi
- edition
- editor
- eid
- howpublished
- institution
- isbn
- issn
- 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$
-}
-FUNCTION {add.blank}
-{ " " * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
- skip$
-}
-
-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}
-{ duplicate$ empty$
- { pop$ "" }
- { "\emph{" swap$ * "}" * }
- if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$
-}
-
-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.
- %-------------------------------------------------------------------
- % Begin module:
- % \ProvidesFile{english.mbs}[2003/11/06 4.2 (PWD)]
-
- % 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}
-{ "edn." }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "no." }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "" }
-
-FUNCTION {bbl.page}
-{ "" }
-
-FUNCTION {bbl.chapter}
-{ "chap." }
-
-FUNCTION {bbl.techrep}
-{ "Tech. Rep." }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-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."}
-
- % End module: english.mbs
-%% Copyright 1994-2004 Patrick W Daly
-MACRO {acmcs} {"ACM Computing Surveys"}
-
-MACRO {acta} {"Acta Informatica"}
-
-MACRO {cacm} {"Communications of the ACM"}
-
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
-
-MACRO {ibmsj} {"IBM Systems Journal"}
-
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
-
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
-
-MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
-
-MACRO {ipl} {"Information Processing Letters"}
-
-MACRO {jacm} {"Journal of the ACM"}
-
-MACRO {jcss} {"Journal of Computer and System Sciences"}
-
-MACRO {scp} {"Science of Computer Programming"}
-
-MACRO {sicomp} {"SIAM Journal on Computing"}
-
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
-
-MACRO {tods} {"ACM Transactions on Database Systems"}
-
-MACRO {tog} {"ACM Transactions on Graphics"}
-
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
-
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
-
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
-
-MACRO {tcs} {"Theoretical Computer Science"}
-FUNCTION {bibinfo.check}
-{ swap$
- duplicate$ missing$
- {
- pop$ pop$
- ""
- }
- { duplicate$ empty$
- {
- swap$ pop$
- }
- { swap$
- "\bibinfo{" swap$ * "}{" * swap$ * "}" *
- }
- if$
- }
- if$
-}
-FUNCTION {bibinfo.warn}
-{ swap$
- duplicate$ missing$
- {
- swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
- ""
- }
- { duplicate$ empty$
- {
- swap$ "empty " swap$ * " in " * cite$ * warning$
- }
- { swap$
- "\bibinfo{" swap$ * "}{" * swap$ * "}" *
- }
- if$
- }
- if$
-}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "\urlprefix\url{" url * "}" * }
- if$
-}
-
-STRINGS { bibinfo}
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {format.names}
-{ 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{f.~}{vv~}{ll}{, jj}"
- format.name$
- bibinfo bibinfo.check
- '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$
- } if$
-}
-FUNCTION {format.names.ed}
-{
- format.names
-}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
- if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
-}
-FUNCTION {get.bbl.editor}
-{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
-
-FUNCTION {format.editors}
-{ editor "editor" format.names duplicate$ empty$ 'skip$
- {
- " " *
- get.bbl.editor
- capitalize
- "(" swap$ * ")" *
- *
- }
- if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- "ISBN " swap$ *
- }
- if$
-}
-
-FUNCTION {format.issn}
-{ issn "issn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- "ISSN " swap$ *
- }
- if$
-}
-
- FUNCTION {format.doi}
- { doi "doi" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- "\doi{" swap$ * "}" *
- }
- 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$ * "note" bibinfo.check
- }
- if$
-}
-
-FUNCTION {format.title}
-{ title
- "title" bibinfo.check
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$
- 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
- " " * bbl.etal *
- }
- {
- numnames #2 >
- { "," * }
- 'skip$
- if$
- 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
- ":" *
- " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
- {
- "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????"
- }
- 'skip$
- if$
- extra.label *
-}
-FUNCTION{format.year}
-{ year "year" bibinfo.check duplicate$ empty$
- { "empty year in " cite$ *
- "; set to ????" *
- warning$
- pop$ "????"
- }
- {
- }
- if$
- extra.label *
- "(" swap$ * ")" *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- }
- if$
-}
-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.prefix
- "volume" bibinfo.check * *
- series "series" bibinfo.check
- duplicate$ empty$ 'pop$
- { swap$ bbl.of space.word * swap$
- emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { number "number" bibinfo.check }
- { output.state mid.sentence =
- { bbl.number }
- { bbl.number capitalize }
- if$
- number tie.or.space.prefix "number" bibinfo.check * *
- bbl.in space.word *
- series "series" bibinfo.check *
- }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
- {
- output.state mid.sentence =
- { "l" }
- { "t" }
- if$ change.case$
- "edition" bibinfo.check
- " " * bbl.edition *
- }
- 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 duplicate$ empty$ 'skip$
- { duplicate$ multi.page.check
- {
- n.dashify
- }
- {
- }
- if$
- "pages" bibinfo.check
- }
- if$
-}
-FUNCTION {format.journal.pages}
-{ pages duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$
- { pop$ pop$ format.pages }
- {
- " " *
- format.year * " " *
- swap$
- n.dashify
- "pages" bibinfo.check
- *
- }
- if$
- }
- if$
-}
-FUNCTION {format.journal.eid}
-{ eid "eid" bibinfo.check
- duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$ 'skip$
- {
- " " *
- }
- if$
- swap$ *
- }
- if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- duplicate$ empty$ 'skip$
- {
- "volume" bibinfo.check
- }
- if$
- number "number" bibinfo.check duplicate$ empty$ 'skip$
- {
- swap$ duplicate$ empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- swap$
- "~(" swap$ * ")" *
- }
- if$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { "" }
- { type empty$
- { bbl.chapter }
- { type "l" change.case$
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- }
- if$
-}
-
-FUNCTION {format.booktitle}
-{
- booktitle "booktitle" bibinfo.check
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- {
- editor "editor" format.names.ed duplicate$ empty$ 'pop$
- {
- " " *
- get.bbl.editor
- capitalize
- "(" swap$ * "), " *
- * swap$
- * }
- if$
- word.in swap$ *
- }
- if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
- 'pop$
- { swap$ pop$
- "t" change.case$ "type" bibinfo.check
- }
- if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
- type duplicate$ empty$
- { pop$ bbl.techrep }
- 'skip$
- if$
- "type" bibinfo.check
- swap$ duplicate$ empty$
- { pop$ "t" change.case$ }
- { tie.or.space.prefix * * }
- if$
-}
-FUNCTION {format.article.crossref}
-{
- word.in
- " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- pop$ word.in
- }
- { bbl.volume
- swap$ tie.or.space.prefix "volume" bibinfo.check * * 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 "address" bibinfo.check *
- }
- { t *
- address empty$
- 'skip$
- { ", " * address "address" bibinfo.check * }
- if$
- }
- if$
- }
- if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.warn format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ organization "organization" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
- {
- journal
- "journal" bibinfo.check
- "journal" output.check
- add.blank
- format.vol.num.pages output
- }
- { format.article.crossref output.nonnull
- }
- if$
- eid empty$
- { format.journal.pages }
- { format.journal.eid }
- if$
- format.issn output
- format.doi output
- format.url output
- format.note output
- fin.entry
-}
-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.btitle "title" output.check
- crossref missing$
- { format.bvolume output
- format.number.series output
- format.publisher.address output
- }
- {
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.isbn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- author format.key output
- format.title "title" output.check
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- format.isbn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-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.btitle "title" output.check
- crossref missing$
- {
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- format.number.series output
- format.publisher.address output
- }
- {
- format.chapter.pages "chapter and pages" output.check
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- crossref missing$
- { format.isbn output }
- 'skip$
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- format.chapter.pages output
- format.publisher.address output
- format.edition output
- format.isbn output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
- format.isbn output
- format.issn output
- }
- { format.incoll.inproc.crossref output.nonnull
- }
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-FUNCTION {conference} { inproceedings }
-FUNCTION {manual}
-{ output.bibitem
- format.authors output
- author format.key output
- format.btitle "title" output.check
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.btitle
- "title" output.check
- bbl.mthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- author format.key output
- format.title output
- howpublished "howpublished" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.btitle
- "title" output.check
- bbl.phdthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- format.editors output
- editor format.key output
- format.btitle "title" output.check
- format.bvolume output
- format.number.series output
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
- format.isbn output
- format.issn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title
- "title" output.check
- format.tr.number output.nonnull
- institution "institution" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- format.doi output
- format.url output
- format.note "note" output.check
- format.date output
- fin.entry
-}
-
-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 :=
- "" 't :=
- 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$ "????" }
- { purify$ #-1 #4 substring$ }
- 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$
-}
-INTEGERS { seq.num }
-FUNCTION {init.seq}
-{ #0 'seq.num :=}
-EXECUTE {init.seq}
-FUNCTION {int.to.fix}
-{ "000000000" swap$ int.to.str$ *
- #-1 #10 substring$
-}
-FUNCTION {presort}
-{ calc.label
- label sortify
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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$
- "\providecommand{\natexlab}[1]{#1}"
- write$ newline$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\providecommand{\urlprefix}{URL }"
- write$ newline$
- "\expandafter\ifx\csname urlstyle\endcsname\relax"
- write$ newline$
- " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
- write$ newline$
- " \providecommand{\doi}[1]{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\url{#1}\endgroup}\fi"
- write$ newline$
- "\providecommand{\bibinfo}[2]{#2}"
- 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 `elsearticle-num-names.bst'.
-%</numnames>
-% \end{macrocode}
-% \begin{macrocode}
-%<*harvard>
-
- %%-------------------------------------------------------------------
- %% 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 `elsarticle-harv.bst'.
-%</harvard>
-% \end{macrocode}
-% \begin{macrocode}
-%<*harvtemplate>
-%% Template article for Elsevier's document class `elsarticle'
-%% with harvard style bibliographic references
-%% SP 2008/03/01
-
-\documentclass[preprint,12pt]{elsarticle}
-
-%% Use the option review to obtain double line spacing
-%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
-
-%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
-%% for a journal layout:
-%% \documentclass[final,1p,times]{elsarticle}
-%% \documentclass[final,1p,times,twocolumn]{elsarticle}
-%% \documentclass[final,3p,times]{elsarticle}
-%% \documentclass[final,3p,times,twocolumn]{elsarticle}
-%% \documentclass[final,5p,times]{elsarticle}
-%% \documentclass[final,5p,times,twocolumn]{elsarticle}
-
-%% 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 amsthm package provides extended theorem environments
-%% \usepackage{amsthm}
-
-%% 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}
-
-
-\journal{Nuclear Physics B}
-
-\begin{document}
-
-\begin{frontmatter}
-
-%% Title, authors and addresses
-
-%% use the tnoteref command within \title for footnotes;
-%% use the tnotetext command for theassociated footnote;
-%% use the fnref command within \author or \address for footnotes;
-%% use the fntext command for theassociated footnote;
-%% use the corref command within \author for corresponding author footnotes;
-%% use the cortext command for theassociated footnote;
-%% use the ead command for the email address,
-%% and the form \ead[url] for the home page:
-%% \title{Title\tnoteref{label1}}
-%% \tnotetext[label1]{}
-%% \author{Name\corref{cor1}\fnref{label2}}
-%% \ead{email address}
-%% \ead[url]{home page}
-%% \fntext[label2]{}
-%% \cortext[cor1]{}
-%% \address{Address\fnref{label3}}
-%% \fntext[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
-
-%% MSC codes here, in the form: \MSC code \sep code
-%% or \MSC[2008] code \sep code (2000 is the default)
-
-\end{keyword}
-
-\end{frontmatter}
-
-%% \linenumbers
-
-%% 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
-
-\bibitem{}
-
-\end{thebibliography}
-%</harvtemplate>
-%<harvtemplate>\end{document}
-
-% \end{macrocode}
-% \begin{macrocode}
-%<*numtemplate>
-%% Template article for Elsevier's document class `elsarticle'
-%% with numbered style bibliographic references
-%% SP 2008/03/01
-
-\documentclass[preprint,12pt]{elsarticle}
-
-%% Use the option review to obtain double line spacing
-%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
-
-%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
-%% for a journal layout:
-%% \documentclass[final,1p,times]{elsarticle}
-%% \documentclass[final,1p,times,twocolumn]{elsarticle}
-%% \documentclass[final,3p,times]{elsarticle}
-%% \documentclass[final,3p,times,twocolumn]{elsarticle}
-%% \documentclass[final,5p,times]{elsarticle}
-%% \documentclass[final,5p,times,twocolumn]{elsarticle}
-
-%% 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 amsthm package provides extended theorem environments
-%% \usepackage{amsthm}
-
-%% 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}
-
-
-\journal{Nuclear Physics B}
-
-\begin{document}
-
-\begin{frontmatter}
-
-%% Title, authors and addresses
-
-%% use the tnoteref command within \title for footnotes;
-%% use the tnotetext command for theassociated footnote;
-%% use the fnref command within \author or \address for footnotes;
-%% use the fntext command for theassociated footnote;
-%% use the corref command within \author for corresponding author footnotes;
-%% use the cortext command for theassociated footnote;
-%% use the ead command for the email address,
-%% and the form \ead[url] for the home page:
-%% \title{Title\tnoteref{label1}}
-%% \tnotetext[label1]{}
-%% \author{Name\corref{cor1}\fnref{label2}}
-%% \ead{email address}
-%% \ead[url]{home page}
-%% \fntext[label2]{}
-%% \cortext[cor1]{}
-%% \address{Address\fnref{label3}}
-%% \fntext[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
-
-%% MSC codes here, in the form: \MSC code \sep code
-%% or \MSC[2008] code \sep code (2000 is the default)
-
-\end{keyword}
-
-\end{frontmatter}
-
-%% \linenumbers
-
-%% 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
-
-\bibitem{}
-
-\end{thebibliography}
-%</numtemplate>
-%<numtemplate>\end{document}
-%
-% \end{macrocode}
-%
+%</class>
%
+% \end{macrocode}
% \Finale
\endinput