texlive[48134] Master/texmf-dist: elsarticle (4jul18)

commits+karl at tug.org commits+karl at tug.org
Wed Jul 4 23:25:46 CEST 2018


Revision: 48134
          http://tug.org/svn/texlive?view=revision&revision=48134
Author:   karl
Date:     2018-07-04 23:25:46 +0200 (Wed, 04 Jul 2018)
Log Message:
-----------
elsarticle (4jul18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst
    trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst
    trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst
    trunk/Master/texmf-dist/doc/latex/elsarticle/README
    trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex
    trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex
    trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex
    trunk/Master/texmf-dist/doc/latex/elsarticle/makefile
    trunk/Master/texmf-dist/doc/latex/elsarticle/manifest.txt
    trunk/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty
    trunk/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty
    trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
    trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins
    trunk/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex
    trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/elsarticle/els-1p.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/els-3pd.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/els1.pdf
    trunk/Master/texmf-dist/doc/latex/elsarticle/els2.pdf

Modified: trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,7 @@
+%%
+%% This is file `elsarticle-harv.bst'  (Version 2.1),
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2009-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -10,46 +12,19 @@
 %%    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-harv.bst 116 2018-06-29 04:55:48Z rishi $
+%%
+%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $
 %% 
-%% The list of all files belonging to the 'Elsarticle Bundle' is
-%% given in the file `manifest.txt'.
-%% 
 
- %%-------------------------------------------------------------------
- %% This bibliography style file is intended for texts in ENGLISH
- %% This is an author-year citation style bibliography. As such, it is
- %% non-standard LaTeX, and requires a special package file
- %% to function properly.
- %% Such a package is    natbib.sty   by Patrick W. Daly
- %% The form of the \bibitem entries is
- %%   \bibitem[Jones et al.(1990)]{key}...
- %%   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
- %% The essential feature is that the label (the part in brackets) consists
- %% of the author names, as they should appear in the citation, with the year
- %% in parentheses following. There must be no space before the opening
- %% parenthesis!
- %% With natbib v5.3, a full list of authors may also follow the year.
- %% In natbib.sty, it is possible to define the type of enclosures that is
- %% really wanted (brackets or parentheses), but in either case, there must
- %% be parentheses in the label.
- %% The \cite command functions as follows:
- %%   \citet{key} ==>>                Jones et al. (1990)
- %%   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
- %%   \citep{key} ==>>                (Jones et al., 1990)
- %%   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
- %%   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
- %%   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
- %%   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
- %%   \citeauthor{key} ==>>           Jones et al.
- %%   \citeauthor*{key} ==>>          Jones, Baker, and Smith
- %%   \citeyear{key} ==>>             1990
- %%---------------------------------------------------------------------
-
 ENTRY
   { address
+    archive
     author
     booktitle
     chapter
+    collaboration
     edition
     editor
     howpublished
@@ -66,9 +41,12 @@
     series
     title
     type
-    url
     volume
     year
+    url
+    doi
+    eprint
+    pubmed
   }
   {}
   { label extra.label sort.label short.list }
@@ -75,6 +53,16 @@
 
 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
 
+STRINGS { urlprefix doiprefix eprintprefix pubmedprefix }
+
+FUNCTION {init.web.variables}
+{
+ "\URLprefix "     'urlprefix :=
+ "\DOIprefix"      'doiprefix :=
+ "\ArXivprefix  "   'eprintprefix :=
+ "\Pubmedprefix "  'pubmedprefix :=
+}
+
 FUNCTION {init.state.consts}
 { #0 'before.all :=
   #1 'mid.sentence :=
@@ -81,13 +69,14 @@
   #2 'after.sentence :=
   #3 'after.block :=
 }
-
-STRINGS { s t }
-
+STRINGS { s t}
+FUNCTION {output.comma}
+{ ", " * write$}
+   
 FUNCTION {output.nonnull}
 { 's :=
   output.state mid.sentence =
-    { ", " * write$ }
+    { ". " * write$ }
     { output.state after.block =
         { add.period$ write$
           newline$
@@ -95,6 +84,26 @@
         }
         { output.state before.all =
             'write$
+            { ", " * write$ }
+          if$
+        }
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
+}
+FUNCTION {output.commanull}
+{ 's :=
+  output.state mid.sentence =
+    { ", " * write$ }
+    { output.state after.block =
+        { ", " * write$
+          newline$
+          "\newblock " write$
+        }
+        { output.state before.all =
+            'write$
             { add.period$ " " * write$ }
           if$
         }
@@ -104,7 +113,6 @@
   if$
   s
 }
-
 FUNCTION {output}
 { duplicate$ empty$
     'pop$
@@ -111,7 +119,6 @@
     'output.nonnull
   if$
 }
-
 FUNCTION {output.check}
 { 't :=
   duplicate$ empty$
@@ -119,7 +126,13 @@
     'output.nonnull
   if$
 }
-
+FUNCTION {output.book.check}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
 FUNCTION {fin.entry}
 { add.period$
   write$
@@ -132,7 +145,6 @@
     { after.block 'output.state := }
   if$
 }
-
 FUNCTION {new.sentence}
 { output.state after.block =
     'skip$
@@ -143,9 +155,6 @@
     }
   if$
 }
-
-%%SP 2003/07/25
-%% No longer used
 FUNCTION {add.blank}
 {  " " * before.all 'output.state :=
 }
@@ -152,7 +161,7 @@
 
 FUNCTION {date.block}
 {
-  new.sentence
+  new.block
 }
 
 FUNCTION {not}
@@ -160,19 +169,16 @@
     { #1 }
   if$
 }
-
 FUNCTION {and}
 {   'skip$
     { pop$ #0 }
   if$
 }
-
 FUNCTION {or}
 {   { pop$ #1 }
     'skip$
   if$
 }
-
 FUNCTION {new.block.checkb}
 { empty$
   swap$ empty$
@@ -181,7 +187,6 @@
     'new.block
   if$
 }
-
 FUNCTION {field.or.null}
 { duplicate$ empty$
     { pop$ "" }
@@ -188,9 +193,19 @@
     'skip$
   if$
 }
-
 FUNCTION {emphasize}
-{ skip$ }
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\textit{" swap$ * "}" * }
+  if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$
+}
 
 FUNCTION {capitalize}
 { "u" change.case$ "t" change.case$ }
@@ -197,10 +212,9 @@
 
 FUNCTION {space.word}
 { " " swap$ * " " * }
-
- %% Here are the language-specific definitions for explicit words.
- %% Each function has a name bbl.xxx where xxx is the English word.
- %% The language selected here is ENGLISH
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
 FUNCTION {bbl.and}
 { "and"}
 
@@ -217,16 +231,16 @@
 { "edited by" }
 
 FUNCTION {bbl.edition}
-{ "Edition" }
+{ "ed." }
 
 FUNCTION {bbl.volume}
-{ "Vol." }
+{ "volume" }
 
 FUNCTION {bbl.of}
 { "of" }
 
 FUNCTION {bbl.number}
-{ "no." }
+{ "number" }
 
 FUNCTION {bbl.nr}
 { "no." }
@@ -241,10 +255,10 @@
 { "p." }
 
 FUNCTION {bbl.chapter}
-{ "Ch." }
+{ "chapter" }
 
 FUNCTION {bbl.techrep}
-{ "Tech. Rep." }
+{ "Technical Report" }
 
 FUNCTION {bbl.mthesis}
 { "Master's thesis" }
@@ -252,78 +266,30 @@
 FUNCTION {bbl.phdthesis}
 { "Ph.D. thesis" }
 
-FUNCTION {bbl.first}
-{ "1st" }
+MACRO {jan} {"January"}
 
-FUNCTION {bbl.second}
-{ "2nd" }
+MACRO {feb} {"February"}
 
-FUNCTION {bbl.third}
-{ "3rd" }
+MACRO {mar} {"March"}
 
-FUNCTION {bbl.fourth}
-{ "4th" }
+MACRO {apr} {"April"}
 
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-MACRO {jan} {"Jan."}
-
-MACRO {feb} {"Feb."}
-
-MACRO {mar} {"Mar."}
-
-MACRO {apr} {"Apr."}
-
 MACRO {may} {"May"}
 
-MACRO {jun} {"Jun."}
+MACRO {jun} {"June"}
 
-MACRO {jul} {"Jul."}
+MACRO {jul} {"July"}
 
-MACRO {aug} {"Aug."}
+MACRO {aug} {"August"}
 
-MACRO {sep} {"Sep."}
+MACRO {sep} {"September"}
 
-MACRO {oct} {"Oct."}
+MACRO {oct} {"October"}
 
-MACRO {nov} {"Nov."}
+MACRO {nov} {"November"}
 
-MACRO {dec} {"Dec."}
+MACRO {dec} {"December"}
 
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
-  #-2 #1 substring$ "1" =
-     { bbl.th * }
-     { duplicate$ #-1 #1 substring$
-       duplicate$ "1" =
-         { pop$ bbl.st * }
-         { duplicate$ "2" =
-             { pop$ bbl.nd * }
-             { "3" =
-                 { bbl.rd * }
-                 { bbl.th * }
-               if$
-             }
-           if$
-          }
-       if$
-     }
-   if$
-}
-
 MACRO {acmcs} {"ACM Comput. Surv."}
 
 MACRO {acta} {"Acta Inf."}
@@ -334,12 +300,12 @@
 
 MACRO {ibmsj} {"IBM Syst.~J."}
 
-MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
 
 MACRO {ieeetc} {"IEEE Trans. Comput."}
 
 MACRO {ieeetcad}
- {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+ {"IEEE Trans. Comput. Aid. Des."}
 
 MACRO {ipl} {"Inf. Process. Lett."}
 
@@ -347,7 +313,7 @@
 
 MACRO {jcss} {"J.~Comput. Syst. Sci."}
 
-MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {scp} {"Sci. Comput. Program."}
 
 MACRO {sicomp} {"SIAM J. Comput."}
 
@@ -355,34 +321,71 @@
 
 MACRO {tods} {"ACM Trans. Database Syst."}
 
-MACRO {tog} {"ACM Trans. Gr."}
+MACRO {tog} {"ACM Trans. Graphic."}
 
-MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toms} {"ACM Trans. Math. Software"}
 
 MACRO {toois} {"ACM Trans. Office Inf. Syst."}
 
-MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
 
-MACRO {tcs} {"Theoretical Comput. Sci."}
+MACRO {tcs} {"Theor. Comput. Sci."}
 
-FUNCTION {write.url}
-{ url empty$
-    { skip$ }
-    { "\newline\urlprefix\url{" url * "}" * write$ newline$ }
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$ pop$
+      ""
+    }
+    { duplicate$ empty$
+        {
+          swap$ pop$
+        }
+        { swap$
+          "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+        }
+      if$
+    }
   if$
 }
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }
+    { duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }
+        { swap$
+          pop$
+        }
+      if$
+    }
+  if$
+}
 
+STRINGS  { bibinfo}
+
 INTEGERS { nameptr namesleft numnames }
 
 FUNCTION {format.names}
-{ 's :=
+{ 'bibinfo :=
+  duplicate$ empty$ 'skip$ {
+  's :=
+  "" 't :=
   #1 'nameptr :=
   s num.names$ 'numnames :=
   numnames 'namesleft :=
     { namesleft #0 > }
     { s nameptr
-      "{vv~}{ll}{, jj}{, f.}" format.name$
-    't :=
+      "{vv~}{ll}{, jj}{, f{.}.}"
+      format.name$
+      bibinfo bibinfo.check
+      't :=
       nameptr #1 >
         {
           namesleft #1 >
@@ -408,9 +411,12 @@
       namesleft #1 - 'namesleft :=
     }
   while$
+  } if$
 }
 FUNCTION {format.names.ed}
-{ format.names }
+{
+  format.names
+}
 FUNCTION {format.key}
 { empty$
     { key field.or.null }
@@ -419,36 +425,31 @@
 }
 
 FUNCTION {format.authors}
-{ author empty$
-    { "" }
-    { author format.names }
-  if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
-    { "" }
-    { editor format.names
-      editor num.names$ #1 >
-        { " (" * bbl.editors * ")" * }
-        { " (" * bbl.editor * ")" * }
+{ author "author" format.names
+    duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
       if$
+      *
     }
   if$
 }
 
-FUNCTION {format.in.editors}
-{ editor empty$
-    { "" }
-    { editor format.names.ed
-      editor num.names$ #1 >
-        { " (" * bbl.editors * ")" * }
-        { " (" * bbl.editor * ")" * }
-      if$
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    {
+      " " *
+      get.bbl.editor
+      capitalize
+   "(" swap$ * ")" *
+      *
     }
   if$
 }
-
 FUNCTION {format.note}
 {
  note empty$
@@ -463,21 +464,21 @@
         change.case$
         }
       if$
-      note #2 global.max$ substring$ *
+      note #2 global.max$ substring$ * "note" bibinfo.check
     }
   if$
 }
 
 FUNCTION {format.title}
-{ title empty$
-    { "" }
-    { title "t" change.case$
-    }
+{ title
+  duplicate$ empty$ 'skip$
+    { "t" change.case$ }
   if$
+  "title" bibinfo.check
 }
-
 FUNCTION {format.full.names}
 {'s :=
+ "" 't :=
   #1 'nameptr :=
   s num.names$ 'numnames :=
   numnames 'namesleft :=
@@ -490,10 +491,6 @@
           namesleft #1 >
             { ", " * t * }
             {
-              numnames #2 >
-                { "," * }
-                'skip$
-              if$
               s nameptr "{ll}" format.name$ duplicate$ "others" =
                 { 't := }
                 { pop$ }
@@ -502,7 +499,8 @@
                 {
                   " " * bbl.etal *
                 }
-                { bbl.and
+                {
+                  bbl.and
                   space.word * t *
                 }
               if$
@@ -610,39 +608,27 @@
 }
 
 FUNCTION {word.in}
-{ bbl.in capitalize
+{ bbl.in %capitalize
   ":" *
   " " * }
 
 FUNCTION {format.date}
-{ year duplicate$ empty$
-    { "empty year in " cite$ * "; set to ????" * warning$
-       pop$ "????" }
+{ year "year" bibinfo.check duplicate$ empty$
+    {
+    }
     'skip$
   if$
-  month empty$
-    'skip$
-    { month
-      " " * swap$ *
-    }
-  if$
   extra.label *
   before.all 'output.state :=
   ", " swap$ *
 }
-
 FUNCTION {format.btitle}
-{ title
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
+{ title "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+    }
   if$
-  swap$ * *
 }
-
 FUNCTION {either.or.check}
 { empty$
     'pop$
@@ -649,106 +635,55 @@
     { "can't use both " swap$ * " fields in " * cite$ * warning$ }
   if$
 }
-
 FUNCTION {format.bvolume}
 { volume empty$
     { "" }
-    { bbl.volume volume tie.or.space.connect
-      series empty$
-        'skip$
-        { bbl.of space.word * series emphasize * }
+    { bbl.volume volume tie.or.space.prefix
+      "volume" bibinfo.check * *
+      series "series" bibinfo.check
+      duplicate$ empty$ 'pop$
+        { swap$ bbl.of space.word * swap$
+          emphasize * }
       if$
       "volume and number" number either.or.check
     }
   if$
 }
-
 FUNCTION {format.number.series}
 { volume empty$
     { number empty$
         { series field.or.null }
+        { series empty$
+            { number "number" bibinfo.check }
         { output.state mid.sentence =
             { bbl.number }
             { bbl.number capitalize }
           if$
-          number tie.or.space.connect
-          series empty$
-            { "there's a number but no series in " cite$ * warning$ }
-            { bbl.in space.word * series * }
-          if$
+          number tie.or.space.prefix "number" bibinfo.check * *
+          bbl.in space.word *
+          series "series" bibinfo.check *
         }
       if$
     }
-    { "" }
-  if$
-}
-
-FUNCTION {is.num}
-{ chr.to.int$
-  duplicate$ "0" chr.to.int$ < not
-  swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
-  "" 's :=
-  { t empty$ not }
-  { t #1 #1 substring$
-    t #2 global.max$ substring$ 't :=
-    duplicate$ is.num
-      { s swap$ * 's := }
-      { pop$ "" 't := }
-    if$
-  }
-  while$
-  s empty$
-    'skip$
-    { pop$ s }
-  if$
-}
-
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
-  s "first" = s "1" = or
-    { bbl.first 't := }
-    { s "second" = s "2" = or
-        { bbl.second 't := }
-        { s "third" = s "3" = or
-            { bbl.third 't := }
-            { s "fourth" = s "4" = or
-                { bbl.fourth 't := }
-                { s "fifth" = s "5" = or
-                    { bbl.fifth 't := }
-                    { s #1 #1 substring$ is.num
-                        { s eng.ord 't := }
-                        { edition 't := }
-                      if$
-                    }
-                  if$
-                }
-              if$
-            }
-          if$
-        }
       if$
     }
+    { "" }
   if$
-  t
 }
 
 FUNCTION {format.edition}
-{ edition empty$
-    { "" }
-    { output.state mid.sentence =
-        { convert.edition "l" change.case$ " " * bbl.edition * }
-        { convert.edition "t" change.case$ " " * bbl.edition * }
-      if$
+{ edition duplicate$ empty$ 'skip$
+    {
+      output.state mid.sentence =
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      " " * bbl.edition *
     }
   if$
 }
-
 INTEGERS { multiresult }
-
 FUNCTION {multi.page.check}
 { 't :=
   #0 'multiresult :=
@@ -768,52 +703,58 @@
   while$
   multiresult
 }
+%FUNCTION {format.pages}
+%{ pages duplicate$ empty$ 'skip$
+%    { duplicate$ multi.page.check
+%        {
+%          n.dashify
+%        }
+%        {
+%        }
+%      if$
+%      "pages" bibinfo.check
+%    }
+%  if$
+%}
 
 FUNCTION {format.pages}
-{ pages empty$
-    { "" }
-    { pages multi.page.check
-        { bbl.pages pages n.dashify tie.or.space.connect }
-        { bbl.page pages tie.or.space.connect }
+{ pages duplicate$ empty$ 'skip$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }
+        {
+          bbl.page swap$
+        }
       if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
     }
   if$
 }
 
 FUNCTION {format.journal.pages}
-{ pages empty$
-    'skip$
-    { duplicate$ empty$
-        { pop$ format.pages }
+{ pages duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
         {
           ", " *
-          pages n.dashify *
+          swap$
+          n.dashify
+          "pages" bibinfo.check
+          *
         }
       if$
     }
   if$
 }
-
-%%SP 2001/01/23
-%% Only used in articles
 FUNCTION {format.vol.num.pages}
-{
-%%SP 2001/01/23
-%% Add the leading space only if there is a volume
-  %% volume field.or.null
-  " "
-  volume empty$
-    { pop$ "" }
-    { volume * }
-  if$
-  number empty$
-    'skip$
+{ volume field.or.null
+  duplicate$ empty$ 'skip$
     {
-      "~(" number * ")" * *
-      volume empty$
-        { "there's a number but no volume in " cite$ * warning$ }
-        'skip$
-      if$
+      "volume" bibinfo.check
     }
   if$
 }
@@ -823,70 +764,79 @@
     { "" }
     { type empty$
         { bbl.chapter }
-        { type "l" change.case$ }
+        { type "l" change.case$
+          "type" bibinfo.check
+        }
       if$
-      chapter tie.or.space.connect
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
     }
   if$
 }
 
+FUNCTION {format.booktitle}
+{
+  booktitle "booktitle" bibinfo.check
+}
 FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
-    { "" }
-    { editor empty$
-        { word.in booktitle * }
-        { word.in format.in.editors * ", " *
-          booktitle * }
+{ format.booktitle duplicate$ empty$ 'skip$
+    {
+      editor "editor" format.names.ed duplicate$ empty$ 'pop$
+        {
+          " " *
+          get.bbl.editor
+          capitalize
+          "(" swap$ * "), " *
+          * swap$
+          * }
       if$
+      word.in swap$ *
     }
   if$
 }
-
 FUNCTION {format.thesis.type}
-{ type empty$
-    'skip$
-    { pop$
-      type "t" change.case$
+{ type duplicate$ empty$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
     }
   if$
 }
-
 FUNCTION {format.tr.number}
-{ type empty$
-    { bbl.techrep }
-    'type
+{ number "number" bibinfo.check
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
   if$
-  number empty$
-    { "t" change.case$ }
-    { number tie.or.space.connect }
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
   if$
 }
-
 FUNCTION {format.article.crossref}
 {
   word.in
   " \cite{" * crossref * "}" *
 }
-
 FUNCTION {format.book.crossref}
-{ volume empty$
+{ volume duplicate$ empty$
     { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      word.in
+      pop$ word.in
     }
-    { bbl.volume capitalize
-      volume tie.or.space.connect
-      bbl.of space.word *
+    { bbl.volume
+      capitalize
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
     }
   if$
   " \cite{" * crossref * "}" *
 }
-
 FUNCTION {format.incoll.inproc.crossref}
 {
   word.in
   " \cite{" * crossref * "}" *
 }
-
 FUNCTION {format.org.or.pub}
 { 't :=
   ""
@@ -894,15 +844,12 @@
     'skip$
     {
       t empty$
-        { address empty$
-          'skip$
-          { address * }
-          if$
+        { address "address" bibinfo.check *
         }
         { t *
           address empty$
             'skip$
-            { ", " * address * }
+            { ", " * address "address" bibinfo.check * }
           if$
         }
       if$
@@ -909,54 +856,106 @@
     }
   if$
 }
-
 FUNCTION {format.publisher.address}
-{ publisher empty$
-    { "empty publisher in " cite$ * warning$
-      ""
-    }
-    { publisher }
-  if$
-  format.org.or.pub
+{ publisher "publisher" bibinfo.check format.org.or.pub
 }
 
 FUNCTION {format.organization.address}
-{ organization empty$
-    { "" }
-    { organization }
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {print.url}
+ {url duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     urlprefix "\url{" * swap$  * "}" *
+   }
+   if$
+ }
+
+FUNCTION {print.doi}
+ {doi duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     doiprefix "\doi{" * swap$  * "}" *
+   }
+   if$
+ }
+
+FUNCTION {print.eprint}
+ {eprint duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" *   }
+   if$
+ }
+
+FUNCTION {print.pubmed}
+ {pubmed duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     pubmedprefix "\Pubmed{" * swap$  * "}" *
+   }
+   if$
+ }
+
+FUNCTION {webpage}
+{ "%Type = Webpage" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  author empty$
+  {
+    format.title "title" output.check
+    new.block
+    format.date "year" output.check
+    date.block
+  }
+  {
+    format.date "year" output.check
+    date.block
+    format.title "title" output.check
+    new.block
+}
   if$
-  format.org.or.pub
+  print.url output
+  fin.entry
 }
 
+
 FUNCTION {article}
-{ output.bibitem
+{ "%Type = Article" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
   format.title "title" output.check
-  new.sentence
+  new.block
   crossref missing$
-    { journal
+    {
+      journal
+      "journal" bibinfo.check
       "journal" output.check
-%%SP 2001/01/23
-%% Add the space in format.vol.num.pages
-      %% add.blank
-  before.all 'output.state :=
+      add.blank
       format.vol.num.pages output
     }
     { format.article.crossref output.nonnull
-      format.pages output
     }
   if$
   format.journal.pages
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {book}
-{ output.bibitem
+{ "%Type = Book" write$
+  output.bibitem
   author empty$
     { format.editors "author and editor" output.check
       editor format.key output
@@ -972,40 +971,50 @@
   date.block
   format.btitle "title" output.check
   crossref missing$
-    { format.edition output
-      new.sentence
-  format.bvolume output
+    { format.bvolume output
+      new.block
       format.number.series output
+      format.edition output
       new.sentence
       format.publisher.address output
     }
     {
-  new.sentence
+      new.block
       format.book.crossref output.nonnull
     }
   if$
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {booklet}
-{ output.bibitem
+{ "%Type = Booklet" write$
+  output.bibitem
   format.authors output
   author format.key output
   format.date "year" output.check
   date.block
   format.title "title" output.check
-  new.sentence
-  howpublished output
-  address output
+  new.block
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {inbook}
-{ output.bibitem
+{ "%Type = Inbook" write$
+  output.bibitem
   author empty$
     { format.editors "author and editor" output.check
       editor format.key output
@@ -1020,45 +1029,49 @@
   format.date "year" output.check
   date.block
   format.btitle "title" output.check
+  format.edition output
   crossref missing$
     {
-      format.edition output
-      new.sentence
+      format.publisher.address output
       format.bvolume output
+      format.chapter.pages "chapter and pages" output.check
+      new.block
       format.number.series output
       new.sentence
-      format.publisher.address output
-      format.chapter.pages "chapter and pages" output.check
     }
     {
       format.chapter.pages "chapter and pages" output.check
-  new.sentence
+      new.block
       format.book.crossref output.nonnull
     }
   if$
   format.pages "pages" output.check
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {incollection}
-{ output.bibitem
+{ "%Type = Incollection" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
-  format.title "title" output.check
+  format.title "title" output.book.check
   new.sentence
   crossref missing$
-    { format.in.ed.booktitle "booktitle" output.check
+    { format.in.ed.booktitle "booktitle" output.book.check
       format.edition output
-      new.sentence
+      format.publisher.address output
       format.bvolume output
       format.number.series output
+      format.chapter.pages output
       new.sentence
-      format.publisher.address output
-      format.chapter.pages output
     }
     { format.incoll.inproc.crossref output.nonnull
       format.chapter.pages output
@@ -1065,172 +1078,209 @@
     }
   if$
   format.pages "pages" output.check
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {inproceedings}
-{ output.bibitem
+{ "%Type = Inproceedings" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
-  format.title "title" output.check
+  format.title "title" output.book.check
   new.sentence
   crossref missing$
     { format.in.ed.booktitle "booktitle" output.check
-      format.edition output
       new.sentence
-      format.bvolume output
-      format.number.series output
-      new.sentence
       publisher empty$
         { format.organization.address output }
-        { organization output
+        { organization "organization" bibinfo.check output
           format.publisher.address output
         }
       if$
-%%SP 2001/01/23
-%%      format.pages output
+%      format.bvolume output
+%      format.number.series output
+%      format.pages output
     }
     { format.incoll.inproc.crossref output.nonnull
-%%SP 2001/01/23
-%%      format.pages output
+      format.pages output
     }
   if$
-%%SP 2001/01/23
   format.pages "pages" output.check
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {conference} { inproceedings }
 
 FUNCTION {manual}
-{ output.bibitem
+{ "%Type = Manual" write$
+  output.bibitem
   format.authors output
   author format.key output
   format.date "year" output.check
   date.block
   format.btitle "title" output.check
-  new.sentence
-  organization output
-  address output
   format.edition output
+  organization address new.block.checkb
+  organization "organization" bibinfo.check output
+  address "address" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {mastersthesis}
-{ output.bibitem
+{ "%Type = Masterthesis" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
-  format.title "title" output.check
-  new.sentence
+  format.btitle
+  "title" output.check
+  new.block
   bbl.mthesis format.thesis.type output.nonnull
-  school "school" output.check
-  address output
+  school "school" bibinfo.warn output
+  address "address" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {misc}
-{ output.bibitem
+{ "%Type = Misc" write$
+  output.bibitem
   format.authors output
   author format.key output
   format.date "year" output.check
   date.block
   format.title output
-  new.sentence
-  howpublished output
+  new.block
+  howpublished "howpublished" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {phdthesis}
-{ output.bibitem
+{ "%Type = Phdthesis" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
-  format.title "title" output.check
-  new.sentence
+  format.btitle
+  "title" output.check
+  new.block
   bbl.phdthesis format.thesis.type output.nonnull
-  school "school" output.check
-  address output
+  school "school" bibinfo.warn output
+  address "address" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {proceedings}
-{ output.bibitem
+{ "%Type = Proceedings" write$
+  output.bibitem
   format.editors output
   editor format.key output
   format.date "year" output.check
   date.block
   format.btitle "title" output.check
-  new.sentence
   format.bvolume output
   format.number.series output
   new.sentence
   publisher empty$
     { format.organization.address output }
-    { organization output
+    { organization "organization" bibinfo.check output
       format.publisher.address output
     }
   if$
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {techreport}
-{ output.bibitem
+{ "%Type = Techreport" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
-  format.title "title" output.check
-  new.sentence
+  format.btitle
+  "title" output.check
+  new.block
   format.tr.number output.nonnull
-  institution "institution" output.check
-  address output
+  institution "institution" bibinfo.warn output
+  address "address" bibinfo.check output
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note output
   fin.entry
-  write.url
 }
 
 FUNCTION {unpublished}
-{ output.bibitem
+{ "%Type = Unpublished" write$
+  output.bibitem
   format.authors "author" output.check
   author format.key output
   format.date "year" output.check
   date.block
   format.title "title" output.check
+  new.block
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
   format.note "note" output.check
   fin.entry
-  write.url
 }
 
 FUNCTION {default.type} { misc }
-
 READ
-
 FUNCTION {sortify}
 { purify$
   "l" change.case$
 }
-
 INTEGERS { len }
-
 FUNCTION {chop.word}
 { 's :=
   'len :=
@@ -1239,9 +1289,9 @@
     's
   if$
 }
-
 FUNCTION {format.lab.names}
 { 's :=
+  "" 't :=
   s #1 "{vv~}{ll}" format.name$
   s num.names$ duplicate$
   #2 >
@@ -1320,7 +1370,8 @@
   "("
   *
   year duplicate$ empty$
-     { pop$ "????" }
+  short.list key field.or.null = or
+     { pop$ "" }
      'skip$
   if$
   *
@@ -1335,7 +1386,7 @@
   numnames 'namesleft :=
     { namesleft #0 > }
     { s nameptr
-      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
+      "{ll{ }}{  f{ }}{  jj{ }}"
       format.name$ 't :=
       nameptr #1 >
         {
@@ -1363,7 +1414,6 @@
   sortify
   #1 global.max$ substring$
 }
-
 FUNCTION {author.sort}
 { author empty$
     { key empty$
@@ -1376,7 +1426,6 @@
     { author sort.format.names }
   if$
 }
-
 FUNCTION {author.editor.sort}
 { author empty$
     { editor empty$
@@ -1393,7 +1442,6 @@
     { author sort.format.names }
   if$
 }
-
 FUNCTION {editor.sort}
 { editor empty$
     { key empty$
@@ -1406,7 +1454,6 @@
     { editor sort.format.names }
   if$
 }
-
 FUNCTION {presort}
 { calc.label
   label sortify
@@ -1436,13 +1483,9 @@
 }
 
 ITERATE {presort}
-
 SORT
-
 STRINGS { last.label next.extra }
-
 INTEGERS { last.extra.num number.label }
-
 FUNCTION {initialize.extra.label.stuff}
 { #0 int.to.chr$ 'last.label :=
   "" 'next.extra :=
@@ -1449,7 +1492,6 @@
   #0 'last.extra.num :=
   #0 'number.label :=
 }
-
 FUNCTION {forward.pass}
 { last.label label =
     { last.extra.num #1 + 'last.extra.num :=
@@ -1462,7 +1504,6 @@
   if$
   number.label #1 + 'number.label :=
 }
-
 FUNCTION {reverse.pass}
 { next.extra "b" =
     { "a" 'extra.label := }
@@ -1472,18 +1513,15 @@
   extra.label
   duplicate$ empty$
     'skip$
-    { "{\natexlab{" swap$ * "}}" * }
+%    { "{\natexlab{" swap$ * "}}" * }
+    { "" swap$ * "" * }
   if$
   'extra.label :=
   label extra.label * 'label :=
 }
-
 EXECUTE {initialize.extra.label.stuff}
-
 ITERATE {forward.pass}
-
 REVERSE {reverse.pass}
-
 FUNCTION {bib.sort.order}
 { sort.label
   "    "
@@ -1498,11 +1536,8 @@
   #1 entry.max$ substring$
   'sort.key$ :=
 }
-
 ITERATE {bib.sort.order}
-
 SORT
-
 FUNCTION {begin.bib}
 { preamble$ empty$
     'skip$
@@ -1512,26 +1547,51 @@
   write$ newline$
   "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
   write$ newline$
-  "\expandafter\ifx\csname url\endcsname\relax"
+  "\providecommand{\url}[1]{\texttt{#1}}"
   write$ newline$
-  "  \def\url#1{\texttt{#1}}\fi"
+  "\providecommand{\href}[2]{#2}"
   write$ newline$
-  "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+  "\providecommand{\path}[1]{#1}"
   write$ newline$
+  "\providecommand{\DOIprefix}{doi:}"
+  write$ newline$
+  "\providecommand{\ArXivprefix}{arXiv:}"
+  write$ newline$
+  "\providecommand{\URLprefix}{URL: }"
+  write$ newline$
+  "\providecommand{\Pubmedprefix}{pmid:}"
+  write$ newline$
+  "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}"
+  write$ newline$
+  "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}"
+  write$ newline$
+  "\providecommand{\bibinfo}[2]{#2}"
+  write$ newline$
+	"\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi"
+  write$ newline$
 }
-
 EXECUTE {begin.bib}
-
 EXECUTE {init.state.consts}
-
+EXECUTE {init.web.variables} 
 ITERATE {call.type$}
-
 FUNCTION {end.bib}
 { newline$
   "\end{thebibliography}" write$ newline$
 }
-
 EXECUTE {end.bib}
 %% End of customized bst file
 %%
 %% End of file `elsarticle-harv.bst'.
+%%
+%% Change log:
+%% -----------
+%% 22.04.2011
+%%
+%% 10.08.2012
+%%   a. doi, url, eprint, pmid added
+%%   b. Bibtype `webpage' defined
+%%
+%% 30.08.2012
+%%   a. collaboration added.
+%%
+

Modified: trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,7 @@
+%%
+%% This is file `elsarticle-num-names.bst'  (Version 2.1),
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2009-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -10,131 +12,119 @@
 %%    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.
-%% 
-%% The list of all files belonging to the 'Elsarticle Bundle' is
-%% given in the file `manifest.txt'.
-%% 
 %%
-%% This is file `elsearticle-num-names.bst',
-%% generated with the docstrip utility.
+%% $Id: elsarticle-num-names.bst 117 2018-06-29 04:56:59Z rishi $
 %%
-%% The original source files were:
+%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $
 %%
-%% merlin.mbs  (with options: `head,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% english.mbs  (with options: `exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% merlin.mbs  (with options: `tail,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}')
-%% ----------------------------------------
-%% *** Journal of Sound and Vibration ***
 %%
-%% Copyright 1994-2004 Patrick W Daly
- % ===============================================================
- % IMPORTANT NOTICE:
- % This bibliographic style (bst) file has been generated from one or
- % more master bibliographic style (mbs) files, listed above.
- %
- % This generated file can be redistributed and/or modified under the terms
- % of the LaTeX Project Public License Distributed from CTAN
- % archives in directory macros/latex/base/lppl.txt; either
- % version 1 of the License, or any later version.
- % ===============================================================
- % Name and version information of the main mbs file:
- % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
- %   For use with BibTeX version 0.99a or later
- %-------------------------------------------------------------------
 
 ENTRY
- { address
-   author
-   booktitle
-   chapter
-   doi
-   edition
-   editor
-   eid
-   howpublished
-   institution
-   isbn
-   issn
-   journal
-   key
-   month
-   note
-   number
-   organization
-   pages
-   publisher
-   school
-   series
-   title
-   type
-   url
-   volume
-   year
- }
- {}
- { label extra.label sort.label short.list }
+  { address
+    author
+    booktitle
+    chapter
+    collaboration
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    volume
+    year
+    url
+    doi
+    eprint
+    pubmed
+  }
+  {}
+  { label extra.label sort.label short.list }
+
 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+STRINGS { urlprefix doiprefix eprintprefix pubmedprefix }
+
+FUNCTION {init.web.variables}
+{
+ "\URLprefix "     'urlprefix :=
+ "\DOIprefix"      'doiprefix :=
+ "\ArXivprefix  "   'eprintprefix :=
+ "\Pubmedprefix "  'pubmedprefix :=
+}
+
 FUNCTION {init.state.consts}
 { #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
 }
 STRINGS { s t}
 FUNCTION {output.nonnull}
 { 's :=
- output.state mid.sentence =
-   { ", " * write$ }
-   { output.state after.block =
-       { add.period$ write$
-         newline$
-         "\newblock " write$
-       }
-       { output.state before.all =
-           'write$
-           { add.period$ " " * write$ }
-         if$
-       }
-     if$
-     mid.sentence 'output.state :=
-   }
- if$
- s
+  output.state mid.sentence =
+    { ", " * write$ }
+    { output.state after.block =
+%        { add.period$ write$
+        { ", " * write$
+          newline$
+          "\newblock " write$
+        }
+        { output.state before.all =
+            'write$
+            { add.period$ " " * write$ }
+          if$
+        }
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
 }
 FUNCTION {output}
 { duplicate$ empty$
-   'pop$
-   'output.nonnull
- if$
+    'pop$
+    'output.nonnull
+  if$
 }
 FUNCTION {output.check}
 { 't :=
- duplicate$ empty$
-   { pop$ "empty " t * " in " * cite$ * warning$ }
-   'output.nonnull
- if$
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
 }
 FUNCTION {fin.entry}
 { add.period$
- write$
- newline$
+  write$
+  newline$
 }
 
 FUNCTION {new.block}
 { output.state before.all =
-   'skip$
-   { after.block 'output.state := }
- if$
+    'skip$
+    { after.block 'output.state := }
+  if$
 }
 FUNCTION {new.sentence}
 { output.state after.block =
-   'skip$
-   { output.state before.all =
-       'skip$
-       { after.sentence 'output.state := }
-     if$
-   }
- if$
+    'skip$
+    { output.state before.all =
+        'skip$
+        { after.sentence 'output.state := }
+      if$
+    }
+  if$
 }
 FUNCTION {add.blank}
 {  " " * before.all 'output.state :=
@@ -142,50 +132,50 @@
 
 FUNCTION {date.block}
 {
- skip$
+  skip$
 }
 
 FUNCTION {not}
 {   { #0 }
-   { #1 }
- if$
+    { #1 }
+  if$
 }
 FUNCTION {and}
 {   'skip$
-   { pop$ #0 }
- if$
+    { pop$ #0 }
+  if$
 }
 FUNCTION {or}
 {   { pop$ #1 }
-   'skip$
- if$
+    'skip$
+  if$
 }
 FUNCTION {new.block.checkb}
 { empty$
- swap$ empty$
- and
-   'skip$
-   'new.block
- if$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
 }
 FUNCTION {field.or.null}
 { duplicate$ empty$
-   { pop$ "" }
-   'skip$
- if$
+    { pop$ "" }
+    'skip$
+  if$
 }
 FUNCTION {emphasize}
 { duplicate$ empty$
-   { pop$ "" }
-   { "\emph{" swap$ * "}" * }
- if$
+    { pop$ "" }
+    { "\textit{" swap$ * "}" * }
+  if$
 }
 FUNCTION {tie.or.space.prefix}
 { duplicate$ text.length$ #3 <
-   { "~" }
-   { " " }
- if$
- swap$
+    { "~" }
+    { " " }
+  if$
+  swap$
 }
 
 FUNCTION {capitalize}
@@ -195,10 +185,6 @@
 { " " swap$ * " " * }
  % Here are the language-specific definitions for explicit words.
  % Each function has a name bbl.xxx where xxx is the English word.
- %-------------------------------------------------------------------
- % Begin module:
- % \ProvidesFile{english.mbs}[2003/11/06 4.2 (PWD)]
-
  % The language selected here is ENGLISH
 FUNCTION {bbl.and}
 { "and"}
@@ -216,16 +202,16 @@
 { "edited by" }
 
 FUNCTION {bbl.edition}
-{ "edn." }
+{ "ed." }
 
 FUNCTION {bbl.volume}
-{ "vol." }
+{ "volume" }
 
 FUNCTION {bbl.of}
 { "of" }
 
 FUNCTION {bbl.number}
-{ "no." }
+{ "number" }
 
 FUNCTION {bbl.nr}
 { "no." }
@@ -234,16 +220,16 @@
 { "in" }
 
 FUNCTION {bbl.pages}
-{ "" }
+{ "pp." }
 
 FUNCTION {bbl.page}
-{ "" }
+{ "p." }
 
 FUNCTION {bbl.chapter}
-{ "chap." }
+{ "chapter" }
 
 FUNCTION {bbl.techrep}
-{ "Tech. Rep." }
+{ "Technical Report" }
 
 FUNCTION {bbl.mthesis}
 { "Master's thesis" }
@@ -251,237 +237,219 @@
 FUNCTION {bbl.phdthesis}
 { "Ph.D. thesis" }
 
-MACRO {jan} {"Jan."}
+MACRO {jan} {"January"}
 
-MACRO {feb} {"Feb."}
+MACRO {feb} {"February"}
 
-MACRO {mar} {"Mar."}
+MACRO {mar} {"March"}
 
-MACRO {apr} {"Apr."}
+MACRO {apr} {"April"}
 
 MACRO {may} {"May"}
 
-MACRO {jun} {"Jun."}
+MACRO {jun} {"June"}
 
-MACRO {jul} {"Jul."}
+MACRO {jul} {"July"}
 
-MACRO {aug} {"Aug."}
+MACRO {aug} {"August"}
 
-MACRO {sep} {"Sep."}
+MACRO {sep} {"September"}
 
-MACRO {oct} {"Oct."}
+MACRO {oct} {"October"}
 
-MACRO {nov} {"Nov."}
+MACRO {nov} {"November"}
 
-MACRO {dec} {"Dec."}
+MACRO {dec} {"December"}
 
- % End module: english.mbs
-%% Copyright 1994-2004 Patrick W Daly
-MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acmcs} {"ACM Comput. Surv."}
 
-MACRO {acta} {"Acta Informatica"}
+MACRO {acta} {"Acta Inf."}
 
-MACRO {cacm} {"Communications of the ACM"}
+MACRO {cacm} {"Commun. ACM"}
 
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
 
-MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ibmsj} {"IBM Syst.~J."}
 
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
 
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetc} {"IEEE Trans. Comput."}
 
 MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+ {"IEEE Trans. Comput. Aid. Des."}
 
-MACRO {ipl} {"Information Processing Letters"}
+MACRO {ipl} {"Inf. Process. Lett."}
 
-MACRO {jacm} {"Journal of the ACM"}
+MACRO {jacm} {"J.~ACM"}
 
-MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
 
-MACRO {scp} {"Science of Computer Programming"}
+MACRO {scp} {"Sci. Comput. Program."}
 
-MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {sicomp} {"SIAM J. Comput."}
 
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
 
-MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tods} {"ACM Trans. Database Syst."}
 
-MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {tog} {"ACM Trans. Graphic."}
 
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toms} {"ACM Trans. Math. Software"}
 
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
 
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
 
-MACRO {tcs} {"Theoretical Computer Science"}
+MACRO {tcs} {"Theor. Comput. Sci."}
+
 FUNCTION {bibinfo.check}
 { swap$
- duplicate$ missing$
-   {
-     pop$ pop$
-     ""
-   }
-   { duplicate$ empty$
-       {
-         swap$ pop$
-       }
-       { swap$
-         "\bibinfo{" swap$ * "}{" * swap$ * "}" *
-       }
-     if$
-   }
- if$
+  duplicate$ missing$
+    {
+      pop$ pop$
+      ""
+    }
+    { duplicate$ empty$
+        {
+          swap$ pop$
+        }
+        { swap$
+          "\bibinfo{" swap$ * "}{" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
 }
 FUNCTION {bibinfo.warn}
 { swap$
- duplicate$ missing$
-   {
-     swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
-     ""
-   }
-   { duplicate$ empty$
-       {
-         swap$ "empty " swap$ * " in " * cite$ * warning$
-       }
-       { swap$
-         "\bibinfo{" swap$ * "}{" * swap$ * "}" *
-       }
-     if$
-   }
- if$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }
+    { duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }
+        { swap$
+          pop$
+        }
+      if$
+    }
+  if$
 }
-FUNCTION {format.url}
-{ url empty$
-   { "" }
-   { "\urlprefix\url{" url * "}" * }
- if$
-}
-
 STRINGS  { bibinfo}
 INTEGERS { nameptr namesleft numnames }
 
 FUNCTION {format.names}
 { 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
-   { namesleft #0 > }
-   { s nameptr
-     "{f.~}{vv~}{ll}{, jj}"
-     format.name$
-     bibinfo bibinfo.check
-     't :=
-     nameptr #1 >
-       {
-         namesleft #1 >
-           { ", " * t * }
-           {
-             "," *
-             s nameptr "{ll}" format.name$ duplicate$ "others" =
-               { 't := }
-               { pop$ }
-             if$
-             t "others" =
-               {
-                 " " * bbl.etal *
-               }
-               { " " * t * }
-             if$
-           }
-         if$
-       }
-       't
-     if$
-     nameptr #1 + 'nameptr :=
-     namesleft #1 - 'namesleft :=
-   }
- while$
- } if$
+  duplicate$ empty$ 'skip$ {
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{f.~}{vv~}{ll}{, jj}"
+      format.name$
+      bibinfo bibinfo.check
+      't :=
+      nameptr #1 >
+        {
+          namesleft #1 >
+            { ", " * t * }
+            {
+              "," *
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                {
+                  " " * bbl.etal *
+                }
+                { " " * t * }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+  } if$
 }
 FUNCTION {format.names.ed}
 {
- format.names
+  format.names
 }
 FUNCTION {format.key}
 { empty$
-   { key field.or.null }
-   { "" }
- if$
+    { key field.or.null }
+    { "" }
+  if$
 }
 
+%FUNCTION {format.authors}
+%{ author "author" format.names
+%}
+
 FUNCTION {format.authors}
 { author "author" format.names
+    duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
+      if$
+      *
+    }
+  if$
 }
+
 FUNCTION {get.bbl.editor}
 { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
 
 FUNCTION {format.editors}
 { editor "editor" format.names duplicate$ empty$ 'skip$
-   {
-     " " *
-     get.bbl.editor
-     capitalize
-  "(" swap$ * ")" *
-     *
-   }
- if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
- duplicate$ empty$ 'skip$
-   {
-     "ISBN " swap$ *
-   }
- if$
-}
-
-FUNCTION {format.issn}
-{ issn "issn" bibinfo.check
- duplicate$ empty$ 'skip$
-   {
-     "ISSN " swap$ *
-   }
- if$
-}
-
- FUNCTION {format.doi}
- { doi "doi" bibinfo.check
-  duplicate$ empty$ 'skip$
     {
-      "\doi{" swap$  * "}" *
+      " " *
+      get.bbl.editor
+      capitalize
+   "(" swap$ * ")" *
+      *
     }
   if$
- }
-
+}
 FUNCTION {format.note}
 {
  note empty$
-   { "" }
-   { note #1 #1 substring$
-     duplicate$ "{" =
-       'skip$
-       { output.state mid.sentence =
-         { "l" }
-         { "u" }
-       if$
-       change.case$
-       }
-     if$
-     note #2 global.max$ substring$ * "note" bibinfo.check
-   }
- if$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        { output.state mid.sentence =
+          { "l" }
+          { "u" }
+        if$
+        change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+    }
+  if$
 }
 
 FUNCTION {format.title}
 { title
- "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    { "t" change.case$ }
+  if$
+  "title" bibinfo.check
 }
+
 FUNCTION {format.full.names}
 {'s :=
  "" 't :=
@@ -593,297 +561,279 @@
 
 FUNCTION {n.dashify}
 {
- 't :=
- ""
-   { t empty$ not }
-   { t #1 #1 substring$ "-" =
-       { t #1 #2 substring$ "--" = not
-           { "--" *
-             t #2 global.max$ substring$ 't :=
-           }
-           {   { t #1 #1 substring$ "-" = }
-               { "-" *
-                 t #2 global.max$ substring$ 't :=
-               }
-             while$
-           }
-         if$
-       }
-       { t #1 #1 substring$ *
-         t #2 global.max$ substring$ 't :=
-       }
-     if$
-   }
- while$
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }
+            {   { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }
+        { t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
 }
 
 FUNCTION {word.in}
 { bbl.in
- ":" *
- " " * }
+  ":" *
+  " " * }
 
 FUNCTION {format.date}
 { year "year" bibinfo.check duplicate$ empty$
-   {
-     "empty year in " cite$ * "; set to ????" * warning$
-      pop$ "????"
-   }
-   'skip$
- if$
- extra.label *
+    {
+      "empty year in " cite$ * "; set to ????" * warning$
+       pop$ "????"
+    }
+    'skip$
+  if$
+  extra.label *
 }
 FUNCTION{format.year}
 { year "year" bibinfo.check duplicate$ empty$
-   {  "empty year in " cite$ *
-      "; set to ????" *
-      warning$
-      pop$ "????"
-   }
-   {
-   }
- if$
- extra.label *
- "(" swap$ * ")" *
+    {  "empty year in " cite$ *
+       "; set to ????" *
+       warning$
+       pop$ "????"
+    }
+    {
+    }
+  if$
+  extra.label *
+  " (" swap$ * ")" *
 }
 FUNCTION {format.btitle}
 { title "title" bibinfo.check
- duplicate$ empty$ 'skip$
-   {
-   }
- if$
+  duplicate$ empty$ 'skip$
+    {
+    }
+  if$
 }
 FUNCTION {either.or.check}
 { empty$
-   'pop$
-   { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
 }
 FUNCTION {format.bvolume}
 { volume empty$
-   { "" }
-   { bbl.volume volume tie.or.space.prefix
-     "volume" bibinfo.check * *
-     series "series" bibinfo.check
-     duplicate$ empty$ 'pop$
-       { swap$ bbl.of space.word * swap$
-         emphasize * }
-     if$
-     "volume and number" number either.or.check
-   }
- if$
+    { "" }
+    { bbl.volume volume tie.or.space.prefix
+      "volume" bibinfo.check * *
+      series "series" bibinfo.check
+      duplicate$ empty$ 'pop$
+        { swap$ bbl.of space.word * swap$
+          emphasize * }
+      if$
+      "volume and number" number either.or.check
+    }
+  if$
 }
 FUNCTION {format.number.series}
 { volume empty$
-   { number empty$
-       { series field.or.null }
-       { series empty$
-           { number "number" bibinfo.check }
-           { output.state mid.sentence =
-               { bbl.number }
-               { bbl.number capitalize }
-             if$
-             number tie.or.space.prefix "number" bibinfo.check * *
-             bbl.in space.word *
-             series "series" bibinfo.check *
-           }
-         if$
-       }
-     if$
-   }
-   { "" }
- if$
+    { number empty$
+        { series field.or.null }
+        { series empty$
+            { number "number" bibinfo.check }
+        { output.state mid.sentence =
+            { bbl.number }
+            { bbl.number capitalize }
+          if$
+          number tie.or.space.prefix "number" bibinfo.check * *
+          bbl.in space.word *
+          series "series" bibinfo.check *
+        }
+      if$
+    }
+      if$
+    }
+    { "" }
+  if$
 }
 
 FUNCTION {format.edition}
 { edition duplicate$ empty$ 'skip$
-   {
-     output.state mid.sentence =
-       { "l" }
-       { "t" }
-     if$ change.case$
-     "edition" bibinfo.check
-     " " * bbl.edition *
-   }
- if$
+    {
+      output.state mid.sentence =
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      " " * bbl.edition *
+    }
+  if$
 }
 INTEGERS { multiresult }
 FUNCTION {multi.page.check}
 { 't :=
- #0 'multiresult :=
-   { multiresult not
-     t empty$ not
-     and
-   }
-   { t #1 #1 substring$
-     duplicate$ "-" =
-     swap$ duplicate$ "," =
-     swap$ "+" =
-     or or
-       { #1 'multiresult := }
-       { t #2 global.max$ substring$ 't := }
-     if$
-   }
- while$
- multiresult
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
 }
 FUNCTION {format.pages}
 { pages duplicate$ empty$ 'skip$
-   { duplicate$ multi.page.check
-       {
-         n.dashify
-       }
-       {
-       }
-     if$
-     "pages" bibinfo.check
-   }
- if$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }
+        {
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+    }
+  if$
 }
 FUNCTION {format.journal.pages}
 { pages duplicate$ empty$ 'pop$
-   { swap$ duplicate$ empty$
-       { pop$ pop$ format.pages }
-       {
-         " " *
-         format.year * " " *
-         swap$
-         n.dashify
-         "pages" bibinfo.check
-         *
-       }
-     if$
-   }
- if$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
+        {
+          " " *
+          swap$
+          n.dashify
+          "pages" bibinfo.check
+          *
+        }
+      if$
+    }
+  if$
 }
-FUNCTION {format.journal.eid}
-{ eid "eid" bibinfo.check
- duplicate$ empty$ 'pop$
-   { swap$ duplicate$ empty$ 'skip$
-     {
-         " " *
-     }
-     if$
-     swap$ *
-   }
- if$
-}
 FUNCTION {format.vol.num.pages}
 { volume field.or.null
- duplicate$ empty$ 'skip$
-   {
-     "volume" bibinfo.check
-   }
- if$
- number "number" bibinfo.check duplicate$ empty$ 'skip$
-   {
-     swap$ duplicate$ empty$
-       { "there's a number but no volume in " cite$ * warning$ }
-       'skip$
-     if$
-     swap$
-     "~(" swap$ * ")" *
-   }
- if$ *
+  duplicate$ empty$ 'skip$
+    {
+      "volume" bibinfo.check
+    }
+  if$
+  format.year *
 }
 
 FUNCTION {format.chapter.pages}
 { chapter empty$
-   { "" }
-   { type empty$
-       { bbl.chapter }
-       { type "l" change.case$
-         "type" bibinfo.check
-       }
-     if$
-     chapter tie.or.space.prefix
-     "chapter" bibinfo.check
-     * *
-   }
- if$
+    { "" }
+    { type empty$
+        { bbl.chapter }
+        { type "l" change.case$
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+    }
+  if$
 }
 
 FUNCTION {format.booktitle}
 {
- booktitle "booktitle" bibinfo.check
+  booktitle "booktitle" bibinfo.check
 }
 FUNCTION {format.in.ed.booktitle}
 { format.booktitle duplicate$ empty$ 'skip$
-   {
-     editor "editor" format.names.ed duplicate$ empty$ 'pop$
-       {
-         " " *
-         get.bbl.editor
-         capitalize
-         "(" swap$ * "), " *
-         * swap$
-         * }
-     if$
-     word.in swap$ *
-   }
- if$
+    {
+      editor "editor" format.names.ed duplicate$ empty$ 'pop$
+        {
+          " " *
+          get.bbl.editor
+          capitalize
+          "(" swap$ * "), " *
+          * swap$
+          * }
+      if$
+      word.in swap$ *
+    }
+  if$
 }
 FUNCTION {format.thesis.type}
 { type duplicate$ empty$
-   'pop$
-   { swap$ pop$
-     "t" change.case$ "type" bibinfo.check
-   }
- if$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
+    }
+  if$
 }
 FUNCTION {format.tr.number}
 { number "number" bibinfo.check
- type duplicate$ empty$
-   { pop$ bbl.techrep }
-   'skip$
- if$
- "type" bibinfo.check
- swap$ duplicate$ empty$
-   { pop$ "t" change.case$ }
-   { tie.or.space.prefix * * }
- if$
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
+  if$
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
+  if$
 }
 FUNCTION {format.article.crossref}
 {
- word.in
- " \cite{" * crossref * "}" *
+  word.in
+  " \cite{" * crossref * "}" *
 }
 FUNCTION {format.book.crossref}
 { volume duplicate$ empty$
-   { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-     pop$ word.in
-   }
-   { bbl.volume
-     swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
-   }
- if$
- " \cite{" * crossref * "}" *
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      pop$ word.in
+    }
+    { bbl.volume
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+    }
+  if$
+  " \cite{" * crossref * "}" *
 }
 FUNCTION {format.incoll.inproc.crossref}
 {
- word.in
- " \cite{" * crossref * "}" *
+  word.in
+  " \cite{" * crossref * "}" *
 }
 FUNCTION {format.org.or.pub}
 { 't :=
- ""
- address empty$ t empty$ and
-   'skip$
-   {
-     t empty$
-       { address "address" bibinfo.check *
-       }
-       { t *
-         address empty$
-           'skip$
-           { ", " * address "address" bibinfo.check * }
-         if$
-       }
-     if$
-   }
- if$
+  ""
+  address empty$ t empty$ and
+    'skip$
+    {
+      t empty$
+        { address "address" bibinfo.check *
+        }
+        { t *
+          address empty$
+            'skip$
+            { ", " * address "address" bibinfo.check * }
+          if$
+        }
+      if$
+    }
+  if$
 }
 FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.warn format.org.or.pub
+{ publisher "publisher" bibinfo.check format.org.or.pub
 }
 
 FUNCTION {format.organization.address}
@@ -890,278 +840,377 @@
 { organization "organization" bibinfo.check format.org.or.pub
 }
 
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
-   {
-     journal
-     "journal" bibinfo.check
-     "journal" output.check
-     add.blank
-     format.vol.num.pages output
+FUNCTION {print.url}
+ {url duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     urlprefix "\url{" * swap$  * "}" *
    }
-   { format.article.crossref output.nonnull
+   if$
+ }
+
+FUNCTION {print.doi}
+ {doi duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     doiprefix "\doi{" * swap$  * "}" *
    }
- if$
- eid empty$
-   { format.journal.pages }
-   { format.journal.eid }
- if$
- format.issn output
- format.doi output
- format.url output
- format.note output
- fin.entry
-}
-FUNCTION {book}
-{ output.bibitem
- author empty$
-   { format.editors "author and editor" output.check
-     editor format.key output
+   if$
+ }
+
+FUNCTION {print.eprint}
+ {eprint duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" *
    }
-   { format.authors output.nonnull
-     crossref missing$
-       { "author and editor" editor either.or.check }
-       'skip$
-     if$
+   if$
+ }
+
+FUNCTION {print.pubmed}
+ {pubmed duplicate$ empty$
+   { pop$ "" }
+   { new.sentence
+     pubmedprefix "\Pubmed{" * swap$  * "}" *
    }
- if$
- format.btitle "title" output.check
- crossref missing$
-   { format.bvolume output
-     format.number.series output
-     format.publisher.address output
-   }
-   {
-     format.book.crossref output.nonnull
-   }
- if$
- format.edition output
- format.isbn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+   if$
+ }
+
+FUNCTION {webpage}
+{ "%Type = Webpage" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  author empty$
+  {
+    format.title "title" output.check
+    new.block
+    format.date "year" output.check
+    date.block
+  }
+  {
+    format.date "year" output.check
+    date.block
+    format.title "title" output.check
+    new.block
 }
+  if$
+  print.url output
+  fin.entry
+}
+
+
+FUNCTION {article}
+{ "%Type = Article" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    {
+      journal
+      "journal" bibinfo.check
+      "journal" output.check
+      add.blank
+      format.vol.num.pages output
+    }
+    { format.article.crossref output.nonnull
+    }
+  if$
+  format.journal.pages
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
+}
+FUNCTION {book}
+{ "%Type = Book" write$
+  output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check
+      editor format.key output
+    }
+    { format.authors output.nonnull
+      crossref missing$
+        { "author and editor" editor either.or.check }
+        'skip$
+      if$
+    }
+  if$
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      format.number.series output
+      format.edition output
+      format.publisher.address output
+    }
+    {
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
+}
 FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- author format.key output
- format.title "title" output.check
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- format.isbn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Booklet" write$
+  output.bibitem
+  format.authors output
+  author format.key output
+  format.title "title" output.check
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {inbook}
-{ output.bibitem
- author empty$
-   { format.editors "author and editor" output.check
-     editor format.key output
-   }
-   { format.authors output.nonnull
-     crossref missing$
-       { "author and editor" editor either.or.check }
-       'skip$
-     if$
-   }
- if$
- format.btitle "title" output.check
- crossref missing$
-   {
-     format.bvolume output
-     format.chapter.pages "chapter and pages" output.check
-     format.number.series output
-     format.publisher.address output
-   }
-   {
-     format.chapter.pages "chapter and pages" output.check
-     format.book.crossref output.nonnull
-   }
- if$
- format.edition output
- crossref missing$
-   { format.isbn output }
-   'skip$
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Inbook" write$
+  output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check
+      editor format.key output
+    }
+    { format.authors output.nonnull
+      crossref missing$
+        { "author and editor" editor either.or.check }
+        'skip$
+      if$
+    }
+  if$
+  format.btitle "title" output.check
+  crossref missing$
+    {
+      format.bvolume output
+      format.number.series output
+      format.edition output
+      format.publisher.address output
+    }
+    {
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.date "year" output.check
+  format.pages "pages" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
-   { format.in.ed.booktitle "booktitle" output.check
-     format.bvolume output
-     format.number.series output
-     format.chapter.pages output
-     format.publisher.address output
-     format.edition output
-     format.isbn output
-   }
-   { format.incoll.inproc.crossref output.nonnull
-     format.chapter.pages output
-   }
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Incollection" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      format.edition output
+      format.publisher.address output
+    }
+    { format.incoll.inproc.crossref output.nonnull
+    }
+  if$
+  format.date "year" output.check
+  format.pages "pages" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- crossref missing$
-   { format.in.ed.booktitle "booktitle" output.check
-     format.bvolume output
-     format.number.series output
-     publisher empty$
-       { format.organization.address output }
-       { organization "organization" bibinfo.check output
-         format.publisher.address output
-       }
-     if$
-     format.isbn output
-     format.issn output
-   }
-   { format.incoll.inproc.crossref output.nonnull
-   }
- if$
- format.pages "pages" output.check
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Inproceedings" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+      publisher empty$
+        { format.organization.address output }
+        { organization "organization" bibinfo.check output
+          format.publisher.address output
+        }
+      if$
+    }
+    { format.incoll.inproc.crossref output.nonnull
+    }
+  if$
+  format.date output
+  format.pages "pages" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 FUNCTION {conference} { inproceedings }
 FUNCTION {manual}
-{ output.bibitem
- format.authors output
- author format.key output
- format.btitle "title" output.check
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Manual" write$
+  output.bibitem
+  format.authors output
+  author format.key output
+  format.btitle "title" output.check
+  format.edition output
+  organization "organization" bibinfo.check output
+  address "address" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.btitle
- "title" output.check
- bbl.mthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Masterthesis" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.btitle
+  "title" output.check
+  bbl.mthesis format.thesis.type output.nonnull
+  school "school" bibinfo.warn output
+  address "address" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {misc}
-{ output.bibitem
- format.authors output
- author format.key output
- format.title output
- howpublished "howpublished" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Misc" write$
+  output.bibitem
+  format.authors output
+  author format.key output
+  format.title output
+  howpublished "howpublished" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.btitle
- "title" output.check
- bbl.phdthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Phdthesis" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.btitle
+  "title" output.check
+  bbl.phdthesis format.thesis.type output.nonnull
+  school "school" bibinfo.warn output
+  address "address" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {proceedings}
-{ output.bibitem
- format.editors output
- editor format.key output
- format.btitle "title" output.check
- format.bvolume output
- format.number.series output
- publisher empty$
-   { format.organization.address output }
-   { organization "organization" bibinfo.check output
-     format.publisher.address output
-   }
- if$
- format.isbn output
- format.issn output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Proceedings" write$
+  output.bibitem
+  format.editors output
+  editor format.key output
+  format.btitle "title" output.check
+  format.bvolume output
+  format.number.series output
+  publisher empty$
+    { format.organization.address output }
+    { organization "organization" bibinfo.check output
+      format.publisher.address output
+    }
+  if$
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title
- "title" output.check
- format.tr.number output.nonnull
- institution "institution" bibinfo.warn output
- address "address" bibinfo.check output
- format.doi output
- format.url output
- format.note output
- format.date "year" output.check
- fin.entry
+{ "%Type = Techreport" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.btitle
+  "title" output.check
+  format.tr.number output.nonnull
+  institution "institution" bibinfo.warn output
+  address "address" bibinfo.check output
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note output
+  fin.entry
 }
 
 FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.title "title" output.check
- format.doi output
- format.url output
- format.note "note" output.check
- format.date output
- fin.entry
+{ "%Type = Unpublished" write$
+  output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.title "title" output.check
+  format.date "year" output.check
+  new.sentence
+  print.url output
+  print.doi output
+  print.eprint output
+  print.pubmed output
+  format.note "note" output.check
+  fin.entry
 }
 
 FUNCTION {default.type} { misc }
@@ -1168,243 +1217,244 @@
 READ
 FUNCTION {sortify}
 { purify$
- "l" change.case$
+  "l" change.case$
 }
 INTEGERS { len }
 FUNCTION {chop.word}
 { 's :=
- 'len :=
- s #1 len substring$ =
-   { s len #1 + global.max$ substring$ }
-   's
- if$
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
 }
 FUNCTION {format.lab.names}
 { 's :=
- "" 't :=
- s #1 "{vv~}{ll}" format.name$
- s num.names$ duplicate$
- #2 >
-   { pop$
-     " " * bbl.etal *
-   }
-   { #2 <
-       'skip$
-       { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-           {
-             " " * bbl.etal *
-           }
-           { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-             * }
-         if$
-       }
-     if$
-   }
- if$
+  "" 't :=
+  s #1 "{vv~}{ll}" format.name$
+  s num.names$ duplicate$
+  #2 >
+    { pop$
+      " " * bbl.etal *
+    }
+    { #2 <
+        'skip$
+        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+            {
+              " " * bbl.etal *
+            }
+            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+              * }
+          if$
+        }
+      if$
+    }
+  if$
 }
 
 FUNCTION {author.key.label}
 { author empty$
-   { key empty$
-       { cite$ #1 #3 substring$ }
-       'key
-     if$
-   }
-   { author format.lab.names }
- if$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { author format.lab.names }
+  if$
 }
 
 FUNCTION {author.editor.key.label}
 { author empty$
-   { editor empty$
-       { key empty$
-           { cite$ #1 #3 substring$ }
-           'key
-         if$
-       }
-       { editor format.lab.names }
-     if$
-   }
-   { author format.lab.names }
- if$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            'key
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
 }
 
 FUNCTION {editor.key.label}
 { editor empty$
-   { key empty$
-       { cite$ #1 #3 substring$ }
-       'key
-     if$
-   }
-   { editor format.lab.names }
- if$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { editor format.lab.names }
+  if$
 }
 
 FUNCTION {calc.short.authors}
 { type$ "book" =
- type$ "inbook" =
- or
-   'author.editor.key.label
-   { type$ "proceedings" =
-       'editor.key.label
-       'author.key.label
-     if$
-   }
- if$
- 'short.list :=
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.label
+        'author.key.label
+      if$
+    }
+  if$
+  'short.list :=
 }
 
 FUNCTION {calc.label}
 { calc.short.authors
- short.list
- "("
- *
- year duplicate$ empty$
-    { pop$ "????" }
-    { purify$ #-1 #4 substring$ }
- if$
- *
- 'label :=
+  short.list
+  "("
+  *
+  year duplicate$ empty$
+     { pop$ "????" }
+     { purify$ #-1 #4 substring$ }
+  if$
+  *
+  'label :=
 }
 
 FUNCTION {sort.format.names}
 { 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
-   { namesleft #0 > }
-   { s nameptr
-     "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
-     format.name$ 't :=
-     nameptr #1 >
-       {
-         "   "  *
-         namesleft #1 = t "others" = and
-           { "zzzzz" * }
-           { t sortify * }
-         if$
-       }
-       { t sortify * }
-     if$
-     nameptr #1 + 'nameptr :=
-     namesleft #1 - 'namesleft :=
-   }
- while$
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
+      format.name$ 't :=
+      nameptr #1 >
+        {
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            { t sortify * }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
 }
 
 FUNCTION {sort.format.title}
 { 't :=
- "A " #2
-   "An " #3
-     "The " #4 t chop.word
-   chop.word
- chop.word
- sortify
- #1 global.max$ substring$
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
 }
 FUNCTION {author.sort}
 { author empty$
-   { key empty$
-       { "to sort, need author or key in " cite$ * warning$
-         ""
-       }
-       { key sortify }
-     if$
-   }
-   { author sort.format.names }
- if$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
 }
 FUNCTION {author.editor.sort}
 { author empty$
-   { editor empty$
-       { key empty$
-           { "to sort, need author, editor, or key in " cite$ * warning$
-             ""
-           }
-           { key sortify }
-         if$
-       }
-       { editor sort.format.names }
-     if$
-   }
-   { author sort.format.names }
- if$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
 }
 FUNCTION {editor.sort}
 { editor empty$
-   { key empty$
-       { "to sort, need editor or key in " cite$ * warning$
-         ""
-       }
-       { key sortify }
-     if$
-   }
-   { editor sort.format.names }
- if$
+    { key empty$
+        { "to sort, need editor or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
 }
-INTEGERS { seq.num }
-FUNCTION {init.seq}
-{ #0 'seq.num :=}
-EXECUTE {init.seq}
-FUNCTION {int.to.fix}
-{ "000000000" swap$ int.to.str$ *
- #-1 #10 substring$
-}
 FUNCTION {presort}
 { calc.label
- label sortify
- "    "
- *
- seq.num #1 + 'seq.num :=
- seq.num  int.to.fix
- 'sort.label :=
- sort.label
- *
- "    "
- *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
+  label sortify
+  "    "
+  *
+  type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+        'editor.sort
+        'author.sort
+      if$
+    }
+  if$
+  #1 entry.max$ substring$
+  'sort.label :=
+  sort.label
+  *
+  "    "
+  *
+  title field.or.null
+  sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
 }
 
 ITERATE {presort}
-SORT
+%SORT
 STRINGS { last.label next.extra }
 INTEGERS { last.extra.num number.label }
 FUNCTION {initialize.extra.label.stuff}
 { #0 int.to.chr$ 'last.label :=
- "" 'next.extra :=
- #0 'last.extra.num :=
- #0 'number.label :=
+  "" 'next.extra :=
+  #0 'last.extra.num :=
+  #0 'number.label :=
 }
 FUNCTION {forward.pass}
 { last.label label =
-   { last.extra.num #1 + 'last.extra.num :=
-     last.extra.num int.to.chr$ 'extra.label :=
-   }
-   { "a" chr.to.int$ 'last.extra.num :=
-     "" 'extra.label :=
-     label 'last.label :=
-   }
- if$
- number.label #1 + 'number.label :=
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+  number.label #1 + 'number.label :=
 }
 FUNCTION {reverse.pass}
 { next.extra "b" =
-   { "a" 'extra.label := }
-   'skip$
- if$
- extra.label 'next.extra :=
- extra.label
- duplicate$ empty$
-   'skip$
-   { "{\natexlab{" swap$ * "}}" * }
- if$
- 'extra.label :=
- label extra.label * 'label :=
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+  extra.label
+  duplicate$ empty$
+    'skip$
+    { "{\natexlab{" swap$ * "}}" * }
+  if$
+  'extra.label :=
+  label extra.label * 'label :=
 }
 EXECUTE {initialize.extra.label.stuff}
 ITERATE {forward.pass}
@@ -1411,51 +1461,74 @@
 REVERSE {reverse.pass}
 FUNCTION {bib.sort.order}
 { sort.label
- "    "
- *
- year field.or.null sortify
- *
- "    "
- *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
+  "    "
+  *
+  year field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null
+  sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
 }
 ITERATE {bib.sort.order}
-SORT
+%SORT
 FUNCTION {begin.bib}
 { preamble$ empty$
-   'skip$
-   { preamble$ write$ newline$ }
- if$
- "\begin{thebibliography}{" number.label int.to.str$ * "}" *
- write$ newline$
- "\providecommand{\natexlab}[1]{#1}"
- write$ newline$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\providecommand{\urlprefix}{URL }"
- write$ newline$
- "\expandafter\ifx\csname urlstyle\endcsname\relax"
- write$ newline$
- "  \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
- write$ newline$
- "  \providecommand{\doi}[1]{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\url{#1}\endgroup}\fi"
- write$ newline$
- "\providecommand{\bibinfo}[2]{#2}"
- write$ newline$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+  write$ newline$
+  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+  write$ newline$
+  "\providecommand{\url}[1]{\texttt{#1}}"
+  write$ newline$
+  "\providecommand{\href}[2]{#2}"
+  write$ newline$
+  "\providecommand{\path}[1]{#1}"
+  write$ newline$
+  "\providecommand{\DOIprefix}{doi:}"
+  write$ newline$
+  "\providecommand{\ArXivprefix}{arXiv:}"
+  write$ newline$
+  "\providecommand{\URLprefix}{URL: }"
+  write$ newline$
+  "\providecommand{\Pubmedprefix}{pmid:}"
+  write$ newline$
+  "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}"
+  write$ newline$
+  "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}"
+  write$ newline$
+  "\providecommand{\bibinfo}[2]{#2}"
+  write$ newline$
+	"\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi"
+  write$ newline$
 }
 EXECUTE {begin.bib}
 EXECUTE {init.state.consts}
+EXECUTE {init.web.variables} 
 ITERATE {call.type$}
 FUNCTION {end.bib}
 { newline$
- "\end{thebibliography}" write$ newline$
+  "\end{thebibliography}" write$ newline$
 }
 EXECUTE {end.bib}
 %% End of customized bst file
 %%
+%% End of file `elsarticle-num-names.bst'.
 %%
-%% End of file `elsarticle-num-names.bst'.
+%%
+%% Change log:
+%% -----------
+%% 22.04.2011
+%%
+%% 10.08.2012
+%%   a. doi, url, eprint, pmid added
+%%   b. Bibtype `webpage' defined
+%%
+%% 30.08.2012
+%%   a. collaboration added.
+

Modified: trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,7 @@
+%%
+%% This is file `elsarticle-num.bst' (Version 2.1),
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -11,27 +13,11 @@
 %% and version 1.2 or later is part of all distributions of LaTeX
 %% version 1999/12/01 or later.
 %% 
-%% The list of all files belonging to the 'Elsarticle Bundle' is
-%% given in the file `manifest.txt'.
 %% 
-%%% Modification of BibTeX style file elsarticle-num.bst
-%%% ... by urlbst, version 0.6 (marked with "% urlbst")
-%%% See <http://purl.org/nxg/dist/urlbst>
-%%% Added webpage entry type, and url and lastchecked fields.
-%%% Added eprint support.
-%%% Added DOI support.
-%%% Added hyperref support.
-%%% Original headers follow...
-
+%% $Id: elsarticle-num.bst 118 2018-06-29 04:58:02Z rishi $
+%% 
+%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $
 %%
-%% This is file `elsarticle-num.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% merlin.mbs  (with options: `,seq-no,nm-init,ed-au,dt-end,yr-par,yrp-x,jttl-rm,thtit-a,vnum-sp,volp-blk,jdt-p,pp-last,jnm-x,btit-rm,bt-rm,pub-date,pub-xpar,pre-edn,url,url-nl,edpar,blk-com,in-col,pp,ed,abr,ednx,ord,jabr,and-xcom,xand,em-x,nfss')
-%% After docstrip generation some manual changes were made (SP)
-
 %% ----------------------------------------
 
 ENTRY
@@ -74,7 +60,7 @@
   "Available from: " 'urlintro := % prefix before URL
   "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
   "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
-  "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+  "https://doi.org/" 'doiurl := % prefix to make URL from DOI
   "doi:" 'doiprefix :=      % text prefix printed before DOI ref
   #1 'addeprints :=         % 0=no eprints; 1=include eprints
   #1 'adddoiresolver :=     % 0=no DOI resolver; 1=include it
@@ -1515,3 +1501,4 @@
 %% End of customized bst file
 %%
 %% End of file `elsarticle-num.bst'.
+

Added: trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/README	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/README	2018-07-04 21:25:46 UTC (rev 48134)
@@ -5,26 +5,28 @@
 Elsevier's previous document class for typeset articles, elsart.cls,
 is now over 10 years old. It has been replaced with this newly written
 document class elsarticle.cls, which has been developed for Elsevier
-by the leading TeX developer River Valley Technologies.
+by the leading TeX developer STM Document Engineering Pvt Ltd.
 
 elsarticle.cls is based upon the standard LaTeX document class
 article.cls. It uses natbib.sty for bibliographical references.
 
 Bugs and problems with elsarticle.cls may be reported to the
-developers of the class via elsarticle at river-valley.com.
+developers of the class via elsarticle at stmdocs.in.
 
 The file manifest.txt provides a list of the files in the elsarticle
 bundle.  The following are the main files available:
-- elsarticle.cls, the class file
+- elsarticle.dtx, the dtx 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
+- elsarticle-template-num.tex, template file for numerical citations
+- elsarticle-template-harv.tex, template file for name-year citations
+- elsarticle-template-num-names.tex, template file for numerical 
+  citations + new natbib option.  Eg. Jones et al. [21]
 - elsarticle-num.bst, bibliographic style for numerical references
 - elsarticle-harv.bst, bibliographic style for name-year references
-- elsarticle-num-names.bst, bibliographic style for numerical references 
-  with author-year citation
+- elsarticle-num-names.bst, bibliographic style for numerical 
+  referencces + new natbib option for citations.
 
-To extract all files from *.dtx: latex elsarticle.ins
+To extract elsarticle.cls from *.dtx: latex elsarticle.ins
 
 The documentation file is elsdoc.tex in the contrib directory.  To
 compile it:
@@ -38,8 +40,8 @@
 
 The above procedure will create a print version, namely elsdoc.pdf.
 
-Copyright 2007-2009, Elsevier. Bugs, feature requests, suggestions and
-comments may be mailed to elsarticle at river-valley.com. elsarticle.cls,
+Copyright 2007-2018, Elsevier. Bugs, feature requests, suggestions and
+comments may be mailed to elsarticle at stmdocs.in. 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

Deleted: trunk/Master/texmf-dist/doc/latex/elsarticle/els-1p.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/elsarticle/els-3pd.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/elsarticle/els1.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/elsarticle/els2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,5 @@
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -16,7 +16,6 @@
 %% 
 %% Template article for Elsevier's document class `elsarticle'
 %% with harvard style bibliographic references
-%% SP 2008/03/01
 
 \documentclass[preprint,12pt,authoryear]{elsarticle}
 

Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex	2018-07-04 21:25:46 UTC (rev 48134)
@@ -0,0 +1,141 @@
+%% 
+%% Copyright 2007-2018 Elsevier Ltd
+%% 
+%% This file is part of the 'Elsarticle Bundle'.
+%% ---------------------------------------------
+%% 
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%% 
+%% The list of all files belonging to the 'Elsarticle Bundle' is
+%% given in the file `manifest.txt'.
+%% 
+%% Template article for Elsevier's document class `elsarticle'
+%% with harvard style bibliographic references
+
+\documentclass[preprint,12pt]{elsarticle}
+
+%% Use the option review to obtain double line spacing
+%% \documentclass[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}
+
+%% For including figures, graphicx.sty has been loaded in
+%% elsarticle.cls. If you prefer to use the old commands
+%% please give \usepackage{epsfig}
+
+%% The amssymb package provides various useful mathematical symbols
+\usepackage{amssymb}
+%% The amsthm package provides extended theorem environments
+%% \usepackage{amsthm}
+
+%% The lineno packages adds line numbers. Start line numbering with
+%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
+%% for the whole article with \linenumbers.
+%% \usepackage{lineno}
+
+\journal{Nuclear Physics B}
+
+\begin{document}
+
+\begin{frontmatter}
+
+%% Title, authors and addresses
+
+%% use the tnoteref command within \title for footnotes;
+%% use the tnotetext command for theassociated footnote;
+%% use the fnref command within \author or \address for footnotes;
+%% use the fntext command for theassociated footnote;
+%% use the corref command within \author for corresponding author footnotes;
+%% use the cortext command for theassociated footnote;
+%% use the ead command for the email address,
+%% and the form \ead[url] for the home page:
+%% \title{Title\tnoteref{label1}}
+%% \tnotetext[label1]{}
+%% \author{Name\corref{cor1}\fnref{label2}}
+%% \ead{email address}
+%% \ead[url]{home page}
+%% \fntext[label2]{}
+%% \cortext[cor1]{}
+%% \address{Address\fnref{label3}}
+%% \fntext[label3]{}
+
+\title{}
+
+%% use optional labels to link authors explicitly to addresses:
+%% \author[label1,label2]{}
+%% \address[label1]{}
+%% \address[label2]{}
+
+\author{}
+
+\address{}
+
+\begin{abstract}
+%% Text of abstract
+
+\end{abstract}
+
+\begin{keyword}
+%% keywords here, in the form: keyword \sep keyword
+
+%% PACS codes here, in the form: \PACS code \sep code
+
+%% MSC codes here, in the form: \MSC code \sep code
+%% or \MSC[2008] code \sep code (2000 is the default)
+
+\end{keyword}
+
+\end{frontmatter}
+
+%% \linenumbers
+
+%% main text
+\section{}
+\label{}
+
+%% The Appendices part is started with the command \appendix;
+%% appendix sections are then done as normal sections
+%% \appendix
+
+%% \section{}
+%% \label{}
+
+%% For citations use: 
+%%       \citet{<label>} ==> Jones et al. [21]
+%%       \citep{<label>} ==> [21]
+%%
+
+%% If you have bibdatabase file and want bibtex to generate the
+%% bibitems, please use
+%%
+%%  \bibliographystyle{elsarticle-num-names} 
+%%  \bibliography{<your bibdatabase>}
+
+%% else use the following coding to input the bibitems directly in the
+%% TeX file.
+
+\begin{thebibliography}{00}
+
+%% \bibitem[Author(year)]{label}
+%% Text of bibliographic item
+
+\bibitem[ ()]{}
+
+\end{thebibliography}
+\end{document}
+
+\endinput
+%%
+%% End of file `elsarticle-template-num-names.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,5 @@
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -18,7 +18,12 @@
 %% Template article for Elsevier's document class `elsarticle'
 %% with numbered style bibliographic references
 %% SP 2008/03/01
-
+%%
+%% 
+%%
+%% $Id: elsarticle-template-num.tex 64 2013-05-15 12:23:51Z rishi $
+%%
+%%
 \documentclass[preprint,12pt]{elsarticle}
 
 %% Use the option review to obtain double line spacing

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,5 +1,5 @@
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -13,7 +13,9 @@
 %% 
 %% The list of all files belonging to the 'Elsarticle Bundle' is
 %% given in the file `manifest.txt'.
-%% 
+%%
+%% $Id: elsdoc.tex 128 2018-06-29 05:20:50Z rishi $
+%%
 \documentclass[a4paper,12pt]{article}
 
 \usepackage[xcolor,qtwo]{rvdtx}
@@ -21,7 +23,7 @@
 \usepackage{color}
 \usepackage{xspace}
 \usepackage{pdfwidgets}
-\usepackage{enum}
+\usepackage{enumerate}
 
 \def\ttdefault{cmtt}
 
@@ -53,6 +55,8 @@
 
 \def\figurename{Clip}
 
+\setcounter{tocdepth}{1}
+
 \begin{document}
 
 \def\testa{This is a specimen document. }
@@ -65,14 +69,13 @@
 \title{elsarticle.cls -- A better way to format your document}
 
 \author{Elsevier Ltd}
-\contact{elsarticle at river-valley.com}
+\contact{elsarticle at stmdocs.in}
 
-\version{1.20}
+\version{2.1}
 \date{\today}
 \maketitle
 
 \section{Introduction}
-%\hypertarget{introduction}{}
 
 \file{elsarticle.cls} is a thoroughly re-written document class
 for formatting \LaTeX{} submissions to Elsevier journals.
@@ -85,7 +88,6 @@
 for its proper functioning:
 
 \begin{enumerate}
-\item \file{pifont.sty} for openstar in the title footnotes;
 \item \file{natbib.sty} for citation processing;
 \item \file{geometry.sty} for margin settings;
 \item \file{fleqn.clo} for left aligned equations;
@@ -93,20 +95,21 @@
 \item \file{txfonts.sty} optional font package, if the document is to
   be formatted with Times and compatible math fonts;
 \item \file{hyperref.sty} optional packages if hyperlinking is
-  required in the document.
-
+  required in the document;
+%*%
+\item \file{endfloat.sty} optional packages if floats to be placed at
+ end of the PDF.
 \end{enumerate}
 
-All the above packages are part of any standard \LaTeX{} installation.
-Therefore, the users need not be bothered about downloading any
-extra packages.  Furthermore, users are free to make use of \textsc{ams}
-math packages such as \file{amsmath.sty}, \file{amsthm.sty},
-\file{amssymb.sty}, \file{amsfonts.sty}, etc., if they want to.  All
-these packages work in tandem with \file{elsarticle.cls} without
-any problems.
+All the above packages (except some optional packages) are part of any
+standard \LaTeX{} installation. Therefore, the users need not be
+bothered about downloading any extra packages.  Furthermore, users are
+free to make use of \textsc{ams} math packages such as
+\file{amsmath.sty}, \file{amsthm.sty}, \file{amssymb.sty},
+\file{amsfonts.sty}, etc., if they want to.  All these packages work in
+tandem with \file{elsarticle.cls} without any problems.
 
 \section{Major Differences}
-%\hypertarget{majordifferences}{}
 
 Following are the major differences between \file{elsarticle.cls}
 and its predecessor package, \file{elsart.cls}:
@@ -137,7 +140,6 @@
 \end{enumerate}
 
 \section{Installation}
-%\hypertarget{installation}{}
 
 The package is available at author resources page at Elsevier
 (\url{http://www.elsevier.com/locate/latex}).
@@ -144,7 +146,7 @@
 It can also be found in any of the nodes of the Comprehensive
 \TeX{} Archive Network (\textsc{ctan}), one of the primary nodes
 being
-\url{http://www.ctan.org/tex-archive/macros/latex/contrib/elsevier/}.
+\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/elsarticle/}.
 Please download the \file{elsarticle.dtx} which is a composite
 class with documentation and \file{elsarticle.ins} which is the
 \LaTeX{} installer file. When we compile the
@@ -161,7 +163,6 @@
 
 
 \section{Usage}\label{sec:usage}
-%\hypertarget{usage}{}
 The class should be loaded with the command:
 
 \begin{vquote}
@@ -170,30 +171,33 @@
 
 \noindent where the \verb+options+ can be the following:
 
+
 \begin{description}
 
 \item [{\tt\color{verbcolor} preprint}]  default option which format the
   document for submission to Elsevier journals.
 
-\item [{\tt\color{verbcolor} review}]  similar to the \verb+preprint+ option, but
-  increases the baselineskip to facilitate easier review process.
+\item [{\tt\color{verbcolor} review}]  similar to the \verb+preprint+
+option, but increases the baselineskip to facilitate easier review
+process.
 
-\item [{\tt\color{verbcolor} 1p}]  formats the article to the look and feel of the final
-  format of model 1+ journals. This is always single column style.
+\item [{\tt\color{verbcolor} 1p}]  formats the article to the look and
+feel of the final format of model 1+ journals. This is always single
+column style.
 
-\item [{\tt\color{verbcolor} 3p}] formats the article to the look and feel of the final
-  format of model 3+ journals. If the journal is a two column
-model, use \verb+twocolumn+ option in combination.
+\item [{\tt\color{verbcolor} 3p}] formats the article to the look and
+feel of the final format of model 3+ journals. If the journal is a two
+column model, use \verb+twocolumn+ option in combination.
 
-\item [{\tt\color{verbcolor} 5p}] formats for model 5+ journals. This is always
-  of two column style.
+\item [{\tt\color{verbcolor} 5p}] formats for model 5+ journals. This
+is always of two column style.
 
 \item [{\tt\color{verbcolor} authoryear}] author-year citation style of
-  \file{natbib.sty}. If you want to add extra options of
-\file{natbib.sty}, you may use the options as comma delimited
-strings as arguments to \verb+\biboptions+ command. An example
-would be:
+\file{natbib.sty}. If you want to add extra options of
+\file{natbib.sty}, you may use the options as comma delimited strings
+as arguments to \verb+\biboptions+ command. An example would be:
 \end{description}
+
 \begin{vquote}
  \biboptions{longnamesfirst,angle,semicolon}
 \end{vquote}
@@ -209,9 +213,29 @@
   this option to split the title page across pages with the correct
 placement of title and author footnotes in the first page.
 
-\item [{\tt\color{verbcolor} times}] loads \file{txfonts.sty}, if available in
-  the system to use Times and compatible math fonts.
+\item [{\tt\color{verbcolor} times}] loads \file{txfonts.sty}, if
+available in the system to use Times and compatible math fonts.
 
+%*%
+\item [{\tt\color{verbcolor} reversenotenum}] Use alphabets as
+author--affiliation linking labels and use numbers for author
+footnotes. By default, numbers will be used as author--affiliation
+linking labels and alphabets for author footnotes. 
+
+\item [{\tt\color{verbcolor} lefttitle}] To move title and
+author/affiliation block to flushleft. \verb+centertitle+ is the
+default option which produces center alignment.
+
+\item [{\tt\color{verbcolor} endfloat}] To place all floats at the end
+of the document.
+
+\item [{\tt\color{verbcolor} nonatbib}] To unload natbib.sty.
+%*%
+
+\item [{\tt\color{verbcolor} doubleblind}] To hide author name, 
+affiliation, email address etc. for double blind refereeing purpose.
+%*%
+
 \item[] All options of \file{article.cls} can be used with this
   document class.
 
@@ -221,7 +245,6 @@
 \end{description}
 
 \section{Frontmatter}
-%\hypertarget{preamble}{}
 
 There are two types of frontmatter coding:
 \begin{enumerate}[(1)]
@@ -228,65 +251,65 @@
 \item each author is
 connected to an affiliation with a footnote marker; hence all
 authors are grouped together and affiliations follow;
+\pagebreak
 \item authors of same affiliations are grouped together and the
-relevant affiliation follows this group. An example coding of the first
-type is provided below.
+relevant affiliation follows this group. 
 \end{enumerate}
 
+An example of coding the first type is provided below.
+
 \begin{vquote}
  \title{This is a specimen title\tnoteref{t1,t2}}
- \tnotetext[t1]{This document is a collaborative effort.}
- \tnotetext[t2]{The second title footnote which is a longer
-    longer than the first one and with an intention to fill
-    in up more than one line while formatting.}
+ \tnotetext[t1]{This document is the results of the research
+    project funded by the National Science Foundation.}
+ \tnotetext[t2]{The second title footnote which is a longer 
+    text matter to fill through the whole text width and 
+    overflow into another line in the footnotes area of the 
+    first page.}
 \end{vquote}
 
 \begin{vquote}
- \author[rvt]{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
- \ead{cvr at river-valley.com}
+\author[1]{Jos Migchielsen\corref{cor1}%
+  \fnref{fn1}}
+\ead{J.Migchielsen at elsevier.com}
 
- \author[rvt,focal]{K.~Bazargan\fnref{fn2}}
- \ead{kaveh at river-valley.com}
+\author[2]{CV Radhakrishnan\fnref{fn2}}
+\ead{cvr at sayahna.org}
 
- \author[els]{S.~Pepping\corref{cor2}\fnref{fn1,fn3}}
- \ead[url]{http://www.elsevier.com}
+\author[3]{CV Rajagopal\fnref{fn1,fn3}}
+\ead[url]{www.stmdocs.in}
 \end{vquote}
 
 \begin{vquote}
  \cortext[cor1]{Corresponding author}
- \cortext[cor2]{Principal corresponding author}
- \fntext[fn1]{This is the specimen author footnote.}
- \fntext[fn2]{Another author footnote, but a little more 
-             longer.}
- \fntext[fn3]{Yet another author footnote. Indeed, you can have
-    any number of author footnotes.}
+ \fntext[fn1]{This is the first author footnote.}
+ \fntext[fn2]{Another author footnote, this is a very long 
+   footnote and it should be a really long footnote. But this 
+   footnote is not yet sufficiently long enough to make two 
+   lines of footnote text.}
+ \fntext[fn3]{Yet another author footnote.}
 
- \address[rvt]{River Valley Technologies, SJP Building,
-    Cotton Hills, Trivandrum, Kerala, India 695014}
- \address[focal]{River Valley Technologies, 9, Browns Court,
-    Kennford, Exeter, United Kingdom}
- \address[els]{Central Application Management,
-    Elsevier, Radarweg 29, 1043 NX\\
-    Amsterdam, Netherlands}
-
+ \address[1]{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam, 
+   The Netherlands}
+ \address[2]{Sayahna Foundations, JWRA 34, Jagathy, 
+   Trivandrum 695014, India}
+ \address[3]{STM Document Engineering Pvt Ltd., Mepukada,
+   Malayinkil, Trivandrum 695571, India}
 \end{vquote}
 
-The output of the above TeX source is given in Clips~\ref{clip1} and
-\ref{clip2}. The header portion or title area is given in Clip~\ref{clip1} and
-the footer area is given in Clip~\ref{clip2}.
+The output of the above \TeX{} source is given in Clips~\ref{clip1} and
+\ref{clip2}. The header portion or title area is given in
+Clip~\ref{clip1} and the footer area is given in Clip~\ref{clip2}.
 
-\vspace*{6pt}
 \def\rulecolor{blue!70}
 \src{Header of the title page.}
-\includeclip{1}{132 571 481 690}{els1.pdf}
+\includeclip{1}{130 612 477 707}{1psingleauthorgroup.pdf}%%{elstest-1p.pdf}%single author group
 \def\rulecolor{orange}
 
-%\vspace*{6pt}
 \def\rulecolor{blue!70}
 \src{Footer of the title page.}
-\includeclip{1}{122 129 481 237}{els1.pdf}
+\includeclip{1}{93 135 499 255}{1pseperateaug.pdf}%%{elstest-1p.pdf}%single author group
 \def\rulecolor{orange}
-\pagebreak
 
 Most of the commands such as \verb+\title+, \verb+\author+,
 \verb+\address+ are self explanatory.  Various components are
@@ -301,6 +324,7 @@
 resolve the footnote marks in the preamble part.  
 Given below are the syntax of various note marks and note texts.
 
+
 \begin{vquote}
   \tnoteref{<label(s)>}
   \corref{<label(s)>}
@@ -321,33 +345,27 @@
 
 The following example code provides the markup of the second type
 of author-affiliation.
-%as seen in the output given in the
-%box to the right.
-%\pinclude{\def\rulecolor{blue!80}
-%   \includeclip[width=3.25in]{1}{130 84 484 676}{els2.pdf}%
-% \def\rulecolor{orange}}
 
 \begin{vquote}
-\author{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}}
- \ead{cvr at river-valley.com}
- \address{River Valley Technologies, SJP Building,
-   Cotton Hills, Trivandrum, Kerala, India 695014}
-\end{vquote}
+\author{Jos Migchielsen\corref{cor1}%
+  \fnref{fn1}}
+\ead{J.Migchielsen at elsevier.com}
+ \address{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam, 
+          The Netherlands}
 
-\begin{vquote}
-\author{K.~Bazargan\fnref{fn2}}
- \ead{kaveh at river-valley.com}
- \address{River Valley Technologies, 9, Browns Court, Kennford,
-   Exeter, UK.}
-\end{vquote}
+\author{CV Radhakrishnan\fnref{fn2}}
+\ead{cvr at sayahna.org}
+ \address{Sayahna Foundations, JWRA 34, Jagathy, 
+    Trivandrum 695014, India}
 
-\begin{vquote}
-\author{S.~Pepping\fnref{fn1,fn3}}
- \ead[url]{http://www.elsevier.com}
- \address{Central Application Management,
-   Elsevier, Radarweg 43, 1043 NX Amsterdam, Netherlands}
+\author{CV Rajagopal\fnref{fn1,fn3}}
+\ead[url]{www.stmdocs.in}
+  \address{STM Document Engineering Pvt Ltd., Mepukada,
+    Malayinkil, Trivandrum 695571, India}
 \end{vquote}
 
+\vspace*{-.5pc}
+
 \begin{vquote}
 \cortext[cor1]{Corresponding author}
 \fntext[fn1]{This is the first author footnote.}
@@ -355,26 +373,27 @@
   footnote and it should be a really long footnote. But this 
   footnote is not yet sufficiently long enough to make two lines 
   of footnote text.}
-\fntext[fn3]{Yet another author footnote.}
 \end{vquote}
 
-The output of the above TeX source is given in Clip~\ref{clip3}.
+The output of the above \TeX{} source is given in Clip~\ref{clip3}.
 
-\vspace*{12pt}
 \def\rulecolor{blue!70}
 \src{Header of the title page..}
-\includeclip{1}{132 491 481 690}{els2.pdf}
+\includeclip{1}{119 563 468 709}{1pseperateaug.pdf}%%{elstest-1p.pdf}%seperate author groups
 \def\rulecolor{orange}
+\pagebreak
 
+Clip~\ref{clip4} shows the output after giving \verb+doubleblind+ class option. 
 
+\def\rulecolor{blue!70}
+\src{Double blind article}
+\includeclip{1}{124 567 477 670}{elstest-1pdoubleblind.pdf}%%{elstest-1p.pdf}%single author group%%doubleblind
+\def\rulecolor{orange}
+
+\vspace*{-.5pc}
 The frontmatter part has further environments such as abstracts and
-keywords.  These can be marked up in the following
-manner:
+keywords.  These can be marked up in the following manner:
 
-%\verb+\begin{abstract}+ \dots \verb+\end{abstract}+ and
-%\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+ which
-%contain the abstract and keywords respectively. 
-
 \begin{vquote}
  \begin{abstract}
   In this work we demonstrate the formation of a new type of 
@@ -382,22 +401,46 @@
  \end{abstract}
 \end{vquote} 
 
+\vspace*{-.5pc}
 \begin{vquote}
  \begin{keyword}
   quadruple exiton \sep polariton \sep WGM
-
-  \PACS 71.35.-y \sep 71.35.Lk \sep 71.36.+c
  \end{keyword}
 \end{vquote}
 
 \noindent Each keyword shall be separated by a \verb+\sep+ command.
-\textsc{pacs} and \textsc{msc} classifications shall be provided in 
-the keyword environment with the commands \verb+\PACS+ and
-\verb+\MSC+ respectively.  \verb+\MSC+ accepts an optional
+\textsc{msc} classifications shall be provided in 
+the keyword environment with the commands
+\verb+\MSC+. \verb+\MSC+ accepts an optional
 argument to accommodate future revisions.
 eg., \verb=\MSC[2008]=. The default is 2000.\looseness=-1
 
+\subsection{New page}
+Sometimes you may need to give a page-break and start a new page after
+title, author or abstract. Following commands can be used for this
+purpose.
 
+\begin{vquote}
+  \newpageafter{title}
+  \newpageafter{author}
+  \newpageafter{abstract}
+\end{vquote}
+
+
+\begin{itemize}
+\leftskip-2pc
+\item [] {\tt\color{verbcolor} \verb+\newpageafter{title}+} typeset the title alone on one page.
+
+\item [] {\tt\color{verbcolor} \verb+\newpageafter{author}+}  typeset the title
+and author details on one page.
+
+\item [] {\tt\color{verbcolor} \verb+\newpageafter{abstract}+}
+typeset the title,
+author details and abstract \& keywords one one page.
+
+\end{itemize}
+
+
 \section{Floats}
 {Figures} may be included using the command, \verb+\includegraphics+ in
 combination with or without its several options to further control
@@ -439,7 +482,8 @@
 
 \begin{vquote}
   \begin{thm} 
-   For system (8), consensus can be achieved with $\|T_{\omega z}$
+   For system (8), consensus can be achieved with 
+   $\|T_{\omega z}$
    ...
      \begin{eqnarray}\label{10}
      ....
@@ -447,8 +491,8 @@
   \end{thm}
 \end{vquote}  
 
-Clip~\ref{clip4} will show you how some text enclosed between the
-above code looks like:
+Clip~\ref{clip5} will show you how some text enclosed between the
+above code\goodbreak \noindent looks like:
 
 \vspace*{6pt}
 \def\rulecolor{blue!70}
@@ -462,7 +506,7 @@
 \verb+\newdefinition+ and \verb+\newtheorem+ commands
 automatically define counters for the environments defined.
 
-\vspace*{12pt}
+\vspace*{6pt}
 \def\rulecolor{blue!70}
 \src{{\ttfamily\color{verbcolor}\bs newdefinition}}
 \includeclip{1}{1 1 453 105}{jfigs.pdf}
@@ -497,26 +541,15 @@
   \begin{enumerate}[a)]
     \item Another level of list with alphabetical counter.
     \item One more item before we start another.
-    \begin{enumerate}[(i)]
-     \item This item has roman numeral counter.
-     \item Another one before we close the third level.
-    \end{enumerate}
-    \item Third item in second level.
-  \end{enumerate}
- \item All list items conclude with this step.
- \end{enumerate}
 \end{vquote}
 
-\vspace*{12pt}
 \def\rulecolor{blue!70}
 \src{List -- Enumerate}
 \includeclip{4}{1 1 453 185}{jfigs.pdf}
 \def\rulecolor{orange}
 
-
 Further, the enhanced list environment allows one to prefix a
-string like `step' to all the item numbers.  Take a look at the
-example below:
+string like `step' to all the item numbers.  
 
 \begin{vquote}
  \begin{enumerate}[Step 1.]
@@ -531,7 +564,6 @@
 \includeclip{5}{1 1 313 83}{jfigs.pdf}
 \def\rulecolor{orange}
 
-\vspace*{-18pt}
 
 \section{Cross-references}
 In electronic publications, articles may be internally
@@ -580,13 +612,50 @@
 in different types of final format.  This is further discussed in
 section \ref{sec:final}, \nameref{sec:final}.
 
+
+\subsection*{Displayed equations and double column journals}
+
+Many Elsevier journals print their text in two columns. Since
+the preprint layout uses a larger line width than such columns,
+the formulae are too wide for the line width in print. Here is an
+example of an equation  (see equation 6) which is perfect in a
+single column preprint format:
+
+\bigskip
+\setlength\Sep{6pt}
+\src{See equation (6)}
+\def\rulecolor{blue!70}
+%\includeclip{<page>}{l b scale }{file.pdf}
+\includeclip{4}{105 500 500 700}{1psingleauthorgroup.pdf}
+\def\rulecolor{orange}
+                 	
+\noindent When this document is typeset for publication in a
+model 3+ journal with double columns, the equation will overlap
+the second column text matter if the equation is not broken at
+the appropriate location.
+
+\vspace*{6pt}
+\def\rulecolor{blue!70}
+\src{See equation (6) overprints into second column}
+\includeclip{3}{59 421 532 635}{elstest-3pd.pdf}
+\def\rulecolor{orange}
+\vspace*{6pt}
+
+\noindent The typesetter will try to break the equation which
+need not necessarily be to the liking of the author or as it
+happens, typesetter's break point may be semantically incorrect.
+Therefore, authors may check their submissions for the incidence
+of such long equations and break the equations at the correct
+places so that the final typeset copy will be as they wish.
+
 \section{Bibliography}
 
 Three bibliographic style files (\verb+*.bst+) are provided ---
 \file{elsarticle-num.bst}, \file{elsarticle-num-names.bst} and
-\file{elsarticle-harv.bst} --- the first one for the numbered scheme, the
-second for the numbered with new options of \file{natbib.sty} and the
-last one for the author year scheme.
+\file{elsarticle-harv.bst} --- the first one can be used for the
+numbered scheme, second one for numbered with new options of 
+\file{natbib.sty}. The third one is for the author year
+scheme.
 
 In \LaTeX{} literature, references are listed in the
 \verb+thebibliography+ environment.  Each reference is a
@@ -623,41 +692,13 @@
 look at the \file{natbib} documentation, which is part of any standard
 \LaTeX{} installation.
 
-\subsection*{Displayed equations and double column journals}
+In addition to the above standard \verb+.bst+ files, there are 10
+journal-specific \verb+.bst+ files also available.
+Instruction for using these \verb+.bst+ files can be found at 
+\href{http://support.stmdocs.in/wiki/index.php?title=Model-wise_bibliographic_style_files}
+{http://support.stmdocs.in}
+ 
 
-Many Elsevier journals print their text in two columns. Since
-the preprint layout uses a larger line width than such columns,
-the formulae are too wide for the line width in print. Here is an
-example of an equation  (see equation 6) which is perfect in a
-single column preprint format:
-
-\bigskip
-\setlength\Sep{6pt}
-\src{See equation (6)}
-\def\rulecolor{blue!70}
-\includeclip{4}{134 391 483 584}{els1.pdf}
-\def\rulecolor{orange}
-                 	
-\noindent When this document is typeset for publication in a
-model 3+ journal with double columns, the equation will overlap
-the second column text matter if the equation is not broken at
-the appropriate location.
-
-\vspace*{6pt}
-\def\rulecolor{blue!70}
-\src{See equation (6) overprints into second column}
-\includeclip{3}{61 531 532 734}{els-3pd.pdf}
-\def\rulecolor{orange}
-
-\pagebreak
-
-\noindent The typesetter will try to break the equation which
-need not necessarily be to the liking of the author or as it
-happens, typesetter's break point may be semantically incorrect.
-Therefore, authors may check their submissions for the incidence
-of such long equations and break the equations at the correct
-places so that the final typeset copy will be as they wish.
-
 \section{Final print}\label{sec:final}
 
 The authors can format their submission to the page size and margins
@@ -664,6 +705,8 @@
 of their preferred journal.  \file{elsarticle} provides four
 class options for the same. But it does not mean that using these
 options you can emulate the exact page layout of the final print copy. 
+
+
 \lmrgn=3em
 \begin{description}
 \item [\texttt{1p}:] $1+$ journals with a text area of
@@ -695,7 +738,6 @@
 different portions of a typical single column journal page and
 that of a double column article in the final format.
 
-\vspace*{2pc}
 
 \begin{center}
 \hypertarget{bsc}{}
@@ -703,7 +745,6 @@
 {\bf [Specimen single column article -- Click here]}
 }
 
-\vspace*{2pc}
 
 \hypertarget{bsc}{}
 \hyperlink{dc}{
@@ -711,19 +752,15 @@
 }
 \end{center}
 
-\newpage
-\vspace*{-2pc}
 \src{}\hypertarget{sc}{}
 \def\rulecolor{blue!70}
-\hyperlink{bsc}{\includeclip{1}{121 81 497 670}{els1.pdf}}
+\hyperlink{bsc}{\includeclip{1}{88 120 514 724}{elstest-1p.pdf}}
 \def\rulecolor{orange}
 
-
-\newpage
-
 \src{}\hypertarget{dc}{}
 \def\rulecolor{blue!70}
-\hyperlink{bsc}{\includeclip{1}{55 93 535 738}{els-3pd.pdf}}
+\hyperlink{bsc}{\includeclip{1}{27 61 562 758}{elstest-5p.pdf}}
 \def\rulecolor{orange}
 
 \end{document}
+

Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf	2018-07-04 21:25:46 UTC (rev 48134)

Property changes on: trunk/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/makefile
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/makefile	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/makefile	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,3 +1,5 @@
+# $Id: makefile 130 2018-06-29 05:26:48Z rishi $
+
 file=elsdoc
 
 
@@ -34,3 +36,5 @@
 copy:
 	cp $(file).sty ../
 
+
+

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/manifest.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/manifest.txt	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/manifest.txt	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,9 +1,5 @@
-% \iffalse meta-comment
+% Copyright 2007-2018 Elsevier Ltd
 %
-% 
-%
-% Copyright 2007, 2008, 2009 Elsevier Ltd
-%
 % This file is part of the 'Elsarticle Bundle'.
 % ---------------------------------------------
 %
@@ -18,8 +14,6 @@
 % The list of all files belonging to the LaTeX 'Elsarticle Bundle' is
 % given in the file `manifest.txt'.
 %
-% \fi
-%
 % CONTENTS OF THE ELSARTICLE BUNDLE
 % ===============================
 
@@ -38,7 +32,7 @@
   bibliographic style for numbered citation
 
 elsarticle-num-names.bst
-  bibliographic style for numbered citation + new natibi options
+  bibliographic style for numbered citation + new natbib options
 
 elsarticle-template-harv.tex
   article template for a document with author-year citation
@@ -57,10 +51,13 @@
 The following files are graphic files needed for creating pdf output
 of the documentation from elsdoc.tex:
 
- els1.pdf
- els-1p.pdf
- els2.pdf
- els-3pd.pdf
+ 1pseperateaug.pdf
+ 1psingleauthorgroup.pdf
+ elstest-1pdoubleblind.pdf
+ elstest-1p.pdf
+ elstest-3pd.pdf
+ elstest-3p.pdf
+ elstest-5p.pdf
  jfigs.pdf
 
 elsdoc.tex  -- LaTeX source file of documentation
@@ -77,6 +74,5 @@
 Auxiliary packages needed to generate pdf output from elsdoc.tex:
 
  rvdtx.sty
- enum.sty
  pdfwidgets.sty
 

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty	2018-07-04 21:25:46 UTC (rev 48134)
@@ -317,8 +317,9 @@
 		\noindent\begin{tikzpicture}
 	  \node[fill=blue!10,draw,shade,top color=white!10,
 		      bottom color=cyan!5,shape=quotedbox,
-		 inner sep=8pt,text width=.95\linewidth] (x) 
-		 {\color{orange}\verbatiminput{tmp.tex}%
+		 inner sep=8pt,text width=.95\linewidth] 
+		 {\color{orange}\vspace*{-1pc}%
+     \verbatiminput{tmp.tex}%
 		 \vspace*{-\baselineskip}%
 		 } ;
  	  \end{tikzpicture}%
@@ -380,3 +381,4 @@
 \endinput
 
 
+

Modified: trunk/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty	2018-07-04 21:25:46 UTC (rev 48134)
@@ -4,7 +4,7 @@
 %  
 %  Auxiliary package to format *.dtx documents.
 % 
-%  Copyright (c) 2008, 2009 CV Radhakrishnan <cvr at river-valley.org>,
+%  Copyright (c) 2008-2018 CV Radhakrishnan <cvr at stmdocs.in>,
 %                     
 %  This file may be distributed and/or modified under the conditions
 %  of the LaTeX Project Public License, either version 1.2 of this
@@ -257,8 +257,8 @@
 \def\@version{1.0}
 \def\contact#1{\gdef\@contact{#1}}
 \def\author#1{\gdef\@author{#1}}
-\def\@author{River Valley Technologies}
-\def\@contact{\texttt{support at river-valley.com}}
+\def\@author{STM Document Engineering Pvt Ltd.}
+\def\@contact{\texttt{support at stmdocs.in}}
 \def\keywords#1{\gdef\@keywords{#1}}
 \def\@keywords{\LaTeX, \xml}
 
@@ -294,6 +294,7 @@
         \hfill
         \parbox[c][2in][c]{.35\paperwidth}%
         {\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
+          \advance\baselineskip-3pt%
            \vspace*{6pt} QUICK LINKS\Hrule
             \IfFileExists{tmp.out}{\input tmp.out}{}%
          }\hspace*{5mm}%
@@ -306,15 +307,10 @@
       {\normalfont\sffamily\footnotesize%
         \color{botcolor}%
         \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
-         {\raggedright \textcopyright\ 2009, Elsevier Ltd.
-%           \href{http://www.river-valley.com}{%
-%            http://www.river-valley.com}\\
-%            \textsc{sjp} Building, Cotton Hills, Trivandrum
-%           695014, India\\  9, Browns Court, Kennford,
-%           Exeter, United Kingdom          
-          Bugs, feature requests, suggestions and comments\\
-          shall be mailed to \href{mailto:elsarticle at river-valley.com}
-          {$<$elsarticle at river-valley.com$>$}. 
+         {\raggedright \textcopyright\ 2018, Elsevier Ltd.
+          Bugs, feature requests, suggestions and comments %\\
+          shall be mailed to \href{mailto:elsarticle at stmdocs.in}
+          {$<$elsarticle at stmdocs.in$>$}. 
         }\hfill%
        \parbox[c][.5in][c]{1cm}
         {\centering\sffamily\mdseries
@@ -477,3 +473,4 @@
 %%
 %% End of file 'rvdtx.sty'
 %% 
+

Modified: trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx	2018-07-04 21:25:46 UTC (rev 48134)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2007, 2008, 2009 by Elsevier Ltd
+% Copyright (C) 2007-2018 by Elsevier Ltd
 % -----------------------------------------------
 % 
 % This file may be distributed and/or modified under the
@@ -14,8 +14,9 @@
 % version 1999/12/01 or later.
 %
 % \fi
-% \CheckSum{2196}
+% \CheckSum{2627}
 %
+% $Id: elsarticle.dtx 125 2018-06-29 05:10:03Z rishi $
 % \iffalse
 %<*driver>
 \documentclass{ltxdoc}
@@ -73,13 +74,14 @@
 %    \begin{macrocode}
 %<*class>
 %% 
-%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $
+%% 
 %%
  \def\RCSfile{elsarticle}%
- \def\RCSversion{1.2.0}%
- \def\RCSdate{2009/09/17}%
+ \def\RCSversion{3.0}%
+ \def\RCSdate{2018/06/08}%
  \def\@shortjnl{\relax}
- \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd}
+ \def\@journal{Elsevier Ltd} 
+ \def\@company{Elsevier Ltd}
  \def\@issn{000-0000}
  \def\@shortjid{elsarticle}
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
@@ -86,7 +88,10 @@
 \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
 \def\ABD{\AtBeginDocument}
 \newif\ifpreprint \preprintfalse
+\newif\ifnonatbib \nonatbibfalse
 \newif\iflongmktitle \longmktitlefalse
+\newif\ifnopreprintline \nopreprintlinefalse
+\newif\ifdoubleblind \doubleblindfalse
 
 \def\@blstr{1}
 \newdimen\@bls
@@ -105,11 +110,13 @@
 \DeclareOption{preprint}{\global\preprinttrue
   \gdef\@blstr{1}\xdef\jtype{0}%
    \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
+\DeclareOption{nopreprintline}{\global\nopreprintlinetrue}
 \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
 \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
 \DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}}
 \DeclareOption{number}{\xdef\@biboptions{numbers}}
 \DeclareOption{numbers}{\xdef\@biboptions{numbers}}
+\DeclareOption{nonatbib}{\global\nonatbibtrue}
 \DeclareOption{longtitle}{\global\longmktitletrue}
 \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
   \ExecuteOptions{twocolumn}}
@@ -124,8 +131,24 @@
   \let\iiint\relax
   \let\iiiint\relax
   \let\idotsint\relax
-  \let\openbox\relax}}{\RequirePackage{times}}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
+  \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}}
+
+\DeclareOption{endfloat}{\IfFileExists{endfloat.sty}
+   {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}}
+\DeclareOption{endfloats}{\IfFileExists{endfloat.sty}
+   {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}}
+\DeclareOption{numafflabel}
+   {\AtBeginDocument{\def\theaffn{\arabic{affn}}}} %*%
+\DeclareOption{lefttitle}
+   {\AtBeginDocument{\def\elsarticletitlealign{flushleft}}} %*%
+\DeclareOption{centertitle}
+   {\AtBeginDocument{\def\elsarticletitlealign{center}}} %*%
+\DeclareOption{reversenotenum}
+   {\AtBeginDocument{\def\theaffn{\arabic{affn}}
+    \def\thefnote{\alph{fnote}}}}
+\DeclareOption{doubleblind}{\doubleblindtrue}
+
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint,centertitle}
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
 \ProcessOptions
 \LoadClass{article}
@@ -137,28 +160,38 @@
 %    \begin{macrocode}
 \let\comma\@empty
 \let\tnotesep\@empty
-\def\title#1{\gdef\@title{#1}}
 \let\@title\@empty
 
+\def\useelstitle{}
+
+\def\title#1{\g at addto@macro\@title{#1%
+       \global\let\tnoteref\@gobble}%
+       \g at addto@macro\useelstitle{#1}}
+
 \def\elsLabel#1{\@bsphack\protected at write\@auxout{}%
          {\string\Newlabel{#1}{\@currentlabel}}\@esphack}
 \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
 
-\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
-}
+\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}}
 
-\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
-      \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}%
-      \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
-}
 \let\@tnotemark\@empty
 
+\ifdoubleblind
+  \def\tnotemark[#1]{}
+\else
+  \def\tnotemark[#1]{\@for\mytmark:=#1\do{%
+       \expandafter\ifcase\csname X@\mytmark\endcsname\or$^{\star}$\or
+       $^{,\star\star}$\fi
+    }%
+}
+\fi
+
+\def\tnoteref#1{\tnotemark[{#1}]}
 \let\@tnotes\@empty
-\RequirePackage{pifont}
 \newcounter{tnote}
 \def\tnotetext[#1]#2{\g at addto@macro\@tnotes{%
-  \refstepcounter{tnote}\elsLabel{#1}%
-   \def\thefootnote{\ifcase\c at tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
+  \stepcounter{tnote}\elsLabel{#1}%
+    \def\thefootnote{\ifcase\c at tnote\or$\star$\or$\star\star$\fi}%
     \footnotetext{#2}}}
 
 \let\@nonumnotes\@empty
@@ -166,6 +199,7 @@
      \let\thefootnote\relax\footnotetext{#1}}}
 
 \newcounter{fnote}
+\def\thefnote{\arabic{fnote}}
 \def\fnmark[#1]{\let\comma\@empty
     \def\@fnmark{\@for\@@fnmark:=#1\do{%
     \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}%
@@ -172,11 +206,13 @@
   \unskip\comma\fnotenum\let\comma,}}%
 }
 
+\def\fnref#1{\fnmark[#1]}
+
 \let\@fnotes\@empty\let\@fnmark\@empty
 \def\fntext[#1]#2{\g at addto@macro\@fnotes{%
-     \refstepcounter{fnote}\elsLabel{#1}%
-   \def\thefootnote{\thefnote}%
-   \global\setcounter{footnote}{\thefnote}%
+   \refstepcounter{fnote}\elsLabel{#1}%
+   \def\thefootnote{\c at fnote}%
+   \global\setcounter{footnote}{\c at fnote}%
    \footnotetext{#2}}}
 
 \def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}%
@@ -193,19 +229,15 @@
     \footnotetext{#2}}}
 
 \let\@corref\@empty
-%\def\corref#1{\cormark[#1]}
 \def\corref#1{\edef\cnotenum{\elsRef{#1}}%
     \edef\@corref{\ifcase\cnotenum\or
          $\ast$\or$\ast\ast$\fi\hskip-1pt}}
 
-\def\fnref#1{\fnmark[#1]}
-\def\tnoteref#1{\tnotemark[#1]}
-
 \def\resetTitleCounters{\c at cnote=0
    \c at fnote=0 \c at tnote=0 \c at footnote=0}
 
 \let\eadsep\@empty
-\let\@elseads\@empty
+\def\@elseads{}
 \let\@elsuads\@empty
 \let\@cormark\@empty
 \def\hashchar{\expandafter\@gobble\string\~}
@@ -213,36 +245,43 @@
 \def\lbracechar{\expandafter\@gobble\string\{}
 \def\rbracechar{\expandafter\@gobble\string\}}
 
-\def\ead{\@ifnextchar[{\@uad}{\@ead}}
-\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}%
-  \def\{{\string\lbracechar\space}%
-   \def~{\hashchar\space}%
-   \def\}{\string\rbracechar\space}%
-   \edef\tmp{\the\@eadauthor}
+\gdef\ead{\@ifnextchar[{\@uad}{\@ead}}
+\gdef\@ead#1{\bgroup
+   \def\_{\underscorechar}%
+   \def\{{\lbracechar}%
+   \def~{\hashchar}%
+   \def\}{\rbracechar}%
+   \edef\tmp{\the\@eadauthor}%
    \immediate\write\@auxout{\string\emailauthor
      {#1}{\expandafter\strip at prefix\meaning\tmp}}%
-  \egroup
+   \egroup
 }
 \newcounter{ead}
 \gdef\emailauthor#1#2{\stepcounter{ead}%
      \g at addto@macro\@elseads{\raggedright%
-      \let\corref\@gobble
-      \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
+      \let\corref\@gobble\def\@@tmp{#1}%
+      \eadsep{\ttfamily\expandafter\strip at prefix\meaning\@@tmp}
+      (#2)\def\eadsep{\unskip,\space}}%
 }
 \gdef\@uad[#1]#2{\bgroup
-  \def~{\string\hashchar\space}%
-  \def\_{\string\underscorechar\space}%
+   \def~{\hashchar}%
+   \def\_{\underscorechar}%
+   \def~{\hashchar}%
+   \def\}{\rbracechar}%
    \edef\tmp{\the\@eadauthor}
    \immediate\write\@auxout{\string\urlauthor
      {#2}{\expandafter\strip at prefix\meaning\tmp}}%
   \egroup
 }
-\def\urlauthor#1#2{\g at addto@macro\@elsuads{\let\corref\@gobble%
-     \raggedright\eadsep\texttt{#1}\space(#2)%
+\gdef\urlauthor#1#2{\g at addto@macro\@elsuads{\let\corref\@gobble%
+     \def\@@tmp{#1}\raggedright\eadsep
+     {\ttfamily\expandafter\strip at prefix\meaning\@@tmp}\space(#2)%
      \def\eadsep{\unskip,\space}}%
 }
 
 \def\elsauthors{}
+\def\useauthors{}
+
 \def\pprinttitle{}
 \let\authorsep\@empty
 \let\sep\@empty
@@ -262,7 +301,8 @@
     \def\authorsep{\unskip,\space}%
     \global\let\sep\@empty\global\let\@corref\@empty
     \global\let\@fnmark\@empty}%
-    \@eadauthor={#2}
+    \@eadauthor={#2}%
+    \g at addto@macro\useauthors{#2; }%
 }
 
 \def\@author#1{\g at addto@macro\elsauthors{\normalsize%
@@ -273,10 +313,18 @@
       }%
     \def\authorsep{\unskip,\space}%
     \global\let\@fnmark\@empty
-    \global\let\sep\@empty}%
-    \@eadauthor={#1}
+    \global\let\@corref\@empty    \global\let\sep\@empty}%
+    \@eadauthor={#1}%
+    \g at addto@macro\useauthors{#1; }%
 }
 
+\AtBeginDocument{%
+  \@ifpackageloaded{hyperref}{%
+    \expandafter\gdef\csname Hy at title\endcsname{\useelstitle}%
+    \expandafter\gdef\csname Hy at author\endcsname{\useauthors}%
+   }{}
+}
+
 \def\elsaddress{}
 \def\addsep{\par\vskip6pt}
 \def\address{\@ifnextchar[{\@@address}{\@address}}
@@ -324,13 +372,21 @@
     \def\authorsep{\par\vskip8pt}}}
 
 \newbox\absbox
+\let\@elsarticleabstitle\@empty %*%
+\def\abstracttitle#1{\gdef\@elsarticleabstitle{#1}} %*%
+\abstracttitle{Abstract} %*%
 \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
   \hsize=\textwidth\def\baselinestretch{1}%
-  \noindent\unskip\textbf{Abstract}
+  \noindent\unskip\textbf{\@elsarticleabstitle} %*%
  \par\medskip\noindent\unskip\ignorespaces}
  {\egroup}
 
 \newbox\keybox
+\let\@elsarticlekwdtitle\@empty %*%
+\def\keywordtitle#1{\gdef\@elsarticlekwdtitle{#1}} %*%
+\def\keywordtitlesep#1{\gdef\@elsarticlekeywordtitlesep{#1}} %*%
+\keywordtitle{Keywords} %*%
+\keywordtitlesep{:\ }
 \def\keyword{%
   \def\sep{\unskip, }%
  \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
@@ -340,7 +396,7 @@
   \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
   \normalsize\normalfont\def\baselinestretch{1}
   \parskip\z@
-  \noindent\textit{Keywords: }
+  \noindent\textit{\@elsarticlekwdtitle\@elsarticlekeywordtitlesep}
   \raggedright                         % Keywords are not justified.
   \ignorespaces}
 \def\endkeyword{\par \egroup}
@@ -350,7 +406,10 @@
 
 \def\printFirstPageNotes{%
   \iflongmktitle
-   \let\columnwidth=\textwidth\fi
+    \let\columnwidth=\textwidth
+  \fi
+\ifdoubleblind
+\else
   \ifx\@tnotes\@empty\else\@tnotes\fi
   \ifx\@nonumnotes\@empty\else\@nonumnotes\fi
   \ifx\@cornotes\@empty\else\@cornotes\fi
@@ -364,28 +423,49 @@
    \let\thefootnote\relax
    \footnotetext{\textit{URL:\space}%
      \@elsuads}\fi
+\fi
   \ifx\@fnotes\@empty\else\@fnotes\fi
   \iflongmktitle\if at twocolumn
    \let\columnwidth=\Columnwidth\fi\fi
 }
 
+%% Pushing text to begin on newpage %*%
+\def\newpage at after@title{title}
+\def\newpage at after@author{author}
+\def\newpage at after@abstract{abstract}
+\def\newpageafter#1%
+    {\gdef\@elsarticlenewpageafter{#1}}
+
 \long\def\pprintMaketitle{\clearpage
   \iflongmktitle\if at twocolumn\let\columnwidth=\textwidth\fi\fi
   \resetTitleCounters
   \def\baselinestretch{1}%
   \printFirstPageNotes
-  \begin{center}%
+  \begin{\elsarticletitlealign}%
  \thispagestyle{pprintTitle}%
    \def\baselinestretch{1}%
-    \Large\@title\par\vskip18pt
-    \normalsize\elsauthors\par\vskip10pt
-    \footnotesize\itshape\elsaddress\par\vskip36pt
+    \Large\@title\par\vskip18pt%
+    \ifx\@elsarticlenewpageafter\newpage at after@title% %*%
+      \newpage
+    \fi%
+    \ifdoubleblind
+      \vspace*{2pc}
+    \else
+      \normalsize\elsauthors\par\vskip10pt
+      \footnotesize\itshape\elsaddress\par\vskip36pt
+    \fi
+    \ifx\@elsarticlenewpageafter\newpage at after@author% %*%
+      \newpage
+    \fi%
     \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}}%
+    \ifx\@elsarticlenewpageafter\newpage at after@abstract% %*%
+      \newpage
+    \fi%
+    \end{\elsarticletitlealign}%
+    \gdef\thefootnote{\arabic{footnote}}%
   }
 
 \def\printWarning{%
@@ -408,17 +488,21 @@
 \long\def\MaketitleBox{%
   \resetTitleCounters
   \def\baselinestretch{1}%
-  \begin{center}%
+  \begin{\elsarticletitlealign}%
    \def\baselinestretch{1}%
     \Large\@title\par\vskip18pt
+  \ifdoubleblind
+    \vspace*{2pc}
+  \else
     \normalsize\elsauthors\par\vskip10pt
     \footnotesize\itshape\elsaddress\par\vskip36pt
+  \fi
     \hrule\vskip12pt
     \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
     \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
     \hrule\vskip12pt
-    \end{center}%
-  }
+    \end{\elsarticletitlealign}%
+}
 
 \def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
 \newdimen\space at left
@@ -426,6 +510,39 @@
              \typeout{#1}%
              \typeout{******************************}%
 }
+
+\def\titlespancalculator#1#2#3#4{%
+  % break count
+  \@tempcnta=#4\relax%
+  % pagebreakcount increment
+  \advance\@tempcnta by 1\relax%
+  % title page height
+  \@tempdima=#1\relax%
+  % Page height - title page notes height (only for first break)
+  % Page height - textheight (for remaining breaks)
+  % Page height - title page notes height
+  \@tempdimb=#2\relax%
+  % Remaining title page height
+  \advance\@tempdima -\the\@tempdimb%
+  % Checks if remaining title page
+  % height less than textheight
+  \ifdim\the\@tempdima>#3\relax%
+     \titlespancalculator%
+      {\the\@tempdima}{#3}{#3}{\the\@tempcnta}%Break again
+  \else%
+  % Save break count and exit.
+     \xdef\savetitlepagespan{\the\@tempcnta}%
+  \fi%
+}%
+
+\long\def\myfor#1#2#3{%
+  \@tempcnta=#1\relax%
+  \ifnum#1<#2\relax%
+    \advance\@tempcnta by 1\relax%
+    #3%
+    \myfor{\the\@tempcnta}{#2}{#3}%
+  \fi}
+
 \long\def\getSpaceLeft{%\global\@twocolumnfalse%
    \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
    \global\setbox1=\vbox{\hsize=\textwidth
@@ -436,6 +553,9 @@
     \@tempdima=\vsize
     \advance\@tempdima-\noteheight
     \advance\@tempdima-1\baselineskip
+    \xdef\savefpageheight{\the\@tempdima}%
+    \setbox2=\vbox{\titlespancalculator{\titleheight}%
+       {\savefpageheight}{\textheight}{0}}%
 }
 
   \skip\footins=24pt
@@ -449,10 +569,19 @@
    \ifnum\jtype=1
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \box\els at boxb}
+       \else%
+       \fi%
        \box0%
       \else
        \finalMaketitle\printFirstPageNotes
@@ -462,10 +591,19 @@
  \ifnum\jtype=5
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \twocolumn[\box\els at boxb]}
+       \else%
+       \fi%
        \twocolumn[\box0]%\printFirstPageNotes
       \else
        \twocolumn[\finalMaketitle]\printFirstPageNotes
@@ -474,11 +612,20 @@
   \else
   \if at twocolumn
     \def\maketitle{%
-      \iflongmktitle\getSpaceLeft
+        \iflongmktitle\getSpaceLeft
+          \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \twocolumn[\box\els at boxb]}
+       \else%
+       \fi%
        \twocolumn[\box0]%
       \else
        \twocolumn[\finalMaketitle]\printFirstPageNotes
@@ -487,10 +634,19 @@
    \else
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \box\els at boxb}
+       \else%
+       \fi%
        \box0%
      \else
        \finalMaketitle\printFirstPageNotes
@@ -500,6 +656,20 @@
   \fi
  \fi
 \fi
+
+\let\@elsarticlemyfooter\@empty
+\let\@elsarticlemyfooteralign\@empty
+\def\@elsarticlemyfooteralignleft{L}
+\def\@elsarticlemyfooteralignright{R}
+\def\@elsarticlemyfooteraligncenter{C}
+
+\def\myfooter[#1]#2 %*%
+      {\gdef\@elsarticlemyfooteralign{#1}
+       \gdef\@elsarticlemyfooter{#2}}
+
+
+\def\myfooterfont#1{\gdef\@myfooterfont{#1}}
+\myfooterfont{\footnotesize\itshape}
 %    \end{macrocode}
 %    
 %\section{Headers/footers}
@@ -508,9 +678,27 @@
 \def\ps at pprintTitle{%
      \let\@oddhead\@empty
      \let\@evenhead\@empty
-     \def\@oddfoot{\footnotesize\itshape
-       Preprint submitted to \ifx\@journal\@empty Elsevier
-       \else\@journal\fi\hfill\today}%
+     \def\@oddfoot
+       {\hbox to \textwidth%
+        {\ifnopreprintline\relax\else
+        \@myfooterfont%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteraligncenter%
+           \hfil\@elsarticlemyfooter\hfil%
+         \else%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignleft%
+           \@elsarticlemyfooter\hfill{}%
+         \else%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignright%
+           {}\hfill\@elsarticlemyfooter%
+         \else%
+               Preprint submitted to \ifx\@journal\@empty%
+                 Elsevier%
+            \else\@journal\fi\hfill\@date\fi%
+         \fi%
+         \fi%
+         \fi%
+         }
+       }%
      \let\@evenfoot\@oddfoot}
 %    \end{macrocode}
 %
@@ -716,8 +904,9 @@
 
 \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{}
 \InputIfFileExists{\jobname.spl}{}{}
-\RequirePackage[\@biboptions]{natbib}
-
+\ifnonatbib\relax\else
+  \RequirePackage[\@biboptions]{natbib}
+\fi
 \newwrite\splwrite
 \immediate\openout\splwrite=\jobname.spl
 \def\biboptions#1{\def\next{#1}\immediate\write\splwrite{%
@@ -725,7 +914,6 @@
     ,\expandafter\strip at prefix\meaning\next}}}
 
 \let\baselinestretch=\@blstr
-
 %    \end{macrocode}
 %
 %\section{Page dimensions and margins for final form}
@@ -845,6 +1033,7 @@
 \@makeother\=
 }{}}
 %%
+\def\appendixname{Appendix }
 \renewcommand\appendix{\par
   \setcounter{section}{0}%
   \setcounter{subsection}{0}%
@@ -851,17 +1040,26 @@
   \setcounter{equation}{0}
   \gdef\thefigure{\@Alph\c at section.\arabic{figure}}%
   \gdef\thetable{\@Alph\c at section.\arabic{table}}%
-  \gdef\thesection{\appendixname\@Alph\c at section}%
+  \gdef\thesection{\appendixname~\@Alph\c at section}%
   \@addtoreset{equation}{section}%
   \gdef\theequation{\@Alph\c at section.\arabic{equation}}%
+  \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{}
 }
-\def\appendixname{Appendix }
 
+%%%% \numberline width calculation for appendix.
+\newdimen\appnamewidth
+\def\tmptocnumberline#1{%
+   \setbox0=\hbox{\appendixname}
+   \appnamewidth=\wd0
+   \addtolength\appnamewidth{2.5pc}
+   \hb at xt@\appnamewidth{#1\hfill}
+}
+
 %% Added for work with amsrefs.sty
 
 \@ifpackageloaded{amsrefs}%
   {}
-  {\let\bibsection\relax%
+  {%\let\bibsection\relax%
   \AtBeginDocument{\def\cites at b#1#2,#3{%
     \begingroup[%
         \toks@{\InnerCite{#2}#1}%
@@ -868,8 +1066,32 @@
         \ifx\@empty#3\@xp\@gobble\fi
         \cites at c#3%
 }}}
-%
 %%
+%% Added for avoiding clash with cleveref.sty
+\@ifpackageloaded{cleveref}%
+ {}
+ {\def\tnotetext[#1]#2{\g at addto@macro\@tnotes{%
+    \refstepcounter{tnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}}
+    \def\thefootnote{\ifcase\c at tnote\or$\star$\or$\star\star$\fi}%
+    \footnotetext{#2}}}
+%%%
+  \def\fntext[#1]#2{\g at addto@macro\@fnotes{%
+    \refstepcounter{fnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}}
+    \def\thefootnote{\thefnote}%
+    \global\setcounter{footnote}{\c at fnote}%
+    \footnotetext{#2}}}
+%%%
+  \def\cortext[#1]#2{\g at addto@macro\@cornotes{%
+    \refstepcounter{cnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}}
+    \def\thefootnote{\ifcase\c at cnote\or$\ast$\or
+    $\ast\ast$\fi}%
+    \footnotetext{#2}}}
+}
+
+\def\textmarker#1#2{\textcolor{#1}{#2}}%*%
 %</class>
 %
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins	2018-07-04 21:25:46 UTC (rev 48134)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %%
 %% This file is part of the 'Elsarticle Bundle'.
 %% ---------------------------------------------
@@ -18,6 +18,7 @@
 %% The list of all files belonging to the 'Elsarticle Bundle' is
 %% given in the file 'manifest.txt'.
 %%
+%% $Id: elsarticle.ins 121 2018-06-29 05:04:03Z rishi $
 %%
 %%
 \input docstrip.tex
@@ -25,7 +26,7 @@
 
 \preamble
 
-Copyright 2007, 2008, 2009 Elsevier Ltd
+Copyright 2007-2018 Elsevier Ltd
 
 This file is part of the 'Elsarticle Bundle'.
 -------------------------------------------

Modified: trunk/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls	2018-07-04 21:19:25 UTC (rev 48133)
+++ trunk/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls	2018-07-04 21:25:46 UTC (rev 48134)
@@ -6,7 +6,7 @@
 %%
 %% elsarticle.dtx  (with options: `class')
 %% 
-%% Copyright 2007, 2008, 2009 Elsevier Ltd
+%% Copyright 2007-2018 Elsevier Ltd
 %% 
 %% This file is part of the 'Elsarticle Bundle'.
 %% -------------------------------------------
@@ -22,13 +22,14 @@
 %% given in the file `manifest.txt'.
 %% 
 %%
-%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $
 %%
+%%
  \def\RCSfile{elsarticle}%
- \def\RCSversion{1.2.0}%
- \def\RCSdate{2009/09/17}%
+ \def\RCSversion{3.0}%
+ \def\RCSdate{2018/06/08}%
  \def\@shortjnl{\relax}
- \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd}
+ \def\@journal{Elsevier Ltd}
+ \def\@company{Elsevier Ltd}
  \def\@issn{000-0000}
  \def\@shortjid{elsarticle}
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
@@ -35,7 +36,10 @@
 \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal]
 \def\ABD{\AtBeginDocument}
 \newif\ifpreprint \preprintfalse
+\newif\ifnonatbib \nonatbibfalse
 \newif\iflongmktitle \longmktitlefalse
+\newif\ifnopreprintline \nopreprintlinefalse
+\newif\ifdoubleblind \doubleblindfalse
 
 \def\@blstr{1}
 \newdimen\@bls
@@ -54,11 +58,13 @@
 \DeclareOption{preprint}{\global\preprinttrue
   \gdef\@blstr{1}\xdef\jtype{0}%
    \AtBeginDocument{\@twosidefalse\@mparswitchfalse}}
+\DeclareOption{nopreprintline}{\global\nopreprintlinetrue}
 \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse}
 \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}}
 \DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}}
 \DeclareOption{number}{\xdef\@biboptions{numbers}}
 \DeclareOption{numbers}{\xdef\@biboptions{numbers}}
+\DeclareOption{nonatbib}{\global\nonatbibtrue}
 \DeclareOption{longtitle}{\global\longmktitletrue}
 \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse
   \ExecuteOptions{twocolumn}}
@@ -73,8 +79,24 @@
   \let\iiint\relax
   \let\iiiint\relax
   \let\idotsint\relax
-  \let\openbox\relax}}{\RequirePackage{times}}}
-\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint}
+  \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}}
+
+\DeclareOption{endfloat}{\IfFileExists{endfloat.sty}
+   {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}}
+\DeclareOption{endfloats}{\IfFileExists{endfloat.sty}
+   {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}}
+\DeclareOption{numafflabel}
+   {\AtBeginDocument{\def\theaffn{\arabic{affn}}}} %*%
+\DeclareOption{lefttitle}
+   {\AtBeginDocument{\def\elsarticletitlealign{flushleft}}} %*%
+\DeclareOption{centertitle}
+   {\AtBeginDocument{\def\elsarticletitlealign{center}}} %*%
+\DeclareOption{reversenotenum}
+   {\AtBeginDocument{\def\theaffn{\arabic{affn}}
+    \def\thefnote{\alph{fnote}}}}
+\DeclareOption{doubleblind}{\doubleblindtrue}
+
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint,centertitle}
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
 \ProcessOptions
 \LoadClass{article}
@@ -81,28 +103,38 @@
 \RequirePackage{graphicx}
 \let\comma\@empty
 \let\tnotesep\@empty
-\def\title#1{\gdef\@title{#1}}
 \let\@title\@empty
 
+\def\useelstitle{}
+
+\def\title#1{\g at addto@macro\@title{#1%
+       \global\let\tnoteref\@gobble}%
+       \g at addto@macro\useelstitle{#1}}
+
 \def\elsLabel#1{\@bsphack\protected at write\@auxout{}%
          {\string\Newlabel{#1}{\@currentlabel}}\@esphack}
 \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}}
 
-\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}%
-}
+\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}}
 
-\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{%
-      \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}%
-      \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}%
-}
 \let\@tnotemark\@empty
 
+\ifdoubleblind
+  \def\tnotemark[#1]{}
+\else
+  \def\tnotemark[#1]{\@for\mytmark:=#1\do{%
+       \expandafter\ifcase\csname X@\mytmark\endcsname\or$^{\star}$\or
+       $^{,\star\star}$\fi
+    }%
+}
+\fi
+
+\def\tnoteref#1{\tnotemark[{#1}]}
 \let\@tnotes\@empty
-\RequirePackage{pifont}
 \newcounter{tnote}
 \def\tnotetext[#1]#2{\g at addto@macro\@tnotes{%
-  \refstepcounter{tnote}\elsLabel{#1}%
-   \def\thefootnote{\ifcase\c at tnote\or\ding{73}\or\ding{73}\ding{73}\fi}%
+  \stepcounter{tnote}\elsLabel{#1}%
+    \def\thefootnote{\ifcase\c at tnote\or$\star$\or$\star\star$\fi}%
     \footnotetext{#2}}}
 
 \let\@nonumnotes\@empty
@@ -110,6 +142,7 @@
      \let\thefootnote\relax\footnotetext{#1}}}
 
 \newcounter{fnote}
+\def\thefnote{\arabic{fnote}}
 \def\fnmark[#1]{\let\comma\@empty
     \def\@fnmark{\@for\@@fnmark:=#1\do{%
     \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}%
@@ -116,11 +149,13 @@
   \unskip\comma\fnotenum\let\comma,}}%
 }
 
+\def\fnref#1{\fnmark[#1]}
+
 \let\@fnotes\@empty\let\@fnmark\@empty
 \def\fntext[#1]#2{\g at addto@macro\@fnotes{%
-     \refstepcounter{fnote}\elsLabel{#1}%
-   \def\thefootnote{\thefnote}%
-   \global\setcounter{footnote}{\thefnote}%
+   \refstepcounter{fnote}\elsLabel{#1}%
+   \def\thefootnote{\c at fnote}%
+   \global\setcounter{footnote}{\c at fnote}%
    \footnotetext{#2}}}
 
 \def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}%
@@ -141,14 +176,11 @@
     \edef\@corref{\ifcase\cnotenum\or
          $\ast$\or$\ast\ast$\fi\hskip-1pt}}
 
-\def\fnref#1{\fnmark[#1]}
-\def\tnoteref#1{\tnotemark[#1]}
-
 \def\resetTitleCounters{\c at cnote=0
    \c at fnote=0 \c at tnote=0 \c at footnote=0}
 
 \let\eadsep\@empty
-\let\@elseads\@empty
+\def\@elseads{}
 \let\@elsuads\@empty
 \let\@cormark\@empty
 \def\hashchar{\expandafter\@gobble\string\~}
@@ -156,36 +188,43 @@
 \def\lbracechar{\expandafter\@gobble\string\{}
 \def\rbracechar{\expandafter\@gobble\string\}}
 
-\def\ead{\@ifnextchar[{\@uad}{\@ead}}
-\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}%
-  \def\{{\string\lbracechar\space}%
-   \def~{\hashchar\space}%
-   \def\}{\string\rbracechar\space}%
-   \edef\tmp{\the\@eadauthor}
+\gdef\ead{\@ifnextchar[{\@uad}{\@ead}}
+\gdef\@ead#1{\bgroup
+   \def\_{\underscorechar}%
+   \def\{{\lbracechar}%
+   \def~{\hashchar}%
+   \def\}{\rbracechar}%
+   \edef\tmp{\the\@eadauthor}%
    \immediate\write\@auxout{\string\emailauthor
      {#1}{\expandafter\strip at prefix\meaning\tmp}}%
-  \egroup
+   \egroup
 }
 \newcounter{ead}
 \gdef\emailauthor#1#2{\stepcounter{ead}%
      \g at addto@macro\@elseads{\raggedright%
-      \let\corref\@gobble
-      \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}%
+      \let\corref\@gobble\def\@@tmp{#1}%
+      \eadsep{\ttfamily\expandafter\strip at prefix\meaning\@@tmp}
+      (#2)\def\eadsep{\unskip,\space}}%
 }
 \gdef\@uad[#1]#2{\bgroup
-  \def~{\string\hashchar\space}%
-  \def\_{\string\underscorechar\space}%
+   \def~{\hashchar}%
+   \def\_{\underscorechar}%
+   \def~{\hashchar}%
+   \def\}{\rbracechar}%
    \edef\tmp{\the\@eadauthor}
    \immediate\write\@auxout{\string\urlauthor
      {#2}{\expandafter\strip at prefix\meaning\tmp}}%
   \egroup
 }
-\def\urlauthor#1#2{\g at addto@macro\@elsuads{\let\corref\@gobble%
-     \raggedright\eadsep\texttt{#1}\space(#2)%
+\gdef\urlauthor#1#2{\g at addto@macro\@elsuads{\let\corref\@gobble%
+     \def\@@tmp{#1}\raggedright\eadsep
+     {\ttfamily\expandafter\strip at prefix\meaning\@@tmp}\space(#2)%
      \def\eadsep{\unskip,\space}}%
 }
 
 \def\elsauthors{}
+\def\useauthors{}
+
 \def\pprinttitle{}
 \let\authorsep\@empty
 \let\sep\@empty
@@ -205,7 +244,8 @@
     \def\authorsep{\unskip,\space}%
     \global\let\sep\@empty\global\let\@corref\@empty
     \global\let\@fnmark\@empty}%
-    \@eadauthor={#2}
+    \@eadauthor={#2}%
+    \g at addto@macro\useauthors{#2; }%
 }
 
 \def\@author#1{\g at addto@macro\elsauthors{\normalsize%
@@ -216,10 +256,18 @@
       }%
     \def\authorsep{\unskip,\space}%
     \global\let\@fnmark\@empty
-    \global\let\sep\@empty}%
-    \@eadauthor={#1}
+    \global\let\@corref\@empty    \global\let\sep\@empty}%
+    \@eadauthor={#1}%
+    \g at addto@macro\useauthors{#1; }%
 }
 
+\AtBeginDocument{%
+  \@ifpackageloaded{hyperref}{%
+    \expandafter\gdef\csname Hy at title\endcsname{\useelstitle}%
+    \expandafter\gdef\csname Hy at author\endcsname{\useauthors}%
+   }{}
+}
+
 \def\elsaddress{}
 \def\addsep{\par\vskip6pt}
 \def\address{\@ifnextchar[{\@@address}{\@address}}
@@ -267,13 +315,21 @@
     \def\authorsep{\par\vskip8pt}}}
 
 \newbox\absbox
+\let\@elsarticleabstitle\@empty %*%
+\def\abstracttitle#1{\gdef\@elsarticleabstitle{#1}} %*%
+\abstracttitle{Abstract} %*%
 \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
   \hsize=\textwidth\def\baselinestretch{1}%
-  \noindent\unskip\textbf{Abstract}
+  \noindent\unskip\textbf{\@elsarticleabstitle} %*%
  \par\medskip\noindent\unskip\ignorespaces}
  {\egroup}
 
 \newbox\keybox
+\let\@elsarticlekwdtitle\@empty %*%
+\def\keywordtitle#1{\gdef\@elsarticlekwdtitle{#1}} %*%
+\def\keywordtitlesep#1{\gdef\@elsarticlekeywordtitlesep{#1}} %*%
+\keywordtitle{Keywords} %*%
+\keywordtitlesep{:\ }
 \def\keyword{%
   \def\sep{\unskip, }%
  \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}}
@@ -283,7 +339,7 @@
   \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth
   \normalsize\normalfont\def\baselinestretch{1}
   \parskip\z@
-  \noindent\textit{Keywords: }
+  \noindent\textit{\@elsarticlekwdtitle\@elsarticlekeywordtitlesep}
   \raggedright                         % Keywords are not justified.
   \ignorespaces}
 \def\endkeyword{\par \egroup}
@@ -293,7 +349,10 @@
 
 \def\printFirstPageNotes{%
   \iflongmktitle
-   \let\columnwidth=\textwidth\fi
+    \let\columnwidth=\textwidth
+  \fi
+\ifdoubleblind
+\else
   \ifx\@tnotes\@empty\else\@tnotes\fi
   \ifx\@nonumnotes\@empty\else\@nonumnotes\fi
   \ifx\@cornotes\@empty\else\@cornotes\fi
@@ -307,28 +366,49 @@
    \let\thefootnote\relax
    \footnotetext{\textit{URL:\space}%
      \@elsuads}\fi
+\fi
   \ifx\@fnotes\@empty\else\@fnotes\fi
   \iflongmktitle\if at twocolumn
    \let\columnwidth=\Columnwidth\fi\fi
 }
 
+%% Pushing text to begin on newpage %*%
+\def\newpage at after@title{title}
+\def\newpage at after@author{author}
+\def\newpage at after@abstract{abstract}
+\def\newpageafter#1%
+    {\gdef\@elsarticlenewpageafter{#1}}
+
 \long\def\pprintMaketitle{\clearpage
   \iflongmktitle\if at twocolumn\let\columnwidth=\textwidth\fi\fi
   \resetTitleCounters
   \def\baselinestretch{1}%
   \printFirstPageNotes
-  \begin{center}%
+  \begin{\elsarticletitlealign}%
  \thispagestyle{pprintTitle}%
    \def\baselinestretch{1}%
-    \Large\@title\par\vskip18pt
-    \normalsize\elsauthors\par\vskip10pt
-    \footnotesize\itshape\elsaddress\par\vskip36pt
+    \Large\@title\par\vskip18pt%
+    \ifx\@elsarticlenewpageafter\newpage at after@title% %*%
+      \newpage
+    \fi%
+    \ifdoubleblind
+      \vspace*{2pc}
+    \else
+      \normalsize\elsauthors\par\vskip10pt
+      \footnotesize\itshape\elsaddress\par\vskip36pt
+    \fi
+    \ifx\@elsarticlenewpageafter\newpage at after@author% %*%
+      \newpage
+    \fi%
     \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}}%
+    \ifx\@elsarticlenewpageafter\newpage at after@abstract% %*%
+      \newpage
+    \fi%
+    \end{\elsarticletitlealign}%
+    \gdef\thefootnote{\arabic{footnote}}%
   }
 
 \def\printWarning{%
@@ -351,17 +431,21 @@
 \long\def\MaketitleBox{%
   \resetTitleCounters
   \def\baselinestretch{1}%
-  \begin{center}%
+  \begin{\elsarticletitlealign}%
    \def\baselinestretch{1}%
     \Large\@title\par\vskip18pt
+  \ifdoubleblind
+    \vspace*{2pc}
+  \else
     \normalsize\elsauthors\par\vskip10pt
     \footnotesize\itshape\elsaddress\par\vskip36pt
+  \fi
     \hrule\vskip12pt
     \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi
     \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi
     \hrule\vskip12pt
-    \end{center}%
-  }
+    \end{\elsarticletitlealign}%
+}
 
 \def\FNtext#1{\par\bgroup\footnotesize#1\egroup}
 \newdimen\space at left
@@ -369,6 +453,39 @@
              \typeout{#1}%
              \typeout{******************************}%
 }
+
+\def\titlespancalculator#1#2#3#4{%
+  % break count
+  \@tempcnta=#4\relax%
+  % pagebreakcount increment
+  \advance\@tempcnta by 1\relax%
+  % title page height
+  \@tempdima=#1\relax%
+  % Page height - title page notes height (only for first break)
+  % Page height - textheight (for remaining breaks)
+  % Page height - title page notes height
+  \@tempdimb=#2\relax%
+  % Remaining title page height
+  \advance\@tempdima -\the\@tempdimb%
+  % Checks if remaining title page
+  % height less than textheight
+  \ifdim\the\@tempdima>#3\relax%
+     \titlespancalculator%
+      {\the\@tempdima}{#3}{#3}{\the\@tempcnta}%Break again
+  \else%
+  % Save break count and exit.
+     \xdef\savetitlepagespan{\the\@tempcnta}%
+  \fi%
+}%
+
+\long\def\myfor#1#2#3{%
+  \@tempcnta=#1\relax%
+  \ifnum#1<#2\relax%
+    \advance\@tempcnta by 1\relax%
+    #3%
+    \myfor{\the\@tempcnta}{#2}{#3}%
+  \fi}
+
 \long\def\getSpaceLeft{%\global\@twocolumnfalse%
    \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}%
    \global\setbox1=\vbox{\hsize=\textwidth
@@ -379,6 +496,9 @@
     \@tempdima=\vsize
     \advance\@tempdima-\noteheight
     \advance\@tempdima-1\baselineskip
+    \xdef\savefpageheight{\the\@tempdima}%
+    \setbox2=\vbox{\titlespancalculator{\titleheight}%
+       {\savefpageheight}{\textheight}{0}}%
 }
 
   \skip\footins=24pt
@@ -392,10 +512,19 @@
    \ifnum\jtype=1
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \box\els at boxb}
+       \else%
+       \fi%
        \box0%
       \else
        \finalMaketitle\printFirstPageNotes
@@ -405,10 +534,19 @@
  \ifnum\jtype=5
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \twocolumn[\box\els at boxb]}
+       \else%
+       \fi%
        \twocolumn[\box0]%\printFirstPageNotes
       \else
        \twocolumn[\finalMaketitle]\printFirstPageNotes
@@ -417,11 +555,20 @@
   \else
   \if at twocolumn
     \def\maketitle{%
-      \iflongmktitle\getSpaceLeft
+        \iflongmktitle\getSpaceLeft
+          \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \twocolumn[\box\els at boxb]}
+       \else%
+       \fi%
        \twocolumn[\box0]%
       \else
        \twocolumn[\finalMaketitle]\printFirstPageNotes
@@ -430,10 +577,19 @@
    \else
     \def\maketitle{%
       \iflongmktitle\getSpaceLeft
+        \ifdim\noteheight>0pt%
+    \advance\@tempdima-1.35\baselineskip
+        \fi%
        \global\setbox\els at boxa=\vsplit0 to \@tempdima
        \box\els at boxa\par\resetTitleCounters
        \thispagestyle{pprintTitle}%
        \printFirstPageNotes
+       \ifnum\savetitlepagespan>1\relax%
+       \myfor{2}{\savetitlepagespan}{%
+       \global\setbox\els at boxb=\vsplit0 to \textheight%\@tempdima
+       \box\els at boxb}
+       \else%
+       \fi%
        \box0%
      \else
        \finalMaketitle\printFirstPageNotes
@@ -443,12 +599,43 @@
   \fi
  \fi
 \fi
+
+\let\@elsarticlemyfooter\@empty
+\let\@elsarticlemyfooteralign\@empty
+\def\@elsarticlemyfooteralignleft{L}
+\def\@elsarticlemyfooteralignright{R}
+\def\@elsarticlemyfooteraligncenter{C}
+
+\def\myfooter[#1]#2 %*%
+      {\gdef\@elsarticlemyfooteralign{#1}
+       \gdef\@elsarticlemyfooter{#2}}
+
+\def\myfooterfont#1{\gdef\@myfooterfont{#1}}
+\myfooterfont{\footnotesize\itshape}
 \def\ps at pprintTitle{%
      \let\@oddhead\@empty
      \let\@evenhead\@empty
-     \def\@oddfoot{\footnotesize\itshape
-       Preprint submitted to \ifx\@journal\@empty Elsevier
-       \else\@journal\fi\hfill\today}%
+     \def\@oddfoot
+       {\hbox to \textwidth%
+        {\ifnopreprintline\relax\else
+        \@myfooterfont%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteraligncenter%
+           \hfil\@elsarticlemyfooter\hfil%
+         \else%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignleft%
+           \@elsarticlemyfooter\hfill{}%
+         \else%
+         \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignright%
+           {}\hfill\@elsarticlemyfooter%
+         \else%
+               Preprint submitted to \ifx\@journal\@empty%
+                 Elsevier%
+            \else\@journal\fi\hfill\@date\fi%
+         \fi%
+         \fi%
+         \fi%
+         }
+       }%
      \let\@evenfoot\@oddfoot}
 \def\@seccntDot{.}
 \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em}
@@ -639,8 +826,9 @@
 
 \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{}
 \InputIfFileExists{\jobname.spl}{}{}
-\RequirePackage[\@biboptions]{natbib}
-
+\ifnonatbib\relax\else
+  \RequirePackage[\@biboptions]{natbib}
+\fi
 \newwrite\splwrite
 \immediate\openout\splwrite=\jobname.spl
 \def\biboptions#1{\def\next{#1}\immediate\write\splwrite{%
@@ -648,7 +836,6 @@
     ,\expandafter\strip at prefix\meaning\next}}}
 
 \let\baselinestretch=\@blstr
-
 \ifnum\jtype=1
  \RequirePackage{geometry}
  \geometry{twoside,
@@ -745,6 +932,7 @@
 \@makeother\=
 }{}}
 %%
+\def\appendixname{Appendix }
 \renewcommand\appendix{\par
   \setcounter{section}{0}%
   \setcounter{subsection}{0}%
@@ -751,17 +939,26 @@
   \setcounter{equation}{0}
   \gdef\thefigure{\@Alph\c at section.\arabic{figure}}%
   \gdef\thetable{\@Alph\c at section.\arabic{table}}%
-  \gdef\thesection{\appendixname\@Alph\c at section}%
+  \gdef\thesection{\appendixname~\@Alph\c at section}%
   \@addtoreset{equation}{section}%
   \gdef\theequation{\@Alph\c at section.\arabic{equation}}%
+  \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{}
 }
-\def\appendixname{Appendix }
 
+%%%% \numberline width calculation for appendix.
+\newdimen\appnamewidth
+\def\tmptocnumberline#1{%
+   \setbox0=\hbox{\appendixname}
+   \appnamewidth=\wd0
+   \addtolength\appnamewidth{2.5pc}
+   \hb at xt@\appnamewidth{#1\hfill}
+}
+
 %% Added for work with amsrefs.sty
 
 \@ifpackageloaded{amsrefs}%
   {}
-  {\let\bibsection\relax%
+  {%\let\bibsection\relax%
   \AtBeginDocument{\def\cites at b#1#2,#3{%
     \begingroup[%
         \toks@{\InnerCite{#2}#1}%
@@ -769,6 +966,31 @@
         \cites at c#3%
 }}}
 %%
+%% Added for avoiding clash with cleveref.sty
+\@ifpackageloaded{cleveref}%
+ {}
+ {\def\tnotetext[#1]#2{\g at addto@macro\@tnotes{%
+    \refstepcounter{tnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}}
+    \def\thefootnote{\ifcase\c at tnote\or$\star$\or$\star\star$\fi}%
+    \footnotetext{#2}}}
+%%%
+  \def\fntext[#1]#2{\g at addto@macro\@fnotes{%
+    \refstepcounter{fnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}}
+    \def\thefootnote{\thefnote}%
+    \global\setcounter{footnote}{\c at fnote}%
+    \footnotetext{#2}}}
+%%%
+  \def\cortext[#1]#2{\g at addto@macro\@cornotes{%
+    \refstepcounter{cnote}%
+    \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}}
+    \def\thefootnote{\ifcase\c at cnote\or$\ast$\or
+    $\ast\ast$\fi}%
+    \footnotetext{#2}}}
+}
+
+\def\textmarker#1#2{\textcolor{#1}{#2}}%*%
 \endinput
 %%
 %% End of file `elsarticle.cls'.



More information about the tex-live-commits mailing list