]> AND Private Git Repository - kahina_paper1.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
authorKahina <kahina@kahina-VPCEH3K1E.(none)>
Tue, 20 Oct 2015 11:32:35 +0000 (13:32 +0200)
committerKahina <kahina@kahina-VPCEH3K1E.(none)>
Tue, 20 Oct 2015 11:32:35 +0000 (13:32 +0200)
model1-num-names.bst [deleted file]
model1a-num-names.bst [deleted file]
model2-names.bst [deleted file]
model3-num-names.bst [deleted file]
model4-names.bst [deleted file]
model5-names.bst [deleted file]
model6-num-names.bst [deleted file]

diff --git a/model1-num-names.bst b/model1-num-names.bst
deleted file mode 100644 (file)
index 27b4bdc..0000000
+++ /dev/null
@@ -1,1529 +0,0 @@
-%%
-%% This is file `model1-num-names.bst'  (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model1-num-names.bst 206 2012-10-22 07:28:26Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-1/model1-num-names.bst $
-%%
-%%
-
-ENTRY
-  { 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 :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ '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$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  skip$
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "\textit{" swap$ * "}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "eds." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "volume" }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "number" }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.chapter}
-{ "chapter" }
-
-FUNCTION {bbl.techrep}
-{ "Technical Report" }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-MACRO {acmcs} {"ACM Comput. Surv."}
-
-MACRO {acta} {"Acta Inf."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{f.~}{vv~}{ll}{, jj}"
-      format.name$
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              "," *
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                { " " * t * }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-FUNCTION {format.names.ed}
-{
-  format.names
-}
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-%FUNCTION {format.authors}
-%{ author "author" format.names
-%}
-
-FUNCTION {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.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
-   { namesleft #0 > }
-   { s nameptr
-     "{vv~}{ll}" format.name$
-     't :=
-     nameptr #1 >
-       {
-         namesleft #1 >
-           { ", " * t * }
-           {
-             s nameptr "{ll}" format.name$ duplicate$ "others" =
-               { 't := }
-               { pop$ }
-             if$
-             t "others" =
-               {
-                 " " * bbl.etal *
-               }
-               {
-                 numnames #2 >
-                   { "," * }
-                   'skip$
-                 if$
-                 bbl.and
-                 space.word * t *
-               }
-             if$
-           }
-         if$
-       }
-       't
-     if$
-     nameptr #1 + 'nameptr :=
-     namesleft #1 - 'namesleft :=
-   }
- while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-   { editor empty$
-       { key empty$
-           { cite$ #1 #3 substring$ }
-           'key
-         if$
-       }
-       { editor format.full.names }
-     if$
-   }
-   { author format.full.names }
- if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-   { key empty$
-        { cite$ #1 #3 substring$ }
-         'key
-     if$
-   }
-   { author format.full.names }
- if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-   { key empty$
-        { cite$ #1 #3 substring$ }
-         'key
-     if$
-   }
-   { editor format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
-   'author.editor.key.full
-   { type$ "proceedings" =
-       'editor.key.full
-       'author.key.full
-     if$
-   }
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[{" write$
- label write$
- ")" make.full.names duplicate$ short.list =
-    { pop$ }
-    { * }
-  if$
- "}]{" * write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in
-  ":" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-      "empty year in " cite$ * "; set to ????" * warning$
-       pop$ "????"
-    }
-    'skip$
-  if$
-  extra.label *
-}
-FUNCTION{format.year}
-{ year "year" bibinfo.check duplicate$ empty$
-    {  "empty year in " cite$ *
-       "; set to ????" *
-       warning$
-       pop$ "????"
-    }
-    {
-    }
-  if$
-  extra.label *
-  " (" swap$ * ")" *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { series empty$
-            { number "number" bibinfo.check }
-        { output.state mid.sentence =
-            { bbl.number }
-            { bbl.number capitalize }
-          if$
-          number tie.or.space.prefix "number" bibinfo.check * *
-          bbl.in space.word *
-          series "series" bibinfo.check *
-        }
-      if$
-    }
-      if$
-    }
-    { "" }
-  if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
-    {
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-    }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          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 }
-        {
-          " " *
-          swap$
-          n.dashify
-          "pages" bibinfo.check
-          *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  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$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          " " *
-          get.bbl.editor
-          capitalize
-          "(" swap$ * "), " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
-    }
-  if$
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.incoll.inproc.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.org.or.pub}
-{ 't :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      t empty$
-        { address "address" bibinfo.check *
-        }
-        { t *
-          address empty$
-            'skip$
-            { ", " * address "address" bibinfo.check * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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$
-  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
-  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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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 }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-     { pop$ "????" }
-     { purify$ #-1 #4 substring$ }
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.sort
-    { type$ "proceedings" =
-        'editor.sort
-        'author.sort
-      if$
-    }
-  if$
-  #1 entry.max$ substring$
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-%SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-%SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
-  write$ newline$
-  "\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$
-}
-EXECUTE {end.bib}
-%% End of customized bst file
-%%
-%% End of file `model1-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.
diff --git a/model1a-num-names.bst b/model1a-num-names.bst
deleted file mode 100644 (file)
index 551bbec..0000000
+++ /dev/null
@@ -1,1520 +0,0 @@
-%%
-%% This is file `model1a-num-names.bst' (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model1a-num-names.bst 207 2012-10-22 07:29:13Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-1a/model1a-num-names.bst $
-%%
-%%
-
-ENTRY
-  { 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 :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ 's :=
-  output.state mid.sentence =
-    { ", " * write$ }
-    { output.state after.block =
-        { add.period$ write$
-          newline$
-          "\newblock " write$
-        }
-        { output.state before.all =
-            'write$
-            { add.period$ " " * write$ }
-          if$
-        }
-      if$
-      mid.sentence 'output.state :=
-    }
-  if$
-  s
-}
-FUNCTION {output}
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  skip$
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "\textit{" swap$ * "}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "eds." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "volume" }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "number" }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.chapter}
-{ "chapter" }
-
-FUNCTION {bbl.techrep}
-{ "Technical Report" }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-MACRO {acmcs} {"ACM Comput. Surv."}
-
-MACRO {acta} {"Acta Inf."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{f.~}{vv~}{ll}{, jj}"
-      format.name$
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              "," *
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                { " " * t * }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-FUNCTION {format.names.ed}
-{
-  format.names
-}
-
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
-    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.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
-   { namesleft #0 > }
-   { s nameptr
-     "{vv~}{ll}" format.name$
-     't :=
-     nameptr #1 >
-       {
-         namesleft #1 >
-           { ", " * t * }
-           {
-             s nameptr "{ll}" format.name$ duplicate$ "others" =
-               { 't := }
-               { pop$ }
-             if$
-             t "others" =
-               {
-                 " " * bbl.etal *
-               }
-               {
-                 numnames #2 >
-                   { "," * }
-                   'skip$
-                 if$
-                 bbl.and
-                 space.word * t *
-               }
-             if$
-           }
-         if$
-       }
-       't
-     if$
-     nameptr #1 + 'nameptr :=
-     namesleft #1 - 'namesleft :=
-   }
- while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-   { editor empty$
-       { key empty$
-           { cite$ #1 #3 substring$ }
-           'key
-         if$
-       }
-       { editor format.full.names }
-     if$
-   }
-   { author format.full.names }
- if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-   { key empty$
-        { cite$ #1 #3 substring$ }
-         'key
-     if$
-   }
-   { author format.full.names }
- if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-   { key empty$
-        { cite$ #1 #3 substring$ }
-         'key
-     if$
-   }
-   { editor format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
-   'author.editor.key.full
-   { type$ "proceedings" =
-       'editor.key.full
-       'author.key.full
-     if$
-   }
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[{" write$
- label write$
- ")" make.full.names duplicate$ short.list =
-    { pop$ }
-    { * }
-  if$
- "}]{" * write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in
-  ":" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-      "empty year in " cite$ * "; set to ????" * warning$
-       pop$ "????"
-    }
-    'skip$
-  if$
-  extra.label *
-}
-FUNCTION{format.year}
-{ year "year" bibinfo.check duplicate$ empty$
-    {  "empty year in " cite$ *
-       "; set to ????" *
-       warning$
-       pop$ "????"
-    }
-    {
-    }
-  if$
-  extra.label *
-  " (" swap$ * ")" *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { series empty$
-            { number "number" bibinfo.check }
-        { output.state mid.sentence =
-            { bbl.number }
-            { bbl.number capitalize }
-          if$
-          number tie.or.space.prefix "number" bibinfo.check * *
-          bbl.in space.word *
-          series "series" bibinfo.check *
-        }
-      if$
-    }
-      if$
-    }
-    { "" }
-  if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
-    {
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-    }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          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 }
-        {
-          " " *
-          swap$
-          n.dashify
-          "pages" bibinfo.check
-          *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  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$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          " " *
-          get.bbl.editor
-          capitalize
-          "(" swap$ * "), " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
-    }
-  if$
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.incoll.inproc.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.org.or.pub}
-{ 't :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      t empty$
-        { address "address" bibinfo.check *
-        }
-        { t *
-          address empty$
-            'skip$
-            { ", " * address "address" bibinfo.check * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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$
-  print.url output
-  fin.entry
-}
-
-
-FUNCTION {article}
-{ "%Type = Article" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  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}
-{ "%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
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inbook}
-{ "%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}
-{ "%Type = Incollection" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  crossref missing$
-    { format.in.ed.booktitle "booktitle" output.check
-      format.bvolume output
-      format.number.series output
-      format.publisher.address output
-      format.edition output
-      format.date output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  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}
-{ "%Type = Inproceedings" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  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
-          format.date output
-        }
-      if$
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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}
-{ "%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 }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-     { pop$ "????" }
-     { purify$ #-1 #4 substring$ }
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{ll{ }}{  f{ }}{  jj{ }}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.sort
-    { type$ "proceedings" =
-        'editor.sort
-        'author.sort
-      if$
-    }
-  if$
-  #1 entry.max$ substring$
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-%SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-%SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
-  write$ newline$
-  "\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$
-}
-EXECUTE {end.bib}
-%% End of customized bst file
-%%
-%% End of file `model1a-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.
diff --git a/model2-names.bst b/model2-names.bst
deleted file mode 100644 (file)
index 877f10c..0000000
+++ /dev/null
@@ -1,1656 +0,0 @@
-%%\r
-%% This is file `model2-names.bst'  (Version 2.0),\r
-%% \r
-%% Copyright 2009-2013 Elsevier Ltd\r
-%% \r
-%% This file is part of the 'Elsarticle Bundle'.\r
-%% ---------------------------------------------\r
-%% \r
-%% It may be distributed under the conditions of the LaTeX Project Public\r
-%% License, either version 1.2 of this license or (at your option) any\r
-%% later version.  The latest version of this license is in\r
-%%    http://www.latex-project.org/lppl.txt\r
-%% and version 1.2 or later is part of all distributions of LaTeX\r
-%% version 1999/12/01 or later.\r
-%%\r
-%% $Id: model2-names.bst 217 2013-03-13 11:50:49Z rishi $\r
-%%\r
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-2/model2-names.bst $\r
-%% \r
-\r
-ENTRY\r
-  { address\r
-    archive\r
-    author\r
-    booktitle\r
-    chapter\r
-    collaboration\r
-    edition\r
-    editor\r
-    howpublished\r
-    institution\r
-    journal\r
-    key\r
-    month\r
-    note\r
-    number\r
-    organization\r
-    pages\r
-    publisher\r
-    school\r
-    series\r
-    title\r
-    type\r
-    volume\r
-    year\r
-    url\r
-    doi\r
-    eprint\r
-    pubmed\r
-  }\r
-  {}\r
-  { label extra.label sort.label short.list }\r
-\r
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }\r
-\r
-STRINGS { urlprefix doiprefix eprintprefix pubmedprefix }\r
-\r
-FUNCTION {init.web.variables}\r
-{\r
- "\URLprefix "     'urlprefix :=\r
- "\DOIprefix"      'doiprefix :=\r
- "\ArXivprefix  "   'eprintprefix :=\r
- "\Pubmedprefix "  'pubmedprefix :=\r
-}\r
-\r
-FUNCTION {init.state.consts}\r
-{ #0 'before.all :=\r
-  #1 'mid.sentence :=\r
-  #2 'after.sentence :=\r
-  #3 'after.block :=\r
-}\r
-STRINGS { s t}\r
-FUNCTION {output.comma}\r
-{ ", " * write$}\r
-   \r
-FUNCTION {output.nonnull}\r
-{ 's :=\r
-  output.state mid.sentence =\r
-    { ". " * write$ }\r
-    { output.state after.block =\r
-        { add.period$ write$\r
-          newline$\r
-          "\newblock " write$\r
-        }\r
-        { output.state before.all =\r
-            'write$\r
-            { ", " * write$ }\r
-          if$\r
-        }\r
-      if$\r
-      mid.sentence 'output.state :=\r
-    }\r
-  if$\r
-  s\r
-}\r
-FUNCTION {output.commanull}\r
-{ 's :=\r
-  output.state mid.sentence =\r
-    { ", " * write$ }\r
-    { output.state after.block =\r
-        { ", " * write$\r
-          newline$\r
-          "\newblock " write$\r
-        }\r
-        { output.state before.all =\r
-            'write$\r
-            { add.period$ " " * write$ }\r
-          if$\r
-        }\r
-      if$\r
-      mid.sentence 'output.state :=\r
-    }\r
-  if$\r
-  s\r
-}\r
-FUNCTION {output}\r
-{ duplicate$ empty$\r
-    'pop$\r
-    'output.nonnull\r
-  if$\r
-}\r
-FUNCTION {output.check}\r
-{ 't :=\r
-  duplicate$ empty$\r
-    { pop$ "empty " t * " in " * cite$ * warning$ }\r
-    'output.nonnull\r
-  if$\r
-}\r
-FUNCTION {output.book.check}\r
-{ 't :=\r
-  duplicate$ empty$\r
-    { pop$ "empty " t * " in " * cite$ * warning$ }\r
-    'output.nonnull\r
-  if$\r
-}\r
-FUNCTION {fin.entry}\r
-{ add.period$\r
-  write$\r
-  newline$\r
-}\r
-\r
-FUNCTION {new.block}\r
-{ output.state before.all =\r
-    'skip$\r
-    { after.block 'output.state := }\r
-  if$\r
-}\r
-FUNCTION {new.sentence}\r
-{ output.state after.block =\r
-    'skip$\r
-    { output.state before.all =\r
-        'skip$\r
-        { after.sentence 'output.state := }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-FUNCTION {add.blank}\r
-{  " " * before.all 'output.state :=\r
-}\r
-\r
-FUNCTION {date.block}\r
-{\r
-  new.block\r
-}\r
-\r
-FUNCTION {not}\r
-{   { #0 }\r
-    { #1 }\r
-  if$\r
-}\r
-FUNCTION {and}\r
-{   'skip$\r
-    { pop$ #0 }\r
-  if$\r
-}\r
-FUNCTION {or}\r
-{   { pop$ #1 }\r
-    'skip$\r
-  if$\r
-}\r
-FUNCTION {new.block.checkb}\r
-{ empty$\r
-  swap$ empty$\r
-  and\r
-    'skip$\r
-    'new.block\r
-  if$\r
-}\r
-FUNCTION {field.or.null}\r
-{ duplicate$ empty$\r
-    { pop$ "" }\r
-    'skip$\r
-  if$\r
-}\r
-FUNCTION {emphasize}\r
-{ duplicate$ empty$\r
-    { pop$ "" }\r
-    { "\textit{" swap$ * "}" * }\r
-  if$\r
-}\r
-FUNCTION {tie.or.space.prefix}\r
-{ duplicate$ text.length$ #3 <\r
-    { "~" }\r
-    { " " }\r
-  if$\r
-  swap$\r
-}\r
-\r
-FUNCTION {capitalize}\r
-{ "u" change.case$ "t" change.case$ }\r
-\r
-FUNCTION {space.word}\r
-{ " " swap$ * " " * }\r
- % Here are the language-specific definitions for explicit words.\r
- % Each function has a name bbl.xxx where xxx is the English word.\r
- % The language selected here is ENGLISH\r
-FUNCTION {bbl.and}\r
-{ "and"}\r
-\r
-FUNCTION {bbl.etal}\r
-{ "et~al." }\r
-\r
-FUNCTION {bbl.editors}\r
-{ "Eds." }\r
-\r
-FUNCTION {bbl.editor}\r
-{ "Ed." }\r
-\r
-FUNCTION {bbl.edby}\r
-{ "edited by" }\r
-\r
-FUNCTION {bbl.edition}\r
-{ "ed." }\r
-\r
-FUNCTION {bbl.volume}\r
-{ "volume" }\r
-\r
-FUNCTION {bbl.of}\r
-{ "of" }\r
-\r
-FUNCTION {bbl.number}\r
-{ "number" }\r
-\r
-FUNCTION {bbl.nr}\r
-{ "no." }\r
-\r
-FUNCTION {bbl.in}\r
-{ "in" }\r
-\r
-FUNCTION {bbl.pages}\r
-{ "pp." }\r
-\r
-FUNCTION {bbl.page}\r
-{ "p." }\r
-\r
-FUNCTION {bbl.chapter}\r
-{ "chapter" }\r
-\r
-FUNCTION {bbl.techrep}\r
-{ "Technical Report" }\r
-\r
-FUNCTION {bbl.mthesis}\r
-{ "Master's thesis" }\r
-\r
-FUNCTION {bbl.phdthesis}\r
-{ "Ph.D. thesis" }\r
-\r
-MACRO {jan} {"January"}\r
-\r
-MACRO {feb} {"February"}\r
-\r
-MACRO {mar} {"March"}\r
-\r
-MACRO {apr} {"April"}\r
-\r
-MACRO {may} {"May"}\r
-\r
-MACRO {jun} {"June"}\r
-\r
-MACRO {jul} {"July"}\r
-\r
-MACRO {aug} {"August"}\r
-\r
-MACRO {sep} {"September"}\r
-\r
-MACRO {oct} {"October"}\r
-\r
-MACRO {nov} {"November"}\r
-\r
-MACRO {dec} {"December"}\r
-\r
-MACRO {acmcs} {"ACM Comput. Surv."}\r
-\r
-MACRO {acta} {"Acta Inf."}\r
-\r
-MACRO {cacm} {"Commun. ACM"}\r
-\r
-MACRO {ibmjrd} {"IBM J. Res. Dev."}\r
-\r
-MACRO {ibmsj} {"IBM Syst.~J."}\r
-\r
-MACRO {ieeese} {"IEEE Trans. Software Eng."}\r
-\r
-MACRO {ieeetc} {"IEEE Trans. Comput."}\r
-\r
-MACRO {ieeetcad}\r
- {"IEEE Trans. Comput. Aid. Des."}\r
-\r
-MACRO {ipl} {"Inf. Process. Lett."}\r
-\r
-MACRO {jacm} {"J.~ACM"}\r
-\r
-MACRO {jcss} {"J.~Comput. Syst. Sci."}\r
-\r
-MACRO {scp} {"Sci. Comput. Program."}\r
-\r
-MACRO {sicomp} {"SIAM J. Comput."}\r
-\r
-MACRO {tocs} {"ACM Trans. Comput. Syst."}\r
-\r
-MACRO {tods} {"ACM Trans. Database Syst."}\r
-\r
-MACRO {tog} {"ACM Trans. Graphic."}\r
-\r
-MACRO {toms} {"ACM Trans. Math. Software"}\r
-\r
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}\r
-\r
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}\r
-\r
-MACRO {tcs} {"Theor. Comput. Sci."}\r
-\r
-%% Begin - Added on March 13, 2013\r
-\r
-MACRO {aj} {"Astron. J."} \r
-MACRO {actaa} {"Acta Astron."}\r
-MACRO {araa} {"Annu. Rev. Astron. Astrophys."}\r
-MACRO {apj}  {"Astrophys. J."}\r
-MACRO {apjl} {"Astrophys. J. Lett."}\r
-MACRO {apjs} {"Astrophys. J. Suppl. S"}\r
-MACRO {ao} {"Appl. Optics"}\r
-MACRO {apss} {"Astrophys. Space Sci."}\r
-MACRO {aap} {"Astronom. Astrophys."}\r
-MACRO {aapr} {"Astron. Astrophys Rev"}\r
-MACRO {aaps} {"Astron. Astrophys. Sup."}\r
-MACRO {azh} {"Astron. Zh+"}\r
-MACRO {caa} {"Chinese Astron. Astr."}\r
-MACRO {icarus} {"Icarus"}\r
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}\r
-MACRO {jrasc} {"J. Roy. Astron. Soc. Can."}\r
-MACRO {memras} {"Memoirs of the RAS"}\r
-MACRO {mnras} {"Mon. Not. R. Astron. Soc."}\r
-MACRO {na} {"New Astron."}\r
-MACRO {nar} {"New Astron. Rev."}\r
-MACRO {pra} {"Phys. Rev. A"}\r
-MACRO {prb} {"Phys. Rev. B"}\r
-MACRO {prc} {"Phys. Rev. C"}\r
-MACRO {prd} {"Phys. Rev. D"}\r
-MACRO {pre} {"Phys. Rev. E"}\r
-MACRO {prl} {"Phys. Rev. Lett"}\r
-MACRO {pasa} {"Publ. Astron. Soc. Aust."}\r
-MACRO {pasp} {"Publ. Astron. Soc. Pac."}\r
-MACRO {pasj} {"Publ. Astron. Soc. Jpn."}\r
-MACRO {rmxaa} {"Rev. Mex. Astron. Astr."}\r
-MACRO {rjras} {"Q. J. Roy. Astron. Soc."}\r
-MACRO {skytel} {"Sky Telescope"}\r
-MACRO {solphys} {"Sol. Phys."}\r
-MACRO {sovast} {"Sov. Astron."}\r
-MACRO {ssr} {"Space Sci. Rev."}\r
-MACRO {zap} {"Zeitschrift fuer Astrophysik"}\r
-MACRO {nat} {"Nature"}\r
-MACRO {iaucirc} {"IAU Cirulars"}\r
-MACRO {gca} {"Geochim. Cosmochim. Ac."}\r
-MACRO {grl} {"Geophys. Res. Lett."}\r
-MACRO {jcp} {"J. Chem. Phys."}\r
-MACRO {jgr} {"J. Geophys. Res."}\r
-MACRO {jqsrt} {"J. Quant. Spectrosc. RA"}\r
-MACRO {nphysa} {"Nucl. Phys. A"}\r
-MACRO {physrep} {"Phys. Rep."}\r
-MACRO {physscr} {"Phys. Scrip."}\r
-MACRO {planss} {"Planet. Space Sci."}\r
-MACRO {baas} {"Bull. Aust. Acoust. Soc"}\r
-MACRO {aplett} {"Astrophys. Lett."}\r
-MACRO {procspie} {"Proc. SPIE"}\r
-MACRO {cjaa} {"Chinese J. Astron. Ast."}\r
-MACRO {fcp} {"Fundam. Cosm. Phys."}\r
-MACRO {memsai} {"Mem. Soc. Astron. Ital."}\r
-MACRO {bain} {"Bull. Astron. Inst. Neth., Suppl. Ser."}\r
-\r
-%% End - Added on March 13, 2013\r
-\r
-\r
-FUNCTION {bibinfo.check}\r
-{ swap$\r
-  duplicate$ missing$\r
-    {\r
-      pop$ pop$\r
-      ""\r
-    }\r
-    { duplicate$ empty$\r
-        {\r
-          swap$ pop$\r
-        }\r
-        { swap$\r
-          "\bibinfo{" swap$ * "}{" * swap$ * "}" *\r
-        }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-FUNCTION {bibinfo.warn}\r
-{ swap$\r
-  duplicate$ missing$\r
-    {\r
-      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$\r
-      ""\r
-    }\r
-    { duplicate$ empty$\r
-        {\r
-          swap$ "empty " swap$ * " in " * cite$ * warning$\r
-        }\r
-        { swap$\r
-          pop$\r
-        }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-\r
-STRINGS  { bibinfo}\r
-\r
-INTEGERS { nameptr namesleft numnames }\r
-\r
-FUNCTION {format.names}\r
-{ 'bibinfo :=\r
-  duplicate$ empty$ 'skip$ {\r
-  's :=\r
-  "" 't :=\r
-  #1 'nameptr :=\r
-  s num.names$ 'numnames :=\r
-  numnames 'namesleft :=\r
-    { namesleft #0 > }\r
-    { s nameptr\r
-      "{vv~}{ll}{, jj}{, f{.}.}"\r
-      format.name$\r
-      bibinfo bibinfo.check\r
-      't :=\r
-      nameptr #1 >\r
-        {\r
-          namesleft #1 >\r
-            { ", " * t * }\r
-            {\r
-              "," *\r
-              s nameptr "{ll}" format.name$ duplicate$ "others" =\r
-                { 't := }\r
-                { pop$ }\r
-              if$\r
-              t "others" =\r
-                {\r
-                  " " * bbl.etal *\r
-                }\r
-                { " " * t * }\r
-              if$\r
-            }\r
-          if$\r
-        }\r
-        't\r
-      if$\r
-      nameptr #1 + 'nameptr :=\r
-      namesleft #1 - 'namesleft :=\r
-    }\r
-  while$\r
-  } if$\r
-}\r
-FUNCTION {format.names.ed}\r
-{\r
-  format.names\r
-}\r
-FUNCTION {format.key}\r
-{ empty$\r
-    { key field.or.null }\r
-    { "" }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.authors}\r
-{ author "author" format.names\r
-    duplicate$ empty$ 'skip$\r
-    { collaboration "collaboration" bibinfo.check\r
-      duplicate$ empty$ 'skip$\r
-        { " (" swap$ * ")" * }\r
-      if$\r
-      *\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {get.bbl.editor}\r
-{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }\r
-\r
-FUNCTION {format.editors}\r
-{ editor "editor" format.names duplicate$ empty$ 'skip$\r
-    {\r
-      " " *\r
-      get.bbl.editor\r
-      capitalize\r
-   "(" swap$ * ")" *\r
-      *\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.note}\r
-{\r
- note empty$\r
-    { "" }\r
-    { note #1 #1 substring$\r
-      duplicate$ "{" =\r
-        'skip$\r
-        { output.state mid.sentence =\r
-          { "l" }\r
-          { "u" }\r
-        if$\r
-        change.case$\r
-        }\r
-      if$\r
-      note #2 global.max$ substring$ * "note" bibinfo.check\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.title}\r
-{ title\r
-  duplicate$ empty$ 'skip$\r
-    { "t" change.case$ }\r
-  if$\r
-  "title" bibinfo.check\r
-}\r
-FUNCTION {format.full.names}\r
-{'s :=\r
- "" 't :=\r
-  #1 'nameptr :=\r
-  s num.names$ 'numnames :=\r
-  numnames 'namesleft :=\r
-    { namesleft #0 > }\r
-    { s nameptr\r
-      "{vv~}{ll}" format.name$\r
-      't :=\r
-      nameptr #1 >\r
-        {\r
-          namesleft #1 >\r
-            { ", " * t * }\r
-            {\r
-              s nameptr "{ll}" format.name$ duplicate$ "others" =\r
-                { 't := }\r
-                { pop$ }\r
-              if$\r
-              t "others" =\r
-                {\r
-                  " " * bbl.etal *\r
-                }\r
-                {\r
-                  bbl.and\r
-                  space.word * t *\r
-                }\r
-              if$\r
-            }\r
-          if$\r
-        }\r
-        't\r
-      if$\r
-      nameptr #1 + 'nameptr :=\r
-      namesleft #1 - 'namesleft :=\r
-    }\r
-  while$\r
-}\r
-\r
-FUNCTION {author.editor.key.full}\r
-{ author empty$\r
-    { editor empty$\r
-        { key empty$\r
-            { cite$ #1 #3 substring$ }\r
-            'key\r
-          if$\r
-        }\r
-        { editor format.full.names }\r
-      if$\r
-    }\r
-    { author format.full.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {author.key.full}\r
-{ author empty$\r
-    { key empty$\r
-         { cite$ #1 #3 substring$ }\r
-          'key\r
-      if$\r
-    }\r
-    { author format.full.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {editor.key.full}\r
-{ editor empty$\r
-    { key empty$\r
-         { cite$ #1 #3 substring$ }\r
-          'key\r
-      if$\r
-    }\r
-    { editor format.full.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {make.full.names}\r
-{ type$ "book" =\r
-  type$ "inbook" =\r
-  or\r
-    'author.editor.key.full\r
-    { type$ "proceedings" =\r
-        'editor.key.full\r
-        'author.key.full\r
-      if$\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {output.bibitem}\r
-{ newline$\r
-  "\bibitem[{" write$\r
-  label write$\r
-  ")" make.full.names duplicate$ short.list =\r
-     { pop$ }\r
-     { * }\r
-   if$\r
-  "}]{" * write$\r
-  cite$ write$\r
-  "}" write$\r
-  newline$\r
-  ""\r
-  before.all 'output.state :=\r
-}\r
-\r
-FUNCTION {n.dashify}\r
-{\r
-  't :=\r
-  ""\r
-    { t empty$ not }\r
-    { t #1 #1 substring$ "-" =\r
-        { t #1 #2 substring$ "--" = not\r
-            { "--" *\r
-              t #2 global.max$ substring$ 't :=\r
-            }\r
-            {   { t #1 #1 substring$ "-" = }\r
-                { "-" *\r
-                  t #2 global.max$ substring$ 't :=\r
-                }\r
-              while$\r
-            }\r
-          if$\r
-        }\r
-        { t #1 #1 substring$ *\r
-          t #2 global.max$ substring$ 't :=\r
-        }\r
-      if$\r
-    }\r
-  while$\r
-}\r
-\r
-FUNCTION {word.in}\r
-{ bbl.in %capitalize\r
-  ":" *\r
-  " " * }\r
-\r
-FUNCTION {format.date}\r
-{ year "year" bibinfo.check duplicate$ empty$\r
-    {\r
-    }\r
-    'skip$\r
-  if$\r
-  extra.label *\r
-  before.all 'output.state :=\r
-  ", " swap$ *\r
-}\r
-FUNCTION {format.btitle}\r
-{ title "title" bibinfo.check\r
-  duplicate$ empty$ 'skip$\r
-    {\r
-    }\r
-  if$\r
-}\r
-FUNCTION {either.or.check}\r
-{ empty$\r
-    'pop$\r
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }\r
-  if$\r
-}\r
-FUNCTION {format.bvolume}\r
-{ volume empty$\r
-    { "" }\r
-    { bbl.volume volume tie.or.space.prefix\r
-      "volume" bibinfo.check * *\r
-      series "series" bibinfo.check\r
-      duplicate$ empty$ 'pop$\r
-        { swap$ bbl.of space.word * swap$\r
-          emphasize * }\r
-      if$\r
-      "volume and number" number either.or.check\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.number.series}\r
-{ volume empty$\r
-    { number empty$\r
-        { series field.or.null }\r
-        { series empty$\r
-            { number "number" bibinfo.check }\r
-        { output.state mid.sentence =\r
-            { bbl.number }\r
-            { bbl.number capitalize }\r
-          if$\r
-          number tie.or.space.prefix "number" bibinfo.check * *\r
-          bbl.in space.word *\r
-          series "series" bibinfo.check *\r
-        }\r
-      if$\r
-    }\r
-      if$\r
-    }\r
-    { "" }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.edition}\r
-{ edition duplicate$ empty$ 'skip$\r
-    {\r
-      output.state mid.sentence =\r
-        { "l" }\r
-        { "t" }\r
-      if$ change.case$\r
-      "edition" bibinfo.check\r
-      " " * bbl.edition *\r
-    }\r
-  if$\r
-}\r
-INTEGERS { multiresult }\r
-FUNCTION {multi.page.check}\r
-{ 't :=\r
-  #0 'multiresult :=\r
-    { multiresult not\r
-      t empty$ not\r
-      and\r
-    }\r
-    { t #1 #1 substring$\r
-      duplicate$ "-" =\r
-      swap$ duplicate$ "," =\r
-      swap$ "+" =\r
-      or or\r
-        { #1 'multiresult := }\r
-        { t #2 global.max$ substring$ 't := }\r
-      if$\r
-    }\r
-  while$\r
-  multiresult\r
-}\r
-%FUNCTION {format.pages}\r
-%{ pages duplicate$ empty$ 'skip$\r
-%    { duplicate$ multi.page.check\r
-%        {\r
-%          n.dashify\r
-%        }\r
-%        {\r
-%        }\r
-%      if$\r
-%      "pages" bibinfo.check\r
-%    }\r
-%  if$\r
-%}\r
-\r
-FUNCTION {format.pages}\r
-{ pages duplicate$ empty$ 'skip$\r
-    { duplicate$ multi.page.check\r
-        {\r
-          bbl.pages swap$\r
-          n.dashify\r
-        }\r
-        {\r
-          bbl.page swap$\r
-        }\r
-      if$\r
-      tie.or.space.prefix\r
-      "pages" bibinfo.check\r
-      * *\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.journal.pages}\r
-{ pages duplicate$ empty$ 'pop$\r
-    { swap$ duplicate$ empty$\r
-        { pop$ pop$ format.pages }\r
-        {\r
-          ", " *\r
-          swap$\r
-          n.dashify\r
-          "pages" bibinfo.check\r
-          *\r
-        }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.vol.num.pages}\r
-{ volume field.or.null\r
-  duplicate$ empty$ 'skip$\r
-    {\r
-      "volume" bibinfo.check\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.chapter.pages}\r
-{ chapter empty$\r
-    { "" }\r
-    { type empty$\r
-        { bbl.chapter }\r
-        { type "l" change.case$\r
-          "type" bibinfo.check\r
-        }\r
-      if$\r
-      chapter tie.or.space.prefix\r
-      "chapter" bibinfo.check\r
-      * *\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {format.booktitle}\r
-{\r
-  booktitle "booktitle" bibinfo.check\r
-}\r
-FUNCTION {format.in.ed.booktitle}\r
-{ format.booktitle duplicate$ empty$ 'skip$\r
-    {\r
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$\r
-        {\r
-          " " *\r
-          get.bbl.editor\r
-          capitalize\r
-          "(" swap$ * "), " *\r
-          * swap$\r
-          * }\r
-      if$\r
-      word.in swap$ *\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.thesis.type}\r
-{ type duplicate$ empty$\r
-    'pop$\r
-    { swap$ pop$\r
-      "t" change.case$ "type" bibinfo.check\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.tr.number}\r
-{ number "number" bibinfo.check\r
-  type duplicate$ empty$\r
-    { pop$ bbl.techrep }\r
-    'skip$\r
-  if$\r
-  "type" bibinfo.check\r
-  swap$ duplicate$ empty$\r
-    { pop$ "t" change.case$ }\r
-    { tie.or.space.prefix * * }\r
-  if$\r
-}\r
-FUNCTION {format.article.crossref}\r
-{\r
-  word.in\r
-  " \cite{" * crossref * "}" *\r
-}\r
-FUNCTION {format.book.crossref}\r
-{ volume duplicate$ empty$\r
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$\r
-      pop$ word.in\r
-    }\r
-    { bbl.volume\r
-      capitalize\r
-      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *\r
-    }\r
-  if$\r
-  " \cite{" * crossref * "}" *\r
-}\r
-FUNCTION {format.incoll.inproc.crossref}\r
-{\r
-  word.in\r
-  " \cite{" * crossref * "}" *\r
-}\r
-FUNCTION {format.org.or.pub}\r
-{ 't :=\r
-  ""\r
-  address empty$ t empty$ and\r
-    'skip$\r
-    {\r
-      t empty$\r
-        { address "address" bibinfo.check *\r
-        }\r
-        { t *\r
-          address empty$\r
-            'skip$\r
-            { ", " * address "address" bibinfo.check * }\r
-          if$\r
-        }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-FUNCTION {format.publisher.address}\r
-{ publisher "publisher" bibinfo.check format.org.or.pub\r
-}\r
-\r
-FUNCTION {format.organization.address}\r
-{ organization "organization" bibinfo.check format.org.or.pub\r
-}\r
-\r
-FUNCTION {print.url}\r
- {url duplicate$ empty$\r
-   { pop$ "" }\r
-   { new.sentence\r
-     urlprefix "\url{" * swap$  * "}" *\r
-   }\r
-   if$\r
- }\r
-\r
-FUNCTION {print.doi}\r
- {doi duplicate$ empty$\r
-   { pop$ "" }\r
-   { new.sentence\r
-     doiprefix "\doi{" * swap$  * "}" *\r
-   }\r
-   if$\r
- }\r
-\r
-FUNCTION {print.eprint}\r
- {eprint duplicate$ empty$\r
-   { pop$ "" }\r
-   { new.sentence\r
-     duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{\tt arXiv:" * swap$ * "}" *   }\r
-   if$\r
- }\r
-\r
-FUNCTION {print.pubmed}\r
- {pubmed duplicate$ empty$\r
-   { pop$ "" }\r
-   { new.sentence\r
-     pubmedprefix "\Pubmed{" * swap$  * "}" *\r
-   }\r
-   if$\r
- }\r
-\r
-FUNCTION {webpage}\r
-{ "%Type = Webpage" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  author empty$\r
-  {\r
-    format.title "title" output.check\r
-    new.block\r
-    format.date "year" output.check\r
-    date.block\r
-  }\r
-  {\r
-    format.date "year" output.check\r
-    date.block\r
-    format.title "title" output.check\r
-    new.block\r
-}\r
-  if$\r
-  print.url output\r
-  fin.entry\r
-}\r
-\r
-\r
-FUNCTION {article}\r
-{ "%Type = Article" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title "title" output.check\r
-  new.block\r
-  crossref missing$\r
-    {\r
-      journal\r
-      "journal" bibinfo.check\r
-      "journal" output.check\r
-      add.blank\r
-      format.vol.num.pages output\r
-    }\r
-    { format.article.crossref output.nonnull\r
-    }\r
-  if$\r
-  format.journal.pages\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {book}\r
-{ "%Type = Book" write$\r
-  output.bibitem\r
-  author empty$\r
-    { format.editors "author and editor" output.check\r
-      editor format.key output\r
-    }\r
-    { format.authors output.nonnull\r
-      crossref missing$\r
-        { "author and editor" editor either.or.check }\r
-        'skip$\r
-      if$\r
-    }\r
-  if$\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle "title" output.check\r
-  crossref missing$\r
-    { format.bvolume output\r
-      new.block\r
-      format.number.series output\r
-      format.edition output\r
-      new.sentence\r
-      format.publisher.address output\r
-    }\r
-    {\r
-      new.block\r
-      format.book.crossref output.nonnull\r
-    }\r
-  if$\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {booklet}\r
-{ "%Type = Booklet" write$\r
-  output.bibitem\r
-  format.authors output\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title "title" output.check\r
-  new.block\r
-  howpublished "howpublished" bibinfo.check output\r
-  address "address" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {inbook}\r
-{ "%Type = Inbook" write$\r
-  output.bibitem\r
-  author empty$\r
-    { format.editors "author and editor" output.check\r
-      editor format.key output\r
-    }\r
-    { format.authors output.nonnull\r
-      crossref missing$\r
-        { "author and editor" editor either.or.check }\r
-        'skip$\r
-      if$\r
-    }\r
-  if$\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle "title" output.check\r
-  format.edition output\r
-  crossref missing$\r
-    {\r
-      format.publisher.address output\r
-      format.bvolume output\r
-      format.chapter.pages "chapter and pages" output.check\r
-      new.block\r
-      format.number.series output\r
-      new.sentence\r
-    }\r
-    {\r
-      format.chapter.pages "chapter and pages" output.check\r
-      new.block\r
-      format.book.crossref output.nonnull\r
-    }\r
-  if$\r
-  format.pages "pages" output.check\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {incollection}\r
-{ "%Type = Incollection" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title "title" output.book.check\r
-  new.sentence\r
-  crossref missing$\r
-    { format.in.ed.booktitle "booktitle" output.book.check\r
-      format.edition output\r
-      format.publisher.address output\r
-      format.bvolume output\r
-      format.number.series output\r
-      format.chapter.pages output\r
-      new.sentence\r
-    }\r
-    { format.incoll.inproc.crossref output.nonnull\r
-      format.chapter.pages output\r
-    }\r
-  if$\r
-  format.pages "pages" output.check\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {inproceedings}\r
-{ "%Type = Inproceedings" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title "title" output.book.check\r
-  new.sentence\r
-  crossref missing$\r
-    { format.in.ed.booktitle "booktitle" output.check\r
-      new.sentence\r
-      publisher empty$\r
-        { format.organization.address output }\r
-        { organization "organization" bibinfo.check output\r
-          format.publisher.address output\r
-        }\r
-      if$\r
-%      format.bvolume output\r
-%      format.number.series output\r
-%      format.pages output\r
-    }\r
-    { format.incoll.inproc.crossref output.nonnull\r
-      format.pages output\r
-    }\r
-  if$\r
-  format.pages "pages" output.check\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {conference} { inproceedings }\r
-\r
-FUNCTION {manual}\r
-{ "%Type = Manual" write$\r
-  output.bibitem\r
-  format.authors output\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle "title" output.check\r
-  format.edition output\r
-  organization address new.block.checkb\r
-  organization "organization" bibinfo.check output\r
-  address "address" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {mastersthesis}\r
-{ "%Type = Masterthesis" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle\r
-  "title" output.check\r
-  new.block\r
-  bbl.mthesis format.thesis.type output.nonnull\r
-  school "school" bibinfo.warn output\r
-  address "address" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {misc}\r
-{ "%Type = Misc" write$\r
-  output.bibitem\r
-  format.authors output\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title output\r
-  new.block\r
-  howpublished "howpublished" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {phdthesis}\r
-{ "%Type = Phdthesis" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle\r
-  "title" output.check\r
-  new.block\r
-  bbl.phdthesis format.thesis.type output.nonnull\r
-  school "school" bibinfo.warn output\r
-  address "address" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {proceedings}\r
-{ "%Type = Proceedings" write$\r
-  output.bibitem\r
-  format.editors output\r
-  editor format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle "title" output.check\r
-  format.bvolume output\r
-  format.number.series output\r
-  new.sentence\r
-  publisher empty$\r
-    { format.organization.address output }\r
-    { organization "organization" bibinfo.check output\r
-      format.publisher.address output\r
-    }\r
-  if$\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {techreport}\r
-{ "%Type = Techreport" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.btitle\r
-  "title" output.check\r
-  new.block\r
-  format.tr.number output.nonnull\r
-  institution "institution" bibinfo.warn output\r
-  address "address" bibinfo.check output\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note output\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {unpublished}\r
-{ "%Type = Unpublished" write$\r
-  output.bibitem\r
-  format.authors "author" output.check\r
-  author format.key output\r
-  format.date "year" output.check\r
-  date.block\r
-  format.title "title" output.check\r
-  new.block\r
-  print.url output\r
-  print.doi output\r
-  print.eprint output\r
-  print.pubmed output\r
-  format.note "note" output.check\r
-  fin.entry\r
-}\r
-\r
-FUNCTION {default.type} { misc }\r
-READ\r
-FUNCTION {sortify}\r
-{ purify$\r
-  "l" change.case$\r
-}\r
-INTEGERS { len }\r
-FUNCTION {chop.word}\r
-{ 's :=\r
-  'len :=\r
-  s #1 len substring$ =\r
-    { s len #1 + global.max$ substring$ }\r
-    's\r
-  if$\r
-}\r
-FUNCTION {format.lab.names}\r
-{ 's :=\r
-  "" 't :=\r
-  s #1 "{vv~}{ll}" format.name$\r
-  s num.names$ duplicate$\r
-  #2 >\r
-    { pop$\r
-      " " * bbl.etal *\r
-    }\r
-    { #2 <\r
-        'skip$\r
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =\r
-            {\r
-              " " * bbl.etal *\r
-            }\r
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$\r
-              * }\r
-          if$\r
-        }\r
-      if$\r
-    }\r
-  if$\r
-}\r
-\r
-FUNCTION {author.key.label}\r
-{ author empty$\r
-    { key empty$\r
-        { cite$ #1 #3 substring$ }\r
-        'key\r
-      if$\r
-    }\r
-    { author format.lab.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {author.editor.key.label}\r
-{ author empty$\r
-    { editor empty$\r
-        { key empty$\r
-            { cite$ #1 #3 substring$ }\r
-            'key\r
-          if$\r
-        }\r
-        { editor format.lab.names }\r
-      if$\r
-    }\r
-    { author format.lab.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {editor.key.label}\r
-{ editor empty$\r
-    { key empty$\r
-        { cite$ #1 #3 substring$ }\r
-        'key\r
-      if$\r
-    }\r
-    { editor format.lab.names }\r
-  if$\r
-}\r
-\r
-FUNCTION {calc.short.authors}\r
-{ type$ "book" =\r
-  type$ "inbook" =\r
-  or\r
-    'author.editor.key.label\r
-    { type$ "proceedings" =\r
-        'editor.key.label\r
-        'author.key.label\r
-      if$\r
-    }\r
-  if$\r
-  'short.list :=\r
-}\r
-\r
-FUNCTION {calc.label}\r
-{ calc.short.authors\r
-  short.list\r
-  "("\r
-  *\r
-  year duplicate$ empty$\r
-  short.list key field.or.null = or\r
-     { pop$ "" }\r
-     'skip$\r
-  if$\r
-  *\r
-  'label :=\r
-}\r
-\r
-FUNCTION {sort.format.names}\r
-{ 's :=\r
-  #1 'nameptr :=\r
-  ""\r
-  s num.names$ 'numnames :=\r
-  numnames 'namesleft :=\r
-    { namesleft #0 > }\r
-    { s nameptr\r
-      "{ll{ }}{  f{ }}{  jj{ }}"\r
-      format.name$ 't :=\r
-      nameptr #1 >\r
-        {\r
-          "   "  *\r
-          namesleft #1 = t "others" = and\r
-            { "zzzzz" * }\r
-            { t sortify * }\r
-          if$\r
-        }\r
-        { t sortify * }\r
-      if$\r
-      nameptr #1 + 'nameptr :=\r
-      namesleft #1 - 'namesleft :=\r
-    }\r
-  while$\r
-}\r
-\r
-FUNCTION {sort.format.title}\r
-{ 't :=\r
-  "A " #2\r
-    "An " #3\r
-      "The " #4 t chop.word\r
-    chop.word\r
-  chop.word\r
-  sortify\r
-  #1 global.max$ substring$\r
-}\r
-FUNCTION {author.sort}\r
-{ author empty$\r
-    { key empty$\r
-        { "to sort, need author or key in " cite$ * warning$\r
-          ""\r
-        }\r
-        { key sortify }\r
-      if$\r
-    }\r
-    { author sort.format.names }\r
-  if$\r
-}\r
-FUNCTION {author.editor.sort}\r
-{ author empty$\r
-    { editor empty$\r
-        { key empty$\r
-            { "to sort, need author, editor, or key in " cite$ * warning$\r
-              ""\r
-            }\r
-            { key sortify }\r
-          if$\r
-        }\r
-        { editor sort.format.names }\r
-      if$\r
-    }\r
-    { author sort.format.names }\r
-  if$\r
-}\r
-FUNCTION {editor.sort}\r
-{ editor empty$\r
-    { key empty$\r
-        { "to sort, need editor or key in " cite$ * warning$\r
-          ""\r
-        }\r
-        { key sortify }\r
-      if$\r
-    }\r
-    { editor sort.format.names }\r
-  if$\r
-}\r
-FUNCTION {presort}\r
-{ calc.label\r
-  label sortify\r
-  "    "\r
-  *\r
-  type$ "book" =\r
-  type$ "inbook" =\r
-  or\r
-    'author.editor.sort\r
-    { type$ "proceedings" =\r
-        'editor.sort\r
-        'author.sort\r
-      if$\r
-    }\r
-  if$\r
-  #1 entry.max$ substring$\r
-  'sort.label :=\r
-  sort.label\r
-  *\r
-  "    "\r
-  *\r
-  title field.or.null\r
-  sort.format.title\r
-  *\r
-  #1 entry.max$ substring$\r
-  'sort.key$ :=\r
-}\r
-\r
-ITERATE {presort}\r
-SORT\r
-STRINGS { last.label next.extra }\r
-INTEGERS { last.extra.num number.label }\r
-FUNCTION {initialize.extra.label.stuff}\r
-{ #0 int.to.chr$ 'last.label :=\r
-  "" 'next.extra :=\r
-  #0 'last.extra.num :=\r
-  #0 'number.label :=\r
-}\r
-FUNCTION {forward.pass}\r
-{ last.label label =\r
-    { last.extra.num #1 + 'last.extra.num :=\r
-      last.extra.num int.to.chr$ 'extra.label :=\r
-    }\r
-    { "a" chr.to.int$ 'last.extra.num :=\r
-      "" 'extra.label :=\r
-      label 'last.label :=\r
-    }\r
-  if$\r
-  number.label #1 + 'number.label :=\r
-}\r
-FUNCTION {reverse.pass}\r
-{ next.extra "b" =\r
-    { "a" 'extra.label := }\r
-    'skip$\r
-  if$\r
-  extra.label 'next.extra :=\r
-  extra.label\r
-  duplicate$ empty$\r
-    'skip$\r
-%    { "{\natexlab{" swap$ * "}}" * }\r
-    { "" swap$ * "" * }\r
-  if$\r
-  'extra.label :=\r
-  label extra.label * 'label :=\r
-}\r
-EXECUTE {initialize.extra.label.stuff}\r
-ITERATE {forward.pass}\r
-REVERSE {reverse.pass}\r
-FUNCTION {bib.sort.order}\r
-{ sort.label\r
-  "    "\r
-  *\r
-  year field.or.null sortify\r
-  *\r
-  "    "\r
-  *\r
-  title field.or.null\r
-  sort.format.title\r
-  *\r
-  #1 entry.max$ substring$\r
-  'sort.key$ :=\r
-}\r
-ITERATE {bib.sort.order}\r
-SORT\r
-FUNCTION {begin.bib}\r
-{ preamble$ empty$\r
-    'skip$\r
-    { preamble$ write$ newline$ }\r
-  if$\r
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *\r
-  write$ newline$\r
-  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"\r
-  write$ newline$\r
-  "\providecommand{\url}[1]{\texttt{#1}}"\r
-  write$ newline$\r
-  "\providecommand{\href}[2]{#2}"\r
-  write$ newline$\r
-  "\providecommand{\path}[1]{#1}"\r
-  write$ newline$\r
-  "\providecommand{\DOIprefix}{doi:}"\r
-  write$ newline$\r
-  "\providecommand{\ArXivprefix}{arXiv:}"\r
-  write$ newline$\r
-  "\providecommand{\URLprefix}{URL: }"\r
-  write$ newline$\r
-  "\providecommand{\Pubmedprefix}{pmid:}"\r
-  write$ newline$\r
-  "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}"\r
-  write$ newline$\r
-  "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}"\r
-  write$ newline$\r
-  "\providecommand{\bibinfo}[2]{#2}"\r
-  write$ newline$\r
-       "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi"\r
-  write$ newline$\r
-}\r
-EXECUTE {begin.bib}\r
-EXECUTE {init.state.consts}\r
-EXECUTE {init.web.variables} \r
-ITERATE {call.type$}\r
-FUNCTION {end.bib}\r
-{ newline$\r
-  "\end{thebibliography}" write$ newline$\r
-}\r
-EXECUTE {end.bib}\r
-%% End of customized bst file\r
-%%\r
-%% End of file `model2-names.bst'.\r
-%%\r
-%% Change log:\r
-%% -----------\r
-%% 22.04.2011\r
-%%\r
-%% 10.08.2012\r
-%%   a. doi, url, eprint, pmid added\r
-%%   b. Bibtype `webpage' defined\r
-%%\r
-%% 30.08.2012\r
-%%   a. collaboration added.\r
-%%\r
diff --git a/model3-num-names.bst b/model3-num-names.bst
deleted file mode 100644 (file)
index cd10393..0000000
+++ /dev/null
@@ -1,1702 +0,0 @@
-%%
-%% This is file `model3-num-names.bst'  (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model3-num-names.bst 211 2012-10-22 07:31:59Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-3/model3-num-names.bst $
-%%
-%%
-
-ENTRY
-  { address
-    archive
-    author
-    booktitle
-    chapter
-    collaboration
-    edition
-    editor
-    eid
-    howpublished
-    institution
-    isbn
-    journal
-    key
-    month
-    note
-    number
-    numpages
-    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 :=
-}
-
-STRINGS { s t}
-
-FUNCTION {output.nonnull}
-{ 's :=
-  output.state mid.sentence =
-    { "; " * write$ }
-    { output.state after.block =
-        { add.period$ write$
-          newline$
-          "\newblock " write$
-        }
-        { output.state before.all =
-            'write$
-            { add.period$ " " * write$ }
-          if$
-        }
-      if$
-      mid.sentence 'output.state :=
-    }
-  if$
-  s
-}
-FUNCTION {output}
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {no.blank.or.punct}
-{  "" * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  ";" *
-  no.blank.or.punct
-}
-
-FUNCTION {book.date.block}
-{
-  "," *
-  no.blank.or.punct
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-STRINGS {z}
-FUNCTION {remove.dots}
-{ 'z :=
-  ""
-  { z empty$ not }
-  { z #1 #1 substring$
-    z #2 global.max$ substring$ 'z :=
-    duplicate$ "." = 'pop$
-      { * }
-    if$
-  }
-  while$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "\emph{" swap$ * "}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "editors" }
-
-FUNCTION {bbl.editor}
-{ "editor" }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "no." }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ " p." }
-
-FUNCTION {bbl.page}
-{ " p." }
-
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-FUNCTION {bbl.chapter}
-{ "chap." }
-
-FUNCTION {bbl.techrep}
-{ "Tech. Rep." }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-FUNCTION {close.brace}
-{ "}{}" }
-
-MACRO {jan} {"Jan."}
-
-MACRO {feb} {"Feb."}
-
-MACRO {mar} {"Mar."}
-
-MACRO {apr} {"Apr."}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"Jun."}
-
-MACRO {jul} {"Jul."}
-
-MACRO {aug} {"Aug."}
-
-MACRO {sep} {"Sep."}
-
-MACRO {oct} {"Oct."}
-
-MACRO {nov} {"Nov."}
-
-MACRO {dec} {"Dec."}
-
-MACRO {acmcs} {"ACM Comput. Surv."}
-
-MACRO {acta} {"Acta Inf."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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$
-}
-
-
-INTEGERS { nameptr namesleft numnames }
-
-
-STRINGS  { bibinfo}
-
-% FUNCTION {format.names}
-% { 'bibinfo :=
-%   duplicate$ empty$ 'skip$ {
-%   's :=
-%   "" 't :=
-%   #1 'nameptr :=
-%   s num.names$ 'numnames :=
-%   numnames 'namesleft :=
-%     { namesleft #0 > }
-%     { s nameptr
-%       "{vv~}{ll}{ jj}{ f{}}"
-%       format.name$
-%       remove.dots
-%       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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}{ jj}\xfnm[{ f{.}.}]"
-      format.name$
-%      remove.dots
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          nameptr #6
-          #1 + =
-          numnames #6
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          namesleft #1 >
-            { ", " * t * }
-            {
-              "," *
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                { " " * t * }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-
-
-FUNCTION {format.names.ed}
-{
-  format.names
-}
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
-    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
-      *
-    }
-  if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-      new.block
-      "ISBN " swap$ *
-    }
-  if$
-}
-
-FUNCTION {format.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}" format.name$
-      't :=
-      nameptr #1 >
-        {
-          nameptr #6
-          #1 + =
-          numnames #6
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          namesleft #1 >
-            { ", " * t * }
-            {
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                {
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.full.names }
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { editor format.full.names }
-  if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.full
-    { type$ "proceedings" =
-        'editor.key.full
-        'author.key.full
-      if$
-    }
-  if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
-  "\bibitem[{" write$
-  label write$
-  ")" make.full.names duplicate$ short.list =
-     { pop$ }
-     { * }
-   if$
-  "}]{" * write$
-  cite$ write$
-  "}" write$
-  newline$
-  ""
-  before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in capitalize
-  ":" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-      "empty year in " cite$ * "; set to ????" * warning$
-       pop$ "????"
-    }
-    'skip$
-  if$
-  extra.label *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { series empty$
-            { number "number" bibinfo.check }
-            { output.state mid.sentence =
-                { bbl.number }
-                { bbl.number capitalize }
-              if$
-              number tie.or.space.prefix "number" bibinfo.check * *
-              bbl.in space.word *
-              series "series" bibinfo.check *
-            }
-          if$
-        }
-      if$
-    }
-    { "" }
-  if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
-    {
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-    }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          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 }
-        {
-          ":" *
-          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$ *
-      numpages empty$ 'skip$
-        { bbl.eidpp numpages tie.or.space.prefix
-          "numpages" bibinfo.check * *
-          " (" swap$ * ")" * *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  duplicate$ empty$ 'skip$
-    {
-      "volume" bibinfo.check
-    }
-  if$
-  number "number" bibinfo.check duplicate$ empty$ 'skip$
-    {
-      swap$ duplicate$ empty$
-        { "there's a number but no volume in " cite$ * warning$ }
-        'skip$
-      if$
-      swap$
-      "(" swap$ * ")" *
-    }
-  if$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-    { "" }
-    { type empty$
-        { bbl.chapter }
-        { type "l" change.case$
-          "type" bibinfo.check
-        }
-      if$
-      chapter tie.or.space.prefix
-      "chapter" bibinfo.check
-      * *
-    }
-  if$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          "," *
-          " " *
-          get.bbl.editor
-          ". " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      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 :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      address "address" bibinfo.check *
-      t empty$
-        'skip$
-        { address empty$
-            'skip$
-            { ": " * }
-          if$
-          t *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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$
-  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
-      remove.dots
-      "journal" bibinfo.check
-      "journal" output.check
-      add.blank
-      format.date "year" output.check
-      date.block
-      format.vol.num.pages output
-    }
-    { format.article.crossref output.nonnull
-    }
-  if$
-  eid empty$
-    { format.journal.pages }
-    { format.journal.eid }
-  if$
-  new.block
-  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$
-  new.block
-  format.btitle "title" output.check
-  crossref missing$
-    { format.bvolume output
-      new.block
-      new.sentence
-      format.number.series output
-      format.edition output
-      format.publisher.address output
-    }
-    {
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {booklet}
-{ "%Type = Booklet" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title "title" output.check
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inbook}
-{ "%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$
-  new.block
-  format.btitle "title" output.check
-  crossref missing$
-    {
-      format.bvolume output
-      format.chapter.pages "chapter and pages" output.check
-      new.block
-      new.sentence
-      format.number.series output
-      format.edition output
-      format.publisher.address output
-    }
-    {
-      format.chapter.pages "chapter and pages" output.check
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  crossref missing$
-    { format.isbn output }
-    'skip$
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {incollection}
-{ "%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.chapter.pages output
-      format.edition output
-      new.sentence
-      format.number.series output
-      format.publisher.address output
-      format.isbn output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-      format.chapter.pages output
-    }
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inproceedings}
-{ "%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
-      new.sentence
-      format.number.series output
-      publisher empty$
-        { format.organization.address output }
-        { organization "organization" bibinfo.check output
-          format.publisher.address output
-        }
-      if$
-      format.isbn output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{ "%Type = Manual" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.btitle "title" output.check
-  format.edition output
-  organization address new.block.checkb
-  organization "organization" bibinfo.check output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ "%Type = Masterthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  bbl.mthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {misc}
-{ "%Type = Misc" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title output
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {phdthesis}
-{ "%Type = Phdthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  bbl.phdthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {proceedings}
-{ "%Type = Proceedings" write$
-  output.bibitem
-  format.editors output
-  editor format.key output
-  new.block
-  format.btitle "title" output.check
-  format.bvolume output
-  new.sentence
-  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
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {techreport}
-{ "%Type = Techreport" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  format.tr.number output.nonnull
-  institution "institution" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {unpublished}
-{ "%Type = Unpublished" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title "title" output.check
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note "note" output.check
-  fin.entry
-}
-
-FUNCTION {default.type} { misc }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-     { pop$ "????" }
-     { purify$ #-1 #4 substring$ }
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
-%      "{vv~}{ll~}{\rd[f.f.]}{jj~}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-INTEGERS { seq.num }
-FUNCTION {init.seq}
-{ #0 'seq.num :=}
-EXECUTE {init.seq}
-FUNCTION {int.to.fix}
-{ "000000000" swap$ int.to.str$ *
-  #-1 #10 substring$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  seq.num #1 + 'seq.num :=
-  seq.num  int.to.fix
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\providecommand{\natexlab}[1]{#1}"
-  write$ newline$
-  "\providecommand{\url}[1]{\texttt{#1}}"
-  write$ newline$
-  "\providecommand{\href}[2]{#2}"
-  write$ newline$
-  "\providecommand{\path}[1]{#1}"
-  write$ newline$
-  "\providecommand{\eprint}[1]{\href{http://arxiv.org/abs/#1}{\path{#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{\BIBand}{and}"
-  write$ newline$
-  "\providecommand{\bibinfo}[2]{#2}"
-  write$ newline$
-       "\ifx\xfnm\undefined \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 `model3-num-names.bst'.
-%%
-%% Change log:
-%% -----------
-%% 22.04.2011
-%%
-%% 10.08.2012
-%%   a. doi, url, eprint, pmid added
-%%   b. Bibtype `webpage' defined
-%%
diff --git a/model4-names.bst b/model4-names.bst
deleted file mode 100644 (file)
index d74becf..0000000
+++ /dev/null
@@ -1,1697 +0,0 @@
-%%
-%% This is file `model4-names.bst'  (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model4-names.bst 213 2012-10-22 07:33:47Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-4/model4-names.bst $
-%%
-%%
-
-
-ENTRY
-  { 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 :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ 's :=
-  output.state mid.sentence =
-    { "; " * write$ }
-    { output.state after.block =
-        { add.period$ write$
-          newline$
-          "\newblock " write$
-        }
-        { output.state before.all =
-            'write$
-            { add.period$ " " * write$ }
-          if$
-        }
-      if$
-      mid.sentence 'output.state :=
-    }
-  if$
-  s
-}
-FUNCTION {output}
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {no.blank.or.punct}
-{  "" * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  ";" *
-  no.blank.or.punct
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-STRINGS {z}
-FUNCTION {remove.dots}
-{ 'z :=
-  ""
-  { z empty$ not }
-  { z #1 #1 substring$
-    z #2 global.max$ substring$ 'z :=
-    duplicate$ "." = 'pop$
-      { * }
-    if$
-  }
-  while$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "\textit{" swap$ * "}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "editors" }
-
-FUNCTION {bbl.editor}
-{ "editor" }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "volume" }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "number" }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "p." }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.chapter}
-{ "chapter" }
-
-FUNCTION {bbl.techrep}
-{ "Technical Report" }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-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."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}{ jj}\xfnm[{ f{.}.}]"
-      format.name$
-%      remove.dots
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              "," *
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                { " " * t * }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-FUNCTION {format.names.ed}
-{
-  format.names
-}
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
-    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
-      *
-    }
-  if$
-}
-FUNCTION {format.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}" format.name$
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                {
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.full.names }
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { editor format.full.names }
-  if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.full
-    { type$ "proceedings" =
-        'editor.key.full
-        'author.key.full
-      if$
-    }
-  if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
-  "\bibitem[{" write$
-  label write$
-  ")" make.full.names duplicate$ short.list =
-     { pop$ }
-     { * }
-   if$
-  "}]{" * write$
-  cite$ write$
-  "}" write$
-  newline$
-  ""
-  before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in capitalize
-  ":" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-    }
-    'skip$
-  if$
-  extra.label *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { output.state mid.sentence =
-            { bbl.number }
-            { bbl.number capitalize }
-          if$
-          number tie.or.space.prefix "number" bibinfo.check * *
-          series empty$
-            { "there's a number but no series in " cite$ * warning$ }
-            { bbl.in space.word *
-              series "series" bibinfo.check *
-            }
-          if$
-        }
-      if$
-    }
-    { "" }
-  if$
-}
-FUNCTION {is.num}
-{ chr.to.int$
-  duplicate$ "0" chr.to.int$ < not
-  swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
-  "" 's :=
-  { t empty$ not }
-  { t #1 #1 substring$
-    t #2 global.max$ substring$ 't :=
-    duplicate$ is.num
-      { s swap$ * 's := }
-      { pop$ "" 't := }
-    if$
-  }
-  while$
-  s empty$
-    'skip$
-    { pop$ s }
-  if$
-}
-
-FUNCTION {convert.edition}
-{ 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 duplicate$ empty$ 'skip$
-    {
-      convert.edition
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-    }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          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 }
-        {
-          ":" *
-          swap$
-          n.dashify
-          "pages" bibinfo.check
-          *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  duplicate$ empty$ 'skip$
-    {
-      "volume" bibinfo.check
-    }
-  if$
-  number "number" bibinfo.check duplicate$ empty$ 'skip$
-    {
-      swap$ duplicate$ empty$
-        { "there's a number but no volume in " cite$ * warning$ }
-        'skip$
-      if$
-      swap$
-      "(" swap$ * ")" *
-    }
-  if$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-    { "" }
-    { type empty$
-        { bbl.chapter }
-        { type "l" change.case$
-          "type" bibinfo.check
-        }
-      if$
-      chapter tie.or.space.prefix
-      "chapter" bibinfo.check
-      * *
-    }
-  if$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          "," *
-          " " *
-          get.bbl.editor
-          ". " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      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 :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      address "address" bibinfo.check *
-      t empty$
-        'skip$
-        { address empty$
-            'skip$
-            { ": " * }
-          if$
-          t *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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 {book.date.block}
-{
-  ", " *
-  no.blank.or.punct
-}
-
-FUNCTION {inbook.date.block}
-{
-  ". " *
-  no.blank.or.punct
-}
-
-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
-      remove.dots
-      "journal" bibinfo.check
-      "journal" output.check
-      add.blank
-      format.date "year" output.check
-      date.block
-      format.vol.num.pages output
-    }
-    { format.article.crossref output.nonnull
-    }
-  if$
-  format.journal.pages
-  new.block
-  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$
-  new.block
-  format.btitle "title" output.check
-  new.block
-  format.edition output
-  crossref missing$
-    { format.bvolume output
-      new.block
-      format.number.series output
-      new.sentence
-      format.publisher.address output
-    }
-    {
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  new.block
-  book.date.block
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {booklet}
-{ "%Type = Booklet" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title "title" output.check
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inbook}
-{ "%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$
-  new.block
-  format.btitle "title" output.check
-  crossref missing$
-    {
-      format.publisher.address output
-      format.bvolume output
-      new.block
-      format.number.series output
-      new.sentence
-    }
-    {
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  format.edition output
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {incollection}
-{ "%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
-      new.sentence
-      publisher empty$
-      { format.organization.address output }
-      { organization "organization" bibinfo.check output
-        format.publisher.address output
-      }
-      if$
-      format.bvolume output
-      format.number.series output
-      format.edition output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  inbook.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inproceedings}
-{ "%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
-      new.sentence
-      publisher empty$
-        { format.organization.address output }
-        { organization "organization" bibinfo.check output
-          format.publisher.address output
-        }
-      if$
-      format.bvolume output
-      format.number.series output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  inbook.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{ "%Type = Manual" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.btitle "title" output.check
-  organization address new.block.checkb
-  organization "organization" bibinfo.check output
-  address "address" bibinfo.check output
-  format.edition output
-  format.date "year" output.check
-  inbook.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ "%Type = Masterthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.btitle
-  "title" output.check
-  new.block
-  bbl.mthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {misc}
-{ "%Type = Misc" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title output
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {phdthesis}
-{ "%Type = Phdthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.btitle
-  "title" output.check
-  new.block
-  bbl.phdthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {proceedings}
-{ "%Type = Proceedings" write$
-  output.bibitem
-  format.editors output
-  editor format.key output
-  new.block
-  format.btitle "title" output.check
-  format.bvolume output
-  format.number.series output
-  new.sentence
-  publisher empty$
-    { format.organization.address output }
-    { organization "organization" bibinfo.check output
-      format.publisher.address output
-    }
-  if$
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {techreport}
-{ "%Type = Techreport" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.btitle
-  "title" output.check
-  new.block
-  format.tr.number output.nonnull
-  institution "institution" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {unpublished}
-{ "%Type = Unpublished" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title "title" output.check
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note "note" output.check
-  fin.entry
-}
-
-FUNCTION {default.type} { misc }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-  short.list key field.or.null = or
-     { pop$ "" }
-     'skip$
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{ll{ }}{  f{ }}{  jj{ }}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.sort
-    { type$ "proceedings" =
-        'editor.sort
-        'author.sort
-      if$
-    }
-  if$
-  #1 entry.max$ substring$
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
-  write$ newline$
-  "\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\undefined \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
-%%
-%%
-%% Change log:
-%% -----------
-%% 22.04.2011
-%%
-%% 10.08.2012
-%%   a. doi, url, eprint, pmid added
-%%   b. Bibtype `webpage' defined
-%%
-%% 30.08.2012
-%%   a. collaboration added.
-%%
-%% End of file `model4-names.bst'.
-
diff --git a/model5-names.bst b/model5-names.bst
deleted file mode 100644 (file)
index d377fda..0000000
+++ /dev/null
@@ -1,1723 +0,0 @@
-%%
-%% This is file `model5-names.bst'  (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model5-names.bst 214 2012-10-22 07:34:19Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-5/model5-names.bst $
-%%
-%%
-
-ENTRY
-  { 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 :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ 's :=
-  output.state mid.sentence =
-    { " " * write$ }
-    { output.state after.block =
-        { add.period$ write$
-          newline$
-          "\newblock " write$
-        }
-        { output.state before.all =
-            'write$
-            { add.period$ " " * write$ }
-          if$
-        }
-      if$
-      mid.sentence 'output.state :=
-    }
-  if$
-  s
-}
-FUNCTION {output}
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  new.block
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "{\it " swap$ * "\/}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "\&"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "eds." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "volume" }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "number" }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.chapter}
-{ "chapter" }
-
-FUNCTION {bbl.techrep}
-{ "Technical Report" }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-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."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}{, f.}{, jj}"
-      format.name$
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          nameptr #9
-          #90 +
-          #1 + =
-          numnames #9
-          #90 +
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          namesleft #1 >
-            { ", " * t * }
-            {
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                {"," *
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-FUNCTION {format.names.ed}
-{
-  '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 *
-                }
-                {"," *
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-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.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}" format.name$
-      't :=
-      nameptr #1 >
-        {
-          nameptr #9
-          #90 +
-          #1 + =
-          numnames #9
-          #90 +
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          namesleft #1 >
-            { ", " * t * }
-            {
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                {
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.full.names }
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { editor format.full.names }
-  if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.full
-    { type$ "proceedings" =
-        'editor.key.full
-        'author.key.full
-      if$
-    }
-  if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
-  "\bibitem[{" write$
-  label write$
-  ")" make.full.names duplicate$ short.list =
-     { pop$ }
-     { * }
-   if$
-  "}]{" * write$
-  cite$ write$
-  "}" write$
-  newline$
-  ""
-  before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in capitalize
-  "" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-    }
-    'skip$
-  if$
-  extra.label *
-  before.all 'output.state :=
-  " (" swap$ * ")" *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-      emphasize
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { series empty$
-            { number "number" bibinfo.check }
-        { output.state mid.sentence =
-            { bbl.number }
-            { bbl.number capitalize }
-          if$
-          number tie.or.space.prefix "number" bibinfo.check * *
-          bbl.in space.word *
-          series "series" bibinfo.check *
-        }
-      if$
-    }
-      if$
-    }
-    { "" }
-  if$
-}
-FUNCTION {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}
-{ 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 duplicate$ empty$ 'skip$
-    {
-      convert.edition
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-   "(" swap$ * ")" *
-     }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          bbl.pages swap$
-          n.dashify
-        }
-        {
-          bbl.page swap$
-        }
-      if$
-      tie.or.space.prefix
-      "pages" bibinfo.check
-      * *
-     "(" swap$ * ")" *
-    }
-  if$
-}
-
-FUNCTION {format.journal.pages}
-{ pages duplicate$ empty$ 'pop$
-    { swap$ duplicate$ empty$
-        { pop$ pop$ format.pages }
-        {
-          ", " *
-          swap$
-          n.dashify
-          "pages" bibinfo.check
-          *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  duplicate$ empty$ 'skip$
-    {
-      "volume" bibinfo.check
-    }
-  if$
-  emphasize
-  format.journal.pages
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-    'format.pages
-    { type empty$
-        { bbl.chapter }
-        { type "l" change.case$
-          "type" bibinfo.check
-        }
-      if$
-      chapter tie.or.space.prefix
-      "chapter" bibinfo.check
-      * *
-      pages empty$
-        'skip$
-        { ". " * format.pages * }
-      if$
-    }
-  if$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-  emphasize
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          " " *
-          get.bbl.editor
-          capitalize
-          "(" swap$ * "), " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      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 :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      address "address" bibinfo.check *
-      t empty$
-        'skip$
-        { address empty$
-            'skip$
-            { ": " * }
-          if$
-          t *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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$
-  print.url output
-  fin.entry
-}
-
-FUNCTION {article}
-{ "%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.block
-  crossref missing$
-    {
-      journal
-      "journal" bibinfo.check
-      emphasize
-      "journal" output.check
-      ", " *
-      format.vol.num.pages output
-    }
-    { format.article.crossref output.nonnull
-      format.pages output
-    }
-  if$
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  new.block
-  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.date "year" output.check
-  date.block
-  format.btitle "title" output.check
-  crossref missing$
-    { format.bvolume output
-      new.block
-      new.sentence
-      format.number.series output
-      format.edition output
-      new.block
-      format.publisher.address output
-    }
-    {
-      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
-}
-
-FUNCTION {booklet}
-{ "%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.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
-}
-
-FUNCTION {inbook}
-{ "%Type = Inbook" 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
-  crossref missing$
-    { format.in.ed.booktitle "booktitle" output.check
-      format.number.series output
-      format.chapter.pages output
-      new.block
-      format.publisher.address output
-      format.bvolume output
-      new.sentence
-      format.edition output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-
-FUNCTION {incollection}
-{ "%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
-  new.block
-  crossref missing$
-    { format.in.ed.booktitle "booktitle" output.check
-      format.number.series output
-      format.chapter.pages output
-      new.block
-      format.publisher.address output
-      format.bvolume output
-      new.sentence
-      format.edition output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inproceedings}
-{ "%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
-  new.block
-  crossref missing$
-    { format.in.ed.booktitle "booktitle" output.check
-      format.number.series output
-      format.pages output
-      new.block
-      publisher empty$
-        { format.organization.address output }
-        { organization "organization" bibinfo.check output
-          format.publisher.address output
-        }
-      if$
-      format.bvolume output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{ "%Type = Manual" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  format.date "year" output.check
-  date.block
-  format.btitle "title" output.check
-  organization address new.block.checkb
-  organization "organization" bibinfo.check output
-  address "address" bibinfo.check output
-  format.edition output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ "%Type = Masterthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  format.date "year" output.check
-  date.block
-  format.btitle
-  "title" output.check
-  new.block
-  bbl.mthesis format.thesis.type output.nonnull
-  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
-}
-
-FUNCTION {misc}
-{ "%Type = Misc" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  format.date "year" output.check
-  date.block
-  format.title 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
-}
-
-FUNCTION {phdthesis}
-{ "%Type = Phdthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  format.date "year" output.check
-  date.block
-  format.btitle
-  "title" output.check
-  new.block
-  bbl.phdthesis format.thesis.type output.nonnull
-  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
-}
-
-FUNCTION {proceedings}
-{ "%Type = Proceedings" write$
-  output.bibitem
-  format.editors output
-  editor format.key output
-  format.date "year" output.check
-  date.block
-  format.btitle "title" output.check
-  format.bvolume output
-  new.sentence
-  format.number.series output
-  publisher empty$
-    { format.organization.address 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
-}
-
-FUNCTION {techreport}
-{ "%Type = Techreport" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  format.date "year" output.check
-  date.block
-  format.btitle
-  "title" output.check
-  new.block
-  format.tr.number output.nonnull
-  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
-}
-
-FUNCTION {unpublished}
-{ "%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
-}
-
-FUNCTION {default.type} { misc }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-  short.list key field.or.null = or
-     { pop$ "" }
-     'skip$
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{ll{ }}{  f{ }}{  jj{ }}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          nameptr #9
-          #90 +
-          #1 + =
-          numnames #9
-          #90 +
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.sort
-    { type$ "proceedings" =
-        'editor.sort
-        'author.sort
-      if$
-    }
-  if$
-  #1 entry.max$ substring$
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
-  write$ newline$
-  "\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$
-}
-EXECUTE {end.bib}
-%% End of customized bst file
-%%
-%% End of file `model5-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.
-%%
-
diff --git a/model6-num-names.bst b/model6-num-names.bst
deleted file mode 100644 (file)
index 2fed96d..0000000
+++ /dev/null
@@ -1,1684 +0,0 @@
-%%
-%% This is file `model6-num-names.bst'  (Version 2.0),
-%% 
-%% Copyright 2009-2012 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.
-%%
-%% $Id: model6-num-names.bst 215 2012-10-22 07:34:58Z rishi $
-%%
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/New-Model-6/model6-num-names.bst $
-%%
-%%
-
-ENTRY
-  { address
-    archive
-    author
-    booktitle
-    chapter
-    collaboration
-    edition
-    editor
-    eid
-    howpublished
-    institution
-    isbn
-    journal
-    key
-    month
-    note
-    number
-    numpages
-    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 :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ 's :=
-  output.state mid.sentence =
-    { "; " * write$ }
-    { output.state after.block =
-        { add.period$ write$
-          newline$
-          "\newblock " write$
-        }
-        { output.state before.all =
-            'write$
-            { add.period$ " " * write$ }
-          if$
-        }
-      if$
-      mid.sentence 'output.state :=
-    }
-  if$
-  s
-}
-FUNCTION {output}
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.check}
-{ 't :=
-  duplicate$ empty$
-    { pop$ "empty " t * " in " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-FUNCTION {fin.entry}
-{ add.period$
-  write$
-  newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank}
-{  " " * before.all 'output.state :=
-}
-
-FUNCTION {no.blank.or.punct}
-{  "" * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
-  ";" *
-  no.blank.or.punct
-}
-
-FUNCTION {book.date.block}
-{ ":\unskip" * 
-  no.blank.or.punct
-}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-STRINGS {z}
-FUNCTION {remove.dots}
-{ 'z :=
-  ""
-  { z empty$ not }
-  { z #1 #1 substring$
-    z #2 global.max$ substring$ 'z :=
-    duplicate$ "." = 'pop$
-      { * }
-    if$
-  }
-  while$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { "\emph{" swap$ * "}" * }
-  if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "eds." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "ed." }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "no." }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "" }
-
-FUNCTION {bbl.page}
-{ "" }
-
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-FUNCTION {bbl.chapter}
-{ "chap." }
-
-FUNCTION {bbl.techrep}
-{ "Tech. Rep." }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-FUNCTION {close.brace}
-{ "}{}" }
-
-MACRO {jan} {"Jan."}
-
-MACRO {feb} {"Feb."}
-
-MACRO {mar} {"Mar."}
-
-MACRO {apr} {"Apr."}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"Jun."}
-
-MACRO {jul} {"Jul."}
-
-MACRO {aug} {"Aug."}
-
-MACRO {sep} {"Sep."}
-
-MACRO {oct} {"Oct."}
-
-MACRO {nov} {"Nov."}
-
-MACRO {dec} {"Dec."}
-
-MACRO {acmcs} {"ACM Comput. Surv."}
-
-MACRO {acta} {"Acta Inf."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-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$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-
-STRINGS  { bibinfo}
-
-% FUNCTION {format.names}
-% { 'bibinfo :=
-%   duplicate$ empty$ 'skip$ {
-%   's :=
-%   "" 't :=
-%   #1 'nameptr :=
-%   s num.names$ 'numnames :=
-%   numnames 'namesleft :=
-%     { namesleft #0 > }
-%     { s nameptr
-%       "{vv~}{ll}{ jj}{ f{}}"
-%       format.name$
-%       remove.dots
-%       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}
-{ 'bibinfo :=
-  duplicate$ empty$ 'skip$ {
-  's :=
-  "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}{ jj}\xfnm[{ f{.}.}]"
-      format.name$
-%      remove.dots
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              "," *
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                { " " * t * }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-  } if$
-}
-
-
-FUNCTION {format.names.ed}
-{
-  format.names
-}
-FUNCTION {format.key}
-{ empty$
-    { key field.or.null }
-    { "" }
-  if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
-    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
-      *
-    }
-  if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-      new.block
-      "ISBN " swap$ *
-    }
-  if$
-}
-
-FUNCTION {format.note}
-{
- note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$
-        }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check
-    }
-  if$
-}
-
-FUNCTION {format.title}
-{ title
-  duplicate$ empty$ 'skip$
-    { "t" change.case$ }
-  if$
-  "title" bibinfo.check
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv~}{ll}" format.name$
-      't :=
-      nameptr #1 >
-        {
-          namesleft #1 >
-            { ", " * t * }
-            {
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                {
-                  " " * bbl.etal *
-                }
-                {
-                  bbl.and
-                  space.word * t *
-                }
-              if$
-            }
-          if$
-        }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.full.names }
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { author format.full.names }
-  if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
-    { key empty$
-         { cite$ #1 #3 substring$ }
-          'key
-      if$
-    }
-    { editor format.full.names }
-  if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.full
-    { type$ "proceedings" =
-        'editor.key.full
-        'author.key.full
-      if$
-    }
-  if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
-  "\bibitem[{" write$
-  label write$
-  ")" make.full.names duplicate$ short.list =
-     { pop$ }
-     { * }
-   if$
-  "}]{" * write$
-  cite$ write$
-  "}" write$
-  newline$
-  ""
-  before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in}
-{ bbl.in capitalize
-  ":" *
-  " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
-    {
-      "empty year in " cite$ * "; set to ????" * warning$
-       pop$ "????"
-    }
-    'skip$
-  if$
-  extra.label *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {
-    }
-  if$
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
-  if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { bbl.volume volume tie.or.space.prefix
-      "volume" bibinfo.check * *
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-      "volume and number" number either.or.check
-    }
-  if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
-    { number empty$
-        { series field.or.null }
-        { series empty$
-            { number "number" bibinfo.check }
-            { output.state mid.sentence =
-                { bbl.number }
-                { bbl.number capitalize }
-              if$
-              number tie.or.space.prefix "number" bibinfo.check * *
-              bbl.in space.word *
-              series "series" bibinfo.check *
-            }
-          if$
-        }
-      if$
-    }
-    { "" }
-  if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
-    {
-      output.state mid.sentence =
-        { "l" }
-        { "t" }
-      if$ change.case$
-      "edition" bibinfo.check
-      " " * bbl.edition *
-    }
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and
-    }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$
-    }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        {
-          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 }
-        {
-          ":" *
-          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$ *
-      numpages empty$ 'skip$
-        { bbl.eidpp numpages tie.or.space.prefix
-          "numpages" bibinfo.check * *
-          " (" swap$ * ")" * *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
-  duplicate$ empty$ 'skip$
-    {
-      "volume" bibinfo.check
-    }
-  if$
-  number "number" bibinfo.check duplicate$ empty$ 'skip$
-    {
-      swap$ duplicate$ empty$
-        { "there's a number but no volume in " cite$ * warning$ }
-        'skip$
-      if$
-      swap$
-      "(" swap$ * ")" *
-    }
-  if$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-    { "" }
-    { type empty$
-        { bbl.chapter }
-        { type "l" change.case$
-          "type" bibinfo.check
-        }
-      if$
-      chapter tie.or.space.prefix
-      "chapter" bibinfo.check
-      * *
-    }
-  if$
-}
-
-FUNCTION {format.booktitle}
-{
-  booktitle "booktitle" bibinfo.check
-      emphasize
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
-    {
-      editor "editor" format.names.ed duplicate$ empty$ 'pop$
-        {
-          "," *
-          " " *
-          get.bbl.editor
-          " " *
-          * swap$
-          * }
-      if$
-      word.in swap$ *
-    }
-  if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
-    'pop$
-    { swap$ pop$
-      "t" change.case$ "type" bibinfo.check
-    }
-  if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
-  type duplicate$ empty$
-    { pop$ bbl.techrep }
-    'skip$
-  if$
-  "type" bibinfo.check
-  swap$ duplicate$ empty$
-    { pop$ "t" change.case$ }
-    { tie.or.space.prefix * * }
-  if$
-}
-FUNCTION {format.article.crossref}
-{
-  word.in
-  " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
-    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
-      pop$ word.in
-    }
-    { bbl.volume
-      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 :=
-  ""
-  address empty$ t empty$ and
-    'skip$
-    {
-      address "address" bibinfo.check *
-      t empty$
-        'skip$
-        { address empty$
-            'skip$
-            { ": " * }
-          if$
-          t *
-        }
-      if$
-    }
-  if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ 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$
-  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
-      remove.dots
-      "journal" bibinfo.check
-      emphasize
-      "journal" output.check
-      add.blank
-      format.date "year" output.check
-      date.block
-      format.vol.num.pages output
-    }
-    { format.article.crossref output.nonnull
-    }
-  if$
-  eid empty$
-    { format.journal.pages }
-    { format.journal.eid }
-  if$
-  new.block
-  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$
-  new.block
-  format.btitle "title" output.check
-  crossref missing$
-    { format.bvolume output
-      new.block
-      new.sentence
-      format.number.series output
-      format.edition output
-      format.publisher.address output
-    }
-    {
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {booklet}
-{ "%Type = Booklet" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title "title" output.check
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inbook}
-{ "%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$
-  new.block
-  format.btitle "title" output.check
-  crossref missing$
-    {
-      format.bvolume output
-      format.chapter.pages "chapter and pages" output.check
-      new.block
-      new.sentence
-      format.number.series output
-      format.publisher.address output
-    }
-    {
-      format.chapter.pages "chapter and pages" output.check
-      new.block
-      format.book.crossref output.nonnull
-    }
-  if$
-  format.edition output
-  crossref missing$
-    { format.isbn output }
-    'skip$
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {incollection}
-{ "%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.chapter.pages output
-      new.sentence
-      format.number.series output
-      format.publisher.address output
-      format.edition output
-      format.isbn output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-      format.chapter.pages output
-    }
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {inproceedings}
-{ "%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
-      new.sentence
-      format.number.series output
-      publisher empty$
-        { format.organization.address output }
-        { organization "organization" bibinfo.check output
-          format.publisher.address output
-        }
-      if$
-      format.isbn output
-    }
-    { format.incoll.inproc.crossref output.nonnull
-    }
-  if$
-  format.date "year" output.check
-  book.date.block
-  format.pages "pages" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-FUNCTION {manual}
-{ "%Type = Manual" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.btitle "title" output.check
-  organization address new.block.checkb
-  organization "organization" bibinfo.check output
-  address "address" bibinfo.check output
-  format.edition output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ "%Type = Mastersthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  bbl.mthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {misc}
-{ "%Type = Misc" write$
-  output.bibitem
-  format.authors output
-  author format.key output
-  new.block
-  format.title output
-  new.block
-  howpublished "howpublished" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {phdthesis}
-{ "%Type = Phdthesis" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  bbl.phdthesis format.thesis.type output.nonnull
-  school "school" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {proceedings}
-{ "%Type = Proceedings" write$
-  output.bibitem
-  format.editors output
-  editor format.key output
-  new.block
-  format.btitle "title" output.check
-  format.bvolume output
-  new.sentence
-  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
-  format.isbn output
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {techreport}
-{ "%Type = Techreport" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title
-  "title" output.check
-  new.block
-  format.tr.number output.nonnull
-  institution "institution" bibinfo.warn output
-  address "address" bibinfo.check output
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note output
-  fin.entry
-}
-
-FUNCTION {unpublished}
-{ "%Type = Unpublished" write$
-  output.bibitem
-  format.authors "author" output.check
-  author format.key output
-  new.block
-  format.title "title" output.check
-  format.date "year" output.check
-  new.block
-  print.url output
-  print.doi output
-  print.eprint output
-  print.pubmed output
-  format.note "note" output.check
-  fin.entry
-}
-
-FUNCTION {default.type} { misc }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {format.lab.names}
-{ 's :=
-  "" 't :=
-  s #1 "{vv~}{ll}" format.name$
-  s num.names$ duplicate$
-  #2 >
-    { pop$
-      " " * bbl.etal *
-    }
-    { #2 <
-        'skip$
-        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
-            {
-              " " * bbl.etal *
-            }
-            { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-              * }
-          if$
-        }
-      if$
-    }
-  if$
-}
-
-FUNCTION {author.key.label}
-{ author empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { cite$ #1 #3 substring$ }
-            'key
-          if$
-        }
-        { editor format.lab.names }
-      if$
-    }
-    { author format.lab.names }
-  if$
-}
-
-FUNCTION {editor.key.label}
-{ editor empty$
-    { key empty$
-        { cite$ #1 #3 substring$ }
-        'key
-      if$
-    }
-    { editor format.lab.names }
-  if$
-}
-
-FUNCTION {calc.short.authors}
-{ type$ "book" =
-  type$ "inbook" =
-  or
-    'author.editor.key.label
-    { type$ "proceedings" =
-        'editor.key.label
-        'author.key.label
-      if$
-    }
-  if$
-  'short.list :=
-}
-
-FUNCTION {calc.label}
-{ calc.short.authors
-  short.list
-  "("
-  *
-  year duplicate$ empty$
-     { pop$ "????" }
-     { purify$ #-1 #4 substring$ }
-  if$
-  *
-  'label :=
-}
-
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr
-      "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}"
-%      "{vv~}{ll~}{\rd[f.f.]}{jj~}"
-      format.name$ 't :=
-      nameptr #1 >
-        {
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {author.sort}
-{ author empty$
-    { key empty$
-        { "to sort, need author or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {author.editor.sort}
-{ author empty$
-    { editor empty$
-        { key empty$
-            { "to sort, need author, editor, or key in " cite$ * warning$
-              ""
-            }
-            { key sortify }
-          if$
-        }
-        { editor sort.format.names }
-      if$
-    }
-    { author sort.format.names }
-  if$
-}
-FUNCTION {editor.sort}
-{ editor empty$
-    { key empty$
-        { "to sort, need editor or key in " cite$ * warning$
-          ""
-        }
-        { key sortify }
-      if$
-    }
-    { editor sort.format.names }
-  if$
-}
-INTEGERS { seq.num }
-FUNCTION {init.seq}
-{ #0 'seq.num :=}
-EXECUTE {init.seq}
-FUNCTION {int.to.fix}
-{ "000000000" swap$ int.to.str$ *
-  #-1 #10 substring$
-}
-FUNCTION {presort}
-{ calc.label
-  label sortify
-  "    "
-  *
-  seq.num #1 + 'seq.num :=
-  seq.num  int.to.fix
-  'sort.label :=
-  sort.label
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-
-ITERATE {presort}
-SORT
-STRINGS { last.label next.extra }
-INTEGERS { last.extra.num number.label }
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
-  "" 'next.extra :=
-  #0 'last.extra.num :=
-  #0 'number.label :=
-}
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-  number.label #1 + 'number.label :=
-}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  extra.label 'next.extra :=
-  extra.label
-  duplicate$ empty$
-    'skip$
-    { "{\natexlab{" swap$ * "}}" * }
-  if$
-  'extra.label :=
-  label extra.label * 'label :=
-}
-EXECUTE {initialize.extra.label.stuff}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {bib.sort.order}
-{ sort.label
-  "    "
-  *
-  year field.or.null sortify
-  *
-  "    "
-  *
-  title field.or.null
-  sort.format.title
-  *
-  #1 entry.max$ substring$
-  'sort.key$ :=
-}
-ITERATE {bib.sort.order}
-SORT
-FUNCTION {begin.bib}
-{ preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-  write$ newline$
-  "\providecommand{\natexlab}[1]{#1}"
-  write$ newline$
-  "\providecommand{\url}[1]{\texttt{#1}}"
-  write$ newline$
-  "\providecommand{\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{\BIBand}{and}"
-  write$ newline$
-  "\providecommand{\bibinfo}[2]{#2}"
-  write$ newline$
-       "\ifx\xfnm\undefined \def\xfnm[#1]{\unskip,\space#1}\fi"
-  write$ newline$
-  "\makeatletter\def\@biblabel#1{#1.}\makeatother"
-  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
-%%
-%%
-%% Change log:
-%% -----------
-%% 22.04.2011
-%%
-%% 10.08.2012
-%%   a. doi, url, eprint, pmid added
-%%   b. Bibtype `webpage' defined
-%%
-%% End of file `model6-num-names.bst'.
-