summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 11:18:47 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 11:18:47 +0000
commitdbfb7e34f52f8f57ae12eaffd34fdb4158ce6e15 (patch)
treea82e16c59beb6f63ad36ff189771f5be3560514b
parentffb3d536f57670f1c85792d133bdaee30cf23a70 (diff)
new elsarticle package
git-svn-id: svn://tug.org/texlive/trunk@9226 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/elsarticle/README29
-rw-r--r--Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdfbin0 -> 1473423 bytes
-rw-r--r--Master/texmf-dist/source/latex/elsarticle/elsarticle-template-harv.tex122
-rw-r--r--Master/texmf-dist/source/latex/elsarticle/elsarticle-template-num.tex114
-rw-r--r--Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls705
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/elsarticle.tlpsrc2
8 files changed, 974 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/elsarticle/README b/Master/texmf-dist/doc/latex/elsarticle/README
new file mode 100644
index 00000000000..448a30adfb0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/elsarticle/README
@@ -0,0 +1,29 @@
+Elsevier's new document class for typeset journal articles,
+elsarticle.cls, now available for user testing
+
+Elsevier's document class for typeset articles elsart.cls is over 10
+years old. Therefore it will be replaced with the newly written
+document class elsarticle.cls, which was developed for Elsevier by the
+leading TeX company River-Valley Technologies.
+
+elsarticle.cls is based upon the standard LaTeX document class
+article.cls. It uses natbib.sty for bibliographical references.
+
+The following files are available:
+- elsarticle.cls, the class file
+- elsdoc.pdf, the user documentation
+- elsarticle-template-num.tex, template file for numerical references
+- elsarticle-template-harv.tex, template file for name-year references
+
+Elsevier encourages authors to use this document class for testing,
+and report bugs and problems to the developers of the class,
+elsarticle@river-valley.com. It is the intention to finalize this
+document class by the end of August. By that date it will be accepted
+for submitted articles, both in Elsevier's electronic submission
+system and otherwise.
+
+Copyright 2007-2008, Elsevier. Bugs, feature requests, suggestions and
+comments may be mailed to elsarticle@river-valley.com. elsarticle.cls,
+related documentation and supporting packages are released under the
+LATEX Project Public Licence, either version 1.3 or any later version.
+This work has the LPPL maintenance status 'author-maintained'.
diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf
new file mode 100644
index 00000000000..bc3a64dee1e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-harv.tex b/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-harv.tex
new file mode 100644
index 00000000000..e99ad8c17b6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-harv.tex
@@ -0,0 +1,122 @@
+% Template article for Elsevier's document class `elsarticle'
+% with harvard style bibliographic references
+% SP 2008/03/01
+
+\documentclass[authoryear,preprint,12pt]{elsarticle}
+
+% Use the option review to obtain double line spacing
+% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
+
+% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
+% for a journal layout:
+% \documentclass[authoryear,final,1p,times]{elsarticle}
+% \documentclass[authoryear,final,1p,times,twocolumn]{elsarticle}
+% \documentclass[authoryear,final,3p,times]{elsarticle}
+% \documentclass[authoryear,final,3p,times,twocolumn]{elsarticle}
+% \documentclass[authoryear,final,5p,times]{elsarticle}
+% \documentclass[authoryear,final,5p,times,twocolumn]{elsarticle}
+
+% if you use PostScript figures in your article
+% use the graphics package for simple commands
+% \usepackage{graphics}
+% or use the graphicx package for more complicated commands
+% \usepackage{graphicx}
+% or use the epsfig package if you prefer to use the old commands
+% \usepackage{epsfig}
+
+% The amssymb package provides various useful mathematical symbols
+\usepackage{amssymb}
+% The amsthm package provides extended theorem environments
+% \usepackage{amsthm}
+
+% The lineno packages adds line numbers. Start line numbering with
+% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
+% for the whole article with \linenumbers.
+% \usepackage{lineno}
+
+% \linenumbers
+
+\journal{Nuclear Physics B}
+
+\begin{document}
+
+\begin{frontmatter}
+
+% Title, authors and addresses
+
+% use the tnoteref command within \title for footnotes;
+% use the tnotetext command for theassociated footnote;
+% use the fnref command within \author or \address for footnotes;
+% use the fntext command for theassociated footnote;
+% use the corref command within \author for corresponding author footnotes;
+% use the cortext command for theassociated footnote;
+% use the ead command for the email address,
+% and the form \ead[url] for the home page:
+% \title{Title\tnoteref{label1}}
+% \tnotetext[label1]{}
+% \author{Name\corref{cor1}\fnref{label2}}
+% \ead{email address}
+% \ead[url]{home page}
+% \fntext[label2]{}
+% \cortext[cor1]{}
+% \address{Address\fnref{label3}}
+% \fntext[label3]{}
+
+\title{}
+
+% use optional labels to link authors explicitly to addresses:
+% \author[label1,label2]{}
+% \address[label1]{}
+% \address[label2]{}
+
+\author{}
+
+\address{}
+
+\begin{abstract}
+% Text of abstract
+
+\end{abstract}
+
+\begin{keyword}
+% keywords here, in the form: keyword \sep keyword
+
+% PACS codes here, in the form: \PACS code \sep code
+
+% MSC codes here, in the form: \MSC code \sep code
+% or \MSC[2008] code \sep code (2000 is the default)
+
+\end{keyword}
+
+\end{frontmatter}
+
+% main text
+\section{}
+\label{}
+
+% The Appendices part is started with the command \appendix;
+% appendix sections are then done as normal sections
+% \appendix
+
+% \section{}
+% \label{}
+
+% Bibliographic references with the natbib package:
+% Parenthetical: \citep{Bai92} produces (Bailyn 1992).
+% Textual: \citet{Bai95} produces Bailyn et al. (1995).
+% An affix and part of a reference:
+% \citep[e.g.][Ch. 2]{Bar76}
+% produces (e.g. Barnes et al. 1976, Ch. 2).
+
+\begin{thebibliography}{}
+
+% \bibitem[Names(Year)]{label} or \bibitem[Names(Year)Long names]{label}.
+% (\harvarditem{Name}{Year}{label} is also supported.)
+% Text of bibliographic item
+
+\bibitem[]{}
+
+\end{thebibliography}
+
+\end{document}
+
diff --git a/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-num.tex b/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-num.tex
new file mode 100644
index 00000000000..4a3ce9e6f0f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/elsarticle/elsarticle-template-num.tex
@@ -0,0 +1,114 @@
+% Template article for Elsevier's document class `elsarticle'
+% with harvard style bibliographic references
+% SP 2008/03/01
+
+\documentclass[preprint,12pt]{elsarticle}
+
+% Use the option review to obtain double line spacing
+% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
+
+% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
+% for a journal layout:
+% \documentclass[final,1p,times]{elsarticle}
+% \documentclass[final,1p,times,twocolumn]{elsarticle}
+% \documentclass[final,3p,times]{elsarticle}
+% \documentclass[final,3p,times,twocolumn]{elsarticle}
+% \documentclass[final,5p,times]{elsarticle}
+% \documentclass[final,5p,times,twocolumn]{elsarticle}
+
+% if you use PostScript figures in your article
+% use the graphics package for simple commands
+% \usepackage{graphics}
+% or use the graphicx package for more complicated commands
+% \usepackage{graphicx}
+% or use the epsfig package if you prefer to use the old commands
+% \usepackage{epsfig}
+
+% The amssymb package provides various useful mathematical symbols
+\usepackage{amssymb}
+% The amsthm package provides extended theorem environments
+% \usepackage{amsthm}
+
+% The lineno packages adds line numbers. Start line numbering with
+% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
+% for the whole article with \linenumbers.
+% \usepackage{lineno}
+
+% \linenumbers
+
+\journal{Nuclear Physics B}
+
+\begin{document}
+
+\begin{frontmatter}
+
+% Title, authors and addresses
+
+% use the tnoteref command within \title for footnotes;
+% use the tnotetext command for theassociated footnote;
+% use the fnref command within \author or \address for footnotes;
+% use the fntext command for theassociated footnote;
+% use the corref command within \author for corresponding author footnotes;
+% use the cortext command for theassociated footnote;
+% use the ead command for the email address,
+% and the form \ead[url] for the home page:
+% \title{Title\tnoteref{label1}}
+% \tnotetext[label1]{}
+% \author{Name\corref{cor1}\fnref{label2}}
+% \ead{email address}
+% \ead[url]{home page}
+% \fntext[label2]{}
+% \cortext[cor1]{}
+% \address{Address\fnref{label3}}
+% \fntext[label3]{}
+
+\title{}
+
+% use optional labels to link authors explicitly to addresses:
+% \author[label1,label2]{}
+% \address[label1]{}
+% \address[label2]{}
+
+\author{}
+
+\address{}
+
+\begin{abstract}
+% Text of abstract
+
+\end{abstract}
+
+\begin{keyword}
+% keywords here, in the form: keyword \sep keyword
+
+% PACS codes here, in the form: \PACS code \sep code
+
+% MSC codes here, in the form: \MSC code \sep code
+% or \MSC[2008] code \sep code (2000 is the default)
+
+\end{keyword}
+
+\end{frontmatter}
+
+% main text
+\section{}
+\label{}
+
+% The Appendices part is started with the command \appendix;
+% appendix sections are then done as normal sections
+% \appendix
+
+% \section{}
+% \label{}
+
+\begin{thebibliography}{00}
+
+% \bibitem{label}
+% Text of bibliographic item
+
+\bibitem{}
+
+\end{thebibliography}
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls
new file mode 100644
index 00000000000..10b51e9ecf4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls
@@ -0,0 +1,705 @@
+%%
+%% This is file 'elsarticle.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% elsarticle.dtx (with options: 'package')
+%%
+%% elsarticle.cls Copyright (C) 2007,2008 Elsevier Science
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% $Id: elsarticle.cls,v 1.8 2008-02-14 11:50:06 cvr Exp $
+%%
+ \def\RCSfile{elsarticle}%
+ \def\RCSversion{1.0.1}%
+ \def\RCSdate{2008/05/22}%
+ \def\@shortjnl{\relax}
+ \def\@journal{Elsevier Science} \def\@company{Elsevier Science}
+ \def\@issn{000-0000}
+ \def\@shortjid{elsarticle}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
+%
+%
+\def\ABD{\AtBeginDocument}
+\newif\ifpreprint \preprintfalse
+\newif\iflongmktitle \longmktitlefalse
+
+\def\@blstr{1}
+\newdimen\@bls
+\@bls=\baselineskip
+
+\def\@finalWarning{%
+ *****************************************************\MessageBreak
+ This document is typeset in the CRC style which\MessageBreak
+ is not suitable for submission.\MessageBreak
+ \MessageBreak
+ Please typeset again using 'preprint' option\MessageBreak
+ for creating PDF suitable for submission.\MessageBreak
+ ******************************************************\MessageBreak
+}
+\def\biboptions#1{\g@addto@macro\@biboptions{,#1}}
+\def\@biboptions{}
+\DeclareOption{preprint}{\global\preprinttrue
+ \gdef\@blstr{1}\xdef\jtype{0}%
+ \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
+\DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
+\DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
+\DeclareOption{authoryear}{\xdef\@biboptions{authoryear}}
+\DeclareOption{number}{\xdef\@biboptions{square,numbers}}
+\DeclareOption{longtitle}{\global\longmktitletrue}
+\DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
+ \ExecuteOptions{twocolumn}}
+ \def\jtype{0}
+\DeclareOption{3p}{\xdef\jtype{3}\global\preprintfalse}
+\DeclareOption{1p}{\xdef\jtype{1}\global\preprintfalse
+ \AtBeginDocument{\@twocolumnfalse}}
+\DeclareOption{times}{\IfFileExists{txfonts.sty}%
+ {\AtEndOfClass{\RequirePackage{txfonts}%
+ \gdef\ttdefault{cmtt}%
+ \let\iint\relax
+ \let\iiint\relax
+ \let\iiiint\relax
+ \let\idotsint\relax
+ \let\openbox\relax}}{}}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions
+\LoadClass{article}
+\RequirePackage{comment}
+
+%%
+%% Preamble
+%%
+\let\comma\@empty
+\let\tnotesep\@empty
+\def\title#1{\gdef\@title{#1}}
+\let\@title\@empty
+
+\def\elsLabel#1{\@bsphack\protected@write\@auxout{}%
+ {\string\Newlabel{#1}{\@currentlabel}}\@esphack}
+\def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
+
+\def\Ref#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
+% \alarm{REF [#1]: \csname X@#1\endcsname}%
+}
+
+\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
+ \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\Ref{\@@tmark}}}%
+ \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
+}
+\let\@tnotemark\@empty
+
+\let\@tnotes\@empty
+\RequirePackage{pifont}
+\newcounter{tnote}
+\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{%
+ \refstepcounter{tnote}\elsLabel{#1}%
+ \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
+ \footnotetext{#2}}}
+
+\newcounter{fnote}
+\def\fnmark[#1]{\let\comma\@empty
+ \def\@fnmark{\@for\@@fnmark:=#1\do{%
+ \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\Ref{\@@fnmark}}}%
+ \unskip\comma\fnotenum\let\comma,}}%
+}
+
+\let\@fnotes\@empty\let\@fnmark\@empty
+\def\fntext[#1]#2{\g@addto@macro\@fnotes{%
+ \refstepcounter{fnote}\elsLabel{#1}%
+ \def\thefootnote{\thefnote}%
+ \global\setcounter{footnote}{\thefnote}%
+ \footnotetext{#2}}}
+
+\def\cormark[#1]{\gdef\@cormark{\edef\cnotenum{%
+ \@ifundefined{X@#1}{0}{\Ref{#1}}}%
+ \ifcase\cnotenum\or$\ast$\or$\ast\ast$\fi}}
+\let\@cormark\@empty
+\let\@cornotes\@empty
+\newcounter{cnote}
+\def\cortext[#1]#2{\g@addto@macro\@cornotes{%
+ \refstepcounter{cnote}\elsLabel{#1}%
+ \def\thefootnote{\ifcase\thecnote\or$\ast$\or
+ $\ast\ast$\fi}%
+ \footnotetext{#2}}}
+
+\def\corref#1{\cormark[#1]}
+\def\fnref#1{\fnmark[#1]}
+\def\tnoteref#1{\tnotemark[#1]}
+
+\def\resetTitleCounters{\c@cnote=0
+ \c@fnote=0 \c@tnote=0 \c@footnote=0}
+
+\let\eadsep\@empty
+\let\@elseads\@empty
+\let\@elsuads\@empty
+\def\ead{\@ifnextchar[{\@uad}{\@ead}}
+\gdef\@ead#1{\bgroup
+ \edef\tmp{\the\@eadauthor}
+ \immediate\write\@auxout{\string\emailauthor
+ {#1}{\expandafter\strip@prefix\meaning\tmp}}%
+ \egroup
+}
+\def\emailauthor#1#2{\g@addto@macro\@elseads{\raggedright%
+ \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
+}
+\gdef\@uad[#1]#2{\bgroup
+ \edef\tmp{\the\@eadauthor}
+ \immediate\write\@auxout{\string\urlauthor
+ {#2}{\expandafter\strip@prefix\meaning\tmp}}%
+ \egroup
+}
+\def\urlauthor#1#2{\g@addto@macro\@elsuads{%
+ \eadsep\texttt{#1}\space(#2)\def\eadsep{\unskip,\space}}%
+}
+
+\def\elsauthors{}
+\def\pprinttitle{}
+\let\authorsep\@empty
+\newcounter{author}
+\def\author{\@ifnextchar[{\@@author}{\@author}}
+
+\newtoks\@eadauthor
+\def\@@author[#1]#2{\g@addto@macro\elsauthors{%
+ \def\baselinestretch{1}%
+ \authorsep#2\unskip\textsuperscript{%#1%
+ \@for\@@affmark:=#1\do{%
+ \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\Ref{\@@affmark}}}%
+ \unskip\comma\affnum\let\comma,}%
+ \ifx\@cormark\@empty\else\unskip,\@cormark\fi
+ \ifx\@fnmark\@empty\else\unskip\@fnmark\fi}%
+ \def\authorsep{\unskip,\space}%
+ \global\let\@cormark\@empty
+ \global\let\@fnmark\@empty}%
+ \@eadauthor={#2}
+}
+
+\def\@author#1{\g@addto@macro\elsauthors{\normalsize%
+ \def\baselinestretch{1}%
+ \upshape\authorsep#1\unskip\textsuperscript{\let\sep\@empty%
+ \ifx\@cormark\@empty\else$\ast$\let\sep=,\fi
+ \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi}%
+ \def\authorsep{\par\vskip15pt}%
+ \global\let\@cormark\@empty
+ \global\let\@fnmark\@empty}%
+ \@eadauthor={#1}
+}
+
+\def\elsaddress{}
+\def\addsep{\par\vskip6pt}
+\def\address{\@ifnextchar[{\@@address}{\@address}}
+
+\newcounter{affn}
+\renewcommand\theaffn{\alph{affn}}
+
+\long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
+ \def\baselinestretch{1}%
+ \refstepcounter{affn}\elsLabel{#1}%
+ \textsuperscript{\theaffn}#2\par}}
+
+\long\def\@address#1{\g@addto@macro\elsauthors{%
+ \def\baselinestretch{1}%
+ \addsep\footnotesize\itshape#1\def\addsep{\par\vskip6pt}}}
+
+\newbox\absbox
+\renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
+ \hsize=\textwidth\def\baselinestretch{1}%
+ \noindent\unskip\textbf{Abstract}
+ \par\medskip\noindent\unskip\ignorespaces}
+ {\egroup}
+
+\newbox\keybox
+\def\keyword{%
+ \def\sep{\unskip, }%
+ \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
+ \def\@MSC[##1]{\par\leavevmode\hbox {\it ##1~MSC:\space}}%
+ \def\PACS{\par\leavevmode\hbox {\it PACS:\space}}%
+ \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
+ \normalsize\normalfont\def\baselinestretch{1}
+ \parskip\z@
+ \noindent\textit{Key words: }
+ \raggedright % Keywords are not justified.
+ \ignorespaces}
+\def\endkeyword{\par \egroup}
+
+\newdimen\Columnwidth
+\Columnwidth=\columnwidth
+
+\def\printFirstPageNotes{%
+ \iflongmktitle
+ \let\columnwidth=\textwidth\fi
+ \ifx\@tnotes\@empty\else\@tnotes\fi
+ \ifx\@cornotes\@empty\else\@cornotes\fi
+ \ifx\@elseads\@empty\relax\else
+ \let\thefootnote\relax
+ \footnotetext{\textit{Email addresses:\space}%
+ \@elseads}\fi
+ \ifx\@elsuads\@empty\relax\else
+ \let\thefootnote\relax
+ \footnotetext{\textit{URL:\space}%
+ \@elsuads}\fi
+ \ifx\@fnotes\@empty\else\@fnotes\fi
+ \iflongmktitle\if@twocolumn
+ \let\columnwidth=\Columnwidth\fi\fi
+}
+
+\long\def\pprintMaketitle{\clearpage
+ \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi
+ \resetTitleCounters
+ \def\baselinestretch{1}%
+ \printFirstPageNotes
+ \begin{center}%
+ \thispagestyle{pprintTitle}%
+ \def\baselinestretch{1}%
+ \Large\@title\par\vskip18pt
+ \normalsize\elsauthors\par\vskip10pt
+ \footnotesize\itshape\elsaddress\par\vskip36pt
+ \hrule\vskip12pt
+ \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
+ \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
+ \hrule\vskip12pt
+ \end{center}%
+ \gdef\thefootnote{\arabic{footnote}}%
+ }
+
+\def\printWarning{%
+ \mbox{}\par\vfill\par\bgroup
+ \fboxsep12pt\fboxrule1pt
+ \hspace*{.18\textwidth}
+ \fcolorbox{gray50}{gray10}{\box\warnbox}
+ \egroup\par\vfill\thispagestyle{empty}
+ \setcounter{page}{0}
+ \clearpage}
+
+\long\def\finalMaketitle{%
+ \resetTitleCounters
+ \def\baselinestretch{1}%
+ \MaketitleBox
+ \thispagestyle{pprintTitle}%
+ \gdef\thefootnote{\arabic{footnote}}%
+ }
+
+\long\def\MaketitleBox{%
+ \resetTitleCounters
+ \def\baselinestretch{1}%
+ \begin{center}%
+ \def\baselinestretch{1}%
+ \Large\@title\par\vskip18pt
+ \normalsize\elsauthors\par\vskip10pt
+ \footnotesize\itshape\elsaddress\par\vskip36pt
+ \hrule\vskip12pt
+ \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
+ \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
+ \hrule\vskip12pt
+ \end{center}%
+ }
+
+
+\def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
+\newdimen\space@left
+\def\alarm#1{\typeout{******************************}%
+ \typeout{#1}%
+ \typeout{******************************}%
+}
+\long\def\getSpaceLeft{%\global\@twocolumnfalse%
+ \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
+ \global\setbox1=\vbox{\hsize=\textwidth
+ \let\footnotetext\FNtext
+ \printFirstPageNotes}%
+ \xdef\noteheight{\the\ht1}%
+ \xdef\titleheight{\the\ht0}%
+ \@tempdima=\vsize
+ \advance\@tempdima-\noteheight
+ \advance\@tempdima-1\baselineskip
+% \alarm{Note height .... \noteheight}%
+% \alarm{Title height .... \titleheight}%
+% \alarm{T-height........ \the\textheight}%
+% \alarm{Goal........ \the\@tempdima}%
+}
+
+
+%\ifpreprint\let\footnoterule\relax\fi
+ \skip\footins=24pt
+
+\newbox\els@boxa
+\newbox\els@boxb
+
+\ifpreprint
+ \def\maketitle{\pprintMaketitle}
+ \else
+ \ifnum\jtype=1
+ \def\maketitle{%
+ \iflongmktitle\getSpaceLeft
+ \global\setbox\els@boxa=\vsplit0 to \@tempdima
+ \box\els@boxa\par\resetTitleCounters
+ \thispagestyle{pprintTitle}%
+ \printFirstPageNotes
+ \box0%
+ \else
+ \finalMaketitle\printFirstPageNotes
+ \fi
+ \gdef\thefootnote{\arabic{footnote}}}%
+ \else
+ \ifnum\jtype=5
+ \def\maketitle{%
+ \iflongmktitle\getSpaceLeft
+ \global\setbox\els@boxa=\vsplit0 to \@tempdima
+ \box\els@boxa\par\resetTitleCounters
+ \thispagestyle{pprintTitle}%
+ \printFirstPageNotes
+ \twocolumn[\box0]%\printFirstPageNotes
+ \else
+ \twocolumn[\finalMaketitle]\printFirstPageNotes
+ \fi
+ \gdef\thefootnote{\arabic{footnote}}}
+ \else
+ \if@twocolumn
+ \def\maketitle{%
+ \iflongmktitle\getSpaceLeft
+ \global\setbox\els@boxa=\vsplit0 to \@tempdima
+ \box\els@boxa\par\resetTitleCounters
+ \thispagestyle{pprintTitle}%
+ \printFirstPageNotes
+ \twocolumn[\box0]%
+ \else
+ \twocolumn[\finalMaketitle]\printFirstPageNotes
+ \fi
+ \gdef\thefootnote{\arabic{footnote}}}%
+ \else
+ \def\maketitle{%
+ \iflongmktitle\getSpaceLeft
+ \global\setbox\els@boxa=\vsplit0 to \@tempdima
+ \box\els@boxa\par\resetTitleCounters
+ \thispagestyle{pprintTitle}%
+ \printFirstPageNotes
+ \box0%
+ \else
+ \finalMaketitle\printFirstPageNotes
+ \fi
+ \gdef\thefootnote{\arabic{footnote}}}%
+ \fi
+ \fi
+ \fi
+\fi
+
+%%
+%% Headers/footers
+%%
+\def\ps@pprintTitle{%
+ \let\@oddhead\@empty
+ \let\@evenhead\@empty
+ \def\@oddfoot{\footnotesize\itshape
+ Preprint submitted to \ifx\@journal\@empty Elsevier
+ \else\@journal\fi\hfill\today}%
+ \let\@evenfoot\@oddfoot}
+
+
+%%
+%% Section headings
+%%
+\def\@seccntDot{.}
+\def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
+
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {18\p@ \@plus 6\p@ \@minus 3\p@}%
+ {9\p@ \@plus 6\p@ \@minus 3\p@}%
+ {\normalsize\bfseries\boldmath}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {12\p@ \@plus 6\p@ \@minus 3\p@}%
+ {3\p@ \@plus 6\p@ \@minus 3\p@}%
+ {\normalfont\normalsize\itshape}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {12\p@ \@plus 6\p@ \@minus 3\p@}%
+ {\p@}%
+ {\normalfont\normalsize\itshape}}
+
+\def\paragraph{\secdef{\els@aparagraph}{\els@bparagraph}}
+\def\els@aparagraph[#1]#2{\elsparagraph[#1]{#2.}}
+\def\els@bparagraph#1{\elsparagraph*{#1.}}
+
+\newcommand\elsparagraph{\@startsection{paragraph}{4}{0\z@}%
+ {10\p@ \@plus 6\p@ \@minus 3\p@}%
+ {-6\p@}%
+ {\normalfont\itshape}}
+
+%%
+%% List environment
+%%
+\newtoks\@enLab %\newtoks\@enfont
+\def\@enQmark{?}
+\def\@enLabel#1#2{%
+ \edef\@enThe{\noexpand#1{\@enumctr}}%
+ \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
+ \@enloop}
+\def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= }
+\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
+\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
+\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
+\def\@enloop{\futurelet\@entemp\@enloop@}
+\def\@enloop@{%
+ \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else
+ \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else
+ \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else
+ \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else
+ \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else
+ \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else
+ \ifx \bgroup\@entemp \let\@tempa\@enGroup \else
+ \ifx \@enum@\@entemp \let\@tempa\@gobble \else
+ \let\@tempa\@enOther
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \@tempa}
+\newlength{\@sep} \newlength{\@@sep}
+\setlength{\@sep}{.5\baselineskip plus.2\baselineskip
+ minus.2\baselineskip}
+\setlength{\@@sep}{.1\baselineskip plus.01\baselineskip
+ minus.05\baselineskip}
+\providecommand{\sfbc}{\rmfamily\upshape}
+\providecommand{\sfn}{\rmfamily\upshape}
+\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt}
+\def\enumerate{%
+ \ifnum \@enumdepth >3 \@toodeep\else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
+ \@ifnextchar[{\@@enum@}{\@enum@}}
+\def\@@enum@[#1]{%
+ \@enLab{}\let\@enThe\@enQmark
+ \@enloop#1\@enum@
+ \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
+ ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
+ \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
+ \expandafter\let\csname the\@enumctr\endcsname\@enThe
+ \csname c@\@enumctr\endcsname7
+ \expandafter\settowidth
+ \csname leftmargin\romannumeral\@enumdepth\endcsname
+ {\the\@enLab\hskip\labelsep}%
+ \@enum@}
+\def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}%
+ {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}%
+ \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else
+ \setlength{\topsep}{\@sep}\fi
+ \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}%
+ \else \setlength{\itemsep}{\@@sep}\fi
+ \setlength\leftmargin{2em}%%%{1.8em}
+ \setlength{\parsep}{0pt plus1pt minus1pt}%
+ \setlength{\parskip}{0pt plus1pt minus1pt}}}
+
+\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else
+ \addvspace{\@sep}\fi \endlist}
+
+\def\sitem{\@noitemargtrue\@item[\@itemlabel *]}
+
+\def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}}
+
+\def\@Itemize[#1]{\def\next{#1}%
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \ifx\next\@empty\else\expandafter\def\csname
+ labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi%
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter\list\csname\@itemitem\endcsname
+ {\def\makelabel##1{\hss\llap{##1}}}%
+ \fi}
+%%
+%% Theorem environment
+%%
+\def\newdefinition#1{
+ \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}
+\def\@ndfn#1#2{
+ \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}}
+\def\@xndfn#1#2[#3]{
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@newctr{#1}[#3]
+ \expandafter\xdef\csname the#1\endcsname{
+ \expandafter\noexpand\csname the#3\endcsname \@dfncountersep
+ \@dfncounter{#1}}
+ \global\@namedef{#1}{\@dfn{#1}{#2}}
+ \global\@namedef{end#1}{\@enddefinition}}}
+\def\@yndfn#1#2{
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}
+ \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}
+ \global\@namedef{#1}{\@dfn{#1}{#2}}
+ \global\@namedef{end#1}{\@enddefinition}}}
+\def\@odfn#1[#2]#3{
+ \@ifundefined{c@#2}{\@nocounterr{#2}}
+ {\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}
+ \global\@namedef{#1}{\@dfn{#2}{#3}}
+ \global\@namedef{end#1}{\@enddefinition}}}}
+\def\@dfn#1#2{
+ \refstepcounter{#1}
+ \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}}
+\def\@xdfn#1#2{
+ \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@ydfn#1#2[#3]{
+ \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
+\def\@dfncounter#1{\noexpand\arabic{#1}}
+\def\@dfncountersep{.}
+\def\@begindefinition#1#2{\trivlist
+ \item[\hskip\labelsep{\bfseries#1#2.}]\upshape}
+\def\@opargbegindefinition#1#2#3{\trivlist
+ \item[\hskip\labelsep{\bfseries #1#2\ (#3).}]\upshape}
+\def\@enddefinition{\endtrivlist}
+
+\def\@begintheorem#1#2{\trivlist
+ \let\baselinestretch\@blstr
+ \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape}
+\def\@opargbegintheorem#1#2#3{\trivlist
+ \let\baselinestretch\@blstr
+ \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape}
+
+\def\newproof#1{%
+ \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}}
+\def\@nprf#1#2{%
+ \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}}
+\def\@xnprf#1#2[#3]{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@newctr{#1}[#3]%
+ \expandafter\xdef\csname the#1\endcsname{%
+ \expandafter\noexpand\csname the#3\endcsname \@prfcountersep
+ \@prfcounter{#1}}%
+ \global\@namedef{#1}{\@prf{#1}{#2}}%
+ \global\@namedef{end#1}{\@endproof}}}
+\def\@ynprf#1#2{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}%
+ \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}%
+ \global\@namedef{#1}{\@prf{#1}{#2}}%
+ \global\@namedef{end#1}{\@endproof}}}
+\def\@oprf#1[#2]#3{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}%
+ {\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+ \global\@namedef{#1}{\@prf{#2}{#3}}%
+ \global\@namedef{end#1}{\@endproof}}}}
+\def\@prf#1#2{%
+ \refstepcounter{#1}%
+ \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}}
+\def\@xprf#1#2{%
+ \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yprf#1#2[#3]{%
+ \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
+\def\@prfcounter#1{\noexpand\arabic{#1}}
+\def\@prfcountersep{.}
+\def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr
+ \item[\hskip \labelsep{\scshape #1.}]\rmfamily}
+\def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr
+ \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily}
+\def\@endproof{\endtrivlist}
+\newcommand*{\qed}{\hbox{}\hfill$\Box$}
+
+\RequirePackage[\@biboptions]{natbib}
+
+\let\baselinestretch=\@blstr
+
+
+%%
+%% Page dimensions and margins for final form
+%%
+\ifnum\jtype=1
+ \RequirePackage{geometry}
+ \geometry{twoside,
+% top=30mm,
+% paperwidth=165mm,
+% paperheight=240mm,
+ paperwidth=210mm,
+ paperheight=297mm,
+ textheight=562pt,
+ textwidth=384pt,
+% inner=16mm,
+% top=22.1mm,
+ centering,
+ headheight=50pt,
+ headsep=12pt,
+ footskip=12pt,
+ footnotesep=24pt plus 2pt minus 12pt,
+ }
+ \global\let\bibfont=\footnotesize
+ \global\bibsep=0pt
+ \if@twocolumn\global\@twocolumnfalse\fi
+%
+\else\ifnum\jtype=3
+ \RequirePackage{geometry}
+ \geometry{twoside,
+% paperwidth=192mm,
+% paperheight=262mm,
+ paperwidth=210mm,
+ paperheight=297mm,
+ textheight=622pt,
+ textwidth=468pt,
+% inner=13.1mm,
+% top=22.1mm,
+ centering,
+ headheight=50pt,
+ headsep=12pt,
+ footskip=12pt,
+ footnotesep=24pt plus 2pt minus 12pt,
+ columnsep=2pc
+ }
+ \global\let\bibfont=\footnotesize
+ \global\bibsep=0pt
+ \if@twocolumn\input{fleqn.clo}\fi
+%%
+%% End of option '3p'
+%%
+\else\ifnum\jtype=5
+ \RequirePackage{geometry}
+ \geometry{twoside,
+% top=30mm,
+ paperwidth=210mm,
+% paperheight=280mm,
+ paperheight=297mm,
+ textheight=682pt,
+ textwidth=522pt,
+% inner=15mm,
+% top=23.2mm,
+ centering,
+ headheight=50pt,
+ headsep=12pt,
+ footskip=18pt,
+ footnotesep=24pt plus 2pt minus 12pt,
+ columnsep=18pt
+ }%
+ \global\let\bibfont=\footnotesize
+ \global\bibsep=0pt
+ \input{fleqn.clo}
+ \global\@twocolumntrue
+%%
+%% End of option '5p'
+%%
+\fi\fi\fi
+
+\def\journal#1{\gdef\@journal{#1}}
+ \let\@journal\@empty
+\newenvironment{frontmatter}{}{\maketitle}
+
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip\footnotesize
+ \sbox\@tempboxa{#1: #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1: #2\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+
+%\RequirePackage[expansion=alltext,stretch=30]{microtype}
+\AtBeginDocument{\@ifpackageloaded{hyperref}
+ {\def\@linkcolor{blue}
+ \def\@anchorcolor{blue}
+ \def\@citecolor{blue}
+ \def\@filecolor{blue}
+ \def\@urlcolor{blue}
+ \def\@menucolor{blue}
+ \def\@pagecolor{blue}
+}{}}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 4de3137b9b2..669a9b11870 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -64,7 +64,7 @@ my @WorkingTLP = qw(
ean13isbn easy ebong ebsthesis eCards ecc ecclesiastic economic
ecv ed edmac edmargin ednotes eemeir egameps
egplot eijkhout
- ellipsis elpres elsevier elsevier-bib
+ ellipsis elpres elsarticle elsevier elsevier-bib
emulateapj emp encxvlna endfloat endheads
engrec enumitem envbig environ envlab
epigrafica epigraph epiolmec eplain
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index e6eeda4860b..9934a027d2a 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -138,6 +138,7 @@ depend egplot
depend ellipsis
depend elmath
depend elpres
+depend elsarticle
depend em
depend emulateapj
depend endfloat
diff --git a/Master/tlpkg/tlpsrc/elsarticle.tlpsrc b/Master/tlpkg/tlpsrc/elsarticle.tlpsrc
new file mode 100644
index 00000000000..522cacf153a
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/elsarticle.tlpsrc
@@ -0,0 +1,2 @@
+name elsarticle
+category Package