1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/.hgignore Fri Nov 18 16:18:02 2016 +0100
1.3 @@ -0,0 +1,28 @@
1.4 +syntax: glob
1.5 +*.obj
1.6 +*.orig
1.7 +*.rej
1.8 +*~
1.9 +*.o
1.10 +*.log
1.11 +*.lo
1.12 +*.tar.*
1.13 +*.bak
1.14 +doc/Doxyfile
1.15 +*.aux
1.16 +*.bbl
1.17 +*.blg
1.18 +*.dvi
1.19 +*.toc
1.20 +*.nav
1.21 +*.out
1.22 +*.snm
1.23 +*.spl
1.24 +*.zip
1.25 +damecco.pdf
1.26 +
1.27 +syntax: regexp
1.28 +(.*/)?\#[^/]*\#$
1.29 +(.*/)?\.\#[^/]*$
1.30 +^.*objs.*/.*
1.31 +^.*build.*/.*
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/damecco.tex Fri Nov 18 16:18:02 2016 +0100
2.3 @@ -0,0 +1,137 @@
2.4 +%%
2.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
2.6 +%%
2.7 +%% This file is part of the 'Elsarticle Bundle'.
2.8 +%% ---------------------------------------------
2.9 +%%
2.10 +%% It may be distributed under the conditions of the LaTeX Project Public
2.11 +%% License, either version 1.2 of this license or (at your option) any
2.12 +%% later version. The latest version of this license is in
2.13 +%% http://www.latex-project.org/lppl.txt
2.14 +%% and version 1.2 or later is part of all distributions of LaTeX
2.15 +%% version 1999/12/01 or later.
2.16 +%%
2.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
2.18 +%% given in the file `manifest.txt'.
2.19 +%%
2.20 +
2.21 +%% Template article for Elsevier's document class `elsarticle'
2.22 +%% with numbered style bibliographic references
2.23 +%% SP 2008/03/01
2.24 +
2.25 +\documentclass[preprint,12pt]{elsarticle}
2.26 +
2.27 +%% Use the option review to obtain double line spacing
2.28 +%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
2.29 +
2.30 +%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
2.31 +%% for a journal layout:
2.32 +%% \documentclass[final,1p,times]{elsarticle}
2.33 +%% \documentclass[final,1p,times,twocolumn]{elsarticle}
2.34 +%% \documentclass[final,3p,times]{elsarticle}
2.35 +%% \documentclass[final,3p,times,twocolumn]{elsarticle}
2.36 +%% \documentclass[final,5p,times]{elsarticle}
2.37 +%% \documentclass[final,5p,times,twocolumn]{elsarticle}
2.38 +
2.39 +%% For including figures, graphicx.sty has been loaded in
2.40 +%% elsarticle.cls. If you prefer to use the old commands
2.41 +%% please give \usepackage{epsfig}
2.42 +
2.43 +%% The amssymb package provides various useful mathematical symbols
2.44 +\usepackage{amssymb}
2.45 +%% The amsthm package provides extended theorem environments
2.46 +%% \usepackage{amsthm}
2.47 +
2.48 +%% The lineno packages adds line numbers. Start line numbering with
2.49 +%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
2.50 +%% for the whole article with \linenumbers.
2.51 +%% \usepackage{lineno}
2.52 +
2.53 +\journal{Nuclear Physics B}
2.54 +
2.55 +\begin{document}
2.56 +
2.57 +\begin{frontmatter}
2.58 +
2.59 +%% Title, authors and addresses
2.60 +
2.61 +%% use the tnoteref command within \title for footnotes;
2.62 +%% use the tnotetext command for theassociated footnote;
2.63 +%% use the fnref command within \author or \address for footnotes;
2.64 +%% use the fntext command for theassociated footnote;
2.65 +%% use the corref command within \author for corresponding author footnotes;
2.66 +%% use the cortext command for theassociated footnote;
2.67 +%% use the ead command for the email address,
2.68 +%% and the form \ead[url] for the home page:
2.69 +%% \title{Title\tnoteref{label1}}
2.70 +%% \tnotetext[label1]{}
2.71 +%% \author{Name\corref{cor1}\fnref{label2}}
2.72 +%% \ead{email address}
2.73 +%% \ead[url]{home page}
2.74 +%% \fntext[label2]{}
2.75 +%% \cortext[cor1]{}
2.76 +%% \address{Address\fnref{label3}}
2.77 +%% \fntext[label3]{}
2.78 +
2.79 +\title{}
2.80 +
2.81 +%% use optional labels to link authors explicitly to addresses:
2.82 +%% \author[label1,label2]{}
2.83 +%% \address[label1]{}
2.84 +%% \address[label2]{}
2.85 +
2.86 +\author{}
2.87 +
2.88 +\address{}
2.89 +
2.90 +\begin{abstract}
2.91 +%% Text of abstract
2.92 +
2.93 +\end{abstract}
2.94 +
2.95 +\begin{keyword}
2.96 +%% keywords here, in the form: keyword \sep keyword
2.97 +
2.98 +%% PACS codes here, in the form: \PACS code \sep code
2.99 +
2.100 +%% MSC codes here, in the form: \MSC code \sep code
2.101 +%% or \MSC[2008] code \sep code (2000 is the default)
2.102 +
2.103 +\end{keyword}
2.104 +
2.105 +\end{frontmatter}
2.106 +
2.107 +%% \linenumbers
2.108 +
2.109 +%% main text
2.110 +\section{}
2.111 +\label{}
2.112 +
2.113 +%% The Appendices part is started with the command \appendix;
2.114 +%% appendix sections are then done as normal sections
2.115 +%% \appendix
2.116 +
2.117 +%% \section{}
2.118 +%% \label{}
2.119 +
2.120 +%% If you have bibdatabase file and want bibtex to generate the
2.121 +%% bibitems, please use
2.122 +%%
2.123 +%% \bibliographystyle{elsarticle-num}
2.124 +%% \bibliography{<your bibdatabase>}
2.125 +
2.126 +%% else use the following coding to input the bibitems directly in the
2.127 +%% TeX file.
2.128 +
2.129 +\begin{thebibliography}{00}
2.130 +
2.131 +%% \bibitem{label}
2.132 +%% Text of bibliographic item
2.133 +
2.134 +\bibitem{}
2.135 +
2.136 +\end{thebibliography}
2.137 +\end{document}
2.138 +\endinput
2.139 +%%
2.140 +%% End of file `elsarticle-template-num.tex'.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/elsarticle/README Fri Nov 18 16:18:02 2016 +0100
3.3 @@ -0,0 +1,46 @@
3.4 +This is Elsevier's new document class for typeset journal articles,
3.5 +elsarticle.cls. It is now accepted for submitted articles, both in
3.6 +Elsevier's electronic submission system and elsewhere.
3.7 +
3.8 +Elsevier's previous document class for typeset articles, elsart.cls,
3.9 +is now over 10 years old. It has been replaced with this newly written
3.10 +document class elsarticle.cls, which has been developed for Elsevier
3.11 +by the leading TeX developer River Valley Technologies.
3.12 +
3.13 +elsarticle.cls is based upon the standard LaTeX document class
3.14 +article.cls. It uses natbib.sty for bibliographical references.
3.15 +
3.16 +Bugs and problems with elsarticle.cls may be reported to the
3.17 +developers of the class via elsarticle@river-valley.com.
3.18 +
3.19 +The file manifest.txt provides a list of the files in the elsarticle
3.20 +bundle. The following are the main files available:
3.21 +- elsarticle.cls, the class file
3.22 +- elsdoc.pdf, the user documentation
3.23 +- elsarticle-template-num.tex, template file for numerical references
3.24 +- elsarticle-template-harv.tex, template file for name-year references
3.25 +- elsarticle-num.bst, bibliographic style for numerical references
3.26 +- elsarticle-harv.bst, bibliographic style for name-year references
3.27 +- elsarticle-num-names.bst, bibliographic style for numerical references
3.28 + with author-year citation
3.29 +
3.30 +To extract all files from *.dtx: latex elsarticle.ins
3.31 +
3.32 +The documentation file is elsdoc.tex in the contrib directory. To
3.33 +compile it:
3.34 +1. pdflatex elsdoc
3.35 +2. pdflatex elsdoc
3.36 +3. pdflatex elsdoc
3.37 +
3.38 +or
3.39 +
3.40 +use the makefile. Use the target `all' (eg: make all).
3.41 +
3.42 +The above procedure will create a print version, namely elsdoc.pdf.
3.43 +
3.44 +Copyright 2007-2009, Elsevier. Bugs, feature requests, suggestions and
3.45 +comments may be mailed to elsarticle@river-valley.com. elsarticle.cls,
3.46 +related documentation and supporting packages are released under the
3.47 +LATEX Project Public Licence, either version 1.3 or any later
3.48 +version. This work has the LPPL maintenance status
3.49 +'author-maintained'.
4.1 Binary file elsarticle/doc/els-1p.pdf has changed
5.1 Binary file elsarticle/doc/els-3pd.pdf has changed
6.1 Binary file elsarticle/doc/els1.pdf has changed
7.1 Binary file elsarticle/doc/els2.pdf has changed
8.1 Binary file elsarticle/doc/elsdoc.pdf has changed
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/elsarticle/doc/elsdoc.tex Fri Nov 18 16:18:02 2016 +0100
9.3 @@ -0,0 +1,729 @@
9.4 +%%
9.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
9.6 +%%
9.7 +%% This file is part of the 'Elsarticle Bundle'.
9.8 +%% ---------------------------------------------
9.9 +%%
9.10 +%% It may be distributed under the conditions of the LaTeX Project Public
9.11 +%% License, either version 1.2 of this license or (at your option) any
9.12 +%% later version. The latest version of this license is in
9.13 +%% http://www.latex-project.org/lppl.txt
9.14 +%% and version 1.2 or later is part of all distributions of LaTeX
9.15 +%% version 1999/12/01 or later.
9.16 +%%
9.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
9.18 +%% given in the file `manifest.txt'.
9.19 +%%
9.20 +\documentclass[a4paper,12pt]{article}
9.21 +
9.22 +\usepackage[xcolor,qtwo]{rvdtx}
9.23 +\usepackage{multicol}
9.24 +\usepackage{color}
9.25 +\usepackage{xspace}
9.26 +\usepackage{pdfwidgets}
9.27 +\usepackage{enum}
9.28 +
9.29 +\def\ttdefault{cmtt}
9.30 +
9.31 +\headsep4pc
9.32 +
9.33 +\makeatletter
9.34 +\def\bs{\expandafter\@gobble\string\\}
9.35 +\def\lb{\expandafter\@gobble\string\{}
9.36 +\def\rb{\expandafter\@gobble\string\}}
9.37 +\def\@pdfauthor{C.V.Radhakrishnan}
9.38 +\def\@pdftitle{elsarticle.cls -- A documentation}
9.39 +\def\@pdfsubject{Document formatting with elsarticle.cls}
9.40 +\def\@pdfkeywords{LaTeX, Elsevier Ltd, document class}
9.41 +\def\file#1{\textsf{#1}\xspace}
9.42 +
9.43 +%\def\LastPage{19}
9.44 +
9.45 +\DeclareRobustCommand{\LaTeX}{L\kern-.26em%
9.46 + {\sbox\z@ T%
9.47 + \vbox to\ht\z@{\hbox{\check@mathfonts
9.48 + \fontsize\sf@size\z@
9.49 + \math@fontsfalse\selectfont
9.50 + A\,}%
9.51 + \vss}%
9.52 + }%
9.53 + \kern-.15em%
9.54 + \TeX}
9.55 +\makeatother
9.56 +
9.57 +\def\figurename{Clip}
9.58 +
9.59 +\begin{document}
9.60 +
9.61 +\def\testa{This is a specimen document. }
9.62 +\def\testc{\testa\testa\testa\testa}
9.63 +\def\testb{\testc\testc\testc\testc\testc}
9.64 +\long\def\test{\testb\par\testb\par\testb\par}
9.65 +
9.66 +\pinclude{\copy\contbox\printSq{\LastPage}}
9.67 +
9.68 +\title{elsarticle.cls -- A better way to format your document}
9.69 +
9.70 +\author{Elsevier Ltd}
9.71 +\contact{elsarticle@river-valley.com}
9.72 +
9.73 +\version{1.20}
9.74 +\date{\today}
9.75 +\maketitle
9.76 +
9.77 +\section{Introduction}
9.78 +%\hypertarget{introduction}{}
9.79 +
9.80 +\file{elsarticle.cls} is a thoroughly re-written document class
9.81 +for formatting \LaTeX{} submissions to Elsevier journals.
9.82 +The class uses the environments and commands defined in \LaTeX{} kernel
9.83 +without any change in the signature so that clashes with other
9.84 +contributed \LaTeX{} packages such as \file{hyperref.sty},
9.85 +\file{preview-latex.sty}, etc., will be minimal.
9.86 +\file{elsarticle.cls} is primarily built upon the default
9.87 +\file{article.cls}. This class depends on the following packages
9.88 +for its proper functioning:
9.89 +
9.90 +\begin{enumerate}
9.91 +\item \file{pifont.sty} for openstar in the title footnotes;
9.92 +\item \file{natbib.sty} for citation processing;
9.93 +\item \file{geometry.sty} for margin settings;
9.94 +\item \file{fleqn.clo} for left aligned equations;
9.95 +\item \file{graphicx.sty} for graphics inclusion;
9.96 +\item \file{txfonts.sty} optional font package, if the document is to
9.97 + be formatted with Times and compatible math fonts;
9.98 +\item \file{hyperref.sty} optional packages if hyperlinking is
9.99 + required in the document.
9.100 +
9.101 +\end{enumerate}
9.102 +
9.103 +All the above packages are part of any standard \LaTeX{} installation.
9.104 +Therefore, the users need not be bothered about downloading any
9.105 +extra packages. Furthermore, users are free to make use of \textsc{ams}
9.106 +math packages such as \file{amsmath.sty}, \file{amsthm.sty},
9.107 +\file{amssymb.sty}, \file{amsfonts.sty}, etc., if they want to. All
9.108 +these packages work in tandem with \file{elsarticle.cls} without
9.109 +any problems.
9.110 +
9.111 +\section{Major Differences}
9.112 +%\hypertarget{majordifferences}{}
9.113 +
9.114 +Following are the major differences between \file{elsarticle.cls}
9.115 +and its predecessor package, \file{elsart.cls}:
9.116 +
9.117 +\begin{enumerate}[\textbullet]
9.118 +\item \file{elsarticle.cls} is built upon \file{article.cls}
9.119 +while \file{elsart.cls} is not. \file{elsart.cls} redefines
9.120 +many of the commands in the \LaTeX{} classes/kernel, which can
9.121 +possibly cause surprising clashes with other contributed
9.122 +\LaTeX{} packages;
9.123 +
9.124 +\item provides preprint document formatting by default, and
9.125 +optionally formats the document as per the final
9.126 +style of models $1+$, $3+$ and $5+$ of Elsevier journals;
9.127 +
9.128 +\item some easier ways for formatting \verb+list+ and
9.129 +\verb+theorem+ environments are provided while people can still
9.130 +use \file{amsthm.sty} package;
9.131 +
9.132 +\item \file{natbib.sty} is the main citation processing package
9.133 + which can comprehensively handle all kinds of citations and
9.134 +works perfectly with \file{hyperref.sty} in combination with
9.135 +\file{hypernat.sty};
9.136 +
9.137 +\item long title pages are processed correctly in preprint and
9.138 + final formats.
9.139 +
9.140 +\end{enumerate}
9.141 +
9.142 +\section{Installation}
9.143 +%\hypertarget{installation}{}
9.144 +
9.145 +The package is available at author resources page at Elsevier
9.146 +(\url{http://www.elsevier.com/locate/latex}).
9.147 +It can also be found in any of the nodes of the Comprehensive
9.148 +\TeX{} Archive Network (\textsc{ctan}), one of the primary nodes
9.149 +being
9.150 +\url{http://www.ctan.org/tex-archive/macros/latex/contrib/elsevier/}.
9.151 +Please download the \file{elsarticle.dtx} which is a composite
9.152 +class with documentation and \file{elsarticle.ins} which is the
9.153 +\LaTeX{} installer file. When we compile the
9.154 +\file{elsarticle.ins} with \LaTeX{} it provides the class file,
9.155 +\file{elsarticle.cls} by
9.156 +stripping off all the documentation from the \verb+*.dtx+ file.
9.157 +The class may be moved or copied to a place, usually,
9.158 +\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9.159 +or a folder which will be read
9.160 +by \LaTeX{} during document compilation. The \TeX{} file
9.161 +database needs updation after moving/copying class file. Usually,
9.162 +we use commands like \verb+mktexlsr+ or \verb+texhash+ depending
9.163 +upon the distribution and operating system.
9.164 +
9.165 +
9.166 +\section{Usage}\label{sec:usage}
9.167 +%\hypertarget{usage}{}
9.168 +The class should be loaded with the command:
9.169 +
9.170 +\begin{vquote}
9.171 + \documentclass[<options>]{elsarticle}
9.172 +\end{vquote}
9.173 +
9.174 +\noindent where the \verb+options+ can be the following:
9.175 +
9.176 +\begin{description}
9.177 +
9.178 +\item [{\tt\color{verbcolor} preprint}] default option which format the
9.179 + document for submission to Elsevier journals.
9.180 +
9.181 +\item [{\tt\color{verbcolor} review}] similar to the \verb+preprint+ option, but
9.182 + increases the baselineskip to facilitate easier review process.
9.183 +
9.184 +\item [{\tt\color{verbcolor} 1p}] formats the article to the look and feel of the final
9.185 + format of model 1+ journals. This is always single column style.
9.186 +
9.187 +\item [{\tt\color{verbcolor} 3p}] formats the article to the look and feel of the final
9.188 + format of model 3+ journals. If the journal is a two column
9.189 +model, use \verb+twocolumn+ option in combination.
9.190 +
9.191 +\item [{\tt\color{verbcolor} 5p}] formats for model 5+ journals. This is always
9.192 + of two column style.
9.193 +
9.194 +\item [{\tt\color{verbcolor} authoryear}] author-year citation style of
9.195 + \file{natbib.sty}. If you want to add extra options of
9.196 +\file{natbib.sty}, you may use the options as comma delimited
9.197 +strings as arguments to \verb+\biboptions+ command. An example
9.198 +would be:
9.199 +\end{description}
9.200 +\begin{vquote}
9.201 + \biboptions{longnamesfirst,angle,semicolon}
9.202 +\end{vquote}
9.203 +
9.204 +\begin{description}
9.205 +\item [{\tt\color{verbcolor} number}] numbered citation style. Extra options
9.206 + can be loaded with\linebreak \verb+\biboptions+ command.
9.207 +
9.208 +\item [{\tt\color{verbcolor} sort\&compress}] sorts and compresses the
9.209 +numbered citations. For example, citation [1,2,3] will become [1--3].
9.210 +
9.211 +\item [{\tt\color{verbcolor} longtitle}] if front matter is unusually long, use
9.212 + this option to split the title page across pages with the correct
9.213 +placement of title and author footnotes in the first page.
9.214 +
9.215 +\item [{\tt\color{verbcolor} times}] loads \file{txfonts.sty}, if available in
9.216 + the system to use Times and compatible math fonts.
9.217 +
9.218 +\item[] All options of \file{article.cls} can be used with this
9.219 + document class.
9.220 +
9.221 +\item[] The default options loaded are \verb+a4paper+, \verb+10pt+,
9.222 + \verb+oneside+, \verb+onecolumn+ and \verb+preprint+.
9.223 +
9.224 +\end{description}
9.225 +
9.226 +\section{Frontmatter}
9.227 +%\hypertarget{preamble}{}
9.228 +
9.229 +There are two types of frontmatter coding:
9.230 +\begin{enumerate}[(1)]
9.231 +\item each author is
9.232 +connected to an affiliation with a footnote marker; hence all
9.233 +authors are grouped together and affiliations follow;
9.234 +\item authors of same affiliations are grouped together and the
9.235 +relevant affiliation follows this group. An example coding of the first
9.236 +type is provided below.
9.237 +\end{enumerate}
9.238 +
9.239 +\begin{vquote}
9.240 + \title{This is a specimen title\tnoteref{t1,t2}}
9.241 + \tnotetext[t1]{This document is a collaborative effort.}
9.242 + \tnotetext[t2]{The second title footnote which is a longer
9.243 + longer than the first one and with an intention to fill
9.244 + in up more than one line while formatting.}
9.245 +\end{vquote}
9.246 +
9.247 +\begin{vquote}
9.248 + \author[rvt]{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
9.249 + \ead{cvr@river-valley.com}
9.250 +
9.251 + \author[rvt,focal]{K.~Bazargan\fnref{fn2}}
9.252 + \ead{kaveh@river-valley.com}
9.253 +
9.254 + \author[els]{S.~Pepping\corref{cor2}\fnref{fn1,fn3}}
9.255 + \ead[url]{http://www.elsevier.com}
9.256 +\end{vquote}
9.257 +
9.258 +\begin{vquote}
9.259 + \cortext[cor1]{Corresponding author}
9.260 + \cortext[cor2]{Principal corresponding author}
9.261 + \fntext[fn1]{This is the specimen author footnote.}
9.262 + \fntext[fn2]{Another author footnote, but a little more
9.263 + longer.}
9.264 + \fntext[fn3]{Yet another author footnote. Indeed, you can have
9.265 + any number of author footnotes.}
9.266 +
9.267 + \address[rvt]{River Valley Technologies, SJP Building,
9.268 + Cotton Hills, Trivandrum, Kerala, India 695014}
9.269 + \address[focal]{River Valley Technologies, 9, Browns Court,
9.270 + Kennford, Exeter, United Kingdom}
9.271 + \address[els]{Central Application Management,
9.272 + Elsevier, Radarweg 29, 1043 NX\\
9.273 + Amsterdam, Netherlands}
9.274 +
9.275 +\end{vquote}
9.276 +
9.277 +The output of the above TeX source is given in Clips~\ref{clip1} and
9.278 +\ref{clip2}. The header portion or title area is given in Clip~\ref{clip1} and
9.279 +the footer area is given in Clip~\ref{clip2}.
9.280 +
9.281 +\vspace*{6pt}
9.282 +\def\rulecolor{blue!70}
9.283 +\src{Header of the title page.}
9.284 +\includeclip{1}{132 571 481 690}{els1.pdf}
9.285 +\def\rulecolor{orange}
9.286 +
9.287 +%\vspace*{6pt}
9.288 +\def\rulecolor{blue!70}
9.289 +\src{Footer of the title page.}
9.290 +\includeclip{1}{122 129 481 237}{els1.pdf}
9.291 +\def\rulecolor{orange}
9.292 +\pagebreak
9.293 +
9.294 +Most of the commands such as \verb+\title+, \verb+\author+,
9.295 +\verb+\address+ are self explanatory. Various components are
9.296 +linked to each other by a label--reference mechanism; for
9.297 +instance, title footnote is linked to the title with a footnote
9.298 +mark generated by referring to the \verb+\label+ string of
9.299 +the \verb=\tnotetext=. We have used similar commands
9.300 +such as \verb=\tnoteref= (to link title note to title);
9.301 +\verb=\corref= (to link corresponding author text to
9.302 +corresponding author); \verb=\fnref= (to link footnote text to
9.303 +the relevant author names). \TeX{} needs two compilations to
9.304 +resolve the footnote marks in the preamble part.
9.305 +Given below are the syntax of various note marks and note texts.
9.306 +
9.307 +\begin{vquote}
9.308 + \tnoteref{<label(s)>}
9.309 + \corref{<label(s)>}
9.310 + \fnref{<label(s)>}
9.311 + \tnotetext[<label>]{<title note text>}
9.312 + \cortext[<label>]{<corresponding author note text>}
9.313 + \fntext[<label>]{<author footnote text>}
9.314 +\end{vquote}
9.315 +
9.316 +\noindent where \verb=<label(s)>= can be either one or more comma
9.317 +delimited label strings. The optional arguments to the
9.318 +\verb=\author= command holds the ref label(s) of the address(es)
9.319 +to which the author is affiliated while each \verb=\address=
9.320 +command can have an optional argument of a label. In the same
9.321 +manner, \verb=\tnotetext=, \verb=\fntext=, \verb=\cortext= will
9.322 +have optional arguments as their respective labels and note text
9.323 +as their mandatory argument.
9.324 +
9.325 +The following example code provides the markup of the second type
9.326 +of author-affiliation.
9.327 +%as seen in the output given in the
9.328 +%box to the right.
9.329 +%\pinclude{\def\rulecolor{blue!80}
9.330 +% \includeclip[width=3.25in]{1}{130 84 484 676}{els2.pdf}%
9.331 +% \def\rulecolor{orange}}
9.332 +
9.333 +\begin{vquote}
9.334 +\author{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
9.335 + \ead{cvr@river-valley.com}
9.336 + \address{River Valley Technologies, SJP Building,
9.337 + Cotton Hills, Trivandrum, Kerala, India 695014}
9.338 +\end{vquote}
9.339 +
9.340 +\begin{vquote}
9.341 +\author{K.~Bazargan\fnref{fn2}}
9.342 + \ead{kaveh@river-valley.com}
9.343 + \address{River Valley Technologies, 9, Browns Court, Kennford,
9.344 + Exeter, UK.}
9.345 +\end{vquote}
9.346 +
9.347 +\begin{vquote}
9.348 +\author{S.~Pepping\fnref{fn1,fn3}}
9.349 + \ead[url]{http://www.elsevier.com}
9.350 + \address{Central Application Management,
9.351 + Elsevier, Radarweg 43, 1043 NX Amsterdam, Netherlands}
9.352 +\end{vquote}
9.353 +
9.354 +\begin{vquote}
9.355 +\cortext[cor1]{Corresponding author}
9.356 +\fntext[fn1]{This is the first author footnote.}
9.357 +\fntext[fn2]{Another author footnote, this is a very long
9.358 + footnote and it should be a really long footnote. But this
9.359 + footnote is not yet sufficiently long enough to make two lines
9.360 + of footnote text.}
9.361 +\fntext[fn3]{Yet another author footnote.}
9.362 +\end{vquote}
9.363 +
9.364 +The output of the above TeX source is given in Clip~\ref{clip3}.
9.365 +
9.366 +\vspace*{12pt}
9.367 +\def\rulecolor{blue!70}
9.368 +\src{Header of the title page..}
9.369 +\includeclip{1}{132 491 481 690}{els2.pdf}
9.370 +\def\rulecolor{orange}
9.371 +
9.372 +
9.373 +The frontmatter part has further environments such as abstracts and
9.374 +keywords. These can be marked up in the following
9.375 +manner:
9.376 +
9.377 +%\verb+\begin{abstract}+ \dots \verb+\end{abstract}+ and
9.378 +%\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+ which
9.379 +%contain the abstract and keywords respectively.
9.380 +
9.381 +\begin{vquote}
9.382 + \begin{abstract}
9.383 + In this work we demonstrate the formation of a new type of
9.384 + polariton on the interface between a ....
9.385 + \end{abstract}
9.386 +\end{vquote}
9.387 +
9.388 +\begin{vquote}
9.389 + \begin{keyword}
9.390 + quadruple exiton \sep polariton \sep WGM
9.391 +
9.392 + \PACS 71.35.-y \sep 71.35.Lk \sep 71.36.+c
9.393 + \end{keyword}
9.394 +\end{vquote}
9.395 +
9.396 +\noindent Each keyword shall be separated by a \verb+\sep+ command.
9.397 +\textsc{pacs} and \textsc{msc} classifications shall be provided in
9.398 +the keyword environment with the commands \verb+\PACS+ and
9.399 +\verb+\MSC+ respectively. \verb+\MSC+ accepts an optional
9.400 +argument to accommodate future revisions.
9.401 +eg., \verb=\MSC[2008]=. The default is 2000.\looseness=-1
9.402 +
9.403 +
9.404 +\section{Floats}
9.405 +{Figures} may be included using the command, \verb+\includegraphics+ in
9.406 +combination with or without its several options to further control
9.407 +graphic. \verb+\includegraphics+ is provided by \file{graphic[s,x].sty}
9.408 +which is part of any standard \LaTeX{} distribution.
9.409 +\file{graphicx.sty} is loaded by default. \LaTeX{} accepts figures in
9.410 +the postscript format while pdf\LaTeX{} accepts \file{*.pdf},
9.411 +\file{*.mps} (metapost), \file{*.jpg} and \file{*.png} formats.
9.412 +pdf\LaTeX{} does not accept graphic files in the postscript format.
9.413 +
9.414 +The \verb+table+ environment is handy for marking up tabular
9.415 +material. If users want to use \file{multirow.sty},
9.416 +\file{array.sty}, etc., to fine control/enhance the tables, they
9.417 +are welcome to load any package of their choice and
9.418 +\file{elsarticle.cls} will work in combination with all loaded
9.419 +packages.
9.420 +
9.421 +\section[Theorem and ...]{Theorem and theorem like environments}
9.422 +
9.423 +\file{elsarticle.cls} provides a few shortcuts to format theorems and
9.424 +theorem-like environments with ease. In all commands the options that
9.425 +are used with the \verb+\newtheorem+ command will work exactly in the same
9.426 +manner. \file{elsarticle.cls} provides three commands to format theorem or
9.427 +theorem-like environments:
9.428 +
9.429 +\begin{vquote}
9.430 + \newtheorem{thm}{Theorem}
9.431 + \newtheorem{lem}[thm]{Lemma}
9.432 + \newdefinition{rmk}{Remark}
9.433 + \newproof{pf}{Proof}
9.434 + \newproof{pot}{Proof of Theorem \ref{thm2}}
9.435 +\end{vquote}
9.436 +
9.437 +The \verb+\newtheorem+ command formats a
9.438 +theorem in \LaTeX's default style with italicized font, bold font
9.439 +for theorem heading and theorem number at the right hand side of the
9.440 +theorem heading. It also optionally accepts an argument which
9.441 +will be printed as an extra heading in parentheses.
9.442 +
9.443 +\begin{vquote}
9.444 + \begin{thm}
9.445 + For system (8), consensus can be achieved with $\|T_{\omega z}$
9.446 + ...
9.447 + \begin{eqnarray}\label{10}
9.448 + ....
9.449 + \end{eqnarray}
9.450 + \end{thm}
9.451 +\end{vquote}
9.452 +
9.453 +Clip~\ref{clip4} will show you how some text enclosed between the
9.454 +above code looks like:
9.455 +
9.456 +\vspace*{6pt}
9.457 +\def\rulecolor{blue!70}
9.458 +\src{{\ttfamily\color{verbcolor}\bs newtheorem}}
9.459 +\includeclip{2}{1 1 453 120}{jfigs.pdf}
9.460 +\def\rulecolor{orange}
9.461 +
9.462 +The \verb+\newdefinition+ command is the same in
9.463 +all respects as its\linebreak \verb+\newtheorem+ counterpart except that
9.464 +the font shape is roman instead of italic. Both
9.465 +\verb+\newdefinition+ and \verb+\newtheorem+ commands
9.466 +automatically define counters for the environments defined.
9.467 +
9.468 +\vspace*{12pt}
9.469 +\def\rulecolor{blue!70}
9.470 +\src{{\ttfamily\color{verbcolor}\bs newdefinition}}
9.471 +\includeclip{1}{1 1 453 105}{jfigs.pdf}
9.472 +\def\rulecolor{orange}
9.473 +
9.474 +The \verb+\newproof+ command defines proof environments with
9.475 +upright font shape. No counters are defined.
9.476 +
9.477 +\vspace*{6pt}
9.478 +\def\rulecolor{blue!70}
9.479 +\src{{\ttfamily\color{verbcolor}\bs newproof}}
9.480 +\includeclip{3}{1 1 453 65}{jfigs.pdf}
9.481 +\def\rulecolor{orange}
9.482 +
9.483 +Users can also make use of \verb+amsthm.sty+ which will override
9.484 +all the default definitions described above.
9.485 +
9.486 +\section[Enumerated ...]{Enumerated and Itemized Lists}
9.487 +\file{elsarticle.cls} provides an extended list processing macros
9.488 +which makes the usage a bit more user friendly than the default
9.489 +\LaTeX{} list macros. With an optional argument to the
9.490 +\verb+\begin{enumerate}+ command, you can change the list counter
9.491 +type and its attributes.
9.492 +
9.493 +\begin{vquote}
9.494 + \begin{enumerate}[1.]
9.495 + \item The enumerate environment starts with an optional
9.496 + argument `1.', so that the item counter will be suffixed
9.497 + by a period.
9.498 + \item You can use `a)' for alphabetical counter and '(i)' for
9.499 + roman counter.
9.500 + \begin{enumerate}[a)]
9.501 + \item Another level of list with alphabetical counter.
9.502 + \item One more item before we start another.
9.503 + \begin{enumerate}[(i)]
9.504 + \item This item has roman numeral counter.
9.505 + \item Another one before we close the third level.
9.506 + \end{enumerate}
9.507 + \item Third item in second level.
9.508 + \end{enumerate}
9.509 + \item All list items conclude with this step.
9.510 + \end{enumerate}
9.511 +\end{vquote}
9.512 +
9.513 +\vspace*{12pt}
9.514 +\def\rulecolor{blue!70}
9.515 +\src{List -- Enumerate}
9.516 +\includeclip{4}{1 1 453 185}{jfigs.pdf}
9.517 +\def\rulecolor{orange}
9.518 +
9.519 +
9.520 +Further, the enhanced list environment allows one to prefix a
9.521 +string like `step' to all the item numbers. Take a look at the
9.522 +example below:
9.523 +
9.524 +\begin{vquote}
9.525 + \begin{enumerate}[Step 1.]
9.526 + \item This is the first step of the example list.
9.527 + \item Obviously this is the second step.
9.528 + \item The final step to wind up this example.
9.529 + \end{enumerate}
9.530 +\end{vquote}
9.531 +
9.532 +\def\rulecolor{blue!70}
9.533 +\src{List -- enhanced}
9.534 +\includeclip{5}{1 1 313 83}{jfigs.pdf}
9.535 +\def\rulecolor{orange}
9.536 +
9.537 +\vspace*{-18pt}
9.538 +
9.539 +\section{Cross-references}
9.540 +In electronic publications, articles may be internally
9.541 +hyperlinked. Hyperlinks are generated from proper
9.542 +cross-references in the article. For example, the words
9.543 +\textcolor{black!80}{Fig.~1} will never be more than simple text,
9.544 +whereas the proper cross-reference \verb+\ref{tiger}+ may be
9.545 +turned into a hyperlink to the figure itself:
9.546 +\textcolor{blue}{Fig.~1}. In the same way,
9.547 +the words \textcolor{blue}{Ref.~[1]} will fail to turn into a
9.548 +hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+.
9.549 +Cross-referencing is possible in \LaTeX{} for sections,
9.550 +subsections, formulae, figures, tables, and literature
9.551 +references.
9.552 +
9.553 +\section[Mathematical ...]{Mathematical symbols and formulae}
9.554 +
9.555 +Many physical/mathematical sciences authors require more
9.556 +mathematical symbols than the few that are provided in standard
9.557 +\LaTeX. A useful package for additional symbols is the
9.558 +\file{amssymb} package, developed by the American Mathematical
9.559 +Society. This package includes such oft-used symbols as
9.560 +$\lesssim$ (\verb+\lesssim+), $\gtrsim$ (\verb+\gtrsim+) or
9.561 +$\hbar$ (\verb+\hbar+). Note that your \TeX{}
9.562 +system should have the \file{msam} and \file{msbm} fonts installed. If
9.563 +you need only a few symbols, such as $\Box$ (\verb+\Box+), you might try the
9.564 +package \file{latexsym}.
9.565 +
9.566 +Another point which would require authors' attention is the
9.567 +breaking up of long equations. When you use
9.568 +\file{elsarticle.cls} for formatting your submissions in the
9.569 +\verb+preprint+ mode, the document is formatted in single column
9.570 +style with a text width of 384pt or 5.3in. When this document is
9.571 +formatted for final print and if the journal happens to be a double column
9.572 +journal, the text width will be reduced to 224pt at for 3+
9.573 +double column and 5+ journals respectively. All the nifty
9.574 +fine-tuning in equation breaking done by the author goes to waste in
9.575 +such cases. Therefore, authors are requested to check this
9.576 +problem by typesetting their submissions in final format as well
9.577 +just to see if their equations are broken at appropriate places,
9.578 +by changing appropriate options in the document class loading
9.579 +command, which is explained in section~\ref{sec:usage},
9.580 +\nameref{sec:usage}. This allows authors to fix any equation breaking
9.581 +problem before submission for publication.
9.582 +\file{elsarticle.cls} supports formatting the author submission
9.583 +in different types of final format. This is further discussed in
9.584 +section \ref{sec:final}, \nameref{sec:final}.
9.585 +
9.586 +\section{Bibliography}
9.587 +
9.588 +Three bibliographic style files (\verb+*.bst+) are provided ---
9.589 +\file{elsarticle-num.bst}, \file{elsarticle-num-names.bst} and
9.590 +\file{elsarticle-harv.bst} --- the first one for the numbered scheme, the
9.591 +second for the numbered with new options of \file{natbib.sty} and the
9.592 +last one for the author year scheme.
9.593 +
9.594 +In \LaTeX{} literature, references are listed in the
9.595 +\verb+thebibliography+ environment. Each reference is a
9.596 +\verb+\bibitem+ and each \verb+\bibitem+ is identified by a label,
9.597 +by which it can be cited in the text:
9.598 +
9.599 +\verb+\bibitem[Elson et al.(1996)]{ESG96}+ is cited as
9.600 +\verb+\citet{ESG96}+.
9.601 +
9.602 +\noindent In connection with cross-referencing and
9.603 +possible future hyperlinking it is not a good idea to collect
9.604 +more that one literature item in one \verb+\bibitem+. The
9.605 +so-called Harvard or author-year style of referencing is enabled
9.606 +by the \LaTeX{} package \file{natbib}. With this package the
9.607 +literature can be cited as follows:
9.608 +
9.609 +\begin{enumerate}[\textbullet]
9.610 +\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \& Brown, 1996).
9.611 +\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996).
9.612 +\item An affix and part of a reference:
9.613 +\verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et
9.614 +al., 1997, Ch. 2).
9.615 +\end{enumerate}
9.616 +
9.617 +In the numbered scheme of citation, \verb+\cite{<label>}+ is used,
9.618 +since \verb+\citep+ or \verb+\citet+ has no relevance in the numbered
9.619 +scheme. \file{natbib} package is loaded by \file{elsarticle} with
9.620 +\verb+numbers+ as default option. You can change this to author-year
9.621 +or harvard scheme by adding option \verb+authoryear+ in the class
9.622 +loading command. If you want to use more options of the \file{natbib}
9.623 +package, you can do so with the \verb+\biboptions+ command, which is
9.624 +described in the section \ref{sec:usage}, \nameref{sec:usage}. For
9.625 +details of various options of the \file{natbib} package, please take a
9.626 +look at the \file{natbib} documentation, which is part of any standard
9.627 +\LaTeX{} installation.
9.628 +
9.629 +\subsection*{Displayed equations and double column journals}
9.630 +
9.631 +Many Elsevier journals print their text in two columns. Since
9.632 +the preprint layout uses a larger line width than such columns,
9.633 +the formulae are too wide for the line width in print. Here is an
9.634 +example of an equation (see equation 6) which is perfect in a
9.635 +single column preprint format:
9.636 +
9.637 +\bigskip
9.638 +\setlength\Sep{6pt}
9.639 +\src{See equation (6)}
9.640 +\def\rulecolor{blue!70}
9.641 +\includeclip{4}{134 391 483 584}{els1.pdf}
9.642 +\def\rulecolor{orange}
9.643 +
9.644 +\noindent When this document is typeset for publication in a
9.645 +model 3+ journal with double columns, the equation will overlap
9.646 +the second column text matter if the equation is not broken at
9.647 +the appropriate location.
9.648 +
9.649 +\vspace*{6pt}
9.650 +\def\rulecolor{blue!70}
9.651 +\src{See equation (6) overprints into second column}
9.652 +\includeclip{3}{61 531 532 734}{els-3pd.pdf}
9.653 +\def\rulecolor{orange}
9.654 +
9.655 +\pagebreak
9.656 +
9.657 +\noindent The typesetter will try to break the equation which
9.658 +need not necessarily be to the liking of the author or as it
9.659 +happens, typesetter's break point may be semantically incorrect.
9.660 +Therefore, authors may check their submissions for the incidence
9.661 +of such long equations and break the equations at the correct
9.662 +places so that the final typeset copy will be as they wish.
9.663 +
9.664 +\section{Final print}\label{sec:final}
9.665 +
9.666 +The authors can format their submission to the page size and margins
9.667 +of their preferred journal. \file{elsarticle} provides four
9.668 +class options for the same. But it does not mean that using these
9.669 +options you can emulate the exact page layout of the final print copy.
9.670 +\lmrgn=3em
9.671 +\begin{description}
9.672 +\item [\texttt{1p}:] $1+$ journals with a text area of
9.673 +384pt $\times$ 562pt or 13.5cm $\times$ 19.75cm or 5.3in $\times$
9.674 +7.78in, single column style only.
9.675 +
9.676 +\item [\texttt{3p}:] $3+$ journals with a text area of 468pt
9.677 +$\times$ 622pt or 16.45cm $\times$ 21.9cm or 6.5in $\times$
9.678 +8.6in, single column style.
9.679 +
9.680 +\item [\texttt{twocolumn}:] should be used along with 3p option if the
9.681 +journal is $3+$ with the same text area as above, but double column
9.682 +style.
9.683 +
9.684 +\item [\texttt{5p}:] $5+$ with text area of 522pt $\times$
9.685 +682pt or 18.35cm $\times$ 24cm or 7.22in $\times$ 9.45in,
9.686 +double column style only.
9.687 +\end{description}
9.688 +
9.689 +Following pages have the clippings of different parts of
9.690 +the title page of different journal models typeset in final
9.691 +format.
9.692 +
9.693 +Model $1+$ and $3+$ will have the same look and
9.694 +feel in the typeset copy when presented in this document. That is
9.695 +also the case with the double column $3+$ and $5+$ journal article
9.696 +pages. The only difference will be wider text width of
9.697 +higher models. Therefore we will look at the
9.698 +different portions of a typical single column journal page and
9.699 +that of a double column article in the final format.
9.700 +
9.701 +\vspace*{2pc}
9.702 +
9.703 +\begin{center}
9.704 +\hypertarget{bsc}{}
9.705 +\hyperlink{sc}{
9.706 +{\bf [Specimen single column article -- Click here]}
9.707 +}
9.708 +
9.709 +\vspace*{2pc}
9.710 +
9.711 +\hypertarget{bsc}{}
9.712 +\hyperlink{dc}{
9.713 +{\bf [Specimen double column article -- Click here]}
9.714 +}
9.715 +\end{center}
9.716 +
9.717 +\newpage
9.718 +\vspace*{-2pc}
9.719 +\src{}\hypertarget{sc}{}
9.720 +\def\rulecolor{blue!70}
9.721 +\hyperlink{bsc}{\includeclip{1}{121 81 497 670}{els1.pdf}}
9.722 +\def\rulecolor{orange}
9.723 +
9.724 +
9.725 +\newpage
9.726 +
9.727 +\src{}\hypertarget{dc}{}
9.728 +\def\rulecolor{blue!70}
9.729 +\hyperlink{bsc}{\includeclip{1}{55 93 535 738}{els-3pd.pdf}}
9.730 +\def\rulecolor{orange}
9.731 +
9.732 +\end{document}
10.1 Binary file elsarticle/doc/jfigs.pdf has changed
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/elsarticle/doc/makefile Fri Nov 18 16:18:02 2016 +0100
11.3 @@ -0,0 +1,36 @@
11.4 +file=elsdoc
11.5 +
11.6 +
11.7 +all: pdf out
11.8 + make pdf
11.9 + make pdf
11.10 +
11.11 +out:
11.12 + if [ -f $(file).out ] ; then cp $(file).out tmp.out; fi ;
11.13 + sed 's/BOOKMARK/dtxmark/g;' tmp.out > x.out; mv x.out tmp.out ;
11.14 +
11.15 +pdf:
11.16 + pdflatex $(file).tex
11.17 +
11.18 +index:
11.19 + makeindex -s gind.ist -o $(file).ind $(file).idx
11.20 +
11.21 +changes:
11.22 + makeindex -s gglo.ist -o $(file).gls $(file).glo
11.23 +
11.24 +xview:
11.25 +# xpdf -z 200 $(file).pdf &>/dev/null
11.26 + open -a 'Skim.app' $(file).pdf
11.27 +
11.28 +view:
11.29 + open -a 'Adobe Reader.app' $(file).pdf
11.30 +
11.31 +ins:
11.32 + latex $(file).ins
11.33 +
11.34 +diff:
11.35 + diff $(file).sty ../$(file).sty |less
11.36 +
11.37 +copy:
11.38 + cp $(file).sty ../
11.39 +
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/elsarticle/doc/pdfwidgets.sty Fri Nov 18 16:18:02 2016 +0100
12.3 @@ -0,0 +1,382 @@
12.4 +%%
12.5 +%% pdfwidgets.sty
12.6 +%%
12.7 +%% $Id: pdfwidgets.sty,v 1.2 2007-10-22 09:45:17 cvr Exp $
12.8 +%%
12.9 +%% (c) C. V. Radhakrishnan <cvr@river-valley.org>
12.10 +%%
12.11 +%% This package may be distributed under the terms of the LaTeX Project
12.12 +%% Public License, as described in lppl.txt in the base LaTeX distribution.
12.13 +%% Either version 1.0 or, at your option, any later version.
12.14 +%%
12.15 +%\RequirePackage[oldstyle]{minion}
12.16 +%\RequirePackage[scaled=.8]{prima}
12.17 +%\RequirePackage[scaled=.9]{lfr}
12.18 +\usepackage[dvipsnames,svgnames]{xcolor}
12.19 +\RequirePackage{graphicx}
12.20 +\RequirePackage{tikz}
12.21 +\usetikzlibrary{backgrounds}
12.22 +
12.23 +%\def\thesection{\ifnum\c@section<10
12.24 +% \protect\phantom{0}\fi\arabic{section}}
12.25 +
12.26 +\newdimen\lmrgn
12.27 +\def\rulecolor{orange}
12.28 +\def\rulewidth{1pt}
12.29 +\pgfdeclareshape{filledbox}{%
12.30 + \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
12.31 + \inheritanchorborder[from=rectangle]
12.32 + \inheritanchor[from=rectangle]{center}
12.33 + \inheritanchor[from=rectangle]{north}
12.34 + \inheritanchor[from=rectangle]{south}
12.35 + \inheritanchor[from=rectangle]{west}
12.36 + \inheritanchor[from=rectangle]{east}
12.37 + % ... and possibly more
12.38 + \backgroundpath{% this is new
12.39 + % store lower right in xa/ya and upper right in xb/yb
12.40 + \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
12.41 + \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
12.42 + % compute corner of ``flipped page''
12.43 + \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt % this should be a parameter
12.44 + \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt
12.45 + % construct main path
12.46 + \pgfsetlinewidth{\rulewidth}
12.47 + \pgfsetstrokecolor{\rulecolor}
12.48 + \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
12.49 + \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.50 + \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
12.51 +% \pgfsetcornersarced{\pgforigin}
12.52 + \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.53 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
12.54 + \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.55 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
12.56 + \pgfsetcornersarced{\pgforigin}
12.57 + \pgfpathclose ;
12.58 +% \draw(\pgf@xa,\pgf@ya) -- (\pgf@xa,\pgf@yb) ;
12.59 + }%
12.60 +}
12.61 +\pgfdeclareshape{roundedbox}{%
12.62 + \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
12.63 + \inheritanchorborder[from=rectangle]
12.64 + \inheritanchor[from=rectangle]{center}
12.65 + \inheritanchor[from=rectangle]{north}
12.66 + \inheritanchor[from=rectangle]{south}
12.67 + \inheritanchor[from=rectangle]{west}
12.68 + \inheritanchor[from=rectangle]{east}
12.69 + % ... and possibly more
12.70 + \backgroundpath{% this is new
12.71 + % store lower right in xa/ya and upper right in xb/yb
12.72 + \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
12.73 + \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
12.74 + % compute corner of ``flipped page''
12.75 + \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt % this should be a parameter
12.76 + \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt
12.77 + % construct main path
12.78 + \pgfsetlinewidth{\rulewidth}
12.79 + \pgfsetstrokecolor{\rulecolor}
12.80 + \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
12.81 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.82 + \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
12.83 +% \pgfsetcornersarced{\pgforigin}
12.84 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.85 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
12.86 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.87 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
12.88 +% \pgfsetcornersarced{\pgforigin}
12.89 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.90 + \pgfpathclose ;
12.91 +% \draw(\pgf@xa,\pgf@ya) -- (\pgf@xa,\pgf@yb) ;
12.92 + }%
12.93 +}
12.94 +
12.95 +
12.96 +
12.97 +
12.98 +\pgfdeclareshape{buttonbox}{%
12.99 + \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
12.100 + \inheritanchorborder[from=rectangle]
12.101 + \inheritanchor[from=rectangle]{center}
12.102 + \inheritanchor[from=rectangle]{north}
12.103 + \inheritanchor[from=rectangle]{south}
12.104 + \inheritanchor[from=rectangle]{west}
12.105 + \inheritanchor[from=rectangle]{east}
12.106 + % ... and possibly more
12.107 + \backgroundpath{% this is new
12.108 + % store lower right in xa/ya and upper right in xb/yb
12.109 + \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
12.110 + \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
12.111 + % compute corner of ``flipped page''
12.112 + \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt % this should be a parameter
12.113 + \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt
12.114 + % construct main path
12.115 + \pgfsetlinewidth{1pt}
12.116 + \pgfsetstrokecolor{blue!10}
12.117 + \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
12.118 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.119 + \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
12.120 +% \pgfsetcornersarced{\pgforigin}
12.121 + \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.122 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
12.123 + \pgfsetcornersarced{\pgforigin}
12.124 +% \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.125 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
12.126 + \pgfsetcornersarced{\pgforigin}
12.127 + \pgfpathclose ;
12.128 +% \draw(\pgf@xa,\pgf@ya) -- (\pgf@xa,\pgf@yb) ;
12.129 + }%
12.130 +}
12.131 +\pgfdeclareshape{quotedbox}{%
12.132 + \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
12.133 + \inheritanchorborder[from=rectangle]
12.134 + \inheritanchor[from=rectangle]{center}
12.135 + \inheritanchor[from=rectangle]{north}
12.136 + \inheritanchor[from=rectangle]{south}
12.137 + \inheritanchor[from=rectangle]{west}
12.138 + \inheritanchor[from=rectangle]{east}
12.139 + % ... and possibly more
12.140 + \backgroundpath{% this is new
12.141 + % store lower right in xa/ya and upper right in xb/yb
12.142 + \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
12.143 + \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
12.144 + % compute corner of ``flipped page''
12.145 + \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt % this should be a parameter
12.146 + \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt
12.147 + % construct main path
12.148 + \pgfsetlinewidth{\rulewidth}
12.149 + \pgfsetstrokecolor{\rulecolor}
12.150 + \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
12.151 + \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.152 + \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
12.153 + \pgfsetcornersarced{\pgforigin}
12.154 +% \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
12.155 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
12.156 + \pgfsetcornersarced{\pgforigin}
12.157 +% \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
12.158 + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
12.159 + \pgfsetcornersarced{\pgforigin}
12.160 + \pgfpathclose ;
12.161 +% \draw(\pgf@xa,\pgf@ya) -- (\pgf@xa,\pgf@yb) ;
12.162 + }%
12.163 +}
12.164 +
12.165 +\newcounter{clip}
12.166 +\newdimen\mywidth
12.167 +\mywidth=\linewidth
12.168 +
12.169 +\def\src#1{\gdef\@src{#1}}\let\@src\@empty
12.170 +\def\includeclip{\@ifnextchar[{\@includeclip}{\@includeclip[]}}
12.171 +\def\@includeclip[#1]#2#3#4{\par
12.172 +% \vskip.75\baselineskip plus 3pt minus 1pt
12.173 + \computeLinewidth{\mywidth}%
12.174 + \begingroup\color{white}%
12.175 + \noindent%
12.176 + \begin{tikzpicture}
12.177 + %\node[fill=black!10,draw,shape=filledbox,
12.178 + \node[fill=black!10,%
12.179 + draw,
12.180 + shade,%
12.181 + top color=blue!10,
12.182 + bottom color=cyan!5,
12.183 + shape=filledbox,
12.184 + inner sep=\Sep,
12.185 + text width=\Linewidth] (x)
12.186 + {\parbox{\Linewidth}
12.187 + {\ifx\@src\@empty\else\refstepcounter{clip}\label{clip\theclip}%
12.188 + {\par\vskip6pt\color{orange}\sffamily\small
12.189 + ~Clip \theclip:\space\@src.}%
12.190 + \par\vskip3pt\fi\normalcolor
12.191 + \includegraphics[width=\Linewidth,page={#2},%
12.192 + viewport={#3},clip=true,#1]{#4}}
12.193 + \hspace*{-10pt}};
12.194 + \end{tikzpicture}
12.195 + \endgroup
12.196 +% \par\vskip.5\baselineskip
12.197 +% plus 3pt minus 1pt
12.198 + }
12.199 +%%
12.200 +%% include clippings from a pdf document:
12.201 +%% #1 => Optional argument for \includegraphics
12.202 +%% #2 => page number
12.203 +%% #3 => co-ordinates
12.204 +%% #4 => file name
12.205 +
12.206 +\newenvironment{quoted}{%\bigskip
12.207 + \computeLinewidth{.95\linewidth}%
12.208 + \global\setbox0=\hbox\bgroup
12.209 + \begin{minipage}{.95\linewidth}\color{brown}%
12.210 + \footnotesize\ttfamily\obeyspaces\obeylines}
12.211 + {\end{minipage}\egroup
12.212 + \vskip12pt plus 3pt minus 3pt\noindent\begin{tikzpicture}
12.213 + \node[fill=blue!10,draw,shade,top color=orange!10,
12.214 + bottom color=white,shape=filledbox,
12.215 + inner sep=8pt,text width=\Linewidth] (x) {\box0} ;
12.216 + \end{tikzpicture}%
12.217 + \vskip12pt plus 3pt minus 3pt}
12.218 +
12.219 +\newdimen\Linewidth
12.220 +\newdimen\Sep
12.221 +\def\computeLinewidth#1{\global\setlength\Linewidth{#1}%
12.222 + \global\addtolength{\Linewidth}{-2\Sep}}
12.223 +
12.224 +\newdimen\npskip
12.225 +\npskip=0mm
12.226 +
12.227 +\long\def\NavigationPanel{%
12.228 + \global\setbox0=\hbox\bgroup
12.229 + \begin{minipage}[t][.8125\panelheight][t]{.9\panelwidth}\color{brown}%
12.230 + %\centering
12.231 + \ifx\@pinclude\empty\relax\par\vfill\else
12.232 + \@pinclude\fi
12.233 + %River Valley Technologies
12.234 + \end{minipage}\egroup
12.235 + \Sep=.5cm
12.236 + \@tempdima=\panelwidth
12.237 + \advance\@tempdima-1cm
12.238 + \computeLinewidth{\@tempdima}%
12.239 + \def\rulewidth{.2pt}%
12.240 + \noindent\begin{tikzpicture}
12.241 + \node[fill=blue!10,draw,shade,bottom color=brown!30,
12.242 + top color=white,shape=filledbox,
12.243 + inner sep=\the\Sep,text width=\Linewidth] (x)
12.244 + {\hspace*{\npskip}\box0} ;
12.245 + \end{tikzpicture}%
12.246 + \vspace*{.0125\panelheight}
12.247 +}
12.248 +
12.249 +\long\def\pinclude#1{\gdef\@pinclude{#1}}
12.250 +\let\@pinclude\empty
12.251 +
12.252 +\def\Strut{\vrule depth 2pt height 10pt width 0pt}
12.253 +\def\pdfButton#1#2{\begin{tikzpicture}
12.254 + \node[fill=blue!10,draw,shade,top color=blue!50,
12.255 + bottom color=white,shape=buttonbox,
12.256 + inner sep=2pt,text width=#1](x)
12.257 + {\parbox{#1}{\centering\Strut#2}}; \end{tikzpicture}}
12.258 +
12.259 +\def\vpanel{\def\@linkcolor{blue}%
12.260 + \def\@urlcolor{blue}%
12.261 + \def\@menucolor{blue}%
12.262 + \begin{minipage}[t][\vpanelheight][c]{\paperwidth}%
12.263 + \normalsfcodes%
12.264 + \hspace*{.25cm}
12.265 + \begin{minipage}[c][\vpanelheight][c]{17cm}
12.266 + \parbox[c][27mm][b]{15mm}%
12.267 +% {\includegraphics[width=15mm]{logo4.pdf}}\hfill%\hspace{1cm}
12.268 + {\def\rulecolor{Goldenrod}%
12.269 + \def\rulewidth{1pt}%
12.270 + \begin{tikzpicture}%
12.271 + %\node[fill=black!10,draw,shape=filledbox,
12.272 + \node[fill=white!10,%
12.273 + draw,
12.274 +% shade,%
12.275 +% top color=blue!10,
12.276 +% bottom color=white,
12.277 + shape=roundedbox,
12.278 + inner sep=2mm,
12.279 + text width=13mm] (x)
12.280 + {\includegraphics[width=13mm]{els-logo.pdf}};
12.281 + \end{tikzpicture}}\hfill
12.282 +%
12.283 + \parbox[c][24mm][b]{145mm}%
12.284 + {{\fontsize{30}{30}\selectfont\textsf{\color{white}elsarticle.cls}}
12.285 + \quad{\fontsize{14}{14}\selectfont\sffamily\color{blue!50}
12.286 + A better way to format your submission}}
12.287 + \end{minipage}
12.288 + \hfill
12.289 + \begin{minipage}[c][\vpanelheight][b]{7.9cm}
12.290 + \sffamily\footnotesize
12.291 + \pdfButton{2cm}{\href{mailto:elsarticle@river-valley.com}{BUGS}}
12.292 + \pdfButton{2cm}{\href{http://support.river-valley.com}{SUPPORT}}
12.293 + \pdfButton{2cm}%
12.294 + {\href{http://www.elsevier.com/locate/latex}%
12.295 + {RESOURCES}}
12.296 +% \pdfButton{2cm}{\Acrobatmenu{GoToPage}{GoTo}}
12.297 + \end{minipage}\\
12.298 + \rule{\paperwidth}{0.1pt}
12.299 + \end{minipage}%
12.300 +}
12.301 +
12.302 +\@ifundefined{backgroundcolor}%
12.303 + {\def\backgroundcolor#1{\gdef\@backgroundcolor{#1}}}{}
12.304 +\colorlet{panelbackground}{orange!10}
12.305 +\backgroundcolor{orange!10}
12.306 +\def\@urlcolor{brown}
12.307 +\def\@linkcolor{brown}
12.308 +\def\@menucolor{brown}
12.309 +
12.310 +\RequirePackage{moreverb}
12.311 +
12.312 +\newenvironment{vquote}%
12.313 + {\medskip
12.314 + \verbatimwrite{tmp.tex}}
12.315 + {\endverbatimwrite
12.316 + \aftergroup\printBox}
12.317 +
12.318 +\def\printBox{\bgroup\def\rulecolor{orange}%
12.319 + \def\rulewidth{.2pt}%
12.320 + \noindent\begin{tikzpicture}
12.321 + \node[fill=blue!10,draw,shade,top color=white!10,
12.322 + bottom color=cyan!5,shape=quotedbox,
12.323 + inner sep=8pt,text width=.95\linewidth] (x)
12.324 + {\color{orange}\verbatiminput{tmp.tex}%
12.325 + \vspace*{-\baselineskip}%
12.326 + } ;
12.327 + \end{tikzpicture}%
12.328 + \egroup
12.329 + \medskip
12.330 +}
12.331 +\def\red{\color{Sepia}}
12.332 +\def\verbatim@font{\red\normalfont\ttfamily}
12.333 +
12.334 +\def\verbatimcontinuewrite{%
12.335 + \@bsphack
12.336 +% \verbatim@out=#1
12.337 + \let\do\@makeother\dospecials
12.338 + \obeyspaces\catcode`\^^M\active \catcode`\^^I=12
12.339 + \def\verbatim@processline{%
12.340 + \immediate\write\verbatim@out
12.341 + {\the\verbatim@line}}%
12.342 + \verbatim@start}
12.343 +
12.344 +\def\@@@lbr{\expandafter\@gobble\string\{}
12.345 +\def\@@@rbr{\expandafter\@gobble\string\}}
12.346 +\def\@@@pcr{\expandafter\@gobble\string\%}
12.347 +
12.348 +
12.349 +%\immediate\write18{touch mytool.tex
12.350 +% ^^J rm mytool.tex ^^J touch mytool.tex}
12.351 +
12.352 +\newenvironment{toolwrite}[1]%
12.353 + {\@tempdima=#1
12.354 + \verbatimwrite{xx}}
12.355 + {\endverbatimwrite
12.356 + \immediate\write18{echo
12.357 + "\string\Clear\@@@lbr\the\@tempdima\@@@rbr\@@@lbr\@@@pcr">>mytool.tex^^J
12.358 + cat xx.tex >> mytool.tex ^^J
12.359 + echo "\@@@rbr" >> mytool.tex}}
12.360 +
12.361 +\tikzstyle{place}=[scale=.39,rectangle,draw=blue!90,fill=blue!30,thin,%
12.362 + minimum height=1mm,minimum width=13mm]
12.363 +\tikzstyle{trans}=[scale=.39,rectangle,draw=Olive,fill=Olive!20,thin,%
12.364 + minimum height=1mm,minimum width=13mm]
12.365 +\tikzstyle{past}=[scale=.39,rectangle,draw=Olive,fill=Olive!60,thin,%
12.366 + minimum height=1mm,minimum width=13mm]
12.367 +
12.368 +\def\printSq#1{\parbox{107mm}{\@tempcnta=1
12.369 + \let\printfill\@empty
12.370 + \loop\ifnum\@tempcnta<#1
12.371 + {\printfill\ifnum\c@page=\@tempcnta
12.372 + \tikz\node at(0,0) [place]{};\else
12.373 + \ifnum\c@page<\@tempcnta
12.374 + \hyperlink{page.\the\@tempcnta}{\tikz\node at(0,0)
12.375 + [trans]{};}%
12.376 + \else
12.377 + \hyperlink{page.\the\@tempcnta}{\tikz\node at(0,0)
12.378 + [past]{};}%
12.379 + \fi\fi}%
12.380 + \advance\@tempcnta 1 \let\printfill\,\repeat}}
12.381 +
12.382 +
12.383 +\endinput
12.384 +
12.385 +
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/elsarticle/doc/rvdtx.sty Fri Nov 18 16:18:02 2016 +0100
13.3 @@ -0,0 +1,479 @@
13.4 +%
13.5 +%
13.6 +% File: rvdtx.sty
13.7 +%
13.8 +% Auxiliary package to format *.dtx documents.
13.9 +%
13.10 +% Copyright (c) 2008, 2009 CV Radhakrishnan <cvr@river-valley.org>,
13.11 +%
13.12 +% This file may be distributed and/or modified under the conditions
13.13 +% of the LaTeX Project Public License, either version 1.2 of this
13.14 +% license or (at your option) any later version. The latest version
13.15 +% of this license is in:
13.16 +%
13.17 +% http://www.latex-project.org/lppl.txt
13.18 +%
13.19 +% and version 1.2 or later is part of all distributions of LaTeX
13.20 +% version 1999/12/01 or later.
13.21 +%
13.22 +%
13.23 +\newcounter{colorscheme}
13.24 +
13.25 +\newif\if@xcolor \@xcolorfalse
13.26 +\newif\if@mylogo \@mylogofalse
13.27 +
13.28 +\DeclareOption{mylogo}{\global\@mylogotrue}
13.29 +\DeclareOption{green}{\setcounter{colorscheme}{1}}
13.30 +\DeclareOption{orange}{\setcounter{colorscheme}{0}}
13.31 +\DeclareOption{xcolor}{\global\@xcolortrue}
13.32 +\DeclareOption{qone}{\AtEndOfPackage{\global\let\dtxmark\dtxmarkone}}
13.33 +\DeclareOption{qtwo}{\AtEndOfPackage{\global\let\dtxmark\dtxmarktwo}}
13.34 +
13.35 +\ProcessOptions
13.36 +\def\loadXcolor{\if@xcolor\RequirePackage[dvipsnames,svgnames]{xcolor}\fi}
13.37 +
13.38 +\loadXcolor
13.39 +\ifcase\thecolorscheme
13.40 +%
13.41 +% Orange color spec (default)
13.42 +%
13.43 + \colorlet{itemcolor}{brown}
13.44 + \colorlet{verbcolor}{Sepia}
13.45 + \colorlet{botrulecolor}{orange!25}
13.46 + \colorlet{botbgcolor}{orange!15}
13.47 + \colorlet{botcolor}{orange!80}
13.48 + \colorlet{pgrulecolor}{orange}
13.49 + \colorlet{pgbgcolor}{white}
13.50 +
13.51 + \colorlet{quicklinkrulecolor}{orange!40}
13.52 + \colorlet{quicklinkcolor}{brown}
13.53 + \colorlet{topverticalrule}{brown}
13.54 + \colorlet{titlecolor}{brown}
13.55 + \colorlet{hlinkcolor}{brown}
13.56 + \colorlet{hlinktricolor}{orange!70}
13.57 + \colorlet{linkcolor}{brown}
13.58 + \colorlet{urlcolor}{brown}
13.59 +
13.60 +% \colorlet{arrayrulecolor}{olive!30}
13.61 + \colorlet{seccolor}{brown}
13.62 +
13.63 + \colorlet{toprulecolor}{orange!30}
13.64 + \colorlet{topbgcolor}{orange!10}
13.65 + \colorlet{topcolor}{brown!80}
13.66 +%
13.67 +%
13.68 +\or% Green color specs
13.69 +%
13.70 +%
13.71 + \colorlet{itemcolor}{OliveGreen}
13.72 + \colorlet{verbcolor}{OliveGreen}
13.73 + \colorlet{botrulecolor}{GreenYellow!25}
13.74 + \colorlet{botbgcolor}{GreenYellow!30}
13.75 + \colorlet{botcolor}{Green!80}
13.76 + \colorlet{pgrulecolor}{GreenYellow}
13.77 + \colorlet{pgbgcolor}{white}
13.78 +
13.79 + \colorlet{quicklinkrulecolor}{Green!40}
13.80 + \colorlet{quicklinkcolor}{Green}
13.81 + \colorlet{topverticalrule}{Green}
13.82 + \colorlet{titlecolor}{DarkOliveGreen}
13.83 + \colorlet{hlinkcolor}{DarkOliveGreen}
13.84 + \colorlet{hlinktricolor}{Green!70}
13.85 + \colorlet{linkcolor}{OliveGreen}
13.86 + \colorlet{urlcolor}{OliveGreen}
13.87 +
13.88 +% \colorlet{arrayrulecolor}{olive!30}
13.89 + \colorlet{seccolor}{OliveGreen}
13.90 +
13.91 + \colorlet{toprulecolor}{GreenYellow!50}
13.92 + \colorlet{topbgcolor}{GreenYellow!20}
13.93 + \colorlet{topcolor}{GreenYellow!80}
13.94 +\fi
13.95 +
13.96 +\def\floatpagefraction{.99}
13.97 +\usepackage{geometry}
13.98 +\geometry{top=2in,
13.99 + bottom=1in,
13.100 + left=2in,
13.101 + right=1in,
13.102 + a4paper}
13.103 +
13.104 +%\DeclareRobustCommand{\LaTeX}{L\kern-.25em%
13.105 +% {\sbox\z@ T%
13.106 +% \vbox to\ht\z@{%
13.107 +% {\check@mathfonts
13.108 +% \fontsize\sf@size\z@
13.109 +% \math@fontsfalse\selectfont
13.110 +% A}%
13.111 +% \vss}%
13.112 +% }%-.10em%
13.113 +% \TeX
13.114 +%}
13.115 +\DeclareRobustCommand{\LaTeX}{L\kern-.25em%
13.116 + {\sbox\z@ T%
13.117 + \vbox to\ht\z@{%
13.118 + \hbox{%
13.119 + \check@mathfonts
13.120 + \fontsize\sf@size\z@
13.121 + \math@fontsfalse\selectfont
13.122 + A}%
13.123 + \vss}%
13.124 + }%
13.125 + \kern-.10em%
13.126 + \TeX}
13.127 +
13.128 +\RequirePackage{pdfwidgets}
13.129 +
13.130 +\RequirePackage{comment,xspace}
13.131 +\def\xml{\textsc{xml}\xspace}
13.132 +\def\latex{\LaTeX\xspace}
13.133 +\def\pdf{\textsc{pdf}\xspace}
13.134 +\def\pdfa{\textsc{pdf/a-1}b\xspace}
13.135 +\def\pdfx{\textsc{pdf/x-1}a\xspace}
13.136 +\def\xmp{\textsc{xmp}\xspace}
13.137 +\def\pdftex{\textsc{pdf\TeX}\xspace}
13.138 +\def\defmacro#1{\texttt{\@bsl#1}}
13.139 +\def\thanh{H\`an Th\^e Th\`anh\xspace}
13.140 +\def\gnulinux{\textsc{gnu/linux}\xspace}
13.141 +
13.142 +\let\@DRAFTout@Hook\@empty
13.143 +\newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook}
13.144 +\newcommand{\@DRAFTout@Out}{%
13.145 + \afterassignment\@DRAFTout@Test
13.146 + \global\setbox\@cclv=
13.147 + }
13.148 +\newcommand{\@DRAFTout@Test}{%
13.149 + \ifvoid\@cclv\relax
13.150 + \aftergroup\@DRAFTout@Output
13.151 + \else
13.152 + \@DRAFTout@Output
13.153 + \fi%
13.154 + }
13.155 +\newcommand{\@DRAFTout@Output}{%
13.156 + \@DRAFTout@Hook%
13.157 + \@DRAFTout@Org@Out\box\@cclv%
13.158 + }
13.159 +\newcommand{\@DRAFTout@Org@Out}{}
13.160 +\newcommand*{\@DRAFTout@Init}{%
13.161 + \let\@DRAFTout@Org@Out\shipout
13.162 + \let\shipout\@DRAFTout@Out
13.163 + }
13.164 +\newdimen\OHeight
13.165 +\setlength\OHeight{\textheight}
13.166 +\addtolength\OHeight{\headheight}
13.167 +\addtolength\OHeight{\headsep}
13.168 +\addtolength\OHeight{\footskip}
13.169 +
13.170 +
13.171 +\newif\ifoverlay\overlayfalse
13.172 +
13.173 +\AtBeginDocument{\@DRAFTout@Init}
13.174 +\newcommand{\@DraftOverlay@Hook}{}
13.175 +\newcommand{\AddToDraftOverlay}{\g@addto@macro\@DraftOverlay@Hook}
13.176 +\newcommand{\ClearDraftOverlay}{\let\@DraftOverlay@Hook\@empty}
13.177 +\newcommand{\@DraftOverlay}{%
13.178 + \ifx\@DraftOverlay@Hook\@empty
13.179 + \else
13.180 + \bgroup
13.181 + \@tempdima=1in
13.182 + \@tempcnta=\@tempdima
13.183 + \@tempcntb=-\@tempdima
13.184 + \advance\@tempcntb\paperheight
13.185 + \ifoverlay
13.186 + \global\setbox\@cclv\vbox{%
13.187 + \box\@cclv
13.188 + \vbox{\let\protect\relax%
13.189 + \unitlength=1pt%
13.190 + \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
13.191 + \@DraftOverlay@Hook%
13.192 + \endpicture}}%
13.193 + \else
13.194 + \global\setbox\@cclv\vbox{%
13.195 + \vbox{\let\protect\relax%
13.196 + \unitlength=1sp%
13.197 + \pictur@(0,0)(\@tempcnta,\@tempcntb)%
13.198 + \@DraftOverlay@Hook%
13.199 + \endpicture}%
13.200 + \box\@cclv}%
13.201 + \fi
13.202 + \egroup
13.203 + \fi
13.204 +}
13.205 +
13.206 +\definecolor{gray30}{gray}{.7}
13.207 +\definecolor{gray20}{gray}{.8}
13.208 +\definecolor{gray10}{gray}{.9}
13.209 +
13.210 +\DRAFTout{\@DraftOverlay}
13.211 +\long\def\puttext(#1)#2{\AddToDraftOverlay{%
13.212 + \setlength{\unitlength}{1pt}\thinlines%
13.213 + \put(#1){#2}}}
13.214 +
13.215 +\RequirePackage{shortvrb}
13.216 +\MakeShortVerb{\|}
13.217 +\RequirePackage{amsfonts,amssymb}
13.218 +\IfFileExists{pxfonts.sty}{\RequirePackage{pxfonts}}{}
13.219 +%\IfFileExists{charter.sty}{\RequirePackage{charter}}{}
13.220 +\IfFileExists{lfr.sty}{\RequirePackage[scaled=.85]{lfr}}{}
13.221 +%\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{}
13.222 +
13.223 +\def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}}
13.224 +
13.225 +\def\@seccntformat#1{\llap{\csname the#1\endcsname.\hspace*{6pt}}}
13.226 +\def\section{\@startsection {section}{1}{\z@}%
13.227 + {-3.5ex \@plus -1ex \@minus -.2ex}%
13.228 + {2.3ex \@plus.2ex}%
13.229 + {\normalfont\large\bfseries\color{seccolor}}}
13.230 +\def\subsection{\@startsection{subsection}{2}{\z@}%
13.231 + {-2.25ex\@plus -1ex \@minus -.2ex}%
13.232 + {1.5ex \@plus .2ex}%
13.233 + {\normalfont\normalsize\bfseries\color{seccolor}}}
13.234 +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
13.235 + {-1.25ex\@plus -1ex \@minus -.2ex}%
13.236 + {1.5ex \@plus .2ex}%
13.237 + {\normalfont\normalsize\bfseries\color{seccolor}}}
13.238 +
13.239 +%\RequirePackage[draft]{pdfdraftcopy}
13.240 +% \draftstring{}
13.241 + \puttext(0,36){\botstring}%
13.242 + \puttext(0,840){\copy\topbox}
13.243 +\if@mylogo
13.244 + \puttext(531,829){\cvrlogo}
13.245 +\fi
13.246 +
13.247 +\RequirePackage{colortbl}
13.248 +%\arrayrulecolor{arrayrulecolor}
13.249 +\let\shline\hline
13.250 +\def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}}
13.251 +
13.252 +\RequirePackage[pdftex,colorlinks]{hyperref}
13.253 +\def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}%
13.254 + $\blacktriangleright$~\color{hlinkcolor}#1}}
13.255 + \def\@linkcolor{linkcolor}
13.256 + \def\@urlcolor{urlcolor}
13.257 +
13.258 +\pagestyle{empty}
13.259 +\def\version#1{\gdef\@version{#1}}
13.260 +\def\@version{1.0}
13.261 +\def\contact#1{\gdef\@contact{#1}}
13.262 +\def\author#1{\gdef\@author{#1}}
13.263 +\def\@author{River Valley Technologies}
13.264 +\def\@contact{\texttt{support@river-valley.com}}
13.265 +\def\keywords#1{\gdef\@keywords{#1}}
13.266 +\def\@keywords{\LaTeX, \xml}
13.267 +
13.268 +\long\def\Hrule{\\[-4pt]\hspace*{-3em}%
13.269 + {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
13.270 +
13.271 +\long\def\dtxmarkone[#1][#2]#3#4#5{\def\next{#1}%
13.272 + \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi}
13.273 +
13.274 +\newcounter{dtx}
13.275 +
13.276 +\long\def\dtxmarktwo[#1][#2]#3#4#5{\def\next{#1}%
13.277 + \stepcounter{dtx}\parbox{.45\linewidth}%
13.278 + {\ifcase\next\or\Hlink{#4}{#3}\fi}%
13.279 + \ifodd\thedtx\relax\else\Hrule\fi}
13.280 +
13.281 +\let\dtxmark\dtxmarkone
13.282 +
13.283 +\newbox\topbox
13.284 +\long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth
13.285 + \parindent=0pt
13.286 + \fcolorbox{toprulecolor}{topbgcolor}%
13.287 + {\parbox[t][2in][c]{\paperwidth}%
13.288 + {\hspace*{15mm}%
13.289 + \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}%
13.290 + \raggedright\normalfont\sffamily \selectfont
13.291 + \color{titlecolor} \@title\\[6pt]
13.292 + {\normalsize\rmfamily\scshape\@author}}%
13.293 +% {\footnotesize\textsc{keywords:} \@keywords}}%
13.294 + \hfill
13.295 + \parbox[c][2in][c]{1mm}{\color{topverticalrule}%
13.296 + \rule{.1pt}{2in}}%
13.297 + \hfill
13.298 + \parbox[c][2in][c]{.35\paperwidth}%
13.299 + {\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
13.300 + \vspace*{6pt} QUICK LINKS\Hrule
13.301 + \IfFileExists{tmp.out}{\input tmp.out}{}%
13.302 + }\hspace*{5mm}%
13.303 + }%
13.304 + }%
13.305 + }%
13.306 +}
13.307 +\gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}%
13.308 + {\parbox[t][.5in][t]{\paperwidth}%
13.309 + {\normalfont\sffamily\footnotesize%
13.310 + \color{botcolor}%
13.311 + \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
13.312 + {\raggedright \textcopyright\ 2009, Elsevier Ltd.
13.313 +% \href{http://www.river-valley.com}{%
13.314 +% http://www.river-valley.com}\\
13.315 +% \textsc{sjp} Building, Cotton Hills, Trivandrum
13.316 +% 695014, India\\ 9, Browns Court, Kennford,
13.317 +% Exeter, United Kingdom
13.318 + Bugs, feature requests, suggestions and comments\\
13.319 + shall be mailed to \href{mailto:elsarticle@river-valley.com}
13.320 + {$<$elsarticle@river-valley.com$>$}.
13.321 + }\hfill%
13.322 + \parbox[c][.5in][c]{1cm}
13.323 + {\centering\sffamily\mdseries
13.324 + \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}%
13.325 + }\hfill
13.326 + \parbox[c][.5in][c]{.45\paperwidth}
13.327 + {\raggedleft\begin{tabular}{rl}%
13.328 + Version:&\@version\\
13.329 + Date:&\@date\\
13.330 + Contact:&\@contact
13.331 + \end{tabular}\hspace*{5mm}%
13.332 + }%
13.333 + }%
13.334 + }%
13.335 + }
13.336 +
13.337 +\def\MacroFont{\fontencoding\encodingdefault
13.338 + \fontfamily\ttdefault
13.339 + \fontseries\mddefault
13.340 + \fontshape\updefault
13.341 + \color{verbcolor}\small}%
13.342 +
13.343 +\def\verbatim@font{\normalfont\color{verbcolor}\ttfamily}
13.344 +
13.345 +\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
13.346 + \bgroup
13.347 + \verb@eol@error \let\do\@makeother \dospecials
13.348 + \verbatim@font\@noligs
13.349 + \@ifstar\@sverb\@verb}
13.350 +
13.351 +
13.352 +\def\@lbr{\expandafter\@gobble\string\{}
13.353 +\def\@rbr{\expandafter\@gobble\string\}}
13.354 +\def\@bsl{\expandafter\@gobble\string\\}
13.355 +\def\@Bsl#1{\texttt{\@bsl#1}\xspace}
13.356 +\def\trics#1{\protect\@Bsl{#1}}
13.357 +\def\onecs#1{\protect\@Bsl{#1}}
13.358 +%\let\trics\onecs
13.359 +\@ifundefined{c@Glossary}{}{\c@GlossaryColumns=1
13.360 + \c@IndexColumns=2}
13.361 +
13.362 +\def\index@prologue{\section{Index}%
13.363 + \markboth{Index}{Index}%
13.364 +% Numbers written in italic refer to the page
13.365 +% where the corresponding entry is described;
13.366 +% numbers underlined refer to the
13.367 +% \ifcodeline@index
13.368 +% code line of the
13.369 +% \fi
13.370 +% definition; numbers in roman refer to the
13.371 +% \ifcodeline@index
13.372 +% code lines
13.373 +% \else
13.374 +% pages
13.375 +% \fi
13.376 +% where the entry is used.
13.377 + }
13.378 +
13.379 +\@ifundefined{theglossary}{}{%
13.380 +\renewenvironment{theglossary}{%
13.381 + \glossary@prologue%][\GlossaryMin]%
13.382 + \GlossaryParms \let\item\@idxitem \ignorespaces}%
13.383 + {}}
13.384 +
13.385 +\newenvironment{decl}[1][]%
13.386 + {\par\small\addvspace{1.5ex plus 1ex}%
13.387 + \vskip -\parskip
13.388 + \ifx\relax#1\relax
13.389 + \def\@decl@date{}%
13.390 + \else
13.391 + \def\@decl@date{\NEWfeature{#1}}%
13.392 + \fi
13.393 + \noindent%\hspace{-\leftmargini}%
13.394 + \begin{tabular}{l}\hline\ignorespaces}%
13.395 + {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
13.396 + \vspace{0.75ex}\vskip -\parskip\ignorespacesafterend\noindent}
13.397 +
13.398 +\newif\ifhave@multicol
13.399 +\newif\ifcodeline@index
13.400 +
13.401 +\IfFileExists{multicol.sty}{\have@multicoltrue
13.402 + \RequirePackage{multicol}%
13.403 + }{}
13.404 +
13.405 +\newdimen\IndexMin \IndexMin = 80pt
13.406 +\newcount\c@IndexColumns \c@IndexColumns = 2
13.407 +\ifhave@multicol
13.408 + \renewenvironment{theindex}
13.409 + {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
13.410 + \IndexParms \let\item\@idxitem \ignorespaces}%
13.411 + {\end{multicols}}
13.412 +\else
13.413 + \typeout{Can't find multicol.sty -- will use normal index layout if
13.414 + necessary.}
13.415 + \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
13.416 + \columnseprule \z@ \columnsep 35\p@
13.417 + \twocolumn[\index@prologue]%
13.418 + \IndexParms \let\item\@idxitem \ignorespaces}
13.419 + \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
13.420 +\fi
13.421 +\long\def\IndexPrologue#1{\@bsphack\def\index@prologue{#1}\@esphack}
13.422 +\@ifundefined{index@prologue}
13.423 + {\def\index@prologue{\section{Index}%
13.424 + \markboth{Index}{Index}%
13.425 +% Numbers written in italic refer to the page
13.426 +% where the corresponding entry is described;
13.427 +% numbers underlined refer to the
13.428 +% \ifcodeline@index
13.429 +% code line of the
13.430 +% \fi
13.431 +% definition; numbers in roman refer to the
13.432 +% \ifcodeline@index
13.433 +% code lines
13.434 +% \else
13.435 +% pages
13.436 +% \fi
13.437 +% where the entry is used.
13.438 + }}{}
13.439 +\@ifundefined{IndexParms}
13.440 + {\def\IndexParms{%
13.441 + \parindent \z@
13.442 + \columnsep 15pt
13.443 + \parskip 0pt plus 1pt
13.444 + \rightskip 15pt
13.445 + \mathsurround \z@
13.446 + \parfillskip=-15pt
13.447 + \footnotesize
13.448 + \def\@idxitem{\par\hangindent 30pt}%
13.449 + \def\subitem{\@idxitem\hspace*{15pt}}%
13.450 + \def\subsubitem{\@idxitem\hspace*{25pt}}%
13.451 + \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
13.452 + }}{}
13.453 +\def\efill{\hfill\nopagebreak}%
13.454 +\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill}%
13.455 +\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}%
13.456 +\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
13.457 + \dotfil~\ignorespaces}%
13.458 +
13.459 +\let\scan@allowedfalse\relax
13.460 +
13.461 +\def\tlformat#1{\begingroup\Large
13.462 + \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
13.463 + \fontseries{m}%
13.464 + \selectfont\color{white}\huge#1}%
13.465 + \endgroup}
13.466 +\def\tlFormat#1{\begingroup\Large
13.467 + \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
13.468 + \fontseries{m}%
13.469 + \selectfont\color{black}\huge#1}%
13.470 + \endgroup}
13.471 +\def\cvrlogo{\begingroup\fboxsep=2pt
13.472 + \colorbox{olive}{\tlformat{c}}%
13.473 + \colorbox{blue}{\tlformat{v}}%
13.474 + \colorbox{red}{\tlformat{r}}
13.475 + \endgroup}
13.476 +
13.477 +
13.478 +\endinput
13.479 +
13.480 +%%
13.481 +%% End of file 'rvdtx.sty'
13.482 +%%
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/elsarticle/elsarticle-harv.bst Fri Nov 18 16:18:02 2016 +0100
14.3 @@ -0,0 +1,1537 @@
14.4 +%%
14.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
14.6 +%%
14.7 +%% This file is part of the 'Elsarticle Bundle'.
14.8 +%% ---------------------------------------------
14.9 +%%
14.10 +%% It may be distributed under the conditions of the LaTeX Project Public
14.11 +%% License, either version 1.2 of this license or (at your option) any
14.12 +%% later version. The latest version of this license is in
14.13 +%% http://www.latex-project.org/lppl.txt
14.14 +%% and version 1.2 or later is part of all distributions of LaTeX
14.15 +%% version 1999/12/01 or later.
14.16 +%%
14.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
14.18 +%% given in the file `manifest.txt'.
14.19 +%%
14.20 +
14.21 + %%-------------------------------------------------------------------
14.22 + %% This bibliography style file is intended for texts in ENGLISH
14.23 + %% This is an author-year citation style bibliography. As such, it is
14.24 + %% non-standard LaTeX, and requires a special package file
14.25 + %% to function properly.
14.26 + %% Such a package is natbib.sty by Patrick W. Daly
14.27 + %% The form of the \bibitem entries is
14.28 + %% \bibitem[Jones et al.(1990)]{key}...
14.29 + %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
14.30 + %% The essential feature is that the label (the part in brackets) consists
14.31 + %% of the author names, as they should appear in the citation, with the year
14.32 + %% in parentheses following. There must be no space before the opening
14.33 + %% parenthesis!
14.34 + %% With natbib v5.3, a full list of authors may also follow the year.
14.35 + %% In natbib.sty, it is possible to define the type of enclosures that is
14.36 + %% really wanted (brackets or parentheses), but in either case, there must
14.37 + %% be parentheses in the label.
14.38 + %% The \cite command functions as follows:
14.39 + %% \citet{key} ==>> Jones et al. (1990)
14.40 + %% \citet*{key} ==>> Jones, Baker, and Smith (1990)
14.41 + %% \citep{key} ==>> (Jones et al., 1990)
14.42 + %% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
14.43 + %% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
14.44 + %% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
14.45 + %% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
14.46 + %% \citeauthor{key} ==>> Jones et al.
14.47 + %% \citeauthor*{key} ==>> Jones, Baker, and Smith
14.48 + %% \citeyear{key} ==>> 1990
14.49 + %%---------------------------------------------------------------------
14.50 +
14.51 +ENTRY
14.52 + { address
14.53 + author
14.54 + booktitle
14.55 + chapter
14.56 + edition
14.57 + editor
14.58 + howpublished
14.59 + institution
14.60 + journal
14.61 + key
14.62 + month
14.63 + note
14.64 + number
14.65 + organization
14.66 + pages
14.67 + publisher
14.68 + school
14.69 + series
14.70 + title
14.71 + type
14.72 + url
14.73 + volume
14.74 + year
14.75 + }
14.76 + {}
14.77 + { label extra.label sort.label short.list }
14.78 +
14.79 +INTEGERS { output.state before.all mid.sentence after.sentence after.block }
14.80 +
14.81 +FUNCTION {init.state.consts}
14.82 +{ #0 'before.all :=
14.83 + #1 'mid.sentence :=
14.84 + #2 'after.sentence :=
14.85 + #3 'after.block :=
14.86 +}
14.87 +
14.88 +STRINGS { s t }
14.89 +
14.90 +FUNCTION {output.nonnull}
14.91 +{ 's :=
14.92 + output.state mid.sentence =
14.93 + { ", " * write$ }
14.94 + { output.state after.block =
14.95 + { add.period$ write$
14.96 + newline$
14.97 + "\newblock " write$
14.98 + }
14.99 + { output.state before.all =
14.100 + 'write$
14.101 + { add.period$ " " * write$ }
14.102 + if$
14.103 + }
14.104 + if$
14.105 + mid.sentence 'output.state :=
14.106 + }
14.107 + if$
14.108 + s
14.109 +}
14.110 +
14.111 +FUNCTION {output}
14.112 +{ duplicate$ empty$
14.113 + 'pop$
14.114 + 'output.nonnull
14.115 + if$
14.116 +}
14.117 +
14.118 +FUNCTION {output.check}
14.119 +{ 't :=
14.120 + duplicate$ empty$
14.121 + { pop$ "empty " t * " in " * cite$ * warning$ }
14.122 + 'output.nonnull
14.123 + if$
14.124 +}
14.125 +
14.126 +FUNCTION {fin.entry}
14.127 +{ add.period$
14.128 + write$
14.129 + newline$
14.130 +}
14.131 +
14.132 +FUNCTION {new.block}
14.133 +{ output.state before.all =
14.134 + 'skip$
14.135 + { after.block 'output.state := }
14.136 + if$
14.137 +}
14.138 +
14.139 +FUNCTION {new.sentence}
14.140 +{ output.state after.block =
14.141 + 'skip$
14.142 + { output.state before.all =
14.143 + 'skip$
14.144 + { after.sentence 'output.state := }
14.145 + if$
14.146 + }
14.147 + if$
14.148 +}
14.149 +
14.150 +%%SP 2003/07/25
14.151 +%% No longer used
14.152 +FUNCTION {add.blank}
14.153 +{ " " * before.all 'output.state :=
14.154 +}
14.155 +
14.156 +FUNCTION {date.block}
14.157 +{
14.158 + new.sentence
14.159 +}
14.160 +
14.161 +FUNCTION {not}
14.162 +{ { #0 }
14.163 + { #1 }
14.164 + if$
14.165 +}
14.166 +
14.167 +FUNCTION {and}
14.168 +{ 'skip$
14.169 + { pop$ #0 }
14.170 + if$
14.171 +}
14.172 +
14.173 +FUNCTION {or}
14.174 +{ { pop$ #1 }
14.175 + 'skip$
14.176 + if$
14.177 +}
14.178 +
14.179 +FUNCTION {new.block.checkb}
14.180 +{ empty$
14.181 + swap$ empty$
14.182 + and
14.183 + 'skip$
14.184 + 'new.block
14.185 + if$
14.186 +}
14.187 +
14.188 +FUNCTION {field.or.null}
14.189 +{ duplicate$ empty$
14.190 + { pop$ "" }
14.191 + 'skip$
14.192 + if$
14.193 +}
14.194 +
14.195 +FUNCTION {emphasize}
14.196 +{ skip$ }
14.197 +
14.198 +FUNCTION {capitalize}
14.199 +{ "u" change.case$ "t" change.case$ }
14.200 +
14.201 +FUNCTION {space.word}
14.202 +{ " " swap$ * " " * }
14.203 +
14.204 + %% Here are the language-specific definitions for explicit words.
14.205 + %% Each function has a name bbl.xxx where xxx is the English word.
14.206 + %% The language selected here is ENGLISH
14.207 +FUNCTION {bbl.and}
14.208 +{ "and"}
14.209 +
14.210 +FUNCTION {bbl.etal}
14.211 +{ "et~al." }
14.212 +
14.213 +FUNCTION {bbl.editors}
14.214 +{ "Eds." }
14.215 +
14.216 +FUNCTION {bbl.editor}
14.217 +{ "Ed." }
14.218 +
14.219 +FUNCTION {bbl.edby}
14.220 +{ "edited by" }
14.221 +
14.222 +FUNCTION {bbl.edition}
14.223 +{ "Edition" }
14.224 +
14.225 +FUNCTION {bbl.volume}
14.226 +{ "Vol." }
14.227 +
14.228 +FUNCTION {bbl.of}
14.229 +{ "of" }
14.230 +
14.231 +FUNCTION {bbl.number}
14.232 +{ "no." }
14.233 +
14.234 +FUNCTION {bbl.nr}
14.235 +{ "no." }
14.236 +
14.237 +FUNCTION {bbl.in}
14.238 +{ "in" }
14.239 +
14.240 +FUNCTION {bbl.pages}
14.241 +{ "pp." }
14.242 +
14.243 +FUNCTION {bbl.page}
14.244 +{ "p." }
14.245 +
14.246 +FUNCTION {bbl.chapter}
14.247 +{ "Ch." }
14.248 +
14.249 +FUNCTION {bbl.techrep}
14.250 +{ "Tech. Rep." }
14.251 +
14.252 +FUNCTION {bbl.mthesis}
14.253 +{ "Master's thesis" }
14.254 +
14.255 +FUNCTION {bbl.phdthesis}
14.256 +{ "Ph.D. thesis" }
14.257 +
14.258 +FUNCTION {bbl.first}
14.259 +{ "1st" }
14.260 +
14.261 +FUNCTION {bbl.second}
14.262 +{ "2nd" }
14.263 +
14.264 +FUNCTION {bbl.third}
14.265 +{ "3rd" }
14.266 +
14.267 +FUNCTION {bbl.fourth}
14.268 +{ "4th" }
14.269 +
14.270 +FUNCTION {bbl.fifth}
14.271 +{ "5th" }
14.272 +
14.273 +FUNCTION {bbl.st}
14.274 +{ "st" }
14.275 +
14.276 +FUNCTION {bbl.nd}
14.277 +{ "nd" }
14.278 +
14.279 +FUNCTION {bbl.rd}
14.280 +{ "rd" }
14.281 +
14.282 +FUNCTION {bbl.th}
14.283 +{ "th" }
14.284 +
14.285 +MACRO {jan} {"Jan."}
14.286 +
14.287 +MACRO {feb} {"Feb."}
14.288 +
14.289 +MACRO {mar} {"Mar."}
14.290 +
14.291 +MACRO {apr} {"Apr."}
14.292 +
14.293 +MACRO {may} {"May"}
14.294 +
14.295 +MACRO {jun} {"Jun."}
14.296 +
14.297 +MACRO {jul} {"Jul."}
14.298 +
14.299 +MACRO {aug} {"Aug."}
14.300 +
14.301 +MACRO {sep} {"Sep."}
14.302 +
14.303 +MACRO {oct} {"Oct."}
14.304 +
14.305 +MACRO {nov} {"Nov."}
14.306 +
14.307 +MACRO {dec} {"Dec."}
14.308 +
14.309 +FUNCTION {eng.ord}
14.310 +{ duplicate$ "1" swap$ *
14.311 + #-2 #1 substring$ "1" =
14.312 + { bbl.th * }
14.313 + { duplicate$ #-1 #1 substring$
14.314 + duplicate$ "1" =
14.315 + { pop$ bbl.st * }
14.316 + { duplicate$ "2" =
14.317 + { pop$ bbl.nd * }
14.318 + { "3" =
14.319 + { bbl.rd * }
14.320 + { bbl.th * }
14.321 + if$
14.322 + }
14.323 + if$
14.324 + }
14.325 + if$
14.326 + }
14.327 + if$
14.328 +}
14.329 +
14.330 +MACRO {acmcs} {"ACM Comput. Surv."}
14.331 +
14.332 +MACRO {acta} {"Acta Inf."}
14.333 +
14.334 +MACRO {cacm} {"Commun. ACM"}
14.335 +
14.336 +MACRO {ibmjrd} {"IBM J. Res. Dev."}
14.337 +
14.338 +MACRO {ibmsj} {"IBM Syst.~J."}
14.339 +
14.340 +MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
14.341 +
14.342 +MACRO {ieeetc} {"IEEE Trans. Comput."}
14.343 +
14.344 +MACRO {ieeetcad}
14.345 + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
14.346 +
14.347 +MACRO {ipl} {"Inf. Process. Lett."}
14.348 +
14.349 +MACRO {jacm} {"J.~ACM"}
14.350 +
14.351 +MACRO {jcss} {"J.~Comput. Syst. Sci."}
14.352 +
14.353 +MACRO {scp} {"Sci. Comput. Programming"}
14.354 +
14.355 +MACRO {sicomp} {"SIAM J. Comput."}
14.356 +
14.357 +MACRO {tocs} {"ACM Trans. Comput. Syst."}
14.358 +
14.359 +MACRO {tods} {"ACM Trans. Database Syst."}
14.360 +
14.361 +MACRO {tog} {"ACM Trans. Gr."}
14.362 +
14.363 +MACRO {toms} {"ACM Trans. Math. Softw."}
14.364 +
14.365 +MACRO {toois} {"ACM Trans. Office Inf. Syst."}
14.366 +
14.367 +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
14.368 +
14.369 +MACRO {tcs} {"Theoretical Comput. Sci."}
14.370 +
14.371 +FUNCTION {write.url}
14.372 +{ url empty$
14.373 + { skip$ }
14.374 + { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
14.375 + if$
14.376 +}
14.377 +
14.378 +INTEGERS { nameptr namesleft numnames }
14.379 +
14.380 +FUNCTION {format.names}
14.381 +{ 's :=
14.382 + #1 'nameptr :=
14.383 + s num.names$ 'numnames :=
14.384 + numnames 'namesleft :=
14.385 + { namesleft #0 > }
14.386 + { s nameptr
14.387 + "{vv~}{ll}{, jj}{, f.}" format.name$
14.388 + 't :=
14.389 + nameptr #1 >
14.390 + {
14.391 + namesleft #1 >
14.392 + { ", " * t * }
14.393 + {
14.394 + "," *
14.395 + s nameptr "{ll}" format.name$ duplicate$ "others" =
14.396 + { 't := }
14.397 + { pop$ }
14.398 + if$
14.399 + t "others" =
14.400 + {
14.401 + " " * bbl.etal *
14.402 + }
14.403 + { " " * t * }
14.404 + if$
14.405 + }
14.406 + if$
14.407 + }
14.408 + 't
14.409 + if$
14.410 + nameptr #1 + 'nameptr :=
14.411 + namesleft #1 - 'namesleft :=
14.412 + }
14.413 + while$
14.414 +}
14.415 +FUNCTION {format.names.ed}
14.416 +{ format.names }
14.417 +FUNCTION {format.key}
14.418 +{ empty$
14.419 + { key field.or.null }
14.420 + { "" }
14.421 + if$
14.422 +}
14.423 +
14.424 +FUNCTION {format.authors}
14.425 +{ author empty$
14.426 + { "" }
14.427 + { author format.names }
14.428 + if$
14.429 +}
14.430 +
14.431 +FUNCTION {format.editors}
14.432 +{ editor empty$
14.433 + { "" }
14.434 + { editor format.names
14.435 + editor num.names$ #1 >
14.436 + { " (" * bbl.editors * ")" * }
14.437 + { " (" * bbl.editor * ")" * }
14.438 + if$
14.439 + }
14.440 + if$
14.441 +}
14.442 +
14.443 +FUNCTION {format.in.editors}
14.444 +{ editor empty$
14.445 + { "" }
14.446 + { editor format.names.ed
14.447 + editor num.names$ #1 >
14.448 + { " (" * bbl.editors * ")" * }
14.449 + { " (" * bbl.editor * ")" * }
14.450 + if$
14.451 + }
14.452 + if$
14.453 +}
14.454 +
14.455 +FUNCTION {format.note}
14.456 +{
14.457 + note empty$
14.458 + { "" }
14.459 + { note #1 #1 substring$
14.460 + duplicate$ "{" =
14.461 + 'skip$
14.462 + { output.state mid.sentence =
14.463 + { "l" }
14.464 + { "u" }
14.465 + if$
14.466 + change.case$
14.467 + }
14.468 + if$
14.469 + note #2 global.max$ substring$ *
14.470 + }
14.471 + if$
14.472 +}
14.473 +
14.474 +FUNCTION {format.title}
14.475 +{ title empty$
14.476 + { "" }
14.477 + { title "t" change.case$
14.478 + }
14.479 + if$
14.480 +}
14.481 +
14.482 +FUNCTION {format.full.names}
14.483 +{'s :=
14.484 + #1 'nameptr :=
14.485 + s num.names$ 'numnames :=
14.486 + numnames 'namesleft :=
14.487 + { namesleft #0 > }
14.488 + { s nameptr
14.489 + "{vv~}{ll}" format.name$
14.490 + 't :=
14.491 + nameptr #1 >
14.492 + {
14.493 + namesleft #1 >
14.494 + { ", " * t * }
14.495 + {
14.496 + numnames #2 >
14.497 + { "," * }
14.498 + 'skip$
14.499 + if$
14.500 + s nameptr "{ll}" format.name$ duplicate$ "others" =
14.501 + { 't := }
14.502 + { pop$ }
14.503 + if$
14.504 + t "others" =
14.505 + {
14.506 + " " * bbl.etal *
14.507 + }
14.508 + { bbl.and
14.509 + space.word * t *
14.510 + }
14.511 + if$
14.512 + }
14.513 + if$
14.514 + }
14.515 + 't
14.516 + if$
14.517 + nameptr #1 + 'nameptr :=
14.518 + namesleft #1 - 'namesleft :=
14.519 + }
14.520 + while$
14.521 +}
14.522 +
14.523 +FUNCTION {author.editor.key.full}
14.524 +{ author empty$
14.525 + { editor empty$
14.526 + { key empty$
14.527 + { cite$ #1 #3 substring$ }
14.528 + 'key
14.529 + if$
14.530 + }
14.531 + { editor format.full.names }
14.532 + if$
14.533 + }
14.534 + { author format.full.names }
14.535 + if$
14.536 +}
14.537 +
14.538 +FUNCTION {author.key.full}
14.539 +{ author empty$
14.540 + { key empty$
14.541 + { cite$ #1 #3 substring$ }
14.542 + 'key
14.543 + if$
14.544 + }
14.545 + { author format.full.names }
14.546 + if$
14.547 +}
14.548 +
14.549 +FUNCTION {editor.key.full}
14.550 +{ editor empty$
14.551 + { key empty$
14.552 + { cite$ #1 #3 substring$ }
14.553 + 'key
14.554 + if$
14.555 + }
14.556 + { editor format.full.names }
14.557 + if$
14.558 +}
14.559 +
14.560 +FUNCTION {make.full.names}
14.561 +{ type$ "book" =
14.562 + type$ "inbook" =
14.563 + or
14.564 + 'author.editor.key.full
14.565 + { type$ "proceedings" =
14.566 + 'editor.key.full
14.567 + 'author.key.full
14.568 + if$
14.569 + }
14.570 + if$
14.571 +}
14.572 +
14.573 +FUNCTION {output.bibitem}
14.574 +{ newline$
14.575 + "\bibitem[{" write$
14.576 + label write$
14.577 + ")" make.full.names duplicate$ short.list =
14.578 + { pop$ }
14.579 + { * }
14.580 + if$
14.581 + "}]{" * write$
14.582 + cite$ write$
14.583 + "}" write$
14.584 + newline$
14.585 + ""
14.586 + before.all 'output.state :=
14.587 +}
14.588 +
14.589 +FUNCTION {n.dashify}
14.590 +{
14.591 + 't :=
14.592 + ""
14.593 + { t empty$ not }
14.594 + { t #1 #1 substring$ "-" =
14.595 + { t #1 #2 substring$ "--" = not
14.596 + { "--" *
14.597 + t #2 global.max$ substring$ 't :=
14.598 + }
14.599 + { { t #1 #1 substring$ "-" = }
14.600 + { "-" *
14.601 + t #2 global.max$ substring$ 't :=
14.602 + }
14.603 + while$
14.604 + }
14.605 + if$
14.606 + }
14.607 + { t #1 #1 substring$ *
14.608 + t #2 global.max$ substring$ 't :=
14.609 + }
14.610 + if$
14.611 + }
14.612 + while$
14.613 +}
14.614 +
14.615 +FUNCTION {word.in}
14.616 +{ bbl.in capitalize
14.617 + ":" *
14.618 + " " * }
14.619 +
14.620 +FUNCTION {format.date}
14.621 +{ year duplicate$ empty$
14.622 + { "empty year in " cite$ * "; set to ????" * warning$
14.623 + pop$ "????" }
14.624 + 'skip$
14.625 + if$
14.626 + month empty$
14.627 + 'skip$
14.628 + { month
14.629 + " " * swap$ *
14.630 + }
14.631 + if$
14.632 + extra.label *
14.633 + before.all 'output.state :=
14.634 + ", " swap$ *
14.635 +}
14.636 +
14.637 +FUNCTION {format.btitle}
14.638 +{ title
14.639 +}
14.640 +
14.641 +FUNCTION {tie.or.space.connect}
14.642 +{ duplicate$ text.length$ #3 <
14.643 + { "~" }
14.644 + { " " }
14.645 + if$
14.646 + swap$ * *
14.647 +}
14.648 +
14.649 +FUNCTION {either.or.check}
14.650 +{ empty$
14.651 + 'pop$
14.652 + { "can't use both " swap$ * " fields in " * cite$ * warning$ }
14.653 + if$
14.654 +}
14.655 +
14.656 +FUNCTION {format.bvolume}
14.657 +{ volume empty$
14.658 + { "" }
14.659 + { bbl.volume volume tie.or.space.connect
14.660 + series empty$
14.661 + 'skip$
14.662 + { bbl.of space.word * series emphasize * }
14.663 + if$
14.664 + "volume and number" number either.or.check
14.665 + }
14.666 + if$
14.667 +}
14.668 +
14.669 +FUNCTION {format.number.series}
14.670 +{ volume empty$
14.671 + { number empty$
14.672 + { series field.or.null }
14.673 + { output.state mid.sentence =
14.674 + { bbl.number }
14.675 + { bbl.number capitalize }
14.676 + if$
14.677 + number tie.or.space.connect
14.678 + series empty$
14.679 + { "there's a number but no series in " cite$ * warning$ }
14.680 + { bbl.in space.word * series * }
14.681 + if$
14.682 + }
14.683 + if$
14.684 + }
14.685 + { "" }
14.686 + if$
14.687 +}
14.688 +
14.689 +FUNCTION {is.num}
14.690 +{ chr.to.int$
14.691 + duplicate$ "0" chr.to.int$ < not
14.692 + swap$ "9" chr.to.int$ > not and
14.693 +}
14.694 +
14.695 +FUNCTION {extract.num}
14.696 +{ duplicate$ 't :=
14.697 + "" 's :=
14.698 + { t empty$ not }
14.699 + { t #1 #1 substring$
14.700 + t #2 global.max$ substring$ 't :=
14.701 + duplicate$ is.num
14.702 + { s swap$ * 's := }
14.703 + { pop$ "" 't := }
14.704 + if$
14.705 + }
14.706 + while$
14.707 + s empty$
14.708 + 'skip$
14.709 + { pop$ s }
14.710 + if$
14.711 +}
14.712 +
14.713 +FUNCTION {convert.edition}
14.714 +{ edition extract.num "l" change.case$ 's :=
14.715 + s "first" = s "1" = or
14.716 + { bbl.first 't := }
14.717 + { s "second" = s "2" = or
14.718 + { bbl.second 't := }
14.719 + { s "third" = s "3" = or
14.720 + { bbl.third 't := }
14.721 + { s "fourth" = s "4" = or
14.722 + { bbl.fourth 't := }
14.723 + { s "fifth" = s "5" = or
14.724 + { bbl.fifth 't := }
14.725 + { s #1 #1 substring$ is.num
14.726 + { s eng.ord 't := }
14.727 + { edition 't := }
14.728 + if$
14.729 + }
14.730 + if$
14.731 + }
14.732 + if$
14.733 + }
14.734 + if$
14.735 + }
14.736 + if$
14.737 + }
14.738 + if$
14.739 + t
14.740 +}
14.741 +
14.742 +FUNCTION {format.edition}
14.743 +{ edition empty$
14.744 + { "" }
14.745 + { output.state mid.sentence =
14.746 + { convert.edition "l" change.case$ " " * bbl.edition * }
14.747 + { convert.edition "t" change.case$ " " * bbl.edition * }
14.748 + if$
14.749 + }
14.750 + if$
14.751 +}
14.752 +
14.753 +INTEGERS { multiresult }
14.754 +
14.755 +FUNCTION {multi.page.check}
14.756 +{ 't :=
14.757 + #0 'multiresult :=
14.758 + { multiresult not
14.759 + t empty$ not
14.760 + and
14.761 + }
14.762 + { t #1 #1 substring$
14.763 + duplicate$ "-" =
14.764 + swap$ duplicate$ "," =
14.765 + swap$ "+" =
14.766 + or or
14.767 + { #1 'multiresult := }
14.768 + { t #2 global.max$ substring$ 't := }
14.769 + if$
14.770 + }
14.771 + while$
14.772 + multiresult
14.773 +}
14.774 +
14.775 +FUNCTION {format.pages}
14.776 +{ pages empty$
14.777 + { "" }
14.778 + { pages multi.page.check
14.779 + { bbl.pages pages n.dashify tie.or.space.connect }
14.780 + { bbl.page pages tie.or.space.connect }
14.781 + if$
14.782 + }
14.783 + if$
14.784 +}
14.785 +
14.786 +FUNCTION {format.journal.pages}
14.787 +{ pages empty$
14.788 + 'skip$
14.789 + { duplicate$ empty$
14.790 + { pop$ format.pages }
14.791 + {
14.792 + ", " *
14.793 + pages n.dashify *
14.794 + }
14.795 + if$
14.796 + }
14.797 + if$
14.798 +}
14.799 +
14.800 +%%SP 2001/01/23
14.801 +%% Only used in articles
14.802 +FUNCTION {format.vol.num.pages}
14.803 +{
14.804 +%%SP 2001/01/23
14.805 +%% Add the leading space only if there is a volume
14.806 + %% volume field.or.null
14.807 + " "
14.808 + volume empty$
14.809 + { pop$ "" }
14.810 + { volume * }
14.811 + if$
14.812 + number empty$
14.813 + 'skip$
14.814 + {
14.815 + "~(" number * ")" * *
14.816 + volume empty$
14.817 + { "there's a number but no volume in " cite$ * warning$ }
14.818 + 'skip$
14.819 + if$
14.820 + }
14.821 + if$
14.822 +}
14.823 +
14.824 +FUNCTION {format.chapter.pages}
14.825 +{ chapter empty$
14.826 + { "" }
14.827 + { type empty$
14.828 + { bbl.chapter }
14.829 + { type "l" change.case$ }
14.830 + if$
14.831 + chapter tie.or.space.connect
14.832 + }
14.833 + if$
14.834 +}
14.835 +
14.836 +FUNCTION {format.in.ed.booktitle}
14.837 +{ booktitle empty$
14.838 + { "" }
14.839 + { editor empty$
14.840 + { word.in booktitle * }
14.841 + { word.in format.in.editors * ", " *
14.842 + booktitle * }
14.843 + if$
14.844 + }
14.845 + if$
14.846 +}
14.847 +
14.848 +FUNCTION {format.thesis.type}
14.849 +{ type empty$
14.850 + 'skip$
14.851 + { pop$
14.852 + type "t" change.case$
14.853 + }
14.854 + if$
14.855 +}
14.856 +
14.857 +FUNCTION {format.tr.number}
14.858 +{ type empty$
14.859 + { bbl.techrep }
14.860 + 'type
14.861 + if$
14.862 + number empty$
14.863 + { "t" change.case$ }
14.864 + { number tie.or.space.connect }
14.865 + if$
14.866 +}
14.867 +
14.868 +FUNCTION {format.article.crossref}
14.869 +{
14.870 + word.in
14.871 + " \cite{" * crossref * "}" *
14.872 +}
14.873 +
14.874 +FUNCTION {format.book.crossref}
14.875 +{ volume empty$
14.876 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
14.877 + word.in
14.878 + }
14.879 + { bbl.volume capitalize
14.880 + volume tie.or.space.connect
14.881 + bbl.of space.word *
14.882 + }
14.883 + if$
14.884 + " \cite{" * crossref * "}" *
14.885 +}
14.886 +
14.887 +FUNCTION {format.incoll.inproc.crossref}
14.888 +{
14.889 + word.in
14.890 + " \cite{" * crossref * "}" *
14.891 +}
14.892 +
14.893 +FUNCTION {format.org.or.pub}
14.894 +{ 't :=
14.895 + ""
14.896 + address empty$ t empty$ and
14.897 + 'skip$
14.898 + {
14.899 + t empty$
14.900 + { address empty$
14.901 + 'skip$
14.902 + { address * }
14.903 + if$
14.904 + }
14.905 + { t *
14.906 + address empty$
14.907 + 'skip$
14.908 + { ", " * address * }
14.909 + if$
14.910 + }
14.911 + if$
14.912 + }
14.913 + if$
14.914 +}
14.915 +
14.916 +FUNCTION {format.publisher.address}
14.917 +{ publisher empty$
14.918 + { "empty publisher in " cite$ * warning$
14.919 + ""
14.920 + }
14.921 + { publisher }
14.922 + if$
14.923 + format.org.or.pub
14.924 +}
14.925 +
14.926 +FUNCTION {format.organization.address}
14.927 +{ organization empty$
14.928 + { "" }
14.929 + { organization }
14.930 + if$
14.931 + format.org.or.pub
14.932 +}
14.933 +
14.934 +FUNCTION {article}
14.935 +{ output.bibitem
14.936 + format.authors "author" output.check
14.937 + author format.key output
14.938 + format.date "year" output.check
14.939 + date.block
14.940 + format.title "title" output.check
14.941 + new.sentence
14.942 + crossref missing$
14.943 + { journal
14.944 + "journal" output.check
14.945 +%%SP 2001/01/23
14.946 +%% Add the space in format.vol.num.pages
14.947 + %% add.blank
14.948 + before.all 'output.state :=
14.949 + format.vol.num.pages output
14.950 + }
14.951 + { format.article.crossref output.nonnull
14.952 + format.pages output
14.953 + }
14.954 + if$
14.955 + format.journal.pages
14.956 + format.note output
14.957 + fin.entry
14.958 + write.url
14.959 +}
14.960 +
14.961 +FUNCTION {book}
14.962 +{ output.bibitem
14.963 + author empty$
14.964 + { format.editors "author and editor" output.check
14.965 + editor format.key output
14.966 + }
14.967 + { format.authors output.nonnull
14.968 + crossref missing$
14.969 + { "author and editor" editor either.or.check }
14.970 + 'skip$
14.971 + if$
14.972 + }
14.973 + if$
14.974 + format.date "year" output.check
14.975 + date.block
14.976 + format.btitle "title" output.check
14.977 + crossref missing$
14.978 + { format.edition output
14.979 + new.sentence
14.980 + format.bvolume output
14.981 + format.number.series output
14.982 + new.sentence
14.983 + format.publisher.address output
14.984 + }
14.985 + {
14.986 + new.sentence
14.987 + format.book.crossref output.nonnull
14.988 + }
14.989 + if$
14.990 + format.note output
14.991 + fin.entry
14.992 + write.url
14.993 +}
14.994 +
14.995 +FUNCTION {booklet}
14.996 +{ output.bibitem
14.997 + format.authors output
14.998 + author format.key output
14.999 + format.date "year" output.check
14.1000 + date.block
14.1001 + format.title "title" output.check
14.1002 + new.sentence
14.1003 + howpublished output
14.1004 + address output
14.1005 + format.note output
14.1006 + fin.entry
14.1007 + write.url
14.1008 +}
14.1009 +
14.1010 +FUNCTION {inbook}
14.1011 +{ output.bibitem
14.1012 + author empty$
14.1013 + { format.editors "author and editor" output.check
14.1014 + editor format.key output
14.1015 + }
14.1016 + { format.authors output.nonnull
14.1017 + crossref missing$
14.1018 + { "author and editor" editor either.or.check }
14.1019 + 'skip$
14.1020 + if$
14.1021 + }
14.1022 + if$
14.1023 + format.date "year" output.check
14.1024 + date.block
14.1025 + format.btitle "title" output.check
14.1026 + crossref missing$
14.1027 + {
14.1028 + format.edition output
14.1029 + new.sentence
14.1030 + format.bvolume output
14.1031 + format.number.series output
14.1032 + new.sentence
14.1033 + format.publisher.address output
14.1034 + format.chapter.pages "chapter and pages" output.check
14.1035 + }
14.1036 + {
14.1037 + format.chapter.pages "chapter and pages" output.check
14.1038 + new.sentence
14.1039 + format.book.crossref output.nonnull
14.1040 + }
14.1041 + if$
14.1042 + format.pages "pages" output.check
14.1043 + format.note output
14.1044 + fin.entry
14.1045 + write.url
14.1046 +}
14.1047 +
14.1048 +FUNCTION {incollection}
14.1049 +{ output.bibitem
14.1050 + format.authors "author" output.check
14.1051 + author format.key output
14.1052 + format.date "year" output.check
14.1053 + date.block
14.1054 + format.title "title" output.check
14.1055 + new.sentence
14.1056 + crossref missing$
14.1057 + { format.in.ed.booktitle "booktitle" output.check
14.1058 + format.edition output
14.1059 + new.sentence
14.1060 + format.bvolume output
14.1061 + format.number.series output
14.1062 + new.sentence
14.1063 + format.publisher.address output
14.1064 + format.chapter.pages output
14.1065 + }
14.1066 + { format.incoll.inproc.crossref output.nonnull
14.1067 + format.chapter.pages output
14.1068 + }
14.1069 + if$
14.1070 + format.pages "pages" output.check
14.1071 + format.note output
14.1072 + fin.entry
14.1073 + write.url
14.1074 +}
14.1075 +
14.1076 +FUNCTION {inproceedings}
14.1077 +{ output.bibitem
14.1078 + format.authors "author" output.check
14.1079 + author format.key output
14.1080 + format.date "year" output.check
14.1081 + date.block
14.1082 + format.title "title" output.check
14.1083 + new.sentence
14.1084 + crossref missing$
14.1085 + { format.in.ed.booktitle "booktitle" output.check
14.1086 + format.edition output
14.1087 + new.sentence
14.1088 + format.bvolume output
14.1089 + format.number.series output
14.1090 + new.sentence
14.1091 + publisher empty$
14.1092 + { format.organization.address output }
14.1093 + { organization output
14.1094 + format.publisher.address output
14.1095 + }
14.1096 + if$
14.1097 +%%SP 2001/01/23
14.1098 +%% format.pages output
14.1099 + }
14.1100 + { format.incoll.inproc.crossref output.nonnull
14.1101 +%%SP 2001/01/23
14.1102 +%% format.pages output
14.1103 + }
14.1104 + if$
14.1105 +%%SP 2001/01/23
14.1106 + format.pages "pages" output.check
14.1107 + format.note output
14.1108 + fin.entry
14.1109 + write.url
14.1110 +}
14.1111 +
14.1112 +FUNCTION {conference} { inproceedings }
14.1113 +
14.1114 +FUNCTION {manual}
14.1115 +{ output.bibitem
14.1116 + format.authors output
14.1117 + author format.key output
14.1118 + format.date "year" output.check
14.1119 + date.block
14.1120 + format.btitle "title" output.check
14.1121 + new.sentence
14.1122 + organization output
14.1123 + address output
14.1124 + format.edition output
14.1125 + format.note output
14.1126 + fin.entry
14.1127 + write.url
14.1128 +}
14.1129 +
14.1130 +FUNCTION {mastersthesis}
14.1131 +{ output.bibitem
14.1132 + format.authors "author" output.check
14.1133 + author format.key output
14.1134 + format.date "year" output.check
14.1135 + date.block
14.1136 + format.title "title" output.check
14.1137 + new.sentence
14.1138 + bbl.mthesis format.thesis.type output.nonnull
14.1139 + school "school" output.check
14.1140 + address output
14.1141 + format.note output
14.1142 + fin.entry
14.1143 + write.url
14.1144 +}
14.1145 +
14.1146 +FUNCTION {misc}
14.1147 +{ output.bibitem
14.1148 + format.authors output
14.1149 + author format.key output
14.1150 + format.date "year" output.check
14.1151 + date.block
14.1152 + format.title output
14.1153 + new.sentence
14.1154 + howpublished output
14.1155 + format.note output
14.1156 + fin.entry
14.1157 + write.url
14.1158 +}
14.1159 +
14.1160 +FUNCTION {phdthesis}
14.1161 +{ output.bibitem
14.1162 + format.authors "author" output.check
14.1163 + author format.key output
14.1164 + format.date "year" output.check
14.1165 + date.block
14.1166 + format.title "title" output.check
14.1167 + new.sentence
14.1168 + bbl.phdthesis format.thesis.type output.nonnull
14.1169 + school "school" output.check
14.1170 + address output
14.1171 + format.note output
14.1172 + fin.entry
14.1173 + write.url
14.1174 +}
14.1175 +
14.1176 +FUNCTION {proceedings}
14.1177 +{ output.bibitem
14.1178 + format.editors output
14.1179 + editor format.key output
14.1180 + format.date "year" output.check
14.1181 + date.block
14.1182 + format.btitle "title" output.check
14.1183 + new.sentence
14.1184 + format.bvolume output
14.1185 + format.number.series output
14.1186 + new.sentence
14.1187 + publisher empty$
14.1188 + { format.organization.address output }
14.1189 + { organization output
14.1190 + format.publisher.address output
14.1191 + }
14.1192 + if$
14.1193 + format.note output
14.1194 + fin.entry
14.1195 + write.url
14.1196 +}
14.1197 +
14.1198 +FUNCTION {techreport}
14.1199 +{ output.bibitem
14.1200 + format.authors "author" output.check
14.1201 + author format.key output
14.1202 + format.date "year" output.check
14.1203 + date.block
14.1204 + format.title "title" output.check
14.1205 + new.sentence
14.1206 + format.tr.number output.nonnull
14.1207 + institution "institution" output.check
14.1208 + address output
14.1209 + format.note output
14.1210 + fin.entry
14.1211 + write.url
14.1212 +}
14.1213 +
14.1214 +FUNCTION {unpublished}
14.1215 +{ output.bibitem
14.1216 + format.authors "author" output.check
14.1217 + author format.key output
14.1218 + format.date "year" output.check
14.1219 + date.block
14.1220 + format.title "title" output.check
14.1221 + format.note "note" output.check
14.1222 + fin.entry
14.1223 + write.url
14.1224 +}
14.1225 +
14.1226 +FUNCTION {default.type} { misc }
14.1227 +
14.1228 +READ
14.1229 +
14.1230 +FUNCTION {sortify}
14.1231 +{ purify$
14.1232 + "l" change.case$
14.1233 +}
14.1234 +
14.1235 +INTEGERS { len }
14.1236 +
14.1237 +FUNCTION {chop.word}
14.1238 +{ 's :=
14.1239 + 'len :=
14.1240 + s #1 len substring$ =
14.1241 + { s len #1 + global.max$ substring$ }
14.1242 + 's
14.1243 + if$
14.1244 +}
14.1245 +
14.1246 +FUNCTION {format.lab.names}
14.1247 +{ 's :=
14.1248 + s #1 "{vv~}{ll}" format.name$
14.1249 + s num.names$ duplicate$
14.1250 + #2 >
14.1251 + { pop$
14.1252 + " " * bbl.etal *
14.1253 + }
14.1254 + { #2 <
14.1255 + 'skip$
14.1256 + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
14.1257 + {
14.1258 + " " * bbl.etal *
14.1259 + }
14.1260 + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
14.1261 + * }
14.1262 + if$
14.1263 + }
14.1264 + if$
14.1265 + }
14.1266 + if$
14.1267 +}
14.1268 +
14.1269 +FUNCTION {author.key.label}
14.1270 +{ author empty$
14.1271 + { key empty$
14.1272 + { cite$ #1 #3 substring$ }
14.1273 + 'key
14.1274 + if$
14.1275 + }
14.1276 + { author format.lab.names }
14.1277 + if$
14.1278 +}
14.1279 +
14.1280 +FUNCTION {author.editor.key.label}
14.1281 +{ author empty$
14.1282 + { editor empty$
14.1283 + { key empty$
14.1284 + { cite$ #1 #3 substring$ }
14.1285 + 'key
14.1286 + if$
14.1287 + }
14.1288 + { editor format.lab.names }
14.1289 + if$
14.1290 + }
14.1291 + { author format.lab.names }
14.1292 + if$
14.1293 +}
14.1294 +
14.1295 +FUNCTION {editor.key.label}
14.1296 +{ editor empty$
14.1297 + { key empty$
14.1298 + { cite$ #1 #3 substring$ }
14.1299 + 'key
14.1300 + if$
14.1301 + }
14.1302 + { editor format.lab.names }
14.1303 + if$
14.1304 +}
14.1305 +
14.1306 +FUNCTION {calc.short.authors}
14.1307 +{ type$ "book" =
14.1308 + type$ "inbook" =
14.1309 + or
14.1310 + 'author.editor.key.label
14.1311 + { type$ "proceedings" =
14.1312 + 'editor.key.label
14.1313 + 'author.key.label
14.1314 + if$
14.1315 + }
14.1316 + if$
14.1317 + 'short.list :=
14.1318 +}
14.1319 +
14.1320 +FUNCTION {calc.label}
14.1321 +{ calc.short.authors
14.1322 + short.list
14.1323 + "("
14.1324 + *
14.1325 + year duplicate$ empty$
14.1326 + { pop$ "????" }
14.1327 + 'skip$
14.1328 + if$
14.1329 + *
14.1330 + 'label :=
14.1331 +}
14.1332 +
14.1333 +FUNCTION {sort.format.names}
14.1334 +{ 's :=
14.1335 + #1 'nameptr :=
14.1336 + ""
14.1337 + s num.names$ 'numnames :=
14.1338 + numnames 'namesleft :=
14.1339 + { namesleft #0 > }
14.1340 + { s nameptr
14.1341 + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
14.1342 + format.name$ 't :=
14.1343 + nameptr #1 >
14.1344 + {
14.1345 + " " *
14.1346 + namesleft #1 = t "others" = and
14.1347 + { "zzzzz" * }
14.1348 + { t sortify * }
14.1349 + if$
14.1350 + }
14.1351 + { t sortify * }
14.1352 + if$
14.1353 + nameptr #1 + 'nameptr :=
14.1354 + namesleft #1 - 'namesleft :=
14.1355 + }
14.1356 + while$
14.1357 +}
14.1358 +
14.1359 +FUNCTION {sort.format.title}
14.1360 +{ 't :=
14.1361 + "A " #2
14.1362 + "An " #3
14.1363 + "The " #4 t chop.word
14.1364 + chop.word
14.1365 + chop.word
14.1366 + sortify
14.1367 + #1 global.max$ substring$
14.1368 +}
14.1369 +
14.1370 +FUNCTION {author.sort}
14.1371 +{ author empty$
14.1372 + { key empty$
14.1373 + { "to sort, need author or key in " cite$ * warning$
14.1374 + ""
14.1375 + }
14.1376 + { key sortify }
14.1377 + if$
14.1378 + }
14.1379 + { author sort.format.names }
14.1380 + if$
14.1381 +}
14.1382 +
14.1383 +FUNCTION {author.editor.sort}
14.1384 +{ author empty$
14.1385 + { editor empty$
14.1386 + { key empty$
14.1387 + { "to sort, need author, editor, or key in " cite$ * warning$
14.1388 + ""
14.1389 + }
14.1390 + { key sortify }
14.1391 + if$
14.1392 + }
14.1393 + { editor sort.format.names }
14.1394 + if$
14.1395 + }
14.1396 + { author sort.format.names }
14.1397 + if$
14.1398 +}
14.1399 +
14.1400 +FUNCTION {editor.sort}
14.1401 +{ editor empty$
14.1402 + { key empty$
14.1403 + { "to sort, need editor or key in " cite$ * warning$
14.1404 + ""
14.1405 + }
14.1406 + { key sortify }
14.1407 + if$
14.1408 + }
14.1409 + { editor sort.format.names }
14.1410 + if$
14.1411 +}
14.1412 +
14.1413 +FUNCTION {presort}
14.1414 +{ calc.label
14.1415 + label sortify
14.1416 + " "
14.1417 + *
14.1418 + type$ "book" =
14.1419 + type$ "inbook" =
14.1420 + or
14.1421 + 'author.editor.sort
14.1422 + { type$ "proceedings" =
14.1423 + 'editor.sort
14.1424 + 'author.sort
14.1425 + if$
14.1426 + }
14.1427 + if$
14.1428 + #1 entry.max$ substring$
14.1429 + 'sort.label :=
14.1430 + sort.label
14.1431 + *
14.1432 + " "
14.1433 + *
14.1434 + title field.or.null
14.1435 + sort.format.title
14.1436 + *
14.1437 + #1 entry.max$ substring$
14.1438 + 'sort.key$ :=
14.1439 +}
14.1440 +
14.1441 +ITERATE {presort}
14.1442 +
14.1443 +SORT
14.1444 +
14.1445 +STRINGS { last.label next.extra }
14.1446 +
14.1447 +INTEGERS { last.extra.num number.label }
14.1448 +
14.1449 +FUNCTION {initialize.extra.label.stuff}
14.1450 +{ #0 int.to.chr$ 'last.label :=
14.1451 + "" 'next.extra :=
14.1452 + #0 'last.extra.num :=
14.1453 + #0 'number.label :=
14.1454 +}
14.1455 +
14.1456 +FUNCTION {forward.pass}
14.1457 +{ last.label label =
14.1458 + { last.extra.num #1 + 'last.extra.num :=
14.1459 + last.extra.num int.to.chr$ 'extra.label :=
14.1460 + }
14.1461 + { "a" chr.to.int$ 'last.extra.num :=
14.1462 + "" 'extra.label :=
14.1463 + label 'last.label :=
14.1464 + }
14.1465 + if$
14.1466 + number.label #1 + 'number.label :=
14.1467 +}
14.1468 +
14.1469 +FUNCTION {reverse.pass}
14.1470 +{ next.extra "b" =
14.1471 + { "a" 'extra.label := }
14.1472 + 'skip$
14.1473 + if$
14.1474 + extra.label 'next.extra :=
14.1475 + extra.label
14.1476 + duplicate$ empty$
14.1477 + 'skip$
14.1478 + { "{\natexlab{" swap$ * "}}" * }
14.1479 + if$
14.1480 + 'extra.label :=
14.1481 + label extra.label * 'label :=
14.1482 +}
14.1483 +
14.1484 +EXECUTE {initialize.extra.label.stuff}
14.1485 +
14.1486 +ITERATE {forward.pass}
14.1487 +
14.1488 +REVERSE {reverse.pass}
14.1489 +
14.1490 +FUNCTION {bib.sort.order}
14.1491 +{ sort.label
14.1492 + " "
14.1493 + *
14.1494 + year field.or.null sortify
14.1495 + *
14.1496 + " "
14.1497 + *
14.1498 + title field.or.null
14.1499 + sort.format.title
14.1500 + *
14.1501 + #1 entry.max$ substring$
14.1502 + 'sort.key$ :=
14.1503 +}
14.1504 +
14.1505 +ITERATE {bib.sort.order}
14.1506 +
14.1507 +SORT
14.1508 +
14.1509 +FUNCTION {begin.bib}
14.1510 +{ preamble$ empty$
14.1511 + 'skip$
14.1512 + { preamble$ write$ newline$ }
14.1513 + if$
14.1514 + "\begin{thebibliography}{" number.label int.to.str$ * "}" *
14.1515 + write$ newline$
14.1516 + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
14.1517 + write$ newline$
14.1518 + "\expandafter\ifx\csname url\endcsname\relax"
14.1519 + write$ newline$
14.1520 + " \def\url#1{\texttt{#1}}\fi"
14.1521 + write$ newline$
14.1522 + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
14.1523 + write$ newline$
14.1524 +}
14.1525 +
14.1526 +EXECUTE {begin.bib}
14.1527 +
14.1528 +EXECUTE {init.state.consts}
14.1529 +
14.1530 +ITERATE {call.type$}
14.1531 +
14.1532 +FUNCTION {end.bib}
14.1533 +{ newline$
14.1534 + "\end{thebibliography}" write$ newline$
14.1535 +}
14.1536 +
14.1537 +EXECUTE {end.bib}
14.1538 +%% End of customized bst file
14.1539 +%%
14.1540 +%% End of file `elsarticle-harv.bst'.
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/elsarticle/elsarticle-num-names.bst Fri Nov 18 16:18:02 2016 +0100
15.3 @@ -0,0 +1,1461 @@
15.4 +%%
15.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
15.6 +%%
15.7 +%% This file is part of the 'Elsarticle Bundle'.
15.8 +%% ---------------------------------------------
15.9 +%%
15.10 +%% It may be distributed under the conditions of the LaTeX Project Public
15.11 +%% License, either version 1.2 of this license or (at your option) any
15.12 +%% later version. The latest version of this license is in
15.13 +%% http://www.latex-project.org/lppl.txt
15.14 +%% and version 1.2 or later is part of all distributions of LaTeX
15.15 +%% version 1999/12/01 or later.
15.16 +%%
15.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
15.18 +%% given in the file `manifest.txt'.
15.19 +%%
15.20 +%%
15.21 +%% This is file `elsearticle-num-names.bst',
15.22 +%% generated with the docstrip utility.
15.23 +%%
15.24 +%% The original source files were:
15.25 +%%
15.26 +%% 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,,{}')
15.27 +%% 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,,{}')
15.28 +%% 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,,{}')
15.29 +%% ----------------------------------------
15.30 +%% *** Journal of Sound and Vibration ***
15.31 +%%
15.32 +%% Copyright 1994-2004 Patrick W Daly
15.33 + % ===============================================================
15.34 + % IMPORTANT NOTICE:
15.35 + % This bibliographic style (bst) file has been generated from one or
15.36 + % more master bibliographic style (mbs) files, listed above.
15.37 + %
15.38 + % This generated file can be redistributed and/or modified under the terms
15.39 + % of the LaTeX Project Public License Distributed from CTAN
15.40 + % archives in directory macros/latex/base/lppl.txt; either
15.41 + % version 1 of the License, or any later version.
15.42 + % ===============================================================
15.43 + % Name and version information of the main mbs file:
15.44 + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
15.45 + % For use with BibTeX version 0.99a or later
15.46 + %-------------------------------------------------------------------
15.47 +
15.48 +ENTRY
15.49 + { address
15.50 + author
15.51 + booktitle
15.52 + chapter
15.53 + doi
15.54 + edition
15.55 + editor
15.56 + eid
15.57 + howpublished
15.58 + institution
15.59 + isbn
15.60 + issn
15.61 + journal
15.62 + key
15.63 + month
15.64 + note
15.65 + number
15.66 + organization
15.67 + pages
15.68 + publisher
15.69 + school
15.70 + series
15.71 + title
15.72 + type
15.73 + url
15.74 + volume
15.75 + year
15.76 + }
15.77 + {}
15.78 + { label extra.label sort.label short.list }
15.79 +INTEGERS { output.state before.all mid.sentence after.sentence after.block }
15.80 +FUNCTION {init.state.consts}
15.81 +{ #0 'before.all :=
15.82 + #1 'mid.sentence :=
15.83 + #2 'after.sentence :=
15.84 + #3 'after.block :=
15.85 +}
15.86 +STRINGS { s t}
15.87 +FUNCTION {output.nonnull}
15.88 +{ 's :=
15.89 + output.state mid.sentence =
15.90 + { ", " * write$ }
15.91 + { output.state after.block =
15.92 + { add.period$ write$
15.93 + newline$
15.94 + "\newblock " write$
15.95 + }
15.96 + { output.state before.all =
15.97 + 'write$
15.98 + { add.period$ " " * write$ }
15.99 + if$
15.100 + }
15.101 + if$
15.102 + mid.sentence 'output.state :=
15.103 + }
15.104 + if$
15.105 + s
15.106 +}
15.107 +FUNCTION {output}
15.108 +{ duplicate$ empty$
15.109 + 'pop$
15.110 + 'output.nonnull
15.111 + if$
15.112 +}
15.113 +FUNCTION {output.check}
15.114 +{ 't :=
15.115 + duplicate$ empty$
15.116 + { pop$ "empty " t * " in " * cite$ * warning$ }
15.117 + 'output.nonnull
15.118 + if$
15.119 +}
15.120 +FUNCTION {fin.entry}
15.121 +{ add.period$
15.122 + write$
15.123 + newline$
15.124 +}
15.125 +
15.126 +FUNCTION {new.block}
15.127 +{ output.state before.all =
15.128 + 'skip$
15.129 + { after.block 'output.state := }
15.130 + if$
15.131 +}
15.132 +FUNCTION {new.sentence}
15.133 +{ output.state after.block =
15.134 + 'skip$
15.135 + { output.state before.all =
15.136 + 'skip$
15.137 + { after.sentence 'output.state := }
15.138 + if$
15.139 + }
15.140 + if$
15.141 +}
15.142 +FUNCTION {add.blank}
15.143 +{ " " * before.all 'output.state :=
15.144 +}
15.145 +
15.146 +FUNCTION {date.block}
15.147 +{
15.148 + skip$
15.149 +}
15.150 +
15.151 +FUNCTION {not}
15.152 +{ { #0 }
15.153 + { #1 }
15.154 + if$
15.155 +}
15.156 +FUNCTION {and}
15.157 +{ 'skip$
15.158 + { pop$ #0 }
15.159 + if$
15.160 +}
15.161 +FUNCTION {or}
15.162 +{ { pop$ #1 }
15.163 + 'skip$
15.164 + if$
15.165 +}
15.166 +FUNCTION {new.block.checkb}
15.167 +{ empty$
15.168 + swap$ empty$
15.169 + and
15.170 + 'skip$
15.171 + 'new.block
15.172 + if$
15.173 +}
15.174 +FUNCTION {field.or.null}
15.175 +{ duplicate$ empty$
15.176 + { pop$ "" }
15.177 + 'skip$
15.178 + if$
15.179 +}
15.180 +FUNCTION {emphasize}
15.181 +{ duplicate$ empty$
15.182 + { pop$ "" }
15.183 + { "\emph{" swap$ * "}" * }
15.184 + if$
15.185 +}
15.186 +FUNCTION {tie.or.space.prefix}
15.187 +{ duplicate$ text.length$ #3 <
15.188 + { "~" }
15.189 + { " " }
15.190 + if$
15.191 + swap$
15.192 +}
15.193 +
15.194 +FUNCTION {capitalize}
15.195 +{ "u" change.case$ "t" change.case$ }
15.196 +
15.197 +FUNCTION {space.word}
15.198 +{ " " swap$ * " " * }
15.199 + % Here are the language-specific definitions for explicit words.
15.200 + % Each function has a name bbl.xxx where xxx is the English word.
15.201 + %-------------------------------------------------------------------
15.202 + % Begin module:
15.203 + % \ProvidesFile{english.mbs}[2003/11/06 4.2 (PWD)]
15.204 +
15.205 + % The language selected here is ENGLISH
15.206 +FUNCTION {bbl.and}
15.207 +{ "and"}
15.208 +
15.209 +FUNCTION {bbl.etal}
15.210 +{ "et~al." }
15.211 +
15.212 +FUNCTION {bbl.editors}
15.213 +{ "eds." }
15.214 +
15.215 +FUNCTION {bbl.editor}
15.216 +{ "ed." }
15.217 +
15.218 +FUNCTION {bbl.edby}
15.219 +{ "edited by" }
15.220 +
15.221 +FUNCTION {bbl.edition}
15.222 +{ "edn." }
15.223 +
15.224 +FUNCTION {bbl.volume}
15.225 +{ "vol." }
15.226 +
15.227 +FUNCTION {bbl.of}
15.228 +{ "of" }
15.229 +
15.230 +FUNCTION {bbl.number}
15.231 +{ "no." }
15.232 +
15.233 +FUNCTION {bbl.nr}
15.234 +{ "no." }
15.235 +
15.236 +FUNCTION {bbl.in}
15.237 +{ "in" }
15.238 +
15.239 +FUNCTION {bbl.pages}
15.240 +{ "" }
15.241 +
15.242 +FUNCTION {bbl.page}
15.243 +{ "" }
15.244 +
15.245 +FUNCTION {bbl.chapter}
15.246 +{ "chap." }
15.247 +
15.248 +FUNCTION {bbl.techrep}
15.249 +{ "Tech. Rep." }
15.250 +
15.251 +FUNCTION {bbl.mthesis}
15.252 +{ "Master's thesis" }
15.253 +
15.254 +FUNCTION {bbl.phdthesis}
15.255 +{ "Ph.D. thesis" }
15.256 +
15.257 +MACRO {jan} {"Jan."}
15.258 +
15.259 +MACRO {feb} {"Feb."}
15.260 +
15.261 +MACRO {mar} {"Mar."}
15.262 +
15.263 +MACRO {apr} {"Apr."}
15.264 +
15.265 +MACRO {may} {"May"}
15.266 +
15.267 +MACRO {jun} {"Jun."}
15.268 +
15.269 +MACRO {jul} {"Jul."}
15.270 +
15.271 +MACRO {aug} {"Aug."}
15.272 +
15.273 +MACRO {sep} {"Sep."}
15.274 +
15.275 +MACRO {oct} {"Oct."}
15.276 +
15.277 +MACRO {nov} {"Nov."}
15.278 +
15.279 +MACRO {dec} {"Dec."}
15.280 +
15.281 + % End module: english.mbs
15.282 +%% Copyright 1994-2004 Patrick W Daly
15.283 +MACRO {acmcs} {"ACM Computing Surveys"}
15.284 +
15.285 +MACRO {acta} {"Acta Informatica"}
15.286 +
15.287 +MACRO {cacm} {"Communications of the ACM"}
15.288 +
15.289 +MACRO {ibmjrd} {"IBM Journal of Research and Development"}
15.290 +
15.291 +MACRO {ibmsj} {"IBM Systems Journal"}
15.292 +
15.293 +MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
15.294 +
15.295 +MACRO {ieeetc} {"IEEE Transactions on Computers"}
15.296 +
15.297 +MACRO {ieeetcad}
15.298 + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
15.299 +
15.300 +MACRO {ipl} {"Information Processing Letters"}
15.301 +
15.302 +MACRO {jacm} {"Journal of the ACM"}
15.303 +
15.304 +MACRO {jcss} {"Journal of Computer and System Sciences"}
15.305 +
15.306 +MACRO {scp} {"Science of Computer Programming"}
15.307 +
15.308 +MACRO {sicomp} {"SIAM Journal on Computing"}
15.309 +
15.310 +MACRO {tocs} {"ACM Transactions on Computer Systems"}
15.311 +
15.312 +MACRO {tods} {"ACM Transactions on Database Systems"}
15.313 +
15.314 +MACRO {tog} {"ACM Transactions on Graphics"}
15.315 +
15.316 +MACRO {toms} {"ACM Transactions on Mathematical Software"}
15.317 +
15.318 +MACRO {toois} {"ACM Transactions on Office Information Systems"}
15.319 +
15.320 +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
15.321 +
15.322 +MACRO {tcs} {"Theoretical Computer Science"}
15.323 +FUNCTION {bibinfo.check}
15.324 +{ swap$
15.325 + duplicate$ missing$
15.326 + {
15.327 + pop$ pop$
15.328 + ""
15.329 + }
15.330 + { duplicate$ empty$
15.331 + {
15.332 + swap$ pop$
15.333 + }
15.334 + { swap$
15.335 + "\bibinfo{" swap$ * "}{" * swap$ * "}" *
15.336 + }
15.337 + if$
15.338 + }
15.339 + if$
15.340 +}
15.341 +FUNCTION {bibinfo.warn}
15.342 +{ swap$
15.343 + duplicate$ missing$
15.344 + {
15.345 + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
15.346 + ""
15.347 + }
15.348 + { duplicate$ empty$
15.349 + {
15.350 + swap$ "empty " swap$ * " in " * cite$ * warning$
15.351 + }
15.352 + { swap$
15.353 + "\bibinfo{" swap$ * "}{" * swap$ * "}" *
15.354 + }
15.355 + if$
15.356 + }
15.357 + if$
15.358 +}
15.359 +FUNCTION {format.url}
15.360 +{ url empty$
15.361 + { "" }
15.362 + { "\urlprefix\url{" url * "}" * }
15.363 + if$
15.364 +}
15.365 +
15.366 +STRINGS { bibinfo}
15.367 +INTEGERS { nameptr namesleft numnames }
15.368 +
15.369 +FUNCTION {format.names}
15.370 +{ 'bibinfo :=
15.371 + duplicate$ empty$ 'skip$ {
15.372 + 's :=
15.373 + "" 't :=
15.374 + #1 'nameptr :=
15.375 + s num.names$ 'numnames :=
15.376 + numnames 'namesleft :=
15.377 + { namesleft #0 > }
15.378 + { s nameptr
15.379 + "{f.~}{vv~}{ll}{, jj}"
15.380 + format.name$
15.381 + bibinfo bibinfo.check
15.382 + 't :=
15.383 + nameptr #1 >
15.384 + {
15.385 + namesleft #1 >
15.386 + { ", " * t * }
15.387 + {
15.388 + "," *
15.389 + s nameptr "{ll}" format.name$ duplicate$ "others" =
15.390 + { 't := }
15.391 + { pop$ }
15.392 + if$
15.393 + t "others" =
15.394 + {
15.395 + " " * bbl.etal *
15.396 + }
15.397 + { " " * t * }
15.398 + if$
15.399 + }
15.400 + if$
15.401 + }
15.402 + 't
15.403 + if$
15.404 + nameptr #1 + 'nameptr :=
15.405 + namesleft #1 - 'namesleft :=
15.406 + }
15.407 + while$
15.408 + } if$
15.409 +}
15.410 +FUNCTION {format.names.ed}
15.411 +{
15.412 + format.names
15.413 +}
15.414 +FUNCTION {format.key}
15.415 +{ empty$
15.416 + { key field.or.null }
15.417 + { "" }
15.418 + if$
15.419 +}
15.420 +
15.421 +FUNCTION {format.authors}
15.422 +{ author "author" format.names
15.423 +}
15.424 +FUNCTION {get.bbl.editor}
15.425 +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
15.426 +
15.427 +FUNCTION {format.editors}
15.428 +{ editor "editor" format.names duplicate$ empty$ 'skip$
15.429 + {
15.430 + " " *
15.431 + get.bbl.editor
15.432 + capitalize
15.433 + "(" swap$ * ")" *
15.434 + *
15.435 + }
15.436 + if$
15.437 +}
15.438 +FUNCTION {format.isbn}
15.439 +{ isbn "isbn" bibinfo.check
15.440 + duplicate$ empty$ 'skip$
15.441 + {
15.442 + "ISBN " swap$ *
15.443 + }
15.444 + if$
15.445 +}
15.446 +
15.447 +FUNCTION {format.issn}
15.448 +{ issn "issn" bibinfo.check
15.449 + duplicate$ empty$ 'skip$
15.450 + {
15.451 + "ISSN " swap$ *
15.452 + }
15.453 + if$
15.454 +}
15.455 +
15.456 + FUNCTION {format.doi}
15.457 + { doi "doi" bibinfo.check
15.458 + duplicate$ empty$ 'skip$
15.459 + {
15.460 + "\doi{" swap$ * "}" *
15.461 + }
15.462 + if$
15.463 + }
15.464 +
15.465 +FUNCTION {format.note}
15.466 +{
15.467 + note empty$
15.468 + { "" }
15.469 + { note #1 #1 substring$
15.470 + duplicate$ "{" =
15.471 + 'skip$
15.472 + { output.state mid.sentence =
15.473 + { "l" }
15.474 + { "u" }
15.475 + if$
15.476 + change.case$
15.477 + }
15.478 + if$
15.479 + note #2 global.max$ substring$ * "note" bibinfo.check
15.480 + }
15.481 + if$
15.482 +}
15.483 +
15.484 +FUNCTION {format.title}
15.485 +{ title
15.486 + "title" bibinfo.check
15.487 +}
15.488 +FUNCTION {format.full.names}
15.489 +{'s :=
15.490 + "" 't :=
15.491 + #1 'nameptr :=
15.492 + s num.names$ 'numnames :=
15.493 + numnames 'namesleft :=
15.494 + { namesleft #0 > }
15.495 + { s nameptr
15.496 + "{vv~}{ll}" format.name$
15.497 + 't :=
15.498 + nameptr #1 >
15.499 + {
15.500 + namesleft #1 >
15.501 + { ", " * t * }
15.502 + {
15.503 + s nameptr "{ll}" format.name$ duplicate$ "others" =
15.504 + { 't := }
15.505 + { pop$ }
15.506 + if$
15.507 + t "others" =
15.508 + {
15.509 + " " * bbl.etal *
15.510 + }
15.511 + {
15.512 + numnames #2 >
15.513 + { "," * }
15.514 + 'skip$
15.515 + if$
15.516 + bbl.and
15.517 + space.word * t *
15.518 + }
15.519 + if$
15.520 + }
15.521 + if$
15.522 + }
15.523 + 't
15.524 + if$
15.525 + nameptr #1 + 'nameptr :=
15.526 + namesleft #1 - 'namesleft :=
15.527 + }
15.528 + while$
15.529 +}
15.530 +
15.531 +FUNCTION {author.editor.key.full}
15.532 +{ author empty$
15.533 + { editor empty$
15.534 + { key empty$
15.535 + { cite$ #1 #3 substring$ }
15.536 + 'key
15.537 + if$
15.538 + }
15.539 + { editor format.full.names }
15.540 + if$
15.541 + }
15.542 + { author format.full.names }
15.543 + if$
15.544 +}
15.545 +
15.546 +FUNCTION {author.key.full}
15.547 +{ author empty$
15.548 + { key empty$
15.549 + { cite$ #1 #3 substring$ }
15.550 + 'key
15.551 + if$
15.552 + }
15.553 + { author format.full.names }
15.554 + if$
15.555 +}
15.556 +
15.557 +FUNCTION {editor.key.full}
15.558 +{ editor empty$
15.559 + { key empty$
15.560 + { cite$ #1 #3 substring$ }
15.561 + 'key
15.562 + if$
15.563 + }
15.564 + { editor format.full.names }
15.565 + if$
15.566 +}
15.567 +
15.568 +FUNCTION {make.full.names}
15.569 +{ type$ "book" =
15.570 + type$ "inbook" =
15.571 + or
15.572 + 'author.editor.key.full
15.573 + { type$ "proceedings" =
15.574 + 'editor.key.full
15.575 + 'author.key.full
15.576 + if$
15.577 + }
15.578 + if$
15.579 +}
15.580 +
15.581 +FUNCTION {output.bibitem}
15.582 +{ newline$
15.583 + "\bibitem[{" write$
15.584 + label write$
15.585 + ")" make.full.names duplicate$ short.list =
15.586 + { pop$ }
15.587 + { * }
15.588 + if$
15.589 + "}]{" * write$
15.590 + cite$ write$
15.591 + "}" write$
15.592 + newline$
15.593 + ""
15.594 + before.all 'output.state :=
15.595 +}
15.596 +
15.597 +FUNCTION {n.dashify}
15.598 +{
15.599 + 't :=
15.600 + ""
15.601 + { t empty$ not }
15.602 + { t #1 #1 substring$ "-" =
15.603 + { t #1 #2 substring$ "--" = not
15.604 + { "--" *
15.605 + t #2 global.max$ substring$ 't :=
15.606 + }
15.607 + { { t #1 #1 substring$ "-" = }
15.608 + { "-" *
15.609 + t #2 global.max$ substring$ 't :=
15.610 + }
15.611 + while$
15.612 + }
15.613 + if$
15.614 + }
15.615 + { t #1 #1 substring$ *
15.616 + t #2 global.max$ substring$ 't :=
15.617 + }
15.618 + if$
15.619 + }
15.620 + while$
15.621 +}
15.622 +
15.623 +FUNCTION {word.in}
15.624 +{ bbl.in
15.625 + ":" *
15.626 + " " * }
15.627 +
15.628 +FUNCTION {format.date}
15.629 +{ year "year" bibinfo.check duplicate$ empty$
15.630 + {
15.631 + "empty year in " cite$ * "; set to ????" * warning$
15.632 + pop$ "????"
15.633 + }
15.634 + 'skip$
15.635 + if$
15.636 + extra.label *
15.637 +}
15.638 +FUNCTION{format.year}
15.639 +{ year "year" bibinfo.check duplicate$ empty$
15.640 + { "empty year in " cite$ *
15.641 + "; set to ????" *
15.642 + warning$
15.643 + pop$ "????"
15.644 + }
15.645 + {
15.646 + }
15.647 + if$
15.648 + extra.label *
15.649 + "(" swap$ * ")" *
15.650 +}
15.651 +FUNCTION {format.btitle}
15.652 +{ title "title" bibinfo.check
15.653 + duplicate$ empty$ 'skip$
15.654 + {
15.655 + }
15.656 + if$
15.657 +}
15.658 +FUNCTION {either.or.check}
15.659 +{ empty$
15.660 + 'pop$
15.661 + { "can't use both " swap$ * " fields in " * cite$ * warning$ }
15.662 + if$
15.663 +}
15.664 +FUNCTION {format.bvolume}
15.665 +{ volume empty$
15.666 + { "" }
15.667 + { bbl.volume volume tie.or.space.prefix
15.668 + "volume" bibinfo.check * *
15.669 + series "series" bibinfo.check
15.670 + duplicate$ empty$ 'pop$
15.671 + { swap$ bbl.of space.word * swap$
15.672 + emphasize * }
15.673 + if$
15.674 + "volume and number" number either.or.check
15.675 + }
15.676 + if$
15.677 +}
15.678 +FUNCTION {format.number.series}
15.679 +{ volume empty$
15.680 + { number empty$
15.681 + { series field.or.null }
15.682 + { series empty$
15.683 + { number "number" bibinfo.check }
15.684 + { output.state mid.sentence =
15.685 + { bbl.number }
15.686 + { bbl.number capitalize }
15.687 + if$
15.688 + number tie.or.space.prefix "number" bibinfo.check * *
15.689 + bbl.in space.word *
15.690 + series "series" bibinfo.check *
15.691 + }
15.692 + if$
15.693 + }
15.694 + if$
15.695 + }
15.696 + { "" }
15.697 + if$
15.698 +}
15.699 +
15.700 +FUNCTION {format.edition}
15.701 +{ edition duplicate$ empty$ 'skip$
15.702 + {
15.703 + output.state mid.sentence =
15.704 + { "l" }
15.705 + { "t" }
15.706 + if$ change.case$
15.707 + "edition" bibinfo.check
15.708 + " " * bbl.edition *
15.709 + }
15.710 + if$
15.711 +}
15.712 +INTEGERS { multiresult }
15.713 +FUNCTION {multi.page.check}
15.714 +{ 't :=
15.715 + #0 'multiresult :=
15.716 + { multiresult not
15.717 + t empty$ not
15.718 + and
15.719 + }
15.720 + { t #1 #1 substring$
15.721 + duplicate$ "-" =
15.722 + swap$ duplicate$ "," =
15.723 + swap$ "+" =
15.724 + or or
15.725 + { #1 'multiresult := }
15.726 + { t #2 global.max$ substring$ 't := }
15.727 + if$
15.728 + }
15.729 + while$
15.730 + multiresult
15.731 +}
15.732 +FUNCTION {format.pages}
15.733 +{ pages duplicate$ empty$ 'skip$
15.734 + { duplicate$ multi.page.check
15.735 + {
15.736 + n.dashify
15.737 + }
15.738 + {
15.739 + }
15.740 + if$
15.741 + "pages" bibinfo.check
15.742 + }
15.743 + if$
15.744 +}
15.745 +FUNCTION {format.journal.pages}
15.746 +{ pages duplicate$ empty$ 'pop$
15.747 + { swap$ duplicate$ empty$
15.748 + { pop$ pop$ format.pages }
15.749 + {
15.750 + " " *
15.751 + format.year * " " *
15.752 + swap$
15.753 + n.dashify
15.754 + "pages" bibinfo.check
15.755 + *
15.756 + }
15.757 + if$
15.758 + }
15.759 + if$
15.760 +}
15.761 +FUNCTION {format.journal.eid}
15.762 +{ eid "eid" bibinfo.check
15.763 + duplicate$ empty$ 'pop$
15.764 + { swap$ duplicate$ empty$ 'skip$
15.765 + {
15.766 + " " *
15.767 + }
15.768 + if$
15.769 + swap$ *
15.770 + }
15.771 + if$
15.772 +}
15.773 +FUNCTION {format.vol.num.pages}
15.774 +{ volume field.or.null
15.775 + duplicate$ empty$ 'skip$
15.776 + {
15.777 + "volume" bibinfo.check
15.778 + }
15.779 + if$
15.780 + number "number" bibinfo.check duplicate$ empty$ 'skip$
15.781 + {
15.782 + swap$ duplicate$ empty$
15.783 + { "there's a number but no volume in " cite$ * warning$ }
15.784 + 'skip$
15.785 + if$
15.786 + swap$
15.787 + "~(" swap$ * ")" *
15.788 + }
15.789 + if$ *
15.790 +}
15.791 +
15.792 +FUNCTION {format.chapter.pages}
15.793 +{ chapter empty$
15.794 + { "" }
15.795 + { type empty$
15.796 + { bbl.chapter }
15.797 + { type "l" change.case$
15.798 + "type" bibinfo.check
15.799 + }
15.800 + if$
15.801 + chapter tie.or.space.prefix
15.802 + "chapter" bibinfo.check
15.803 + * *
15.804 + }
15.805 + if$
15.806 +}
15.807 +
15.808 +FUNCTION {format.booktitle}
15.809 +{
15.810 + booktitle "booktitle" bibinfo.check
15.811 +}
15.812 +FUNCTION {format.in.ed.booktitle}
15.813 +{ format.booktitle duplicate$ empty$ 'skip$
15.814 + {
15.815 + editor "editor" format.names.ed duplicate$ empty$ 'pop$
15.816 + {
15.817 + " " *
15.818 + get.bbl.editor
15.819 + capitalize
15.820 + "(" swap$ * "), " *
15.821 + * swap$
15.822 + * }
15.823 + if$
15.824 + word.in swap$ *
15.825 + }
15.826 + if$
15.827 +}
15.828 +FUNCTION {format.thesis.type}
15.829 +{ type duplicate$ empty$
15.830 + 'pop$
15.831 + { swap$ pop$
15.832 + "t" change.case$ "type" bibinfo.check
15.833 + }
15.834 + if$
15.835 +}
15.836 +FUNCTION {format.tr.number}
15.837 +{ number "number" bibinfo.check
15.838 + type duplicate$ empty$
15.839 + { pop$ bbl.techrep }
15.840 + 'skip$
15.841 + if$
15.842 + "type" bibinfo.check
15.843 + swap$ duplicate$ empty$
15.844 + { pop$ "t" change.case$ }
15.845 + { tie.or.space.prefix * * }
15.846 + if$
15.847 +}
15.848 +FUNCTION {format.article.crossref}
15.849 +{
15.850 + word.in
15.851 + " \cite{" * crossref * "}" *
15.852 +}
15.853 +FUNCTION {format.book.crossref}
15.854 +{ volume duplicate$ empty$
15.855 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
15.856 + pop$ word.in
15.857 + }
15.858 + { bbl.volume
15.859 + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
15.860 + }
15.861 + if$
15.862 + " \cite{" * crossref * "}" *
15.863 +}
15.864 +FUNCTION {format.incoll.inproc.crossref}
15.865 +{
15.866 + word.in
15.867 + " \cite{" * crossref * "}" *
15.868 +}
15.869 +FUNCTION {format.org.or.pub}
15.870 +{ 't :=
15.871 + ""
15.872 + address empty$ t empty$ and
15.873 + 'skip$
15.874 + {
15.875 + t empty$
15.876 + { address "address" bibinfo.check *
15.877 + }
15.878 + { t *
15.879 + address empty$
15.880 + 'skip$
15.881 + { ", " * address "address" bibinfo.check * }
15.882 + if$
15.883 + }
15.884 + if$
15.885 + }
15.886 + if$
15.887 +}
15.888 +FUNCTION {format.publisher.address}
15.889 +{ publisher "publisher" bibinfo.warn format.org.or.pub
15.890 +}
15.891 +
15.892 +FUNCTION {format.organization.address}
15.893 +{ organization "organization" bibinfo.check format.org.or.pub
15.894 +}
15.895 +
15.896 +FUNCTION {article}
15.897 +{ output.bibitem
15.898 + format.authors "author" output.check
15.899 + author format.key output
15.900 + format.title "title" output.check
15.901 + crossref missing$
15.902 + {
15.903 + journal
15.904 + "journal" bibinfo.check
15.905 + "journal" output.check
15.906 + add.blank
15.907 + format.vol.num.pages output
15.908 + }
15.909 + { format.article.crossref output.nonnull
15.910 + }
15.911 + if$
15.912 + eid empty$
15.913 + { format.journal.pages }
15.914 + { format.journal.eid }
15.915 + if$
15.916 + format.issn output
15.917 + format.doi output
15.918 + format.url output
15.919 + format.note output
15.920 + fin.entry
15.921 +}
15.922 +FUNCTION {book}
15.923 +{ output.bibitem
15.924 + author empty$
15.925 + { format.editors "author and editor" output.check
15.926 + editor format.key output
15.927 + }
15.928 + { format.authors output.nonnull
15.929 + crossref missing$
15.930 + { "author and editor" editor either.or.check }
15.931 + 'skip$
15.932 + if$
15.933 + }
15.934 + if$
15.935 + format.btitle "title" output.check
15.936 + crossref missing$
15.937 + { format.bvolume output
15.938 + format.number.series output
15.939 + format.publisher.address output
15.940 + }
15.941 + {
15.942 + format.book.crossref output.nonnull
15.943 + }
15.944 + if$
15.945 + format.edition output
15.946 + format.isbn output
15.947 + format.doi output
15.948 + format.url output
15.949 + format.note output
15.950 + format.date "year" output.check
15.951 + fin.entry
15.952 +}
15.953 +FUNCTION {booklet}
15.954 +{ output.bibitem
15.955 + format.authors output
15.956 + author format.key output
15.957 + format.title "title" output.check
15.958 + howpublished "howpublished" bibinfo.check output
15.959 + address "address" bibinfo.check output
15.960 + format.isbn output
15.961 + format.doi output
15.962 + format.url output
15.963 + format.note output
15.964 + format.date "year" output.check
15.965 + fin.entry
15.966 +}
15.967 +
15.968 +FUNCTION {inbook}
15.969 +{ output.bibitem
15.970 + author empty$
15.971 + { format.editors "author and editor" output.check
15.972 + editor format.key output
15.973 + }
15.974 + { format.authors output.nonnull
15.975 + crossref missing$
15.976 + { "author and editor" editor either.or.check }
15.977 + 'skip$
15.978 + if$
15.979 + }
15.980 + if$
15.981 + format.btitle "title" output.check
15.982 + crossref missing$
15.983 + {
15.984 + format.bvolume output
15.985 + format.chapter.pages "chapter and pages" output.check
15.986 + format.number.series output
15.987 + format.publisher.address output
15.988 + }
15.989 + {
15.990 + format.chapter.pages "chapter and pages" output.check
15.991 + format.book.crossref output.nonnull
15.992 + }
15.993 + if$
15.994 + format.edition output
15.995 + crossref missing$
15.996 + { format.isbn output }
15.997 + 'skip$
15.998 + if$
15.999 + format.pages "pages" output.check
15.1000 + format.doi output
15.1001 + format.url output
15.1002 + format.note output
15.1003 + format.date "year" output.check
15.1004 + fin.entry
15.1005 +}
15.1006 +
15.1007 +FUNCTION {incollection}
15.1008 +{ output.bibitem
15.1009 + format.authors "author" output.check
15.1010 + author format.key output
15.1011 + format.title "title" output.check
15.1012 + crossref missing$
15.1013 + { format.in.ed.booktitle "booktitle" output.check
15.1014 + format.bvolume output
15.1015 + format.number.series output
15.1016 + format.chapter.pages output
15.1017 + format.publisher.address output
15.1018 + format.edition output
15.1019 + format.isbn output
15.1020 + }
15.1021 + { format.incoll.inproc.crossref output.nonnull
15.1022 + format.chapter.pages output
15.1023 + }
15.1024 + if$
15.1025 + format.pages "pages" output.check
15.1026 + format.doi output
15.1027 + format.url output
15.1028 + format.note output
15.1029 + format.date "year" output.check
15.1030 + fin.entry
15.1031 +}
15.1032 +FUNCTION {inproceedings}
15.1033 +{ output.bibitem
15.1034 + format.authors "author" output.check
15.1035 + author format.key output
15.1036 + format.title "title" output.check
15.1037 + crossref missing$
15.1038 + { format.in.ed.booktitle "booktitle" output.check
15.1039 + format.bvolume output
15.1040 + format.number.series output
15.1041 + publisher empty$
15.1042 + { format.organization.address output }
15.1043 + { organization "organization" bibinfo.check output
15.1044 + format.publisher.address output
15.1045 + }
15.1046 + if$
15.1047 + format.isbn output
15.1048 + format.issn output
15.1049 + }
15.1050 + { format.incoll.inproc.crossref output.nonnull
15.1051 + }
15.1052 + if$
15.1053 + format.pages "pages" output.check
15.1054 + format.doi output
15.1055 + format.url output
15.1056 + format.note output
15.1057 + format.date "year" output.check
15.1058 + fin.entry
15.1059 +}
15.1060 +FUNCTION {conference} { inproceedings }
15.1061 +FUNCTION {manual}
15.1062 +{ output.bibitem
15.1063 + format.authors output
15.1064 + author format.key output
15.1065 + format.btitle "title" output.check
15.1066 + organization "organization" bibinfo.check output
15.1067 + address "address" bibinfo.check output
15.1068 + format.edition output
15.1069 + format.doi output
15.1070 + format.url output
15.1071 + format.note output
15.1072 + format.date "year" output.check
15.1073 + fin.entry
15.1074 +}
15.1075 +
15.1076 +FUNCTION {mastersthesis}
15.1077 +{ output.bibitem
15.1078 + format.authors "author" output.check
15.1079 + author format.key output
15.1080 + format.btitle
15.1081 + "title" output.check
15.1082 + bbl.mthesis format.thesis.type output.nonnull
15.1083 + school "school" bibinfo.warn output
15.1084 + address "address" bibinfo.check output
15.1085 + format.doi output
15.1086 + format.url output
15.1087 + format.note output
15.1088 + format.date "year" output.check
15.1089 + fin.entry
15.1090 +}
15.1091 +
15.1092 +FUNCTION {misc}
15.1093 +{ output.bibitem
15.1094 + format.authors output
15.1095 + author format.key output
15.1096 + format.title output
15.1097 + howpublished "howpublished" bibinfo.check output
15.1098 + format.doi output
15.1099 + format.url output
15.1100 + format.note output
15.1101 + format.date "year" output.check
15.1102 + fin.entry
15.1103 +}
15.1104 +FUNCTION {phdthesis}
15.1105 +{ output.bibitem
15.1106 + format.authors "author" output.check
15.1107 + author format.key output
15.1108 + format.btitle
15.1109 + "title" output.check
15.1110 + bbl.phdthesis format.thesis.type output.nonnull
15.1111 + school "school" bibinfo.warn output
15.1112 + address "address" bibinfo.check output
15.1113 + format.doi output
15.1114 + format.url output
15.1115 + format.note output
15.1116 + format.date "year" output.check
15.1117 + fin.entry
15.1118 +}
15.1119 +
15.1120 +FUNCTION {proceedings}
15.1121 +{ output.bibitem
15.1122 + format.editors output
15.1123 + editor format.key output
15.1124 + format.btitle "title" output.check
15.1125 + format.bvolume output
15.1126 + format.number.series output
15.1127 + publisher empty$
15.1128 + { format.organization.address output }
15.1129 + { organization "organization" bibinfo.check output
15.1130 + format.publisher.address output
15.1131 + }
15.1132 + if$
15.1133 + format.isbn output
15.1134 + format.issn output
15.1135 + format.doi output
15.1136 + format.url output
15.1137 + format.note output
15.1138 + format.date "year" output.check
15.1139 + fin.entry
15.1140 +}
15.1141 +
15.1142 +FUNCTION {techreport}
15.1143 +{ output.bibitem
15.1144 + format.authors "author" output.check
15.1145 + author format.key output
15.1146 + format.title
15.1147 + "title" output.check
15.1148 + format.tr.number output.nonnull
15.1149 + institution "institution" bibinfo.warn output
15.1150 + address "address" bibinfo.check output
15.1151 + format.doi output
15.1152 + format.url output
15.1153 + format.note output
15.1154 + format.date "year" output.check
15.1155 + fin.entry
15.1156 +}
15.1157 +
15.1158 +FUNCTION {unpublished}
15.1159 +{ output.bibitem
15.1160 + format.authors "author" output.check
15.1161 + author format.key output
15.1162 + format.title "title" output.check
15.1163 + format.doi output
15.1164 + format.url output
15.1165 + format.note "note" output.check
15.1166 + format.date output
15.1167 + fin.entry
15.1168 +}
15.1169 +
15.1170 +FUNCTION {default.type} { misc }
15.1171 +READ
15.1172 +FUNCTION {sortify}
15.1173 +{ purify$
15.1174 + "l" change.case$
15.1175 +}
15.1176 +INTEGERS { len }
15.1177 +FUNCTION {chop.word}
15.1178 +{ 's :=
15.1179 + 'len :=
15.1180 + s #1 len substring$ =
15.1181 + { s len #1 + global.max$ substring$ }
15.1182 + 's
15.1183 + if$
15.1184 +}
15.1185 +FUNCTION {format.lab.names}
15.1186 +{ 's :=
15.1187 + "" 't :=
15.1188 + s #1 "{vv~}{ll}" format.name$
15.1189 + s num.names$ duplicate$
15.1190 + #2 >
15.1191 + { pop$
15.1192 + " " * bbl.etal *
15.1193 + }
15.1194 + { #2 <
15.1195 + 'skip$
15.1196 + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
15.1197 + {
15.1198 + " " * bbl.etal *
15.1199 + }
15.1200 + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
15.1201 + * }
15.1202 + if$
15.1203 + }
15.1204 + if$
15.1205 + }
15.1206 + if$
15.1207 +}
15.1208 +
15.1209 +FUNCTION {author.key.label}
15.1210 +{ author empty$
15.1211 + { key empty$
15.1212 + { cite$ #1 #3 substring$ }
15.1213 + 'key
15.1214 + if$
15.1215 + }
15.1216 + { author format.lab.names }
15.1217 + if$
15.1218 +}
15.1219 +
15.1220 +FUNCTION {author.editor.key.label}
15.1221 +{ author empty$
15.1222 + { editor empty$
15.1223 + { key empty$
15.1224 + { cite$ #1 #3 substring$ }
15.1225 + 'key
15.1226 + if$
15.1227 + }
15.1228 + { editor format.lab.names }
15.1229 + if$
15.1230 + }
15.1231 + { author format.lab.names }
15.1232 + if$
15.1233 +}
15.1234 +
15.1235 +FUNCTION {editor.key.label}
15.1236 +{ editor empty$
15.1237 + { key empty$
15.1238 + { cite$ #1 #3 substring$ }
15.1239 + 'key
15.1240 + if$
15.1241 + }
15.1242 + { editor format.lab.names }
15.1243 + if$
15.1244 +}
15.1245 +
15.1246 +FUNCTION {calc.short.authors}
15.1247 +{ type$ "book" =
15.1248 + type$ "inbook" =
15.1249 + or
15.1250 + 'author.editor.key.label
15.1251 + { type$ "proceedings" =
15.1252 + 'editor.key.label
15.1253 + 'author.key.label
15.1254 + if$
15.1255 + }
15.1256 + if$
15.1257 + 'short.list :=
15.1258 +}
15.1259 +
15.1260 +FUNCTION {calc.label}
15.1261 +{ calc.short.authors
15.1262 + short.list
15.1263 + "("
15.1264 + *
15.1265 + year duplicate$ empty$
15.1266 + { pop$ "????" }
15.1267 + { purify$ #-1 #4 substring$ }
15.1268 + if$
15.1269 + *
15.1270 + 'label :=
15.1271 +}
15.1272 +
15.1273 +FUNCTION {sort.format.names}
15.1274 +{ 's :=
15.1275 + #1 'nameptr :=
15.1276 + ""
15.1277 + s num.names$ 'numnames :=
15.1278 + numnames 'namesleft :=
15.1279 + { namesleft #0 > }
15.1280 + { s nameptr
15.1281 + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
15.1282 + format.name$ 't :=
15.1283 + nameptr #1 >
15.1284 + {
15.1285 + " " *
15.1286 + namesleft #1 = t "others" = and
15.1287 + { "zzzzz" * }
15.1288 + { t sortify * }
15.1289 + if$
15.1290 + }
15.1291 + { t sortify * }
15.1292 + if$
15.1293 + nameptr #1 + 'nameptr :=
15.1294 + namesleft #1 - 'namesleft :=
15.1295 + }
15.1296 + while$
15.1297 +}
15.1298 +
15.1299 +FUNCTION {sort.format.title}
15.1300 +{ 't :=
15.1301 + "A " #2
15.1302 + "An " #3
15.1303 + "The " #4 t chop.word
15.1304 + chop.word
15.1305 + chop.word
15.1306 + sortify
15.1307 + #1 global.max$ substring$
15.1308 +}
15.1309 +FUNCTION {author.sort}
15.1310 +{ author empty$
15.1311 + { key empty$
15.1312 + { "to sort, need author or key in " cite$ * warning$
15.1313 + ""
15.1314 + }
15.1315 + { key sortify }
15.1316 + if$
15.1317 + }
15.1318 + { author sort.format.names }
15.1319 + if$
15.1320 +}
15.1321 +FUNCTION {author.editor.sort}
15.1322 +{ author empty$
15.1323 + { editor empty$
15.1324 + { key empty$
15.1325 + { "to sort, need author, editor, or key in " cite$ * warning$
15.1326 + ""
15.1327 + }
15.1328 + { key sortify }
15.1329 + if$
15.1330 + }
15.1331 + { editor sort.format.names }
15.1332 + if$
15.1333 + }
15.1334 + { author sort.format.names }
15.1335 + if$
15.1336 +}
15.1337 +FUNCTION {editor.sort}
15.1338 +{ editor empty$
15.1339 + { key empty$
15.1340 + { "to sort, need editor or key in " cite$ * warning$
15.1341 + ""
15.1342 + }
15.1343 + { key sortify }
15.1344 + if$
15.1345 + }
15.1346 + { editor sort.format.names }
15.1347 + if$
15.1348 +}
15.1349 +INTEGERS { seq.num }
15.1350 +FUNCTION {init.seq}
15.1351 +{ #0 'seq.num :=}
15.1352 +EXECUTE {init.seq}
15.1353 +FUNCTION {int.to.fix}
15.1354 +{ "000000000" swap$ int.to.str$ *
15.1355 + #-1 #10 substring$
15.1356 +}
15.1357 +FUNCTION {presort}
15.1358 +{ calc.label
15.1359 + label sortify
15.1360 + " "
15.1361 + *
15.1362 + seq.num #1 + 'seq.num :=
15.1363 + seq.num int.to.fix
15.1364 + 'sort.label :=
15.1365 + sort.label
15.1366 + *
15.1367 + " "
15.1368 + *
15.1369 + title field.or.null
15.1370 + sort.format.title
15.1371 + *
15.1372 + #1 entry.max$ substring$
15.1373 + 'sort.key$ :=
15.1374 +}
15.1375 +
15.1376 +ITERATE {presort}
15.1377 +SORT
15.1378 +STRINGS { last.label next.extra }
15.1379 +INTEGERS { last.extra.num number.label }
15.1380 +FUNCTION {initialize.extra.label.stuff}
15.1381 +{ #0 int.to.chr$ 'last.label :=
15.1382 + "" 'next.extra :=
15.1383 + #0 'last.extra.num :=
15.1384 + #0 'number.label :=
15.1385 +}
15.1386 +FUNCTION {forward.pass}
15.1387 +{ last.label label =
15.1388 + { last.extra.num #1 + 'last.extra.num :=
15.1389 + last.extra.num int.to.chr$ 'extra.label :=
15.1390 + }
15.1391 + { "a" chr.to.int$ 'last.extra.num :=
15.1392 + "" 'extra.label :=
15.1393 + label 'last.label :=
15.1394 + }
15.1395 + if$
15.1396 + number.label #1 + 'number.label :=
15.1397 +}
15.1398 +FUNCTION {reverse.pass}
15.1399 +{ next.extra "b" =
15.1400 + { "a" 'extra.label := }
15.1401 + 'skip$
15.1402 + if$
15.1403 + extra.label 'next.extra :=
15.1404 + extra.label
15.1405 + duplicate$ empty$
15.1406 + 'skip$
15.1407 + { "{\natexlab{" swap$ * "}}" * }
15.1408 + if$
15.1409 + 'extra.label :=
15.1410 + label extra.label * 'label :=
15.1411 +}
15.1412 +EXECUTE {initialize.extra.label.stuff}
15.1413 +ITERATE {forward.pass}
15.1414 +REVERSE {reverse.pass}
15.1415 +FUNCTION {bib.sort.order}
15.1416 +{ sort.label
15.1417 + " "
15.1418 + *
15.1419 + year field.or.null sortify
15.1420 + *
15.1421 + " "
15.1422 + *
15.1423 + title field.or.null
15.1424 + sort.format.title
15.1425 + *
15.1426 + #1 entry.max$ substring$
15.1427 + 'sort.key$ :=
15.1428 +}
15.1429 +ITERATE {bib.sort.order}
15.1430 +SORT
15.1431 +FUNCTION {begin.bib}
15.1432 +{ preamble$ empty$
15.1433 + 'skip$
15.1434 + { preamble$ write$ newline$ }
15.1435 + if$
15.1436 + "\begin{thebibliography}{" number.label int.to.str$ * "}" *
15.1437 + write$ newline$
15.1438 + "\providecommand{\natexlab}[1]{#1}"
15.1439 + write$ newline$
15.1440 + "\providecommand{\url}[1]{\texttt{#1}}"
15.1441 + write$ newline$
15.1442 + "\providecommand{\urlprefix}{URL }"
15.1443 + write$ newline$
15.1444 + "\expandafter\ifx\csname urlstyle\endcsname\relax"
15.1445 + write$ newline$
15.1446 + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
15.1447 + write$ newline$
15.1448 + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\url{#1}\endgroup}\fi"
15.1449 + write$ newline$
15.1450 + "\providecommand{\bibinfo}[2]{#2}"
15.1451 + write$ newline$
15.1452 +}
15.1453 +EXECUTE {begin.bib}
15.1454 +EXECUTE {init.state.consts}
15.1455 +ITERATE {call.type$}
15.1456 +FUNCTION {end.bib}
15.1457 +{ newline$
15.1458 + "\end{thebibliography}" write$ newline$
15.1459 +}
15.1460 +EXECUTE {end.bib}
15.1461 +%% End of customized bst file
15.1462 +%%
15.1463 +%%
15.1464 +%% End of file `elsarticle-num-names.bst'.
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/elsarticle/elsarticle-num.bst Fri Nov 18 16:18:02 2016 +0100
16.3 @@ -0,0 +1,1517 @@
16.4 +%%
16.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
16.6 +%%
16.7 +%% This file is part of the 'Elsarticle Bundle'.
16.8 +%% ---------------------------------------------
16.9 +%%
16.10 +%% It may be distributed under the conditions of the LaTeX Project Public
16.11 +%% License, either version 1.2 of this license or (at your option) any
16.12 +%% later version. The latest version of this license is in
16.13 +%% http://www.latex-project.org/lppl.txt
16.14 +%% and version 1.2 or later is part of all distributions of LaTeX
16.15 +%% version 1999/12/01 or later.
16.16 +%%
16.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
16.18 +%% given in the file `manifest.txt'.
16.19 +%%
16.20 +%%% Modification of BibTeX style file elsarticle-num.bst
16.21 +%%% ... by urlbst, version 0.6 (marked with "% urlbst")
16.22 +%%% See <http://purl.org/nxg/dist/urlbst>
16.23 +%%% Added webpage entry type, and url and lastchecked fields.
16.24 +%%% Added eprint support.
16.25 +%%% Added DOI support.
16.26 +%%% Added hyperref support.
16.27 +%%% Original headers follow...
16.28 +
16.29 +%%
16.30 +%% This is file `elsarticle-num.bst',
16.31 +%% generated with the docstrip utility.
16.32 +%%
16.33 +%% The original source files were:
16.34 +%%
16.35 +%% 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')
16.36 +%% After docstrip generation some manual changes were made (SP)
16.37 +
16.38 +%% ----------------------------------------
16.39 +
16.40 +ENTRY
16.41 + { address
16.42 + author
16.43 + booktitle
16.44 + chapter
16.45 + edition
16.46 + editor
16.47 + howpublished
16.48 + institution
16.49 + journal
16.50 + key
16.51 + month
16.52 + note
16.53 + number
16.54 + organization
16.55 + pages
16.56 + publisher
16.57 + school
16.58 + series
16.59 + title
16.60 + type
16.61 + volume
16.62 + year
16.63 + eprint % urlbst
16.64 + doi % urlbst
16.65 + url % urlbst
16.66 + lastchecked % urlbst
16.67 + }
16.68 + {}
16.69 + { label }
16.70 +
16.71 +INTEGERS { output.state before.all mid.sentence after.sentence after.block }
16.72 +
16.73 +STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl openinlinelink closeinlinelink } % urlbst...
16.74 +INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver }
16.75 +FUNCTION {init.urlbst.variables}
16.76 +{
16.77 + "Available from: " 'urlintro := % prefix before URL
16.78 + "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
16.79 + "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
16.80 + "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
16.81 + "doi:" 'doiprefix := % text prefix printed before DOI ref
16.82 + #1 'addeprints := % 0=no eprints; 1=include eprints
16.83 + #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
16.84 + #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
16.85 + #1 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
16.86 + % the following are internal state variables, not config constants
16.87 + #0 'makeinlinelink := % state variable managed by setup.inlinelink
16.88 + "" 'openinlinelink := % ditto
16.89 + "" 'closeinlinelink := % ditto
16.90 +}
16.91 +INTEGERS {
16.92 + bracket.state
16.93 + outside.brackets
16.94 + open.brackets
16.95 + within.brackets
16.96 + close.brackets
16.97 +}
16.98 +FUNCTION {init.state.consts}
16.99 +{ #0 'outside.brackets := % urlbst
16.100 + #1 'open.brackets :=
16.101 + #2 'within.brackets :=
16.102 + #3 'close.brackets :=
16.103 +
16.104 + #0 'before.all :=
16.105 + #1 'mid.sentence :=
16.106 + #2 'after.sentence :=
16.107 + #3 'after.block :=
16.108 +}
16.109 +
16.110 +STRINGS { s t }
16.111 +
16.112 +FUNCTION {output.nonnull.original}
16.113 +{ 's :=
16.114 + output.state mid.sentence =
16.115 + { ", " * write$ }
16.116 + { output.state after.block =
16.117 + { add.period$ write$
16.118 + newline$
16.119 + "\newblock " write$
16.120 + }
16.121 + { output.state before.all =
16.122 + 'write$
16.123 + { add.period$ " " * write$ }
16.124 + if$
16.125 + }
16.126 + if$
16.127 + mid.sentence 'output.state :=
16.128 + }
16.129 + if$
16.130 + s
16.131 +}
16.132 +
16.133 +FUNCTION {setup.inlinelink}
16.134 +{ makeinlinelink
16.135 + { hrefform #1 = % hypertex
16.136 + { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
16.137 + "\special {html:</a>}" 'closeinlinelink :=
16.138 + }
16.139 + { hrefform #2 = % hyperref
16.140 + { "\href{" url * "}{" * 'openinlinelink :=
16.141 + "}" 'closeinlinelink :=
16.142 + }
16.143 + 'skip$
16.144 + if$ % hrefform #2 =
16.145 + }
16.146 + if$ % hrefform #1 =
16.147 + #0 'makeinlinelink :=
16.148 + }
16.149 + 'skip$
16.150 + if$ % makeinlinelink
16.151 +}
16.152 +FUNCTION {add.inlinelink}
16.153 +{ openinlinelink empty$
16.154 + 'skip$
16.155 + { openinlinelink swap$ * closeinlinelink *
16.156 + "" 'openinlinelink :=
16.157 + }
16.158 + if$
16.159 +}
16.160 +FUNCTION {output.nonnull}
16.161 +{ % Save the thing we've been asked to output
16.162 + 's :=
16.163 + % If the bracket-state is close.brackets, then add a close-bracket to
16.164 + % what is currently at the top of the stack, and set bracket.state
16.165 + % to outside.brackets
16.166 + bracket.state close.brackets =
16.167 + { "]" *
16.168 + outside.brackets 'bracket.state :=
16.169 + }
16.170 + 'skip$
16.171 + if$
16.172 + bracket.state outside.brackets =
16.173 + { % We're outside all brackets -- this is the normal situation.
16.174 + % Write out what's currently at the top of the stack, using the
16.175 + % original output.nonnull function.
16.176 + s
16.177 + add.inlinelink
16.178 + output.nonnull.original % invoke the original output.nonnull
16.179 + }
16.180 + { % Still in brackets. Add open-bracket or (continuation) comma, add the
16.181 + % new text (in s) to the top of the stack, and move to the close-brackets
16.182 + % state, ready for next time (unless inbrackets resets it). If we come
16.183 + % into this branch, then output.state is carefully undisturbed.
16.184 + bracket.state open.brackets =
16.185 + { " [" * }
16.186 + { ", " * } % bracket.state will be within.brackets
16.187 + if$
16.188 + s *
16.189 + close.brackets 'bracket.state :=
16.190 + }
16.191 + if$
16.192 +}
16.193 +
16.194 +FUNCTION {inbrackets}
16.195 +{ bracket.state close.brackets =
16.196 + { within.brackets 'bracket.state := } % reset the state: not open nor closed
16.197 + { open.brackets 'bracket.state := }
16.198 + if$
16.199 +}
16.200 +
16.201 +FUNCTION {format.lastchecked}
16.202 +{ lastchecked empty$
16.203 + { "" }
16.204 + { inbrackets "cited " lastchecked * }
16.205 + if$
16.206 +}
16.207 +
16.208 +FUNCTION {output}
16.209 +{ duplicate$ empty$
16.210 + 'pop$
16.211 + 'output.nonnull
16.212 + if$
16.213 +}
16.214 +
16.215 +FUNCTION {output.check}
16.216 +{ 't :=
16.217 + duplicate$ empty$
16.218 + { pop$ "empty " t * " in " * cite$ * warning$ }
16.219 + 'output.nonnull
16.220 + if$
16.221 +}
16.222 +
16.223 +FUNCTION {fin.entry.original}
16.224 +{ add.period$
16.225 + write$
16.226 + newline$
16.227 +}
16.228 +
16.229 +FUNCTION {new.block}
16.230 +{ output.state before.all =
16.231 + 'skip$
16.232 + { after.block 'output.state := }
16.233 + if$
16.234 +}
16.235 +
16.236 +FUNCTION {new.sentence}
16.237 +{ output.state after.block =
16.238 + 'skip$
16.239 + { output.state before.all =
16.240 + 'skip$
16.241 + { after.sentence 'output.state := }
16.242 + if$
16.243 + }
16.244 + if$
16.245 +}
16.246 +
16.247 +FUNCTION {add.blank}
16.248 +{ " " * before.all 'output.state :=
16.249 +}
16.250 +
16.251 +FUNCTION {date.block}
16.252 +{
16.253 + add.blank
16.254 +}
16.255 +
16.256 +FUNCTION {not}
16.257 +{ { #0 }
16.258 + { #1 }
16.259 + if$
16.260 +}
16.261 +
16.262 +FUNCTION {and}
16.263 +{ 'skip$
16.264 + { pop$ #0 }
16.265 + if$
16.266 +}
16.267 +
16.268 +FUNCTION {or}
16.269 +{ { pop$ #1 }
16.270 + 'skip$
16.271 + if$
16.272 +}
16.273 +
16.274 +FUNCTION {new.block.checka}
16.275 +{ empty$
16.276 + 'skip$
16.277 + 'new.block
16.278 + if$
16.279 +}
16.280 +
16.281 +FUNCTION {new.block.checkb}
16.282 +{ empty$
16.283 + swap$ empty$
16.284 + and
16.285 + 'skip$
16.286 + 'new.block
16.287 + if$
16.288 +}
16.289 +
16.290 +FUNCTION {new.sentence.checka}
16.291 +{ empty$
16.292 + 'skip$
16.293 + 'new.sentence
16.294 + if$
16.295 +}
16.296 +
16.297 +FUNCTION {new.sentence.checkb}
16.298 +{ empty$
16.299 + swap$ empty$
16.300 + and
16.301 + 'skip$
16.302 + 'new.sentence
16.303 + if$
16.304 +}
16.305 +
16.306 +FUNCTION {field.or.null}
16.307 +{ duplicate$ empty$
16.308 + { pop$ "" }
16.309 + 'skip$
16.310 + if$
16.311 +}
16.312 +
16.313 +FUNCTION {emphasize}
16.314 +{ skip$ }
16.315 +
16.316 +FUNCTION {capitalize}
16.317 +{ "u" change.case$ "t" change.case$ }
16.318 +
16.319 +FUNCTION {space.word}
16.320 +{ " " swap$ * " " * }
16.321 +
16.322 + % Here are the language-specific definitions for explicit words.
16.323 + % Each function has a name bbl.xxx where xxx is the English word.
16.324 + % The language selected here is ENGLISH
16.325 +FUNCTION {bbl.and}
16.326 +{ "and"}
16.327 +
16.328 +FUNCTION {bbl.etal}
16.329 +{ "et~al." }
16.330 +
16.331 +FUNCTION {bbl.editors}
16.332 +{ "Eds." }
16.333 +
16.334 +FUNCTION {bbl.editor}
16.335 +{ "Ed." }
16.336 +
16.337 +FUNCTION {bbl.edby}
16.338 +{ "edited by" }
16.339 +
16.340 +FUNCTION {bbl.edition}
16.341 +{ "Edition" }
16.342 +
16.343 +FUNCTION {bbl.volume}
16.344 +{ "Vol." }
16.345 +
16.346 +FUNCTION {bbl.of}
16.347 +{ "of" }
16.348 +
16.349 +FUNCTION {bbl.number}
16.350 +{ "no." }
16.351 +
16.352 +FUNCTION {bbl.nr}
16.353 +{ "no." }
16.354 +
16.355 +FUNCTION {bbl.in}
16.356 +{ "in" }
16.357 +
16.358 +FUNCTION {bbl.pages}
16.359 +{ "pp." }
16.360 +
16.361 +FUNCTION {bbl.page}
16.362 +{ "p." }
16.363 +
16.364 +FUNCTION {bbl.chapter}
16.365 +{ "Ch." }
16.366 +
16.367 +FUNCTION {bbl.techrep}
16.368 +{ "Tech. Rep." }
16.369 +
16.370 +FUNCTION {bbl.mthesis}
16.371 +{ "Master's thesis" }
16.372 +
16.373 +FUNCTION {bbl.phdthesis}
16.374 +{ "Ph.D. thesis" }
16.375 +
16.376 +FUNCTION {bbl.first}
16.377 +{ "1st" }
16.378 +
16.379 +FUNCTION {bbl.second}
16.380 +{ "2nd" }
16.381 +
16.382 +FUNCTION {bbl.third}
16.383 +{ "3rd" }
16.384 +
16.385 +FUNCTION {bbl.fourth}
16.386 +{ "4th" }
16.387 +
16.388 +FUNCTION {bbl.fifth}
16.389 +{ "5th" }
16.390 +
16.391 +FUNCTION {bbl.st}
16.392 +{ "st" }
16.393 +
16.394 +FUNCTION {bbl.nd}
16.395 +{ "nd" }
16.396 +
16.397 +FUNCTION {bbl.rd}
16.398 +{ "rd" }
16.399 +
16.400 +FUNCTION {bbl.th}
16.401 +{ "th" }
16.402 +
16.403 +MACRO {jan} {"Jan."}
16.404 +
16.405 +MACRO {feb} {"Feb."}
16.406 +
16.407 +MACRO {mar} {"Mar."}
16.408 +
16.409 +MACRO {apr} {"Apr."}
16.410 +
16.411 +MACRO {may} {"May"}
16.412 +
16.413 +MACRO {jun} {"Jun."}
16.414 +
16.415 +MACRO {jul} {"Jul."}
16.416 +
16.417 +MACRO {aug} {"Aug."}
16.418 +
16.419 +MACRO {sep} {"Sep."}
16.420 +
16.421 +MACRO {oct} {"Oct."}
16.422 +
16.423 +MACRO {nov} {"Nov."}
16.424 +
16.425 +MACRO {dec} {"Dec."}
16.426 +
16.427 +FUNCTION {eng.ord}
16.428 +{ duplicate$ "1" swap$ *
16.429 + #-2 #1 substring$ "1" =
16.430 + { bbl.th * }
16.431 + { duplicate$ #-1 #1 substring$
16.432 + duplicate$ "1" =
16.433 + { pop$ bbl.st * }
16.434 + { duplicate$ "2" =
16.435 + { pop$ bbl.nd * }
16.436 + { "3" =
16.437 + { bbl.rd * }
16.438 + { bbl.th * }
16.439 + if$
16.440 + }
16.441 + if$
16.442 + }
16.443 + if$
16.444 + }
16.445 + if$
16.446 +}
16.447 +
16.448 +MACRO {acmcs} {"ACM Comput. Surv."}
16.449 +
16.450 +MACRO {acta} {"Acta Inf."}
16.451 +
16.452 +MACRO {cacm} {"Commun. ACM"}
16.453 +
16.454 +MACRO {ibmjrd} {"IBM J. Res. Dev."}
16.455 +
16.456 +MACRO {ibmsj} {"IBM Syst.~J."}
16.457 +
16.458 +MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
16.459 +
16.460 +MACRO {ieeetc} {"IEEE Trans. Comput."}
16.461 +
16.462 +MACRO {ieeetcad}
16.463 + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
16.464 +
16.465 +MACRO {ipl} {"Inf. Process. Lett."}
16.466 +
16.467 +MACRO {jacm} {"J.~ACM"}
16.468 +
16.469 +MACRO {jcss} {"J.~Comput. Syst. Sci."}
16.470 +
16.471 +MACRO {scp} {"Sci. Comput. Programming"}
16.472 +
16.473 +MACRO {sicomp} {"SIAM J. Comput."}
16.474 +
16.475 +MACRO {tocs} {"ACM Trans. Comput. Syst."}
16.476 +
16.477 +MACRO {tods} {"ACM Trans. Database Syst."}
16.478 +
16.479 +MACRO {tog} {"ACM Trans. Gr."}
16.480 +
16.481 +MACRO {toms} {"ACM Trans. Math. Softw."}
16.482 +
16.483 +MACRO {toois} {"ACM Trans. Office Inf. Syst."}
16.484 +
16.485 +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
16.486 +
16.487 +MACRO {tcs} {"Theoretical Comput. Sci."}
16.488 +
16.489 +FUNCTION {write.url}
16.490 +{ url empty$
16.491 + { skip$ }
16.492 + { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
16.493 + if$
16.494 +}
16.495 +
16.496 +INTEGERS { nameptr namesleft numnames }
16.497 +
16.498 +FUNCTION {format.names}
16.499 +{ 's :=
16.500 + #1 'nameptr :=
16.501 + s num.names$ 'numnames :=
16.502 + numnames 'namesleft :=
16.503 + { namesleft #0 > }
16.504 + { s nameptr
16.505 + "{f.~}{vv~}{ll}{, jj}" format.name$
16.506 + 't :=
16.507 + nameptr #1 >
16.508 + {
16.509 + namesleft #1 >
16.510 + { ", " * t * }
16.511 + {
16.512 + "," *
16.513 + s nameptr "{ll}" format.name$ duplicate$ "others" =
16.514 + { 't := }
16.515 + { pop$ }
16.516 + if$
16.517 + t "others" =
16.518 + {
16.519 + " " * bbl.etal *
16.520 + }
16.521 + { " " * t * }
16.522 + if$
16.523 + }
16.524 + if$
16.525 + }
16.526 + 't
16.527 + if$
16.528 + nameptr #1 + 'nameptr :=
16.529 + namesleft #1 - 'namesleft :=
16.530 + }
16.531 + while$
16.532 +}
16.533 +FUNCTION {format.names.ed}
16.534 +{ format.names }
16.535 +FUNCTION {format.authors}
16.536 +{ author empty$
16.537 + { "" }
16.538 + { author format.names }
16.539 + if$
16.540 +}
16.541 +
16.542 +FUNCTION {format.editors}
16.543 +{ editor empty$
16.544 + { "" }
16.545 + { editor format.names
16.546 + editor num.names$ #1 >
16.547 + { " (" * bbl.editors * ")" * }
16.548 + { " (" * bbl.editor * ")" * }
16.549 + if$
16.550 + }
16.551 + if$
16.552 +}
16.553 +
16.554 +FUNCTION {format.in.editors}
16.555 +{ editor empty$
16.556 + { "" }
16.557 + { editor format.names.ed
16.558 + editor num.names$ #1 >
16.559 + { " (" * bbl.editors * ")" * }
16.560 + { " (" * bbl.editor * ")" * }
16.561 + if$
16.562 + }
16.563 + if$
16.564 +}
16.565 +
16.566 +FUNCTION {format.note}
16.567 +{
16.568 + note empty$
16.569 + { "" }
16.570 + { note #1 #1 substring$
16.571 + duplicate$ "{" =
16.572 + 'skip$
16.573 + { output.state mid.sentence =
16.574 + { "l" }
16.575 + { "u" }
16.576 + if$
16.577 + change.case$
16.578 + }
16.579 + if$
16.580 + note #2 global.max$ substring$ *
16.581 + }
16.582 + if$
16.583 +}
16.584 +
16.585 +FUNCTION {format.title}
16.586 +{ title empty$
16.587 + { "" }
16.588 + { title "t" change.case$
16.589 + }
16.590 + if$
16.591 +}
16.592 +
16.593 +FUNCTION {output.bibitem.original}
16.594 +{ newline$
16.595 + "\bibitem{" write$
16.596 + cite$ write$
16.597 + "}" write$
16.598 + newline$
16.599 + ""
16.600 + before.all 'output.state :=
16.601 +}
16.602 +
16.603 +FUNCTION {n.dashify}
16.604 +{
16.605 + 't :=
16.606 + ""
16.607 + { t empty$ not }
16.608 + { t #1 #1 substring$ "-" =
16.609 + { t #1 #2 substring$ "--" = not
16.610 + { "--" *
16.611 + t #2 global.max$ substring$ 't :=
16.612 + }
16.613 + { { t #1 #1 substring$ "-" = }
16.614 + { "-" *
16.615 + t #2 global.max$ substring$ 't :=
16.616 + }
16.617 + while$
16.618 + }
16.619 + if$
16.620 + }
16.621 + { t #1 #1 substring$ *
16.622 + t #2 global.max$ substring$ 't :=
16.623 + }
16.624 + if$
16.625 + }
16.626 + while$
16.627 +}
16.628 +
16.629 +FUNCTION {word.in}
16.630 +{ bbl.in
16.631 + ":" *
16.632 + " " * }
16.633 +
16.634 +FUNCTION {format.date}
16.635 +{ year empty$
16.636 + { month empty$
16.637 + { "" }
16.638 + { "there's a month but no year in " cite$ * warning$
16.639 + month
16.640 + }
16.641 + if$
16.642 + }
16.643 + { month empty$
16.644 + 'year
16.645 + { month " " * year * }
16.646 + if$
16.647 + }
16.648 + if$
16.649 + duplicate$ empty$
16.650 + 'skip$
16.651 + {
16.652 + before.all 'output.state :=
16.653 + " (" swap$ * ")" *
16.654 + }
16.655 + if$
16.656 +}
16.657 +
16.658 +FUNCTION{format.year}
16.659 +{ year duplicate$ empty$
16.660 + { "empty year in " cite$ * warning$ pop$ "" }
16.661 + { "(" swap$ * ")" * }
16.662 + if$
16.663 +}
16.664 +
16.665 +FUNCTION {format.btitle}
16.666 +{ title
16.667 +}
16.668 +
16.669 +FUNCTION {tie.or.space.connect}
16.670 +{ duplicate$ text.length$ #3 <
16.671 + { "~" }
16.672 + { " " }
16.673 + if$
16.674 + swap$ * *
16.675 +}
16.676 +
16.677 +FUNCTION {either.or.check}
16.678 +{ empty$
16.679 + 'pop$
16.680 + { "can't use both " swap$ * " fields in " * cite$ * warning$ }
16.681 + if$
16.682 +}
16.683 +
16.684 +FUNCTION {format.bvolume}
16.685 +{ volume empty$
16.686 + { "" }
16.687 + { bbl.volume volume tie.or.space.connect
16.688 + series empty$
16.689 + 'skip$
16.690 + { bbl.of space.word * series emphasize * }
16.691 + if$
16.692 + "volume and number" number either.or.check
16.693 + }
16.694 + if$
16.695 +}
16.696 +
16.697 +FUNCTION {format.number.series}
16.698 +{ volume empty$
16.699 + { number empty$
16.700 + { series field.or.null }
16.701 + { output.state mid.sentence =
16.702 + { bbl.number }
16.703 + { bbl.number capitalize }
16.704 + if$
16.705 + number tie.or.space.connect
16.706 + series empty$
16.707 + { "there's a number but no series in " cite$ * warning$ }
16.708 + { bbl.in space.word * series * }
16.709 + if$
16.710 + }
16.711 + if$
16.712 + }
16.713 + { "" }
16.714 + if$
16.715 +}
16.716 +
16.717 +FUNCTION {is.num}
16.718 +{ chr.to.int$
16.719 + duplicate$ "0" chr.to.int$ < not
16.720 + swap$ "9" chr.to.int$ > not and
16.721 +}
16.722 +
16.723 +FUNCTION {extract.num}
16.724 +{ duplicate$ 't :=
16.725 + "" 's :=
16.726 + { t empty$ not }
16.727 + { t #1 #1 substring$
16.728 + t #2 global.max$ substring$ 't :=
16.729 + duplicate$ is.num
16.730 + { s swap$ * 's := }
16.731 + { pop$ "" 't := }
16.732 + if$
16.733 + }
16.734 + while$
16.735 + s empty$
16.736 + 'skip$
16.737 + { pop$ s }
16.738 + if$
16.739 +}
16.740 +
16.741 +FUNCTION {convert.edition}
16.742 +{ edition extract.num "l" change.case$ 's :=
16.743 + s "first" = s "1" = or
16.744 + { bbl.first 't := }
16.745 + { s "second" = s "2" = or
16.746 + { bbl.second 't := }
16.747 + { s "third" = s "3" = or
16.748 + { bbl.third 't := }
16.749 + { s "fourth" = s "4" = or
16.750 + { bbl.fourth 't := }
16.751 + { s "fifth" = s "5" = or
16.752 + { bbl.fifth 't := }
16.753 + { s #1 #1 substring$ is.num
16.754 + { s eng.ord 't := }
16.755 + { edition 't := }
16.756 + if$
16.757 + }
16.758 + if$
16.759 + }
16.760 + if$
16.761 + }
16.762 + if$
16.763 + }
16.764 + if$
16.765 + }
16.766 + if$
16.767 + t
16.768 +}
16.769 +
16.770 +FUNCTION {format.edition}
16.771 +{ edition empty$
16.772 + { "" }
16.773 + { output.state mid.sentence =
16.774 + { convert.edition "l" change.case$ " " * bbl.edition * }
16.775 + { convert.edition "t" change.case$ " " * bbl.edition * }
16.776 + if$
16.777 + }
16.778 + if$
16.779 +}
16.780 +
16.781 +INTEGERS { multiresult }
16.782 +
16.783 +FUNCTION {multi.page.check}
16.784 +{ 't :=
16.785 + #0 'multiresult :=
16.786 + { multiresult not
16.787 + t empty$ not
16.788 + and
16.789 + }
16.790 + { t #1 #1 substring$
16.791 + duplicate$ "-" =
16.792 + swap$ duplicate$ "," =
16.793 + swap$ "+" =
16.794 + or or
16.795 + { #1 'multiresult := }
16.796 + { t #2 global.max$ substring$ 't := }
16.797 + if$
16.798 + }
16.799 + while$
16.800 + multiresult
16.801 +}
16.802 +
16.803 +FUNCTION {format.pages}
16.804 +{ pages empty$
16.805 + { "" }
16.806 + { pages multi.page.check
16.807 + { bbl.pages pages n.dashify tie.or.space.connect }
16.808 + { bbl.page pages tie.or.space.connect }
16.809 + if$
16.810 + }
16.811 + if$
16.812 +}
16.813 +
16.814 +FUNCTION {format.journal.pages}
16.815 +{ pages empty$
16.816 + 'skip$
16.817 + { duplicate$ empty$
16.818 + { pop$ format.pages }
16.819 + {
16.820 + " " *
16.821 + format.year * " " *
16.822 + pages n.dashify *
16.823 + }
16.824 + if$
16.825 + }
16.826 + if$
16.827 +}
16.828 +
16.829 +FUNCTION {format.vol.num.pages}
16.830 +{
16.831 + % volume field.or.null
16.832 + " "
16.833 + volume empty$
16.834 + { pop$ "" }
16.835 + { volume * }
16.836 + if$
16.837 + number empty$
16.838 + 'skip$
16.839 + {
16.840 + "~(" number * ")" * *
16.841 + volume empty$
16.842 + { "there's a number but no volume in " cite$ * warning$ }
16.843 + 'skip$
16.844 + if$
16.845 + }
16.846 + if$
16.847 +}
16.848 +
16.849 +FUNCTION {format.chapter.pages}
16.850 +{ chapter empty$
16.851 + { "" }
16.852 + { type empty$
16.853 + { bbl.chapter }
16.854 + { type "l" change.case$ }
16.855 + if$
16.856 + chapter tie.or.space.connect
16.857 + }
16.858 + if$
16.859 +}
16.860 +
16.861 +FUNCTION {format.in.ed.booktitle}
16.862 +{ booktitle empty$
16.863 + { "" }
16.864 + { editor empty$
16.865 + { word.in booktitle * }
16.866 + { word.in format.in.editors * ", " *
16.867 + booktitle * }
16.868 + if$
16.869 + }
16.870 + if$
16.871 +}
16.872 +
16.873 +FUNCTION {empty.misc.check}
16.874 +{ author empty$ title empty$ howpublished empty$
16.875 + month empty$ year empty$ note empty$
16.876 + and and and and and
16.877 + { "all relevant fields are empty in " cite$ * warning$ }
16.878 + 'skip$
16.879 + if$
16.880 +}
16.881 +
16.882 +FUNCTION {format.thesis.type}
16.883 +{ type empty$
16.884 + 'skip$
16.885 + { pop$
16.886 + type "t" change.case$
16.887 + }
16.888 + if$
16.889 +}
16.890 +
16.891 +FUNCTION {format.tr.number}
16.892 +{ type empty$
16.893 + { bbl.techrep }
16.894 + 'type
16.895 + if$
16.896 + number empty$
16.897 + { "t" change.case$ }
16.898 + { number tie.or.space.connect }
16.899 + if$
16.900 +}
16.901 +
16.902 +FUNCTION {format.article.crossref}
16.903 +{
16.904 + key empty$
16.905 + { journal empty$
16.906 + { "need key or journal for " cite$ * " to crossref " * crossref *
16.907 + warning$
16.908 + ""
16.909 + }
16.910 + { word.in journal emphasize * }
16.911 + if$
16.912 + }
16.913 + { word.in key * " " *}
16.914 + if$
16.915 + " \cite{" * crossref * "}" *
16.916 +}
16.917 +
16.918 +FUNCTION {format.crossref.editor}
16.919 +{ editor #1 "{vv~}{ll}" format.name$
16.920 + editor num.names$ duplicate$
16.921 + #2 >
16.922 + { pop$
16.923 + " " * bbl.etal *
16.924 + }
16.925 + { #2 <
16.926 + 'skip$
16.927 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
16.928 + {
16.929 + " " * bbl.etal *
16.930 + }
16.931 + { bbl.and space.word * editor #2 "{vv~}{ll}" format.name$
16.932 + * }
16.933 + if$
16.934 + }
16.935 + if$
16.936 + }
16.937 + if$
16.938 +}
16.939 +
16.940 +FUNCTION {format.book.crossref}
16.941 +{ volume empty$
16.942 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
16.943 + word.in
16.944 + }
16.945 + { bbl.volume volume tie.or.space.connect
16.946 + bbl.of space.word *
16.947 + }
16.948 + if$
16.949 + editor empty$
16.950 + editor field.or.null author field.or.null =
16.951 + or
16.952 + { key empty$
16.953 + { series empty$
16.954 + { "need editor, key, or series for " cite$ * " to crossref " *
16.955 + crossref * warning$
16.956 + "" *
16.957 + }
16.958 + { series emphasize * }
16.959 + if$
16.960 + }
16.961 + { key * }
16.962 + if$
16.963 + }
16.964 + { format.crossref.editor * }
16.965 + if$
16.966 + " \cite{" * crossref * "}" *
16.967 +}
16.968 +
16.969 +FUNCTION {format.incoll.inproc.crossref}
16.970 +{
16.971 + editor empty$
16.972 + editor field.or.null author field.or.null =
16.973 + or
16.974 + { key empty$
16.975 + { booktitle empty$
16.976 + { "need editor, key, or booktitle for " cite$ * " to crossref " *
16.977 + crossref * warning$
16.978 + ""
16.979 + }
16.980 + { word.in booktitle * }
16.981 + if$
16.982 + }
16.983 + { word.in key * " " *}
16.984 + if$
16.985 + }
16.986 + { word.in format.crossref.editor * " " *}
16.987 + if$
16.988 + " \cite{" * crossref * "}" *
16.989 +}
16.990 +
16.991 +FUNCTION {format.org.or.pub}
16.992 +{ 't :=
16.993 + ""
16.994 + year empty$
16.995 + { "empty year in " cite$ * warning$ }
16.996 + 'skip$
16.997 + if$
16.998 + address empty$ t empty$ and
16.999 + year empty$ and
16.1000 + 'skip$
16.1001 + {
16.1002 + t empty$
16.1003 + { address empty$
16.1004 + 'skip$
16.1005 + { address * }
16.1006 + if$
16.1007 + }
16.1008 + { t *
16.1009 + address empty$
16.1010 + 'skip$
16.1011 + { ", " * address * }
16.1012 + if$
16.1013 + }
16.1014 + if$
16.1015 + year empty$
16.1016 + 'skip$
16.1017 + { t empty$ address empty$ and
16.1018 + 'skip$
16.1019 + { ", " * }
16.1020 + if$
16.1021 + year *
16.1022 + }
16.1023 + if$
16.1024 + }
16.1025 + if$
16.1026 +}
16.1027 +
16.1028 +FUNCTION {format.publisher.address}
16.1029 +{ publisher empty$
16.1030 + { "empty publisher in " cite$ * warning$
16.1031 + ""
16.1032 + }
16.1033 + { publisher }
16.1034 + if$
16.1035 + format.org.or.pub
16.1036 +}
16.1037 +
16.1038 +FUNCTION {format.organization.address}
16.1039 +{ organization empty$
16.1040 + { "" }
16.1041 + { organization }
16.1042 + if$
16.1043 + format.org.or.pub
16.1044 +}
16.1045 +
16.1046 +FUNCTION {make.href.null}
16.1047 +{
16.1048 + pop$
16.1049 +}
16.1050 +FUNCTION {make.href.hypertex}
16.1051 +{
16.1052 + "\special {html:<a href=" quote$ *
16.1053 + swap$ * quote$ * "> }" * swap$ *
16.1054 + "\special {html:</a>}" *
16.1055 +}
16.1056 +FUNCTION {make.href.hyperref}
16.1057 +{
16.1058 + "\href {" swap$ * "} {\path{" * swap$ * "}}" *
16.1059 +}
16.1060 +FUNCTION {make.href}
16.1061 +{ hrefform #2 =
16.1062 + 'make.href.hyperref % hrefform = 2
16.1063 + { hrefform #1 =
16.1064 + 'make.href.hypertex % hrefform = 1
16.1065 + 'make.href.null % hrefform = 0 (or anything else)
16.1066 + if$
16.1067 + }
16.1068 + if$
16.1069 +}
16.1070 +
16.1071 +FUNCTION {format.url}
16.1072 +{ inlinelinks #1 = url empty$ or
16.1073 + { "" }
16.1074 + { hrefform #1 =
16.1075 + { % special case -- add HyperTeX specials
16.1076 + urlintro "\url{" url * "}" * url make.href.hypertex * }
16.1077 + { urlintro "\url{" * url * "}" * }
16.1078 + if$
16.1079 + }
16.1080 + if$
16.1081 +}
16.1082 +
16.1083 +FUNCTION {format.eprint}
16.1084 +{ eprint empty$
16.1085 + { "" }
16.1086 + { eprintprefix eprint * eprinturl eprint * make.href }
16.1087 + if$
16.1088 +}
16.1089 +
16.1090 +FUNCTION {format.doi}
16.1091 +{ doi empty$
16.1092 + { "" }
16.1093 + { doiprefix doi * doiurl doi * make.href }
16.1094 + if$
16.1095 +}
16.1096 +
16.1097 +FUNCTION {output.url}
16.1098 +{ url empty$
16.1099 + 'skip$
16.1100 + { new.block
16.1101 + format.url output
16.1102 + format.lastchecked output
16.1103 + }
16.1104 + if$
16.1105 +}
16.1106 +
16.1107 +FUNCTION {output.web.refs}
16.1108 +{
16.1109 + new.block
16.1110 + output.url
16.1111 + addeprints eprint empty$ not and
16.1112 + { format.eprint output.nonnull }
16.1113 + 'skip$
16.1114 + if$
16.1115 + adddoiresolver doi empty$ not and
16.1116 + { format.doi output.nonnull }
16.1117 + 'skip$
16.1118 + if$
16.1119 +}
16.1120 +
16.1121 +FUNCTION {output.bibitem}
16.1122 +{ outside.brackets 'bracket.state :=
16.1123 + output.bibitem.original
16.1124 + inlinelinks url empty$ not and
16.1125 + { #1 'makeinlinelink := }
16.1126 + { #0 'makeinlinelink := }
16.1127 + if$
16.1128 +}
16.1129 +
16.1130 +FUNCTION {fin.entry}
16.1131 +{ output.web.refs % urlbst
16.1132 + makeinlinelink % ooops, it appears we didn't have a title for inlinelink
16.1133 + { setup.inlinelink % add some artificial link text here, as a fallback
16.1134 + "[link]" output.nonnull }
16.1135 + 'skip$
16.1136 + if$
16.1137 + bracket.state close.brackets = % urlbst
16.1138 + { "]" * }
16.1139 + 'skip$
16.1140 + if$
16.1141 + fin.entry.original
16.1142 +}
16.1143 +
16.1144 +FUNCTION {webpage}
16.1145 +{ output.bibitem
16.1146 + author empty$
16.1147 + { editor empty$
16.1148 + 'skip$ % author and editor both optional
16.1149 + { format.editors output.nonnull }
16.1150 + if$
16.1151 + }
16.1152 + { editor empty$
16.1153 + { format.authors output.nonnull }
16.1154 + { "can't use both author and editor fields in " cite$ * warning$ }
16.1155 + if$
16.1156 + }
16.1157 + if$
16.1158 + new.block
16.1159 + title empty$ 'skip$ 'setup.inlinelink if$
16.1160 + format.title "title" output.check
16.1161 + inbrackets "online" output
16.1162 + new.block
16.1163 + year empty$
16.1164 + 'skip$
16.1165 + { format.date "year" output.check }
16.1166 + if$
16.1167 + % We don't need to output the URL details ('lastchecked' and 'url'),
16.1168 + % because fin.entry does that for us, using output.web.refs. The only
16.1169 + % reason we would want to put them here is if we were to decide that
16.1170 + % they should go in front of the rather miscellaneous information in 'note'.
16.1171 + new.block
16.1172 + note output
16.1173 + fin.entry
16.1174 +}
16.1175 +
16.1176 +FUNCTION {article}
16.1177 +{ output.bibitem
16.1178 + format.authors "author" output.check
16.1179 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1180 + format.title "title" output.check
16.1181 + crossref missing$
16.1182 + { journal
16.1183 + "journal" output.check
16.1184 + % add.blank
16.1185 + before.all 'output.state :=
16.1186 + format.vol.num.pages output
16.1187 + }
16.1188 + { format.article.crossref output.nonnull
16.1189 + format.pages output
16.1190 + }
16.1191 + if$
16.1192 + format.journal.pages
16.1193 + format.note output
16.1194 + fin.entry
16.1195 + write.url
16.1196 +}
16.1197 +
16.1198 +FUNCTION {book}
16.1199 +{ output.bibitem
16.1200 + author empty$
16.1201 + { format.editors "author and editor" output.check
16.1202 + }
16.1203 + { format.authors output.nonnull
16.1204 + crossref missing$
16.1205 + { "author and editor" editor either.or.check }
16.1206 + 'skip$
16.1207 + if$
16.1208 + }
16.1209 + if$
16.1210 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1211 + format.btitle "title" output.check
16.1212 + crossref missing$
16.1213 + { format.edition output
16.1214 + format.bvolume output
16.1215 + format.number.series output
16.1216 + format.publisher.address output
16.1217 + }
16.1218 + {
16.1219 + format.book.crossref output.nonnull
16.1220 + }
16.1221 + if$
16.1222 + format.note output
16.1223 + fin.entry
16.1224 + write.url
16.1225 +}
16.1226 +
16.1227 +FUNCTION {booklet}
16.1228 +{ output.bibitem
16.1229 + format.authors output
16.1230 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1231 + format.title "title" output.check
16.1232 + howpublished output
16.1233 + address output
16.1234 + format.note output
16.1235 + format.date output
16.1236 + fin.entry
16.1237 + write.url
16.1238 +}
16.1239 +
16.1240 +FUNCTION {inbook}
16.1241 +{ output.bibitem
16.1242 + author empty$
16.1243 + { format.editors "author and editor" output.check
16.1244 + }
16.1245 + { format.authors output.nonnull
16.1246 + crossref missing$
16.1247 + { "author and editor" editor either.or.check }
16.1248 + 'skip$
16.1249 + if$
16.1250 + }
16.1251 + if$
16.1252 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1253 + format.btitle "title" output.check
16.1254 + crossref missing$
16.1255 + {
16.1256 + format.edition output
16.1257 + format.bvolume output
16.1258 + format.number.series output
16.1259 + format.publisher.address output
16.1260 + format.chapter.pages "chapter and pages" output.check
16.1261 + }
16.1262 + {
16.1263 + format.chapter.pages "chapter and pages" output.check
16.1264 + format.book.crossref output.nonnull
16.1265 + }
16.1266 + if$
16.1267 + format.pages "pages" output.check
16.1268 + format.note output
16.1269 + fin.entry
16.1270 + write.url
16.1271 +}
16.1272 +
16.1273 +FUNCTION {incollection}
16.1274 +{ output.bibitem
16.1275 + format.authors "author" output.check
16.1276 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1277 + format.title "title" output.check
16.1278 + crossref missing$
16.1279 + { format.in.ed.booktitle "booktitle" output.check
16.1280 + format.edition output
16.1281 + format.bvolume output
16.1282 + format.number.series output
16.1283 + format.publisher.address output
16.1284 + format.chapter.pages output
16.1285 + }
16.1286 + { format.incoll.inproc.crossref output.nonnull
16.1287 + format.chapter.pages output
16.1288 + }
16.1289 + if$
16.1290 + format.pages "pages" output.check
16.1291 + format.note output
16.1292 + fin.entry
16.1293 + write.url
16.1294 +}
16.1295 +
16.1296 +FUNCTION {inproceedings}
16.1297 +{ output.bibitem
16.1298 + format.authors "author" output.check
16.1299 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1300 + format.title "title" output.check
16.1301 + crossref missing$
16.1302 + { format.in.ed.booktitle "booktitle" output.check
16.1303 + format.edition output
16.1304 + format.bvolume output
16.1305 + format.number.series output
16.1306 + publisher empty$
16.1307 + { format.organization.address output }
16.1308 + { organization output
16.1309 + format.publisher.address output
16.1310 + }
16.1311 + if$
16.1312 + }
16.1313 + { format.incoll.inproc.crossref output.nonnull
16.1314 + }
16.1315 + if$
16.1316 + format.pages "pages" output.check
16.1317 + format.note output
16.1318 + fin.entry
16.1319 + write.url
16.1320 +}
16.1321 +
16.1322 +FUNCTION {conference} { inproceedings }
16.1323 +
16.1324 +FUNCTION {manual}
16.1325 +{ output.bibitem
16.1326 + author empty$
16.1327 + { organization empty$
16.1328 + 'skip$
16.1329 + { organization output.nonnull
16.1330 + address output
16.1331 + }
16.1332 + if$
16.1333 + }
16.1334 + { format.authors output.nonnull }
16.1335 + if$
16.1336 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1337 + format.btitle "title" output.check
16.1338 + author empty$
16.1339 + { organization empty$
16.1340 + {
16.1341 + address output
16.1342 + }
16.1343 + 'skip$
16.1344 + if$
16.1345 + }
16.1346 + {
16.1347 + organization output
16.1348 + address output
16.1349 + }
16.1350 + if$
16.1351 + format.edition output
16.1352 + format.note output
16.1353 + format.date output
16.1354 + fin.entry
16.1355 + write.url
16.1356 +}
16.1357 +
16.1358 +FUNCTION {mastersthesis}
16.1359 +{ output.bibitem
16.1360 + format.authors "author" output.check
16.1361 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1362 + format.title "title" output.check
16.1363 + bbl.mthesis format.thesis.type output.nonnull
16.1364 + school "school" output.check
16.1365 + address output
16.1366 + format.note output
16.1367 + format.date "year" output.check
16.1368 + fin.entry
16.1369 + write.url
16.1370 +}
16.1371 +
16.1372 +FUNCTION {misc}
16.1373 +{ output.bibitem
16.1374 + format.authors output
16.1375 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1376 + format.title output
16.1377 + howpublished output
16.1378 + format.note output
16.1379 + format.date output
16.1380 + fin.entry
16.1381 + write.url
16.1382 + empty.misc.check
16.1383 +}
16.1384 +
16.1385 +FUNCTION {phdthesis}
16.1386 +{ output.bibitem
16.1387 + format.authors "author" output.check
16.1388 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1389 + format.title "title" output.check
16.1390 + bbl.phdthesis format.thesis.type output.nonnull
16.1391 + school "school" output.check
16.1392 + address output
16.1393 + format.note output
16.1394 + format.date "year" output.check
16.1395 + fin.entry
16.1396 + write.url
16.1397 +}
16.1398 +
16.1399 +FUNCTION {proceedings}
16.1400 +{ output.bibitem
16.1401 + editor empty$
16.1402 + { organization output }
16.1403 + { format.editors output.nonnull }
16.1404 + if$
16.1405 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1406 + format.btitle "title" output.check
16.1407 + format.bvolume output
16.1408 + format.number.series output
16.1409 + editor empty$
16.1410 + { publisher empty$
16.1411 + 'skip$
16.1412 + {
16.1413 + format.publisher.address output
16.1414 + }
16.1415 + if$
16.1416 + }
16.1417 + { publisher empty$
16.1418 + {
16.1419 + format.organization.address output }
16.1420 + {
16.1421 + organization output
16.1422 + format.publisher.address output
16.1423 + }
16.1424 + if$
16.1425 + }
16.1426 + if$
16.1427 + format.note output
16.1428 + fin.entry
16.1429 + write.url
16.1430 +}
16.1431 +
16.1432 +FUNCTION {techreport}
16.1433 +{ output.bibitem
16.1434 + format.authors "author" output.check
16.1435 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1436 + format.title "title" output.check
16.1437 + format.tr.number output.nonnull
16.1438 + institution "institution" output.check
16.1439 + address output
16.1440 + format.note output
16.1441 + format.date "year" output.check
16.1442 + fin.entry
16.1443 + write.url
16.1444 +}
16.1445 +
16.1446 +FUNCTION {unpublished}
16.1447 +{ output.bibitem
16.1448 + format.authors "author" output.check
16.1449 + title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
16.1450 + format.title "title" output.check
16.1451 + format.note "note" output.check
16.1452 + format.date output
16.1453 + fin.entry
16.1454 + write.url
16.1455 +}
16.1456 +
16.1457 +FUNCTION {default.type} { misc }
16.1458 +
16.1459 +READ
16.1460 +
16.1461 +STRINGS { longest.label }
16.1462 +
16.1463 +INTEGERS { number.label longest.label.width }
16.1464 +
16.1465 +FUNCTION {initialize.longest.label}
16.1466 +{ "" 'longest.label :=
16.1467 + #1 'number.label :=
16.1468 + #0 'longest.label.width :=
16.1469 +}
16.1470 +
16.1471 +FUNCTION {longest.label.pass}
16.1472 +{ number.label int.to.str$ 'label :=
16.1473 + number.label #1 + 'number.label :=
16.1474 + label width$ longest.label.width >
16.1475 + { label 'longest.label :=
16.1476 + label width$ 'longest.label.width :=
16.1477 + }
16.1478 + 'skip$
16.1479 + if$
16.1480 +}
16.1481 +
16.1482 +EXECUTE {initialize.longest.label}
16.1483 +
16.1484 +ITERATE {longest.label.pass}
16.1485 +
16.1486 +FUNCTION {begin.bib}
16.1487 +{ preamble$ empty$
16.1488 + 'skip$
16.1489 + { preamble$ write$ newline$ }
16.1490 + if$
16.1491 + "\begin{thebibliography}{" longest.label * "}" *
16.1492 + write$ newline$
16.1493 + "\expandafter\ifx\csname url\endcsname\relax"
16.1494 + write$ newline$
16.1495 + " \def\url#1{\texttt{#1}}\fi"
16.1496 + write$ newline$
16.1497 + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
16.1498 + write$ newline$
16.1499 + "\expandafter\ifx\csname href\endcsname\relax"
16.1500 + write$ newline$
16.1501 + " \def\href#1#2{#2} \def\path#1{#1}\fi"
16.1502 + write$ newline$
16.1503 +}
16.1504 +
16.1505 +EXECUTE {begin.bib}
16.1506 +
16.1507 +EXECUTE {init.urlbst.variables}
16.1508 +EXECUTE {init.state.consts}
16.1509 +
16.1510 +ITERATE {call.type$}
16.1511 +
16.1512 +FUNCTION {end.bib}
16.1513 +{ newline$
16.1514 + "\end{thebibliography}" write$ newline$
16.1515 +}
16.1516 +
16.1517 +EXECUTE {end.bib}
16.1518 +%% End of customized bst file
16.1519 +%%
16.1520 +%% End of file `elsarticle-num.bst'.
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/elsarticle/elsarticle-template-harv.tex Fri Nov 18 16:18:02 2016 +0100
17.3 @@ -0,0 +1,137 @@
17.4 +%%
17.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
17.6 +%%
17.7 +%% This file is part of the 'Elsarticle Bundle'.
17.8 +%% ---------------------------------------------
17.9 +%%
17.10 +%% It may be distributed under the conditions of the LaTeX Project Public
17.11 +%% License, either version 1.2 of this license or (at your option) any
17.12 +%% later version. The latest version of this license is in
17.13 +%% http://www.latex-project.org/lppl.txt
17.14 +%% and version 1.2 or later is part of all distributions of LaTeX
17.15 +%% version 1999/12/01 or later.
17.16 +%%
17.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
17.18 +%% given in the file `manifest.txt'.
17.19 +%%
17.20 +%% Template article for Elsevier's document class `elsarticle'
17.21 +%% with harvard style bibliographic references
17.22 +%% SP 2008/03/01
17.23 +
17.24 +\documentclass[preprint,12pt,authoryear]{elsarticle}
17.25 +
17.26 +%% Use the option review to obtain double line spacing
17.27 +%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
17.28 +
17.29 +%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
17.30 +%% for a journal layout:
17.31 +%% \documentclass[final,1p,times,authoryear]{elsarticle}
17.32 +%% \documentclass[final,1p,times,twocolumn,authoryear]{elsarticle}
17.33 +%% \documentclass[final,3p,times,authoryear]{elsarticle}
17.34 +%% \documentclass[final,3p,times,twocolumn,authoryear]{elsarticle}
17.35 +%% \documentclass[final,5p,times,authoryear]{elsarticle}
17.36 +%% \documentclass[final,5p,times,twocolumn,authoryear]{elsarticle}
17.37 +
17.38 +%% For including figures, graphicx.sty has been loaded in
17.39 +%% elsarticle.cls. If you prefer to use the old commands
17.40 +%% please give \usepackage{epsfig}
17.41 +
17.42 +%% The amssymb package provides various useful mathematical symbols
17.43 +\usepackage{amssymb}
17.44 +%% The amsthm package provides extended theorem environments
17.45 +%% \usepackage{amsthm}
17.46 +
17.47 +%% The lineno packages adds line numbers. Start line numbering with
17.48 +%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
17.49 +%% for the whole article with \linenumbers.
17.50 +%% \usepackage{lineno}
17.51 +
17.52 +\journal{Nuclear Physics B}
17.53 +
17.54 +\begin{document}
17.55 +
17.56 +\begin{frontmatter}
17.57 +
17.58 +%% Title, authors and addresses
17.59 +
17.60 +%% use the tnoteref command within \title for footnotes;
17.61 +%% use the tnotetext command for theassociated footnote;
17.62 +%% use the fnref command within \author or \address for footnotes;
17.63 +%% use the fntext command for theassociated footnote;
17.64 +%% use the corref command within \author for corresponding author footnotes;
17.65 +%% use the cortext command for theassociated footnote;
17.66 +%% use the ead command for the email address,
17.67 +%% and the form \ead[url] for the home page:
17.68 +%% \title{Title\tnoteref{label1}}
17.69 +%% \tnotetext[label1]{}
17.70 +%% \author{Name\corref{cor1}\fnref{label2}}
17.71 +%% \ead{email address}
17.72 +%% \ead[url]{home page}
17.73 +%% \fntext[label2]{}
17.74 +%% \cortext[cor1]{}
17.75 +%% \address{Address\fnref{label3}}
17.76 +%% \fntext[label3]{}
17.77 +
17.78 +\title{}
17.79 +
17.80 +%% use optional labels to link authors explicitly to addresses:
17.81 +%% \author[label1,label2]{}
17.82 +%% \address[label1]{}
17.83 +%% \address[label2]{}
17.84 +
17.85 +\author{}
17.86 +
17.87 +\address{}
17.88 +
17.89 +\begin{abstract}
17.90 +%% Text of abstract
17.91 +
17.92 +\end{abstract}
17.93 +
17.94 +\begin{keyword}
17.95 +%% keywords here, in the form: keyword \sep keyword
17.96 +
17.97 +%% PACS codes here, in the form: \PACS code \sep code
17.98 +
17.99 +%% MSC codes here, in the form: \MSC code \sep code
17.100 +%% or \MSC[2008] code \sep code (2000 is the default)
17.101 +
17.102 +\end{keyword}
17.103 +
17.104 +\end{frontmatter}
17.105 +
17.106 +%% \linenumbers
17.107 +
17.108 +%% main text
17.109 +\section{}
17.110 +\label{}
17.111 +
17.112 +%% The Appendices part is started with the command \appendix;
17.113 +%% appendix sections are then done as normal sections
17.114 +%% \appendix
17.115 +
17.116 +%% \section{}
17.117 +%% \label{}
17.118 +
17.119 +%% If you have bibdatabase file and want bibtex to generate the
17.120 +%% bibitems, please use
17.121 +%%
17.122 +%% \bibliographystyle{elsarticle-harv}
17.123 +%% \bibliography{<your bibdatabase>}
17.124 +
17.125 +%% else use the following coding to input the bibitems directly in the
17.126 +%% TeX file.
17.127 +
17.128 +\begin{thebibliography}{00}
17.129 +
17.130 +%% \bibitem[Author(year)]{label}
17.131 +%% Text of bibliographic item
17.132 +
17.133 +\bibitem[ ()]{}
17.134 +
17.135 +\end{thebibliography}
17.136 +\end{document}
17.137 +
17.138 +\endinput
17.139 +%%
17.140 +%% End of file `elsarticle-template-harv.tex'.
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/elsarticle/elsarticle-template-num.tex Fri Nov 18 16:18:02 2016 +0100
18.3 @@ -0,0 +1,137 @@
18.4 +%%
18.5 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
18.6 +%%
18.7 +%% This file is part of the 'Elsarticle Bundle'.
18.8 +%% ---------------------------------------------
18.9 +%%
18.10 +%% It may be distributed under the conditions of the LaTeX Project Public
18.11 +%% License, either version 1.2 of this license or (at your option) any
18.12 +%% later version. The latest version of this license is in
18.13 +%% http://www.latex-project.org/lppl.txt
18.14 +%% and version 1.2 or later is part of all distributions of LaTeX
18.15 +%% version 1999/12/01 or later.
18.16 +%%
18.17 +%% The list of all files belonging to the 'Elsarticle Bundle' is
18.18 +%% given in the file `manifest.txt'.
18.19 +%%
18.20 +
18.21 +%% Template article for Elsevier's document class `elsarticle'
18.22 +%% with numbered style bibliographic references
18.23 +%% SP 2008/03/01
18.24 +
18.25 +\documentclass[preprint,12pt]{elsarticle}
18.26 +
18.27 +%% Use the option review to obtain double line spacing
18.28 +%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
18.29 +
18.30 +%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
18.31 +%% for a journal layout:
18.32 +%% \documentclass[final,1p,times]{elsarticle}
18.33 +%% \documentclass[final,1p,times,twocolumn]{elsarticle}
18.34 +%% \documentclass[final,3p,times]{elsarticle}
18.35 +%% \documentclass[final,3p,times,twocolumn]{elsarticle}
18.36 +%% \documentclass[final,5p,times]{elsarticle}
18.37 +%% \documentclass[final,5p,times,twocolumn]{elsarticle}
18.38 +
18.39 +%% For including figures, graphicx.sty has been loaded in
18.40 +%% elsarticle.cls. If you prefer to use the old commands
18.41 +%% please give \usepackage{epsfig}
18.42 +
18.43 +%% The amssymb package provides various useful mathematical symbols
18.44 +\usepackage{amssymb}
18.45 +%% The amsthm package provides extended theorem environments
18.46 +%% \usepackage{amsthm}
18.47 +
18.48 +%% The lineno packages adds line numbers. Start line numbering with
18.49 +%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
18.50 +%% for the whole article with \linenumbers.
18.51 +%% \usepackage{lineno}
18.52 +
18.53 +\journal{Nuclear Physics B}
18.54 +
18.55 +\begin{document}
18.56 +
18.57 +\begin{frontmatter}
18.58 +
18.59 +%% Title, authors and addresses
18.60 +
18.61 +%% use the tnoteref command within \title for footnotes;
18.62 +%% use the tnotetext command for theassociated footnote;
18.63 +%% use the fnref command within \author or \address for footnotes;
18.64 +%% use the fntext command for theassociated footnote;
18.65 +%% use the corref command within \author for corresponding author footnotes;
18.66 +%% use the cortext command for theassociated footnote;
18.67 +%% use the ead command for the email address,
18.68 +%% and the form \ead[url] for the home page:
18.69 +%% \title{Title\tnoteref{label1}}
18.70 +%% \tnotetext[label1]{}
18.71 +%% \author{Name\corref{cor1}\fnref{label2}}
18.72 +%% \ead{email address}
18.73 +%% \ead[url]{home page}
18.74 +%% \fntext[label2]{}
18.75 +%% \cortext[cor1]{}
18.76 +%% \address{Address\fnref{label3}}
18.77 +%% \fntext[label3]{}
18.78 +
18.79 +\title{}
18.80 +
18.81 +%% use optional labels to link authors explicitly to addresses:
18.82 +%% \author[label1,label2]{}
18.83 +%% \address[label1]{}
18.84 +%% \address[label2]{}
18.85 +
18.86 +\author{}
18.87 +
18.88 +\address{}
18.89 +
18.90 +\begin{abstract}
18.91 +%% Text of abstract
18.92 +
18.93 +\end{abstract}
18.94 +
18.95 +\begin{keyword}
18.96 +%% keywords here, in the form: keyword \sep keyword
18.97 +
18.98 +%% PACS codes here, in the form: \PACS code \sep code
18.99 +
18.100 +%% MSC codes here, in the form: \MSC code \sep code
18.101 +%% or \MSC[2008] code \sep code (2000 is the default)
18.102 +
18.103 +\end{keyword}
18.104 +
18.105 +\end{frontmatter}
18.106 +
18.107 +%% \linenumbers
18.108 +
18.109 +%% main text
18.110 +\section{}
18.111 +\label{}
18.112 +
18.113 +%% The Appendices part is started with the command \appendix;
18.114 +%% appendix sections are then done as normal sections
18.115 +%% \appendix
18.116 +
18.117 +%% \section{}
18.118 +%% \label{}
18.119 +
18.120 +%% If you have bibdatabase file and want bibtex to generate the
18.121 +%% bibitems, please use
18.122 +%%
18.123 +%% \bibliographystyle{elsarticle-num}
18.124 +%% \bibliography{<your bibdatabase>}
18.125 +
18.126 +%% else use the following coding to input the bibitems directly in the
18.127 +%% TeX file.
18.128 +
18.129 +\begin{thebibliography}{00}
18.130 +
18.131 +%% \bibitem{label}
18.132 +%% Text of bibliographic item
18.133 +
18.134 +\bibitem{}
18.135 +
18.136 +\end{thebibliography}
18.137 +\end{document}
18.138 +\endinput
18.139 +%%
18.140 +%% End of file `elsarticle-template-num.tex'.
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/elsarticle/elsarticle.dtx Fri Nov 18 16:18:02 2016 +0100
19.3 @@ -0,0 +1,882 @@
19.4 +% \iffalse meta-comment
19.5 +%
19.6 +% Copyright (C) 2007, 2008, 2009 by Elsevier Ltd
19.7 +% -----------------------------------------------
19.8 +%
19.9 +% This file may be distributed and/or modified under the
19.10 +% conditions of the LaTeX Project Public License, either version 1.2
19.11 +% of this license or (at your option) any later version.
19.12 +% The latest version of this license is in:
19.13 +%
19.14 +% http://www.latex-project.org/lppl.txt
19.15 +%
19.16 +% and version 1.2 or later is part of all distributions of LaTeX
19.17 +% version 1999/12/01 or later.
19.18 +%
19.19 +% \fi
19.20 +% \CheckSum{2196}
19.21 +%
19.22 +% \iffalse
19.23 +%<*driver>
19.24 +\documentclass{ltxdoc}
19.25 +\EnableCrossrefs
19.26 +\CodelineIndex
19.27 +\RecordChanges
19.28 +\usepackage{comment}
19.29 +\begin{document}
19.30 + \DocInput{elsarticle.dtx}
19.31 + \PrintChanges
19.32 + \PrintIndex
19.33 +\end{document}
19.34 +%</driver>
19.35 +% \fi
19.36 +%
19.37 +% \CharacterTable
19.38 +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
19.39 +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
19.40 +% Digits \0\1\2\3\4\5\6\7\8\9
19.41 +% Exclamation \! Double quote \" Hash (number) \#
19.42 +% Dollar \$ Percent \% Ampersand \&
19.43 +% Acute accent \' Left paren \( Right paren \)
19.44 +% Asterisk \* Plus \+ Comma \,
19.45 +% Minus \- Point \. Solidus \/
19.46 +% Colon \: Semicolon \; Less than \<
19.47 +% Equals \= Greater than \> Question mark \?
19.48 +% Commercial at \@ Left bracket \[ Backslash \\
19.49 +% Right bracket \] Circumflex \^ Underscore \_
19.50 +% Grave accent \` Left brace \{ Vertical bar \|
19.51 +% Right brace \} Tilde \~}
19.52 +%
19.53 +%
19.54 +% \changes{v1.1}{2008/09/25}{Initial version}
19.55 +%
19.56 +%
19.57 +% \changes{v1.2}{2009/09/17}{Documentation, templates, and *.bst
19.58 +% has been seperated from this .dtx. Incompatibility problems
19.59 +% with amsref.sty, fncylab.sty have been fixed. Some bugs related
19.60 +% to author/affiliation part have been fixed.}
19.61 +%
19.62 +% \GetFileInfo{elsarticle.dtx}
19.63 +%
19.64 +% \DoNotIndex{\newcommand,\newenvironment}
19.65 +%
19.66 +%
19.67 +% \title{The \textsf{elsarticle.cls} -- Implimentation}
19.68 +% \author{Elsevier Ltd}
19.69 +%
19.70 +% \maketitle
19.71 +%
19.72 +% \StopEventually{}
19.73 +%
19.74 +% \section{Implementation}
19.75 +%
19.76 +% \begin{macrocode}
19.77 +%<*class>
19.78 +%%
19.79 +%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $
19.80 +%%
19.81 + \def\RCSfile{elsarticle}%
19.82 + \def\RCSversion{1.2.0}%
19.83 + \def\RCSdate{2009/09/17}%
19.84 + \def\@shortjnl{\relax}
19.85 + \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd}
19.86 + \def\@issn{000-0000}
19.87 + \def\@shortjid{elsarticle}
19.88 +\NeedsTeXFormat{LaTeX2e}[1995/12/01]
19.89 +\ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
19.90 +\def\ABD{\AtBeginDocument}
19.91 +\newif\ifpreprint \preprintfalse
19.92 +\newif\iflongmktitle \longmktitlefalse
19.93 +
19.94 +\def\@blstr{1}
19.95 +\newdimen\@bls
19.96 +\@bls=\baselineskip
19.97 +
19.98 +\def\@finalWarning{%
19.99 + *****************************************************\MessageBreak
19.100 + This document is typeset in the CRC style which\MessageBreak
19.101 + is not suitable for submission.\MessageBreak
19.102 + \MessageBreak
19.103 + Please typeset again using 'preprint' option\MessageBreak
19.104 + for creating PDF suitable for submission.\MessageBreak
19.105 + ******************************************************\MessageBreak
19.106 +}
19.107 +
19.108 +\DeclareOption{preprint}{\global\preprinttrue
19.109 + \gdef\@blstr{1}\xdef\jtype{0}%
19.110 + \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
19.111 +\DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
19.112 +\DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
19.113 +\DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}}
19.114 +\DeclareOption{number}{\xdef\@biboptions{numbers}}
19.115 +\DeclareOption{numbers}{\xdef\@biboptions{numbers}}
19.116 +\DeclareOption{longtitle}{\global\longmktitletrue}
19.117 +\DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
19.118 + \ExecuteOptions{twocolumn}}
19.119 + \def\jtype{0}
19.120 +\DeclareOption{3p}{\xdef\jtype{3}\global\preprintfalse}
19.121 +\DeclareOption{1p}{\xdef\jtype{1}\global\preprintfalse
19.122 + \AtBeginDocument{\@twocolumnfalse}}
19.123 +\DeclareOption{times}{\IfFileExists{txfonts.sty}%
19.124 + {\AtEndOfClass{\RequirePackage{txfonts}%
19.125 + \gdef\ttdefault{cmtt}%
19.126 + \let\iint\relax
19.127 + \let\iiint\relax
19.128 + \let\iiiint\relax
19.129 + \let\idotsint\relax
19.130 + \let\openbox\relax}}{\RequirePackage{times}}}
19.131 +\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
19.132 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
19.133 +\ProcessOptions
19.134 +\LoadClass{article}
19.135 +\RequirePackage{graphicx}
19.136 +% \end{macrocode}
19.137 +%
19.138 +% \section{Preamble}
19.139 +%
19.140 +% \begin{macrocode}
19.141 +\let\comma\@empty
19.142 +\let\tnotesep\@empty
19.143 +\def\title#1{\gdef\@title{#1}}
19.144 +\let\@title\@empty
19.145 +
19.146 +\def\elsLabel#1{\@bsphack\protected@write\@auxout{}%
19.147 + {\string\Newlabel{#1}{\@currentlabel}}\@esphack}
19.148 +\def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
19.149 +
19.150 +\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
19.151 +}
19.152 +
19.153 +\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
19.154 + \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}%
19.155 + \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
19.156 +}
19.157 +\let\@tnotemark\@empty
19.158 +
19.159 +\let\@tnotes\@empty
19.160 +\RequirePackage{pifont}
19.161 +\newcounter{tnote}
19.162 +\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{%
19.163 + \refstepcounter{tnote}\elsLabel{#1}%
19.164 + \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
19.165 + \footnotetext{#2}}}
19.166 +
19.167 +\let\@nonumnotes\@empty
19.168 +\def\nonumnote#1{\g@addto@macro\@nonumnotes{%
19.169 + \let\thefootnote\relax\footnotetext{#1}}}
19.170 +
19.171 +\newcounter{fnote}
19.172 +\def\fnmark[#1]{\let\comma\@empty
19.173 + \def\@fnmark{\@for\@@fnmark:=#1\do{%
19.174 + \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}%
19.175 + \unskip\comma\fnotenum\let\comma,}}%
19.176 +}
19.177 +
19.178 +\let\@fnotes\@empty\let\@fnmark\@empty
19.179 +\def\fntext[#1]#2{\g@addto@macro\@fnotes{%
19.180 + \refstepcounter{fnote}\elsLabel{#1}%
19.181 + \def\thefootnote{\thefnote}%
19.182 + \global\setcounter{footnote}{\thefnote}%
19.183 + \footnotetext{#2}}}
19.184 +
19.185 +\def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}%
19.186 + \unskip\textsuperscript{\sep\ifcase\cnotenum\or
19.187 + $\ast$\or$\ast\ast$\fi\hspace{-1pt}}\let\sep=,}
19.188 +
19.189 +\let\@cormark\@empty
19.190 +\let\@cornotes\@empty
19.191 +\newcounter{cnote}
19.192 +\def\cortext[#1]#2{\g@addto@macro\@cornotes{%
19.193 + \refstepcounter{cnote}\elsLabel{#1}%
19.194 + \def\thefootnote{\ifcase\thecnote\or$\ast$\or
19.195 + $\ast\ast$\fi}%
19.196 + \footnotetext{#2}}}
19.197 +
19.198 +\let\@corref\@empty
19.199 +%\def\corref#1{\cormark[#1]}
19.200 +\def\corref#1{\edef\cnotenum{\elsRef{#1}}%
19.201 + \edef\@corref{\ifcase\cnotenum\or
19.202 + $\ast$\or$\ast\ast$\fi\hskip-1pt}}
19.203 +
19.204 +\def\fnref#1{\fnmark[#1]}
19.205 +\def\tnoteref#1{\tnotemark[#1]}
19.206 +
19.207 +\def\resetTitleCounters{\c@cnote=0
19.208 + \c@fnote=0 \c@tnote=0 \c@footnote=0}
19.209 +
19.210 +\let\eadsep\@empty
19.211 +\let\@elseads\@empty
19.212 +\let\@elsuads\@empty
19.213 +\let\@cormark\@empty
19.214 +\def\hashchar{\expandafter\@gobble\string\~}
19.215 +\def\underscorechar{\expandafter\@gobble\string\_}
19.216 +\def\lbracechar{\expandafter\@gobble\string\{}
19.217 +\def\rbracechar{\expandafter\@gobble\string\}}
19.218 +
19.219 +\def\ead{\@ifnextchar[{\@uad}{\@ead}}
19.220 +\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}%
19.221 + \def\{{\string\lbracechar\space}%
19.222 + \def~{\hashchar\space}%
19.223 + \def\}{\string\rbracechar\space}%
19.224 + \edef\tmp{\the\@eadauthor}
19.225 + \immediate\write\@auxout{\string\emailauthor
19.226 + {#1}{\expandafter\strip@prefix\meaning\tmp}}%
19.227 + \egroup
19.228 +}
19.229 +\newcounter{ead}
19.230 +\gdef\emailauthor#1#2{\stepcounter{ead}%
19.231 + \g@addto@macro\@elseads{\raggedright%
19.232 + \let\corref\@gobble
19.233 + \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
19.234 +}
19.235 +\gdef\@uad[#1]#2{\bgroup
19.236 + \def~{\string\hashchar\space}%
19.237 + \def\_{\string\underscorechar\space}%
19.238 + \edef\tmp{\the\@eadauthor}
19.239 + \immediate\write\@auxout{\string\urlauthor
19.240 + {#2}{\expandafter\strip@prefix\meaning\tmp}}%
19.241 + \egroup
19.242 +}
19.243 +\def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble%
19.244 + \raggedright\eadsep\texttt{#1}\space(#2)%
19.245 + \def\eadsep{\unskip,\space}}%
19.246 +}
19.247 +
19.248 +\def\elsauthors{}
19.249 +\def\pprinttitle{}
19.250 +\let\authorsep\@empty
19.251 +\let\sep\@empty
19.252 +\newcounter{author}
19.253 +\def\author{\@ifnextchar[{\@@author}{\@author}}
19.254 +
19.255 +\newtoks\@eadauthor
19.256 +\def\@@author[#1]#2{\g@addto@macro\elsauthors{%
19.257 + \def\baselinestretch{1}%
19.258 + \authorsep#2\unskip\textsuperscript{%#1%
19.259 + \@for\@@affmark:=#1\do{%
19.260 + \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\elsRef{\@@affmark}}}%
19.261 + \unskip\sep\affnum\let\sep=,}%
19.262 + \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
19.263 + \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
19.264 + }%
19.265 + \def\authorsep{\unskip,\space}%
19.266 + \global\let\sep\@empty\global\let\@corref\@empty
19.267 + \global\let\@fnmark\@empty}%
19.268 + \@eadauthor={#2}
19.269 +}
19.270 +
19.271 +\def\@author#1{\g@addto@macro\elsauthors{\normalsize%
19.272 + \def\baselinestretch{1}%
19.273 + \upshape\authorsep#1\unskip\textsuperscript{%
19.274 + \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
19.275 + \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
19.276 + }%
19.277 + \def\authorsep{\unskip,\space}%
19.278 + \global\let\@fnmark\@empty
19.279 + \global\let\sep\@empty}%
19.280 + \@eadauthor={#1}
19.281 +}
19.282 +
19.283 +\def\elsaddress{}
19.284 +\def\addsep{\par\vskip6pt}
19.285 +\def\address{\@ifnextchar[{\@@address}{\@address}}
19.286 +
19.287 +\def\@alph#1{%
19.288 + \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
19.289 + 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
19.290 + y\or z%
19.291 + \or aa\or ab\or ac\or ad\or ae\or af\or ag\or ah\or ai\or aj\or
19.292 + ak\or al\or am\or an\or ao\or ap\or aq\or ar\or as\or at\or au\or
19.293 + av\or aw\or ax\or ay\or az%
19.294 + \or ba\or bb\or bc\or bd\or be\or bf\or bg\or bh\or bi\or bj\or
19.295 + bk\or bl\or bm\or bn\or bo\or bp\or bq\or br\or bs\or bt\or bu\or
19.296 + bv\or bw\or bx\or by\or bz%
19.297 + \or ca\or cb\or cc\or cd\or ce\or cf\or cg\or ch\or ci\or cj\or
19.298 + ck\or cl\or cm\or cn\or co\or cp\or cq\or cr\or cs\or ct\or cu\or
19.299 + cv\or cw\or cx\or cy\or cz%
19.300 + \or da\or db\or dc\or dd\or de\or df\or dg\or dh\or di\or dj\or
19.301 + dk\or dl\or dm\or dn\or do\or dp\or dq\or dr\or ds\or dt\or du\or
19.302 + dv\or dw\or dx\or dy\or dz%
19.303 + \or ea\or eb\or ec\or ed\or ee\or ef\or eg\or eh\or ei\or ej\or
19.304 + ek\or el\or em\or en\or eo\or ep\or eq\or er\or es\or et\or eu\or
19.305 + ev\or ew\or ex\or ey\or ez%
19.306 + \or fa\or fb\or fc\or fd\or fe\or ff\or fg\or fh\or fi\or fj\or
19.307 + fk\or fl\or fm\or fn\or fo\or fp\or fq\or fr\or fs\or ft\or fu\or
19.308 + fv\or fw\or fx\or fy\or fz%
19.309 + \or ga\or gb\or gc\or gd\or ge\or gf\or gg\or gh\or gi\or gj\or
19.310 + gk\or gl\or gm\or gn\or go\or gp\or gq\or gr\or gs\or gt\or gu\or
19.311 + gv\or gw\or gx\or gy\or gz%
19.312 + \else\@ctrerr\fi}
19.313 +
19.314 +\newcounter{affn}
19.315 +\renewcommand\theaffn{\alph{affn}}
19.316 +
19.317 +\long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
19.318 + \def\baselinestretch{1}%
19.319 + \refstepcounter{affn}
19.320 + \xdef\@currentlabel{\theaffn}
19.321 + \elsLabel{#1}%
19.322 + \textsuperscript{\theaffn}#2\par}}
19.323 +
19.324 +\long\def\@address#1{\g@addto@macro\elsauthors{%
19.325 + \def\baselinestretch{1}%
19.326 + \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}%
19.327 + \def\authorsep{\par\vskip8pt}}}
19.328 +
19.329 +\newbox\absbox
19.330 +\renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
19.331 + \hsize=\textwidth\def\baselinestretch{1}%
19.332 + \noindent\unskip\textbf{Abstract}
19.333 + \par\medskip\noindent\unskip\ignorespaces}
19.334 + {\egroup}
19.335 +
19.336 +\newbox\keybox
19.337 +\def\keyword{%
19.338 + \def\sep{\unskip, }%
19.339 + \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
19.340 + \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}%
19.341 + \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}%
19.342 + \def\JEL{\par\leavevmode\hbox {\it JEL:\space}}%
19.343 + \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
19.344 + \normalsize\normalfont\def\baselinestretch{1}
19.345 + \parskip\z@
19.346 + \noindent\textit{Keywords: }
19.347 + \raggedright % Keywords are not justified.
19.348 + \ignorespaces}
19.349 +\def\endkeyword{\par \egroup}
19.350 +
19.351 +\newdimen\Columnwidth
19.352 +\Columnwidth=\columnwidth
19.353 +
19.354 +\def\printFirstPageNotes{%
19.355 + \iflongmktitle
19.356 + \let\columnwidth=\textwidth\fi
19.357 + \ifx\@tnotes\@empty\else\@tnotes\fi
19.358 + \ifx\@nonumnotes\@empty\else\@nonumnotes\fi
19.359 + \ifx\@cornotes\@empty\else\@cornotes\fi
19.360 + \ifx\@elseads\@empty\relax\else
19.361 + \let\thefootnote\relax
19.362 + \footnotetext{\ifnum\theead=1\relax
19.363 + \textit{Email address:\space}\else
19.364 + \textit{Email addresses:\space}\fi
19.365 + \@elseads}\fi
19.366 + \ifx\@elsuads\@empty\relax\else
19.367 + \let\thefootnote\relax
19.368 + \footnotetext{\textit{URL:\space}%
19.369 + \@elsuads}\fi
19.370 + \ifx\@fnotes\@empty\else\@fnotes\fi
19.371 + \iflongmktitle\if@twocolumn
19.372 + \let\columnwidth=\Columnwidth\fi\fi
19.373 +}
19.374 +
19.375 +\long\def\pprintMaketitle{\clearpage
19.376 + \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi
19.377 + \resetTitleCounters
19.378 + \def\baselinestretch{1}%
19.379 + \printFirstPageNotes
19.380 + \begin{center}%
19.381 + \thispagestyle{pprintTitle}%
19.382 + \def\baselinestretch{1}%
19.383 + \Large\@title\par\vskip18pt
19.384 + \normalsize\elsauthors\par\vskip10pt
19.385 + \footnotesize\itshape\elsaddress\par\vskip36pt
19.386 + \hrule\vskip12pt
19.387 + \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
19.388 + \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
19.389 + \hrule\vskip12pt
19.390 + \end{center}%
19.391 + \gdef\thefootnote{\arabic{footnote}}%
19.392 + }
19.393 +
19.394 +\def\printWarning{%
19.395 + \mbox{}\par\vfill\par\bgroup
19.396 + \fboxsep12pt\fboxrule1pt
19.397 + \hspace*{.18\textwidth}
19.398 + \fcolorbox{gray50}{gray10}{\box\warnbox}
19.399 + \egroup\par\vfill\thispagestyle{empty}
19.400 + \setcounter{page}{0}
19.401 + \clearpage}
19.402 +
19.403 +\long\def\finalMaketitle{%
19.404 + \resetTitleCounters
19.405 + \def\baselinestretch{1}%
19.406 + \MaketitleBox
19.407 + \thispagestyle{pprintTitle}%
19.408 + \gdef\thefootnote{\arabic{footnote}}%
19.409 + }
19.410 +
19.411 +\long\def\MaketitleBox{%
19.412 + \resetTitleCounters
19.413 + \def\baselinestretch{1}%
19.414 + \begin{center}%
19.415 + \def\baselinestretch{1}%
19.416 + \Large\@title\par\vskip18pt
19.417 + \normalsize\elsauthors\par\vskip10pt
19.418 + \footnotesize\itshape\elsaddress\par\vskip36pt
19.419 + \hrule\vskip12pt
19.420 + \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
19.421 + \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
19.422 + \hrule\vskip12pt
19.423 + \end{center}%
19.424 + }
19.425 +
19.426 +\def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
19.427 +\newdimen\space@left
19.428 +\def\alarm#1{\typeout{******************************}%
19.429 + \typeout{#1}%
19.430 + \typeout{******************************}%
19.431 +}
19.432 +\long\def\getSpaceLeft{%\global\@twocolumnfalse%
19.433 + \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
19.434 + \global\setbox1=\vbox{\hsize=\textwidth
19.435 + \let\footnotetext\FNtext
19.436 + \printFirstPageNotes}%
19.437 + \xdef\noteheight{\the\ht1}%
19.438 + \xdef\titleheight{\the\ht0}%
19.439 + \@tempdima=\vsize
19.440 + \advance\@tempdima-\noteheight
19.441 + \advance\@tempdima-1\baselineskip
19.442 +}
19.443 +
19.444 + \skip\footins=24pt
19.445 +
19.446 +\newbox\els@boxa
19.447 +\newbox\els@boxb
19.448 +
19.449 +\ifpreprint
19.450 + \def\maketitle{\pprintMaketitle}
19.451 + \else
19.452 + \ifnum\jtype=1
19.453 + \def\maketitle{%
19.454 + \iflongmktitle\getSpaceLeft
19.455 + \global\setbox\els@boxa=\vsplit0 to \@tempdima
19.456 + \box\els@boxa\par\resetTitleCounters
19.457 + \thispagestyle{pprintTitle}%
19.458 + \printFirstPageNotes
19.459 + \box0%
19.460 + \else
19.461 + \finalMaketitle\printFirstPageNotes
19.462 + \fi
19.463 + \gdef\thefootnote{\arabic{footnote}}}%
19.464 + \else
19.465 + \ifnum\jtype=5
19.466 + \def\maketitle{%
19.467 + \iflongmktitle\getSpaceLeft
19.468 + \global\setbox\els@boxa=\vsplit0 to \@tempdima
19.469 + \box\els@boxa\par\resetTitleCounters
19.470 + \thispagestyle{pprintTitle}%
19.471 + \printFirstPageNotes
19.472 + \twocolumn[\box0]%\printFirstPageNotes
19.473 + \else
19.474 + \twocolumn[\finalMaketitle]\printFirstPageNotes
19.475 + \fi
19.476 + \gdef\thefootnote{\arabic{footnote}}}
19.477 + \else
19.478 + \if@twocolumn
19.479 + \def\maketitle{%
19.480 + \iflongmktitle\getSpaceLeft
19.481 + \global\setbox\els@boxa=\vsplit0 to \@tempdima
19.482 + \box\els@boxa\par\resetTitleCounters
19.483 + \thispagestyle{pprintTitle}%
19.484 + \printFirstPageNotes
19.485 + \twocolumn[\box0]%
19.486 + \else
19.487 + \twocolumn[\finalMaketitle]\printFirstPageNotes
19.488 + \fi
19.489 + \gdef\thefootnote{\arabic{footnote}}}%
19.490 + \else
19.491 + \def\maketitle{%
19.492 + \iflongmktitle\getSpaceLeft
19.493 + \global\setbox\els@boxa=\vsplit0 to \@tempdima
19.494 + \box\els@boxa\par\resetTitleCounters
19.495 + \thispagestyle{pprintTitle}%
19.496 + \printFirstPageNotes
19.497 + \box0%
19.498 + \else
19.499 + \finalMaketitle\printFirstPageNotes
19.500 + \fi
19.501 + \gdef\thefootnote{\arabic{footnote}}}%
19.502 + \fi
19.503 + \fi
19.504 + \fi
19.505 +\fi
19.506 +% \end{macrocode}
19.507 +%
19.508 +%\section{Headers/footers}
19.509 +%
19.510 +% \begin{macrocode}
19.511 +\def\ps@pprintTitle{%
19.512 + \let\@oddhead\@empty
19.513 + \let\@evenhead\@empty
19.514 + \def\@oddfoot{\footnotesize\itshape
19.515 + Preprint submitted to \ifx\@journal\@empty Elsevier
19.516 + \else\@journal\fi\hfill\today}%
19.517 + \let\@evenfoot\@oddfoot}
19.518 +% \end{macrocode}
19.519 +%
19.520 +% \section{Section headings}
19.521 +%
19.522 +% \begin{macrocode}
19.523 +\def\@seccntDot{.}
19.524 +\def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
19.525 +
19.526 +\renewcommand\section{\@startsection {section}{1}{\z@}%
19.527 + {18\p@ \@plus 6\p@ \@minus 3\p@}%
19.528 + {9\p@ \@plus 6\p@ \@minus 3\p@}%
19.529 + {\normalsize\bfseries\boldmath}}
19.530 +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
19.531 + {12\p@ \@plus 6\p@ \@minus 3\p@}%
19.532 + {3\p@ \@plus 6\p@ \@minus 3\p@}%
19.533 + {\normalfont\normalsize\itshape}}
19.534 +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
19.535 + {12\p@ \@plus 6\p@ \@minus 3\p@}%
19.536 + {\p@}%
19.537 + {\normalfont\normalsize\itshape}}
19.538 +
19.539 +\def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}}
19.540 +\def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}}
19.541 +\def\els@bparagraph#1{\elsparagraph*{#1.}}
19.542 +
19.543 +\newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}%
19.544 + {10\p@ \@plus 6\p@ \@minus 3\p@}%
19.545 + {-6\p@}%
19.546 + {\normalfont\itshape}}
19.547 +% \end{macrocode}
19.548 +%
19.549 +%\section{List environment}
19.550 +%
19.551 +% \begin{macrocode}
19.552 +\newdimen\leftMargin
19.553 +\leftMargin=2em
19.554 +\newtoks\@enLab %\newtoks\@enfont
19.555 +\def\@enQmark{?}
19.556 +\def\@enLabel#1#2{%
19.557 + \edef\@enThe{\noexpand#1{\@enumctr}}%
19.558 + \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
19.559 + \@enloop}
19.560 +\def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= }
19.561 +\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
19.562 +\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
19.563 +\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
19.564 +\def\@enloop{\futurelet\@entemp\@enloop@}
19.565 +\def\@enloop@{%
19.566 + \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
19.567 + \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
19.568 + \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
19.569 + \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
19.570 + \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
19.571 + \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
19.572 + \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
19.573 + \ifx \@enum@\@entemp \let\@tempa\@gobble \else
19.574 + \let\@tempa\@enOther
19.575 + \fi\fi\fi\fi\fi\fi\fi\fi
19.576 + \@tempa}
19.577 +\newlength{\@sep} \newlength{\@@sep}
19.578 +\setlength{\@sep}{.5\baselineskip plus.2\baselineskip
19.579 + minus.2\baselineskip}
19.580 +\setlength{\@@sep}{.1\baselineskip plus.01\baselineskip
19.581 + minus.05\baselineskip}
19.582 +\providecommand{\sfbc}{\rmfamily\upshape}
19.583 +\providecommand{\sfn}{\rmfamily\upshape}
19.584 +\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
19.585 +\def\enumerate{%
19.586 + \ifnum \@enumdepth >3 \@toodeep\else
19.587 + \advance\@enumdepth \@ne
19.588 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
19.589 + \@ifnextchar[{\@@enum@}{\@enum@}}
19.590 +\def\@@enum@[#1]{%
19.591 + \@enLab{}\let\@enThe\@enQmark
19.592 + \@enloop#1\@enum@
19.593 + \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
19.594 + ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
19.595 + \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
19.596 + \expandafter\let\csname the\@enumctr\endcsname\@enThe
19.597 + \csname c@\@enumctr\endcsname7
19.598 + \expandafter\settowidth
19.599 + \csname leftmargin\romannumeral\@enumdepth\endcsname
19.600 + {\the\@enLab\hskip\labelsep}%
19.601 + \@enum@}
19.602 +\def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}%
19.603 + {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}%
19.604 + \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else
19.605 + \setlength{\topsep}{\@sep}\fi
19.606 + \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}%
19.607 + \else \setlength{\itemsep}{\@@sep}\fi
19.608 + %\setlength\leftmargin{\leftMargin}%%%{1.8em}
19.609 + \setlength{\parsep}{0pt plus1pt minus1pt}%
19.610 + \setlength{\parskip}{0pt plus1pt minus1pt}
19.611 + }}
19.612 +
19.613 +\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
19.614 + \addvspace{\@sep}\fi \endlist}
19.615 +
19.616 +\def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
19.617 +
19.618 +\def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}}
19.619 +
19.620 +\def\@Itemize[#1]{\def\next{#1}%
19.621 + \ifnum \@itemdepth >\thr@@\@toodeep\else
19.622 + \advance\@itemdepth\@ne
19.623 + \ifx\next\@empty\else\expandafter\def\csname
19.624 + labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
19.625 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
19.626 + \expandafter\list\csname\@itemitem\endcsname
19.627 + {\def\makelabel##1{\hss\llap{##1}}}%
19.628 + \fi}
19.629 +% \end{macrocode}
19.630 +%
19.631 +%\section{Theorem environment}
19.632 +%
19.633 +% \begin{macrocode}
19.634 +\def\newdefinition#1{%
19.635 + \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%]
19.636 +\def\@ndfn#1#2{%
19.637 + \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}}
19.638 +\def\@xndfn#1#2[#3]{%
19.639 + \expandafter\@ifdefinable\csname #1\endcsname
19.640 + {\@definecounter{#1}\@newctr{#1}[#3]%
19.641 + \expandafter\xdef\csname the#1\endcsname{%
19.642 + \expandafter\noexpand\csname the#3\endcsname \@dfncountersep
19.643 + \@dfncounter{#1}}%
19.644 + \global\@namedef{#1}{\@dfn{#1}{#2}}%
19.645 + \global\@namedef{end#1}{\@enddefinition}}}
19.646 +\def\@yndfn#1#2{%
19.647 + \expandafter\@ifdefinable\csname #1\endcsname
19.648 + {\@definecounter{#1}%
19.649 + \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}%
19.650 + \global\@namedef{#1}{\@dfn{#1}{#2}}%
19.651 + \global\@namedef{end#1}{\@enddefinition}}}
19.652 +\def\@odfn#1[#2]#3{%
19.653 + \@ifundefined{c@#2}{\@nocounterr{#2}}%
19.654 + {\expandafter\@ifdefinable\csname #1\endcsname
19.655 + {\global\@namedef{the#1}{\@nameuse{the#2}}
19.656 + \global\@namedef{#1}{\@dfn{#2}{#3}}%
19.657 + \global\@namedef{end#1}{\@enddefinition}}}}
19.658 +\def\@dfn#1#2{%
19.659 + \refstepcounter{#1}%
19.660 + \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}}
19.661 +\def\@xdfn#1#2{%
19.662 + \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces}
19.663 +\def\@ydfn#1#2[#3]{%
19.664 + \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
19.665 +\def\@dfncounter#1{\noexpand\arabic{#1}}
19.666 +\def\@dfncountersep{.}
19.667 +\def\@begindefinition#1#2{\trivlist
19.668 + \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape}
19.669 +\def\@opargbegindefinition#1#2#3{\trivlist
19.670 + \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape}
19.671 +\def\@enddefinition{\endtrivlist}
19.672 +
19.673 +\def\@begintheorem#1#2{\trivlist
19.674 + \let\baselinestretch\@blstr
19.675 + \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape}
19.676 +\def\@opargbegintheorem#1#2#3{\trivlist
19.677 + \let\baselinestretch\@blstr
19.678 + \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape}
19.679 +
19.680 +\def\newproof#1{%
19.681 + \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}}
19.682 +\def\@nprf#1#2{%
19.683 + \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}}
19.684 +\def\@xnprf#1#2[#3]{%
19.685 + \expandafter\@ifdefinable\csname #1\endcsname
19.686 + {\@definecounter{#1}\@newctr{#1}[#3]%
19.687 + \expandafter\xdef\csname the#1\endcsname{%
19.688 + \expandafter\noexpand\csname the#3\endcsname \@prfcountersep
19.689 + \@prfcounter{#1}}%
19.690 + \global\@namedef{#1}{\@prf{#1}{#2}}%
19.691 + \global\@namedef{end#1}{\@endproof}}}
19.692 +\def\@ynprf#1#2{%
19.693 + \expandafter\@ifdefinable\csname #1\endcsname
19.694 + {\@definecounter{#1}%
19.695 + \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}%
19.696 + \global\@namedef{#1}{\@prf{#1}{#2}}%
19.697 + \global\@namedef{end#1}{\@endproof}}}
19.698 +\def\@oprf#1[#2]#3{%
19.699 + \@ifundefined{c@#2}{\@nocounterr{#2}}%
19.700 + {\expandafter\@ifdefinable\csname #1\endcsname
19.701 + {\global\@namedef{the#1}{\@nameuse{the#2}}%
19.702 + \global\@namedef{#1}{\@prf{#2}{#3}}%
19.703 + \global\@namedef{end#1}{\@endproof}}}}
19.704 +\def\@prf#1#2{%
19.705 + \refstepcounter{#1}%
19.706 + \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}}
19.707 +\def\@xprf#1#2{%
19.708 + \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
19.709 +\def\@yprf#1#2[#3]{%
19.710 + \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
19.711 +\def\@prfcounter#1{\noexpand\arabic{#1}}
19.712 +\def\@prfcountersep{.}
19.713 +\def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr
19.714 + \item[\hskip \labelsep{\scshape #1.}]\rmfamily}
19.715 +\def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr
19.716 + \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily}
19.717 +\def\@endproof{\endtrivlist}
19.718 +\newcommand*{\qed}{\hbox{}\hfill$\Box$}
19.719 +
19.720 +\@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{}
19.721 +\InputIfFileExists{\jobname.spl}{}{}
19.722 +\RequirePackage[\@biboptions]{natbib}
19.723 +
19.724 +\newwrite\splwrite
19.725 +\immediate\openout\splwrite=\jobname.spl
19.726 +\def\biboptions#1{\def\next{#1}\immediate\write\splwrite{%
19.727 + \string\g@addto@macro\string\@biboptions{%
19.728 + ,\expandafter\strip@prefix\meaning\next}}}
19.729 +
19.730 +\let\baselinestretch=\@blstr
19.731 +
19.732 +% \end{macrocode}
19.733 +%
19.734 +%\section{Page dimensions and margins for final form}
19.735 +%
19.736 +%\subsection{Option 1p}
19.737 +%
19.738 +% \begin{macrocode}
19.739 +\ifnum\jtype=1
19.740 + \RequirePackage{geometry}
19.741 + \geometry{twoside,
19.742 + paperwidth=210mm,
19.743 + paperheight=297mm,
19.744 + textheight=562pt,
19.745 + textwidth=384pt,
19.746 + centering,
19.747 + headheight=50pt,
19.748 + headsep=12pt,
19.749 + footskip=12pt,
19.750 + footnotesep=24pt plus 2pt minus 12pt,
19.751 + }
19.752 + \global\let\bibfont=\footnotesize
19.753 + \global\bibsep=0pt
19.754 + \if@twocolumn\global\@twocolumnfalse\fi
19.755 +%
19.756 +% \end{macrocode}
19.757 +%
19.758 +%\subsection{Option '3p'}
19.759 +%
19.760 +% \begin{macrocode}
19.761 +\else\ifnum\jtype=3
19.762 + \RequirePackage{geometry}
19.763 + \geometry{twoside,
19.764 + paperwidth=210mm,
19.765 + paperheight=297mm,
19.766 + textheight=622pt,
19.767 + textwidth=468pt,
19.768 + centering,
19.769 + headheight=50pt,
19.770 + headsep=12pt,
19.771 + footskip=18pt,
19.772 + footnotesep=24pt plus 2pt minus 12pt,
19.773 + columnsep=2pc
19.774 + }
19.775 + \global\let\bibfont=\footnotesize
19.776 + \global\bibsep=0pt
19.777 + \if@twocolumn\input{fleqn.clo}\fi
19.778 +% \end{macrocode}
19.779 +%
19.780 +%\subsection{Option '5p'}
19.781 +%
19.782 +% \begin{macrocode}
19.783 +\else\ifnum\jtype=5
19.784 + \RequirePackage{geometry}
19.785 + \geometry{twoside,
19.786 + paperwidth=210mm,
19.787 + paperheight=297mm,
19.788 + textheight=682pt,
19.789 + textwidth=522pt,
19.790 + centering,
19.791 + headheight=50pt,
19.792 + headsep=12pt,
19.793 + footskip=18pt,
19.794 + footnotesep=24pt plus 2pt minus 12pt,
19.795 + columnsep=18pt
19.796 + }%
19.797 + \global\let\bibfont=\footnotesize
19.798 + \global\bibsep=0pt
19.799 + \input{fleqn.clo}
19.800 + \global\@twocolumntrue
19.801 +%%
19.802 +%% End of option '5p'
19.803 +%%
19.804 +\fi\fi\fi
19.805 +% \end{macrocode}
19.806 +%
19.807 +%\section{Other items}
19.808 +%
19.809 +% \begin{macrocode}
19.810 +\def\journal#1{\gdef\@journal{#1}}
19.811 + \let\@journal\@empty
19.812 +\newenvironment{frontmatter}{}{\maketitle}
19.813 +
19.814 +\long\def\@makecaption#1#2{%
19.815 + \vskip\abovecaptionskip\footnotesize
19.816 + \sbox\@tempboxa{#1: #2}%
19.817 + \ifdim \wd\@tempboxa >\hsize
19.818 + #1: #2\par
19.819 + \else
19.820 + \global \@minipagefalse
19.821 + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
19.822 + \fi
19.823 + \vskip\belowcaptionskip}
19.824 +
19.825 +\AtBeginDocument{\@ifpackageloaded{hyperref}
19.826 + {\def\@linkcolor{blue}
19.827 + \def\@anchorcolor{blue}
19.828 + \def\@citecolor{blue}
19.829 + \def\@filecolor{blue}
19.830 + \def\@urlcolor{blue}
19.831 + \def\@menucolor{blue}
19.832 + \def\@pagecolor{blue}
19.833 +\begingroup
19.834 + \@makeother\`%
19.835 + \@makeother\=%
19.836 + \edef\x{%
19.837 + \edef\noexpand\x{%
19.838 + \endgroup
19.839 + \noexpand\toks@{%
19.840 + \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
19.841 + \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
19.842 + }%
19.843 + }%
19.844 + \noexpand\x
19.845 + }%
19.846 +\x
19.847 +\@makeother\`
19.848 +\@makeother\=
19.849 +}{}}
19.850 +%%
19.851 +\renewcommand\appendix{\par
19.852 + \setcounter{section}{0}%
19.853 + \setcounter{subsection}{0}%
19.854 + \setcounter{equation}{0}
19.855 + \gdef\thefigure{\@Alph\c@section.\arabic{figure}}%
19.856 + \gdef\thetable{\@Alph\c@section.\arabic{table}}%
19.857 + \gdef\thesection{\appendixname\@Alph\c@section}%
19.858 + \@addtoreset{equation}{section}%
19.859 + \gdef\theequation{\@Alph\c@section.\arabic{equation}}%
19.860 +}
19.861 +\def\appendixname{Appendix }
19.862 +
19.863 +%% Added for work with amsrefs.sty
19.864 +
19.865 +\@ifpackageloaded{amsrefs}%
19.866 + {}
19.867 + {\let\bibsection\relax%
19.868 + \AtBeginDocument{\def\cites@b#1#2,#3{%
19.869 + \begingroup[%
19.870 + \toks@{\InnerCite{#2}#1}%
19.871 + \ifx\@empty#3\@xp\@gobble\fi
19.872 + \cites@c#3%
19.873 +}}}
19.874 +%
19.875 +%%
19.876 +%</class>
19.877 +%
19.878 +% \end{macrocode}
19.879 +% \Finale
19.880 +\endinput
19.881 +
19.882 +%%
19.883 +%% End of file 'elsarticle.dtx'
19.884 +%%
19.885 +
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/elsarticle/elsarticle.ins Fri Nov 18 16:18:02 2016 +0100
20.3 @@ -0,0 +1,66 @@
20.4 +%%
20.5 +%% This file will generate fast loadable files and documentation
20.6 +%% driver files from the doc files in this package when run through
20.7 +%% LaTeX or TeX.
20.8 +%%
20.9 +%% Copyright 2007, 2008, 2009 Elsevier Ltd
20.10 +%%
20.11 +%% This file is part of the 'Elsarticle Bundle'.
20.12 +%% ---------------------------------------------
20.13 +%%
20.14 +%% It may be distributed under the conditions of the LaTeX Project Public
20.15 +%% License, either version 1.2 of this license or (at your option) any
20.16 +%% later version. The latest version of this license is in
20.17 +%% http://www.latex-project.org/lppl.txt
20.18 +%% and version 1.2 or later is part of all distributions of LaTeX
20.19 +%% version 1999/12/01 or later.
20.20 +%%
20.21 +%% The list of all files belonging to the 'Elsarticle Bundle' is
20.22 +%% given in the file 'manifest.txt'.
20.23 +%%
20.24 +%%
20.25 +%%
20.26 +\input docstrip.tex
20.27 +%%\keepsilent
20.28 +
20.29 +\preamble
20.30 +
20.31 +Copyright 2007, 2008, 2009 Elsevier Ltd
20.32 +
20.33 +This file is part of the 'Elsarticle Bundle'.
20.34 +-------------------------------------------
20.35 +
20.36 +It may be distributed under the conditions of the LaTeX Project Public
20.37 +License, either version 1.2 of this license or (at your option) any
20.38 +later version. The latest version of this license is in
20.39 + http://www.latex-project.org/lppl.txt
20.40 +and version 1.2 or later is part of all distributions of LaTeX
20.41 +version 1999/12/01 or later.
20.42 +
20.43 +The list of all files belonging to the 'Elsarticle Bundle' is
20.44 +given in the file `manifest.txt'.
20.45 +
20.46 +\endpreamble
20.47 +
20.48 +\askforoverwritefalse
20.49 +
20.50 +\generate{\file{elsarticle.cls}{\from{elsarticle.dtx}{class}}}
20.51 +\obeyspaces
20.52 +\Msg{*************************************************************}
20.53 +\Msg{* *}
20.54 +\Msg{* To finish the installation you have to move the following *}
20.55 +\Msg{* file into a directory searched by TeX: *}
20.56 +\Msg{* *}
20.57 +\Msg{* elsarticle.cls *}
20.58 +\Msg{* and *}
20.59 +\Msg{* elsarticle-*.bst *}
20.60 +\Msg{* *}
20.61 +\Msg{* To produce the documentation go to the ../contrib folder *}
20.62 +\Msg{* and run the file elsdoc.tex through pdfLaTeX *}
20.63 +\Msg{* or use the Makefile which is far more easier. *}
20.64 +\Msg{* *}
20.65 +\Msg{* Happy TeXing! *}
20.66 +\Msg{* *}
20.67 +\Msg{*************************************************************}
20.68 +
20.69 +\endbatchfile
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/elsarticle/manifest.txt Fri Nov 18 16:18:02 2016 +0100
21.3 @@ -0,0 +1,82 @@
21.4 +% \iffalse meta-comment
21.5 +%
21.6 +%
21.7 +%
21.8 +% Copyright 2007, 2008, 2009 Elsevier Ltd
21.9 +%
21.10 +% This file is part of the 'Elsarticle Bundle'.
21.11 +% ---------------------------------------------
21.12 +%
21.13 +% It may be distributed and/or modified under the
21.14 +% conditions of the LaTeX Project Public License, either version 1.2
21.15 +% of this license or (at your option) any later version.
21.16 +% The latest version of this license is in
21.17 +% http://www.latex-project.org/lppl.txt
21.18 +% and version 1.2 or later is part of all distributions of LaTeX
21.19 +% version 1999/12/01 or later.
21.20 +%
21.21 +% The list of all files belonging to the LaTeX 'Elsarticle Bundle' is
21.22 +% given in the file `manifest.txt'.
21.23 +%
21.24 +% \fi
21.25 +%
21.26 +% CONTENTS OF THE ELSARTICLE BUNDLE
21.27 +% ===============================
21.28 +
21.29 +Directory elsarticle/
21.30 +
21.31 +elsarticle.dtx
21.32 + Main package with driver
21.33 +
21.34 +elsarticle.ins
21.35 + installer for elsarticle.dtx
21.36 +
21.37 +elsarticle-harv.bst
21.38 + bibliographic style for author-year citation
21.39 +
21.40 +elsarticle-num.bst
21.41 + bibliographic style for numbered citation
21.42 +
21.43 +elsarticle-num-names.bst
21.44 + bibliographic style for numbered citation + new natibi options
21.45 +
21.46 +elsarticle-template-harv.tex
21.47 + article template for a document with author-year citation
21.48 +
21.49 +elsarticle-template-num.tex
21.50 + article template for a document with numbered citation
21.51 +
21.52 +manifest.txt
21.53 + this file
21.54 +
21.55 +README
21.56 + small readme documentation
21.57 +
21.58 +Directory elsarticle/doc/
21.59 +
21.60 +The following files are graphic files needed for creating pdf output
21.61 +of the documentation from elsdoc.tex:
21.62 +
21.63 + els1.pdf
21.64 + els-1p.pdf
21.65 + els2.pdf
21.66 + els-3pd.pdf
21.67 + jfigs.pdf
21.68 +
21.69 +elsdoc.tex -- LaTeX source file of documentation
21.70 +elsdoc.pdf -- documentation for elsarticle.cls
21.71 +
21.72 +The following files are files written out every time elsdoc.tex is
21.73 +compiled:
21.74 +
21.75 + elsdoc.aux
21.76 + elsdoc.log
21.77 + elsdoc.out
21.78 + tmp.tex
21.79 +
21.80 +Auxiliary packages needed to generate pdf output from elsdoc.tex:
21.81 +
21.82 + rvdtx.sty
21.83 + enum.sty
21.84 + pdfwidgets.sty
21.85 +