+++ /dev/null
-%%
-%% 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.
+++ /dev/null
-%%
-%% 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.
+++ /dev/null
-%%\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
+++ /dev/null
-%%
-%% 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
-%%
+++ /dev/null
-%%
-%% 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'.
-
+++ /dev/null
-%%
-%% 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.
-%%
-
+++ /dev/null
-%%
-%% 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'.
-