diff options
author | Karl Berry <karl@freefriends.org> | 2018-07-04 21:25:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-07-04 21:25:46 +0000 |
commit | f21cb173e4a42219a48195c2a268320d358c5894 (patch) | |
tree | 179d6d888ced3d473e51c1c64afb0ee9ea3299b0 | |
parent | a2dda8b02b5516aca742efff690705ee720d810a (diff) |
elsarticle (4jul18)
git-svn-id: svn://tug.org/texlive/trunk@48134 c570f23f-e606-0410-a88d-b1316a301751
27 files changed, 2517 insertions, 1769 deletions
diff --git a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst index fb668b8f85e..ff7a583bad7 100644 --- a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst +++ b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-harv.bst @@ -1,5 +1,7 @@ +%% +%% This is file `elsarticle-harv.bst' (Version 2.1), %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2009-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -10,46 +12,19 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. +%% +%% $Id: elsarticle-harv.bst 116 2018-06-29 04:55:48Z rishi $ +%% +%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $ %% -%% The list of all files belonging to the 'Elsarticle Bundle' is -%% given in the file `manifest.txt'. -%% - - %%------------------------------------------------------------------- - %% This bibliography style file is intended for texts in ENGLISH - %% This is an author-year citation style bibliography. As such, it is - %% non-standard LaTeX, and requires a special package file - %% to function properly. - %% Such a package is natbib.sty by Patrick W. Daly - %% The form of the \bibitem entries is - %% \bibitem[Jones et al.(1990)]{key}... - %% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... - %% The essential feature is that the label (the part in brackets) consists - %% of the author names, as they should appear in the citation, with the year - %% in parentheses following. There must be no space before the opening - %% parenthesis! - %% With natbib v5.3, a full list of authors may also follow the year. - %% In natbib.sty, it is possible to define the type of enclosures that is - %% really wanted (brackets or parentheses), but in either case, there must - %% be parentheses in the label. - %% The \cite command functions as follows: - %% \citet{key} ==>> Jones et al. (1990) - %% \citet*{key} ==>> Jones, Baker, and Smith (1990) - %% \citep{key} ==>> (Jones et al., 1990) - %% \citep*{key} ==>> (Jones, Baker, and Smith, 1990) - %% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) - %% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) - %% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) - %% \citeauthor{key} ==>> Jones et al. - %% \citeauthor*{key} ==>> Jones, Baker, and Smith - %% \citeyear{key} ==>> 1990 - %%--------------------------------------------------------------------- ENTRY { address + archive author booktitle chapter + collaboration edition editor howpublished @@ -66,28 +41,42 @@ ENTRY series title type - url 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 } - +STRINGS { s t} +FUNCTION {output.comma} +{ ", " * write$} + FUNCTION {output.nonnull} { 's := output.state mid.sentence = - { ", " * write$ } + { ". " * write$ } { output.state after.block = { add.period$ write$ newline$ @@ -95,6 +84,26 @@ FUNCTION {output.nonnull} } { output.state before.all = 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output.commanull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ { add.period$ " " * write$ } if$ } @@ -104,14 +113,12 @@ FUNCTION {output.nonnull} if$ s } - FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } - FUNCTION {output.check} { 't := duplicate$ empty$ @@ -119,7 +126,13 @@ FUNCTION {output.check} 'output.nonnull if$ } - +FUNCTION {output.book.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} FUNCTION {fin.entry} { add.period$ write$ @@ -132,7 +145,6 @@ FUNCTION {new.block} { after.block 'output.state := } if$ } - FUNCTION {new.sentence} { output.state after.block = 'skip$ @@ -143,16 +155,13 @@ FUNCTION {new.sentence} } if$ } - -%%SP 2003/07/25 -%% No longer used FUNCTION {add.blank} { " " * before.all 'output.state := } FUNCTION {date.block} { - new.sentence + new.block } FUNCTION {not} @@ -160,19 +169,16 @@ FUNCTION {not} { #1 } if$ } - FUNCTION {and} { 'skip$ { pop$ #0 } if$ } - FUNCTION {or} { { pop$ #1 } 'skip$ if$ } - FUNCTION {new.block.checkb} { empty$ swap$ empty$ @@ -181,26 +187,34 @@ FUNCTION {new.block.checkb} 'new.block if$ } - FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } - FUNCTION {emphasize} -{ skip$ } +{ duplicate$ empty$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } - - %% Here are the language-specific definitions for explicit words. - %% Each function has a name bbl.xxx where xxx is the English word. - %% The language selected here is ENGLISH + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} @@ -217,16 +231,16 @@ FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} -{ "Edition" } +{ "ed." } FUNCTION {bbl.volume} -{ "Vol." } +{ "volume" } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} -{ "no." } +{ "number" } FUNCTION {bbl.nr} { "no." } @@ -241,10 +255,10 @@ FUNCTION {bbl.page} { "p." } FUNCTION {bbl.chapter} -{ "Ch." } +{ "chapter" } FUNCTION {bbl.techrep} -{ "Tech. Rep." } +{ "Technical Report" } FUNCTION {bbl.mthesis} { "Master's thesis" } @@ -252,77 +266,29 @@ FUNCTION {bbl.mthesis} 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" } +MACRO {jan} {"January"} -FUNCTION {bbl.nd} -{ "nd" } +MACRO {feb} {"February"} -FUNCTION {bbl.rd} -{ "rd" } +MACRO {mar} {"March"} -FUNCTION {bbl.th} -{ "th" } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} +MACRO {apr} {"April"} MACRO {may} {"May"} -MACRO {jun} {"Jun."} +MACRO {jun} {"June"} -MACRO {jul} {"Jul."} +MACRO {jul} {"July"} -MACRO {aug} {"Aug."} +MACRO {aug} {"August"} -MACRO {sep} {"Sep."} +MACRO {sep} {"September"} -MACRO {oct} {"Oct."} +MACRO {oct} {"October"} -MACRO {nov} {"Nov."} +MACRO {nov} {"November"} -MACRO {dec} {"Dec."} - -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 {dec} {"December"} MACRO {acmcs} {"ACM Comput. Surv."} @@ -334,12 +300,12 @@ MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} -MACRO {ieeese} {"IEEE Trans. Softw. Eng."} +MACRO {ieeese} {"IEEE Trans. Software Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} - {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + {"IEEE Trans. Comput. Aid. Des."} MACRO {ipl} {"Inf. Process. Lett."} @@ -347,7 +313,7 @@ MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} -MACRO {scp} {"Sci. Comput. Programming"} +MACRO {scp} {"Sci. Comput. Program."} MACRO {sicomp} {"SIAM J. Comput."} @@ -355,34 +321,71 @@ MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} -MACRO {tog} {"ACM Trans. Gr."} +MACRO {tog} {"ACM Trans. Graphic."} -MACRO {toms} {"ACM Trans. Math. Softw."} +MACRO {toms} {"ACM Trans. Math. Software"} MACRO {toois} {"ACM Trans. Office Inf. Syst."} -MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} -MACRO {tcs} {"Theoretical Comput. Sci."} +MACRO {tcs} {"Theor. Comput. Sci."} -FUNCTION {write.url} -{ url empty$ - { skip$ } - { "\newline\urlprefix\url{" url * "}" * write$ newline$ } +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } if$ } +STRINGS { bibinfo} + INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} -{ 's := +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv~}{ll}{, jj}{, f.}" format.name$ - 't := + "{vv~}{ll}{, jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := nameptr #1 > { namesleft #1 > @@ -408,9 +411,12 @@ FUNCTION {format.names} namesleft #1 - 'namesleft := } while$ + } if$ } FUNCTION {format.names.ed} -{ format.names } +{ + format.names +} FUNCTION {format.key} { empty$ { key field.or.null } @@ -419,36 +425,31 @@ FUNCTION {format.key} } FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { " (" * bbl.editors * ")" * } - { " (" * bbl.editor * ")" * } +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } if$ + * } if$ } -FUNCTION {format.in.editors} -{ editor empty$ - { "" } - { editor format.names.ed - editor num.names$ #1 > - { " (" * bbl.editors * ")" * } - { " (" * bbl.editor * ")" * } - if$ +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * } if$ } - FUNCTION {format.note} { note empty$ @@ -463,21 +464,21 @@ FUNCTION {format.note} change.case$ } if$ - note #2 global.max$ substring$ * + note #2 global.max$ substring$ * "note" bibinfo.check } if$ } FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ - } +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } if$ + "title" bibinfo.check } - FUNCTION {format.full.names} {'s := + "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := @@ -490,10 +491,6 @@ FUNCTION {format.full.names} namesleft #1 > { ", " * t * } { - numnames #2 > - { "," * } - 'skip$ - if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } @@ -502,7 +499,8 @@ FUNCTION {format.full.names} { " " * bbl.etal * } - { bbl.and + { + bbl.and space.word * t * } if$ @@ -610,145 +608,82 @@ FUNCTION {n.dashify} } FUNCTION {word.in} -{ bbl.in capitalize +{ bbl.in %capitalize ":" * " " * } FUNCTION {format.date} -{ year duplicate$ empty$ - { "empty year in " cite$ * "; set to ????" * warning$ - pop$ "????" } - 'skip$ - if$ - month empty$ - 'skip$ - { month - " " * swap$ * +{ year "year" bibinfo.check duplicate$ empty$ + { } + 'skip$ if$ extra.label * before.all 'output.state := ", " swap$ * } - FUNCTION {format.btitle} -{ title -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } if$ - swap$ * * } - FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } - FUNCTION {format.bvolume} { volume empty$ { "" } - { bbl.volume volume tie.or.space.connect - series empty$ - 'skip$ - { bbl.of space.word * series emphasize * } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } if$ "volume and number" number either.or.check } if$ } - FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } + { series empty$ + { number "number" bibinfo.check } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { bbl.in space.word * series * } - if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * } if$ } - { "" } - if$ -} - -FUNCTION {is.num} -{ chr.to.int$ - duplicate$ "0" chr.to.int$ < not - swap$ "9" chr.to.int$ > not and -} - -FUNCTION {extract.num} -{ duplicate$ 't := - "" 's := - { t empty$ not } - { t #1 #1 substring$ - t #2 global.max$ substring$ 't := - duplicate$ is.num - { s swap$ * 's := } - { pop$ "" 't := } - if$ - } - while$ - s empty$ - 'skip$ - { pop$ s } - if$ -} - -FUNCTION {convert.edition} -{ edition extract.num "l" change.case$ 's := - s "first" = s "1" = or - { bbl.first 't := } - { s "second" = s "2" = or - { bbl.second 't := } - { s "third" = s "3" = or - { bbl.third 't := } - { s "fourth" = s "4" = or - { bbl.fourth 't := } - { s "fifth" = s "5" = or - { bbl.fifth 't := } - { s #1 #1 substring$ is.num - { s eng.ord 't := } - { edition 't := } - if$ - } - if$ - } - if$ - } - if$ - } if$ } + { "" } if$ - t } FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { convert.edition "l" change.case$ " " * bbl.edition * } - { convert.edition "t" change.case$ " " * bbl.edition * } - if$ +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * } if$ } - INTEGERS { multiresult } - FUNCTION {multi.page.check} { 't := #0 'multiresult := @@ -768,52 +703,58 @@ FUNCTION {multi.page.check} while$ multiresult } +%FUNCTION {format.pages} +%{ pages duplicate$ empty$ 'skip$ +% { duplicate$ multi.page.check +% { +% n.dashify +% } +% { +% } +% if$ +% "pages" bibinfo.check +% } +% if$ +%} FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { bbl.pages pages n.dashify tie.or.space.connect } - { bbl.page pages tie.or.space.connect } +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } if$ + tie.or.space.prefix + "pages" bibinfo.check + * * } if$ } FUNCTION {format.journal.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } { ", " * - pages n.dashify * + swap$ + n.dashify + "pages" bibinfo.check + * } if$ } if$ } - -%%SP 2001/01/23 -%% Only used in articles FUNCTION {format.vol.num.pages} -{ -%%SP 2001/01/23 -%% Add the leading space only if there is a volume - %% volume field.or.null - " " - volume empty$ - { pop$ "" } - { volume * } - if$ - number empty$ - 'skip$ +{ volume field.or.null + duplicate$ empty$ 'skip$ { - "~(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ + "volume" bibinfo.check } if$ } @@ -823,70 +764,79 @@ FUNCTION {format.chapter.pages} { "" } { type empty$ { bbl.chapter } - { type "l" change.case$ } + { type "l" change.case$ + "type" bibinfo.check + } if$ - chapter tie.or.space.connect + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * } if$ } +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { word.in booktitle * } - { word.in format.in.editors * ", " * - booktitle * } +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * "), " * + * swap$ + * } if$ + word.in swap$ * } if$ } - FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check } if$ } - FUNCTION {format.tr.number} -{ type empty$ - { bbl.techrep } - 'type +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } if$ } - FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * } - FUNCTION {format.book.crossref} -{ volume empty$ +{ volume duplicate$ empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - word.in + pop$ word.in } - { bbl.volume capitalize - volume tie.or.space.connect - bbl.of space.word * + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * } if$ " \cite{" * crossref * "}" * } - FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * } - FUNCTION {format.org.or.pub} { 't := "" @@ -894,69 +844,118 @@ FUNCTION {format.org.or.pub} 'skip$ { t empty$ - { address empty$ - 'skip$ - { address * } - if$ + { address "address" bibinfo.check * } { t * address empty$ 'skip$ - { ", " * address * } + { ", " * address "address" bibinfo.check * } if$ } if$ } if$ } - FUNCTION {format.publisher.address} -{ publisher empty$ - { "empty publisher in " cite$ * warning$ - "" - } - { publisher } - if$ - format.org.or.pub +{ publisher "publisher" bibinfo.check format.org.or.pub } FUNCTION {format.organization.address} -{ organization empty$ - { "" } - { organization } +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" * } + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * + } + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} if$ - format.org.or.pub + print.url output + fin.entry } + FUNCTION {article} -{ output.bibitem +{ "%Type = Article" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check - new.sentence + new.block crossref missing$ - { journal + { + journal + "journal" bibinfo.check "journal" output.check -%%SP 2001/01/23 -%% Add the space in format.vol.num.pages - %% add.blank - before.all 'output.state := + add.blank format.vol.num.pages output } { format.article.crossref output.nonnull - format.pages output } if$ format.journal.pages + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {book} -{ output.bibitem +{ "%Type = Book" write$ + output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output @@ -972,40 +971,50 @@ FUNCTION {book} date.block format.btitle "title" output.check crossref missing$ - { format.edition output - new.sentence - format.bvolume output + { format.bvolume output + new.block format.number.series output + format.edition output new.sentence format.publisher.address output } { - new.sentence + new.block format.book.crossref output.nonnull } if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {booklet} -{ output.bibitem +{ "%Type = Booklet" write$ + output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title "title" output.check - new.sentence - howpublished output - address output + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {inbook} -{ output.bibitem +{ "%Type = Inbook" write$ + output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output @@ -1020,217 +1029,258 @@ FUNCTION {inbook} format.date "year" output.check date.block format.btitle "title" output.check + format.edition output crossref missing$ { - format.edition output - new.sentence + format.publisher.address output format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block format.number.series output new.sentence - format.publisher.address output - format.chapter.pages "chapter and pages" output.check } { format.chapter.pages "chapter and pages" output.check - new.sentence + new.block format.book.crossref output.nonnull } if$ format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {incollection} -{ output.bibitem +{ "%Type = Incollection" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block - format.title "title" output.check + format.title "title" output.book.check new.sentence crossref missing$ - { format.in.ed.booktitle "booktitle" output.check + { format.in.ed.booktitle "booktitle" output.book.check format.edition output - new.sentence + format.publisher.address output format.bvolume output format.number.series output - new.sentence - format.publisher.address output format.chapter.pages output + new.sentence } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {inproceedings} -{ output.bibitem +{ "%Type = Inproceedings" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block - format.title "title" output.check + format.title "title" output.book.check new.sentence crossref missing$ { format.in.ed.booktitle "booktitle" output.check - format.edition output - new.sentence - format.bvolume output - format.number.series output new.sentence publisher empty$ { format.organization.address output } - { organization output + { organization "organization" bibinfo.check output format.publisher.address output } if$ -%%SP 2001/01/23 -%% format.pages output +% format.bvolume output +% format.number.series output +% format.pages output } { format.incoll.inproc.crossref output.nonnull -%%SP 2001/01/23 -%% format.pages output + format.pages output } if$ -%%SP 2001/01/23 format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {conference} { inproceedings } FUNCTION {manual} -{ output.bibitem +{ "%Type = Manual" write$ + output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.btitle "title" output.check - new.sentence - organization output - address output format.edition output + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {mastersthesis} -{ output.bibitem +{ "%Type = Masterthesis" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block - format.title "title" output.check - new.sentence + format.btitle + "title" output.check + new.block bbl.mthesis format.thesis.type output.nonnull - school "school" output.check - address output + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {misc} -{ output.bibitem +{ "%Type = Misc" write$ + output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title output - new.sentence - howpublished output + new.block + howpublished "howpublished" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {phdthesis} -{ output.bibitem +{ "%Type = Phdthesis" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block - format.title "title" output.check - new.sentence + format.btitle + "title" output.check + new.block bbl.phdthesis format.thesis.type output.nonnull - school "school" output.check - address output + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {proceedings} -{ output.bibitem +{ "%Type = Proceedings" write$ + output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check - new.sentence format.bvolume output format.number.series output new.sentence publisher empty$ { format.organization.address output } - { organization output + { organization "organization" bibinfo.check output format.publisher.address output } if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {techreport} -{ output.bibitem +{ "%Type = Techreport" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block - format.title "title" output.check - new.sentence + format.btitle + "title" output.check + new.block format.tr.number output.nonnull - institution "institution" output.check - address output + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note output fin.entry - write.url } FUNCTION {unpublished} -{ output.bibitem +{ "%Type = Unpublished" write$ + output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output format.note "note" output.check fin.entry - write.url } FUNCTION {default.type} { misc } - READ - FUNCTION {sortify} { purify$ "l" change.case$ } - INTEGERS { len } - FUNCTION {chop.word} { 's := 'len := @@ -1239,9 +1289,9 @@ FUNCTION {chop.word} 's if$ } - FUNCTION {format.lab.names} { 's := + "" 't := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > @@ -1320,7 +1370,8 @@ FUNCTION {calc.label} "(" * year duplicate$ empty$ - { pop$ "????" } + short.list key field.or.null = or + { pop$ "" } 'skip$ if$ * @@ -1335,7 +1386,7 @@ FUNCTION {sort.format.names} numnames 'namesleft := { namesleft #0 > } { s nameptr - "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + "{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { @@ -1363,7 +1414,6 @@ FUNCTION {sort.format.title} sortify #1 global.max$ substring$ } - FUNCTION {author.sort} { author empty$ { key empty$ @@ -1376,7 +1426,6 @@ FUNCTION {author.sort} { author sort.format.names } if$ } - FUNCTION {author.editor.sort} { author empty$ { editor empty$ @@ -1393,7 +1442,6 @@ FUNCTION {author.editor.sort} { author sort.format.names } if$ } - FUNCTION {editor.sort} { editor empty$ { key empty$ @@ -1406,7 +1454,6 @@ FUNCTION {editor.sort} { editor sort.format.names } if$ } - FUNCTION {presort} { calc.label label sortify @@ -1436,20 +1483,15 @@ FUNCTION {presort} } 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 := @@ -1462,7 +1504,6 @@ FUNCTION {forward.pass} if$ number.label #1 + 'number.label := } - FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } @@ -1472,18 +1513,15 @@ FUNCTION {reverse.pass} extra.label duplicate$ empty$ 'skip$ - { "{\natexlab{" swap$ * "}}" * } +% { "{\natexlab{" swap$ * "}}" * } + { "" swap$ * "" * } if$ 'extra.label := label extra.label * 'label := } - EXECUTE {initialize.extra.label.stuff} - ITERATE {forward.pass} - REVERSE {reverse.pass} - FUNCTION {bib.sort.order} { sort.label " " @@ -1498,11 +1536,8 @@ FUNCTION {bib.sort.order} #1 entry.max$ substring$ 'sort.key$ := } - ITERATE {bib.sort.order} - SORT - FUNCTION {begin.bib} { preamble$ empty$ 'skip$ @@ -1512,26 +1547,51 @@ FUNCTION {begin.bib} write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ - "\expandafter\ifx\csname url\endcsname\relax" + "\providecommand{\url}[1]{\texttt{#1}}" write$ newline$ - " \def\url#1{\texttt{#1}}\fi" + "\providecommand{\href}[2]{#2}" write$ newline$ - "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi" write$ newline$ } - EXECUTE {begin.bib} - EXECUTE {init.state.consts} - +EXECUTE {init.web.variables} ITERATE {call.type$} - FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } - EXECUTE {end.bib} %% End of customized bst file %% %% End of file `elsarticle-harv.bst'. +%% +%% Change log: +%% ----------- +%% 22.04.2011 +%% +%% 10.08.2012 +%% a. doi, url, eprint, pmid added +%% b. Bibtype `webpage' defined +%% +%% 30.08.2012 +%% a. collaboration added. +%% + diff --git a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst index 51a4a3cb343..5ed53b22b9d 100644 --- a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst +++ b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num-names.bst @@ -1,5 +1,7 @@ +%% +%% This is file `elsarticle-num-names.bst' (Version 2.1), %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2009-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -10,131 +12,119 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. -%% -%% The list of all files belonging to the 'Elsarticle Bundle' is -%% given in the file `manifest.txt'. -%% %% -%% This is file `elsearticle-num-names.bst', -%% generated with the docstrip utility. +%% $Id: elsarticle-num-names.bst 117 2018-06-29 04:56:59Z rishi $ %% -%% The original source files were: +%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $ %% -%% merlin.mbs (with options: `head,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}') -%% english.mbs (with options: `exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}') -%% merlin.mbs (with options: `tail,exlang,ay,nat,seq-no,nm-init,ed-au,dt-jnl,dt-end,atit-u,jttl-rm,vnum-sp,volp-blk,jdt-p,pp-last,num-xser,jnm-x,btit-rm,bt-rm,bkpg-x,isbn,issn,doi,edpar,bkedcap,blk-com,in-col,english,ppx,ed,abr,xedn,varand,xand,url,url-blk,bibinfo,nfss,,{}') -%% ---------------------------------------- -%% *** Journal of Sound and Vibration *** %% -%% Copyright 1994-2004 Patrick W Daly - % =============================================================== - % IMPORTANT NOTICE: - % This bibliographic style (bst) file has been generated from one or - % more master bibliographic style (mbs) files, listed above. - % - % This generated file can be redistributed and/or modified under the terms - % of the LaTeX Project Public License Distributed from CTAN - % archives in directory macros/latex/base/lppl.txt; either - % version 1 of the License, or any later version. - % =============================================================== - % Name and version information of the main mbs file: - % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] - % For use with BibTeX version 0.99a or later - %------------------------------------------------------------------- ENTRY - { address - author - booktitle - chapter - doi - edition - editor - eid - howpublished - institution - isbn - issn - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - url - volume - year - } - {} - { label extra.label sort.label short.list } + { address + author + booktitle + chapter + collaboration + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + url + doi + eprint + pubmed + } + {} + { label extra.label sort.label short.list } + INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +STRINGS { urlprefix doiprefix eprintprefix pubmedprefix } + +FUNCTION {init.web.variables} +{ + "\URLprefix " 'urlprefix := + "\DOIprefix" 'doiprefix := + "\ArXivprefix " 'eprintprefix := + "\Pubmedprefix " 'pubmedprefix := +} + FUNCTION {init.state.consts} { #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := } STRINGS { s t} FUNCTION {output.nonnull} { 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = +% { add.period$ write$ + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s } FUNCTION {output} { duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ + 'pop$ + 'output.nonnull + if$ } FUNCTION {output.check} { 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ } FUNCTION {fin.entry} { add.period$ - write$ - newline$ + write$ + newline$ } FUNCTION {new.block} { output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ + 'skip$ + { after.block 'output.state := } + if$ } FUNCTION {new.sentence} { output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ } FUNCTION {add.blank} { " " * before.all 'output.state := @@ -142,50 +132,50 @@ FUNCTION {add.blank} FUNCTION {date.block} { - skip$ + skip$ } FUNCTION {not} { { #0 } - { #1 } - if$ + { #1 } + if$ } FUNCTION {and} { 'skip$ - { pop$ #0 } - if$ + { pop$ #0 } + if$ } FUNCTION {or} { { pop$ #1 } - 'skip$ - if$ + 'skip$ + if$ } FUNCTION {new.block.checkb} { empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ } FUNCTION {field.or.null} { duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ + { pop$ "" } + 'skip$ + if$ } FUNCTION {emphasize} { duplicate$ empty$ - { pop$ "" } - { "\emph{" swap$ * "}" * } - if$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ } FUNCTION {tie.or.space.prefix} { duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ + { "~" } + { " " } + if$ + swap$ } FUNCTION {capitalize} @@ -195,10 +185,6 @@ 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. - %------------------------------------------------------------------- - % Begin module: - % \ProvidesFile{english.mbs}[2003/11/06 4.2 (PWD)] - % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"} @@ -216,16 +202,16 @@ FUNCTION {bbl.edby} { "edited by" } FUNCTION {bbl.edition} -{ "edn." } +{ "ed." } FUNCTION {bbl.volume} -{ "vol." } +{ "volume" } FUNCTION {bbl.of} { "of" } FUNCTION {bbl.number} -{ "no." } +{ "number" } FUNCTION {bbl.nr} { "no." } @@ -234,16 +220,16 @@ FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} -{ "" } +{ "pp." } FUNCTION {bbl.page} -{ "" } +{ "p." } FUNCTION {bbl.chapter} -{ "chap." } +{ "chapter" } FUNCTION {bbl.techrep} -{ "Tech. Rep." } +{ "Technical Report" } FUNCTION {bbl.mthesis} { "Master's thesis" } @@ -251,237 +237,219 @@ FUNCTION {bbl.mthesis} FUNCTION {bbl.phdthesis} { "Ph.D. thesis" } -MACRO {jan} {"Jan."} +MACRO {jan} {"January"} -MACRO {feb} {"Feb."} +MACRO {feb} {"February"} -MACRO {mar} {"Mar."} +MACRO {mar} {"March"} -MACRO {apr} {"Apr."} +MACRO {apr} {"April"} MACRO {may} {"May"} -MACRO {jun} {"Jun."} +MACRO {jun} {"June"} -MACRO {jul} {"Jul."} +MACRO {jul} {"July"} -MACRO {aug} {"Aug."} +MACRO {aug} {"August"} -MACRO {sep} {"Sep."} +MACRO {sep} {"September"} -MACRO {oct} {"Oct."} +MACRO {oct} {"October"} -MACRO {nov} {"Nov."} +MACRO {nov} {"November"} -MACRO {dec} {"Dec."} +MACRO {dec} {"December"} - % End module: english.mbs -%% Copyright 1994-2004 Patrick W Daly -MACRO {acmcs} {"ACM Computing Surveys"} +MACRO {acmcs} {"ACM Comput. Surv."} -MACRO {acta} {"Acta Informatica"} +MACRO {acta} {"Acta Inf."} -MACRO {cacm} {"Communications of the ACM"} +MACRO {cacm} {"Commun. ACM"} -MACRO {ibmjrd} {"IBM Journal of Research and Development"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} -MACRO {ibmsj} {"IBM Systems Journal"} +MACRO {ibmsj} {"IBM Syst.~J."} -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} +MACRO {ieeese} {"IEEE Trans. Software Eng."} -MACRO {ieeetc} {"IEEE Transactions on Computers"} +MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + {"IEEE Trans. Comput. Aid. Des."} -MACRO {ipl} {"Information Processing Letters"} +MACRO {ipl} {"Inf. Process. Lett."} -MACRO {jacm} {"Journal of the ACM"} +MACRO {jacm} {"J.~ACM"} -MACRO {jcss} {"Journal of Computer and System Sciences"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} -MACRO {scp} {"Science of Computer Programming"} +MACRO {scp} {"Sci. Comput. Program."} -MACRO {sicomp} {"SIAM Journal on Computing"} +MACRO {sicomp} {"SIAM J. Comput."} -MACRO {tocs} {"ACM Transactions on Computer Systems"} +MACRO {tocs} {"ACM Trans. Comput. Syst."} -MACRO {tods} {"ACM Transactions on Database Systems"} +MACRO {tods} {"ACM Trans. Database Syst."} -MACRO {tog} {"ACM Transactions on Graphics"} +MACRO {tog} {"ACM Trans. Graphic."} -MACRO {toms} {"ACM Transactions on Mathematical Software"} +MACRO {toms} {"ACM Trans. Math. Software"} -MACRO {toois} {"ACM Transactions on Office Information Systems"} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} -MACRO {tcs} {"Theoretical Computer Science"} FUNCTION {bibinfo.check} { swap$ - duplicate$ missing$ - { - pop$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ pop$ - } - { swap$ - "\bibinfo{" swap$ * "}{" * swap$ * "}" * - } - if$ - } - if$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ } FUNCTION {bibinfo.warn} { swap$ - duplicate$ missing$ - { - swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ "empty " swap$ * " in " * cite$ * warning$ - } - { swap$ - "\bibinfo{" swap$ * "}{" * swap$ * "}" * - } - if$ - } - if$ -} -FUNCTION {format.url} -{ url empty$ - { "" } - { "\urlprefix\url{" url * "}" * } - if$ + 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$ + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ } FUNCTION {format.names.ed} { - format.names + format.names } FUNCTION {format.key} { empty$ - { key field.or.null } - { "" } - if$ + { key field.or.null } + { "" } + if$ } +%FUNCTION {format.authors} +%{ author "author" format.names +%} + FUNCTION {format.authors} { author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ } + FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } FUNCTION {format.editors} { editor "editor" format.names duplicate$ empty$ 'skip$ - { - " " * - get.bbl.editor - capitalize - "(" swap$ * ")" * - * - } - if$ -} -FUNCTION {format.isbn} -{ isbn "isbn" bibinfo.check - duplicate$ empty$ 'skip$ - { - "ISBN " swap$ * - } - if$ -} - -FUNCTION {format.issn} -{ issn "issn" bibinfo.check - duplicate$ empty$ 'skip$ - { - "ISSN " swap$ * - } - if$ -} - - FUNCTION {format.doi} - { doi "doi" bibinfo.check - duplicate$ empty$ 'skip$ { - "\doi{" swap$ * "}" * + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * } if$ - } - +} FUNCTION {format.note} { note empty$ - { "" } - { note #1 #1 substring$ - duplicate$ "{" = - 'skip$ - { output.state mid.sentence = - { "l" } - { "u" } - if$ - change.case$ - } - if$ - note #2 global.max$ substring$ * "note" bibinfo.check - } - if$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ } FUNCTION {format.title} { title - "title" bibinfo.check + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check } + FUNCTION {format.full.names} {'s := "" 't := @@ -593,869 +561,974 @@ FUNCTION {output.bibitem} FUNCTION {n.dashify} { - 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ } FUNCTION {word.in} { bbl.in - ":" * - " " * } + ":" * + " " * } FUNCTION {format.date} { year "year" bibinfo.check duplicate$ empty$ - { - "empty year in " cite$ * "; set to ????" * warning$ - pop$ "????" - } - 'skip$ - if$ - extra.label * + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * } FUNCTION{format.year} { year "year" bibinfo.check duplicate$ empty$ - { "empty year in " cite$ * - "; set to ????" * - warning$ - pop$ "????" - } - { - } - if$ - extra.label * - "(" swap$ * ")" * + { "empty year in " cite$ * + "; set to ????" * + warning$ + pop$ "????" + } + { + } + if$ + extra.label * + " (" swap$ * ")" * } FUNCTION {format.btitle} { title "title" bibinfo.check - duplicate$ empty$ 'skip$ - { - } - if$ + duplicate$ empty$ 'skip$ + { + } + if$ } FUNCTION {either.or.check} { empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ } FUNCTION {format.bvolume} { volume empty$ - { "" } - { bbl.volume volume tie.or.space.prefix - "volume" bibinfo.check * * - series "series" bibinfo.check - duplicate$ empty$ 'pop$ - { swap$ bbl.of space.word * swap$ - emphasize * } - if$ - "volume and number" number either.or.check - } - if$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ } FUNCTION {format.number.series} { volume empty$ - { number empty$ - { series field.or.null } - { series empty$ - { number "number" bibinfo.check } - { output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.prefix "number" bibinfo.check * * - bbl.in space.word * - series "series" bibinfo.check * - } - if$ - } - if$ - } - { "" } - if$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ } FUNCTION {format.edition} { edition duplicate$ empty$ 'skip$ - { - output.state mid.sentence = - { "l" } - { "t" } - if$ change.case$ - "edition" bibinfo.check - " " * bbl.edition * - } - if$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult } FUNCTION {format.pages} { pages duplicate$ empty$ 'skip$ - { duplicate$ multi.page.check - { - n.dashify - } - { - } - if$ - "pages" bibinfo.check - } - if$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ } FUNCTION {format.journal.pages} { pages duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ - { pop$ pop$ format.pages } - { - " " * - format.year * " " * - swap$ - n.dashify - "pages" bibinfo.check - * - } - if$ - } - if$ -} -FUNCTION {format.journal.eid} -{ eid "eid" bibinfo.check - duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ 'skip$ - { - " " * - } - if$ - swap$ * - } - if$ + { 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$ * + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + format.year * } FUNCTION {format.chapter.pages} { chapter empty$ - { "" } - { type empty$ - { bbl.chapter } - { type "l" change.case$ - "type" bibinfo.check - } - if$ - chapter tie.or.space.prefix - "chapter" bibinfo.check - * * - } - if$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ } FUNCTION {format.booktitle} { - booktitle "booktitle" bibinfo.check + booktitle "booktitle" bibinfo.check } FUNCTION {format.in.ed.booktitle} { format.booktitle duplicate$ empty$ 'skip$ - { - editor "editor" format.names.ed duplicate$ empty$ 'pop$ - { - " " * - get.bbl.editor - capitalize - "(" swap$ * "), " * - * swap$ - * } - if$ - word.in swap$ * - } - if$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * "), " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ } FUNCTION {format.thesis.type} { type duplicate$ empty$ - 'pop$ - { swap$ pop$ - "t" change.case$ "type" bibinfo.check - } - if$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ } FUNCTION {format.tr.number} { number "number" bibinfo.check - type duplicate$ empty$ - { pop$ bbl.techrep } - 'skip$ - if$ - "type" bibinfo.check - swap$ duplicate$ empty$ - { pop$ "t" change.case$ } - { tie.or.space.prefix * * } - if$ + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ } FUNCTION {format.article.crossref} { - word.in - " \cite{" * crossref * "}" * + word.in + " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume duplicate$ empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - pop$ word.in - } - { bbl.volume - swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * - } - if$ - " \cite{" * crossref * "}" * + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { - word.in - " \cite{" * crossref * "}" * + word.in + " \cite{" * crossref * "}" * } FUNCTION {format.org.or.pub} { 't := - "" - address empty$ t empty$ and - 'skip$ - { - t empty$ - { address "address" bibinfo.check * - } - { t * - address empty$ - 'skip$ - { ", " * address "address" bibinfo.check * } - if$ - } - if$ - } - if$ + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ } FUNCTION {format.publisher.address} -{ publisher "publisher" bibinfo.warn format.org.or.pub +{ publisher "publisher" bibinfo.check format.org.or.pub } FUNCTION {format.organization.address} { organization "organization" bibinfo.check format.org.or.pub } -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.title "title" output.check - crossref missing$ - { - journal - "journal" bibinfo.check - "journal" output.check - add.blank - format.vol.num.pages output - } - { format.article.crossref output.nonnull - } - if$ - eid empty$ - { format.journal.pages } - { format.journal.eid } - if$ - format.issn output - format.doi output - format.url output - format.note output - fin.entry -} -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * } - if$ - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.number.series output - format.publisher.address output + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" * } - { - format.book.crossref output.nonnull + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * } - if$ - format.edition output - format.isbn output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} + if$ + print.url output + fin.entry +} + + +FUNCTION {article} +{ "%Type = Article" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + format.journal.pages + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {book} +{ "%Type = Book" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - format.title "title" output.check - howpublished "howpublished" bibinfo.check output - address "address" bibinfo.check output - format.isbn output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Booklet" write$ + output.bibitem + format.authors output + author format.key output + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - format.btitle "title" output.check - crossref missing$ - { - format.bvolume output - format.chapter.pages "chapter and pages" output.check - format.number.series output - format.publisher.address output - } - { - format.chapter.pages "chapter and pages" output.check - format.book.crossref output.nonnull - } - if$ - format.edition output - crossref missing$ - { format.isbn output } - 'skip$ - if$ - format.pages "pages" output.check - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Inbook" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - format.chapter.pages output - format.publisher.address output - format.edition output - format.isbn output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - format.pages "pages" output.check - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Incollection" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - format.isbn output - format.issn output - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages "pages" output.check - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Inproceedings" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date output + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {conference} { inproceedings } FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - format.btitle "title" output.check - organization "organization" bibinfo.check output - address "address" bibinfo.check output - format.edition output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Manual" write$ + output.bibitem + format.authors output + author format.key output + format.btitle "title" output.check + format.edition output + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.btitle - "title" output.check - bbl.mthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Masterthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - format.title output - howpublished "howpublished" bibinfo.check output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Misc" write$ + output.bibitem + format.authors output + author format.key output + format.title output + howpublished "howpublished" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.btitle - "title" output.check - bbl.phdthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Phdthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {proceedings} -{ output.bibitem - format.editors output - editor format.key output - format.btitle "title" output.check - format.bvolume output - format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - format.isbn output - format.issn output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Proceedings" write$ + output.bibitem + format.editors output + editor format.key output + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.title - "title" output.check - format.tr.number output.nonnull - institution "institution" bibinfo.warn output - address "address" bibinfo.check output - format.doi output - format.url output - format.note output - format.date "year" output.check - fin.entry +{ "%Type = Techreport" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry } FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - format.title "title" output.check - format.doi output - format.url output - format.note "note" output.check - format.date output - fin.entry +{ "%Type = Unpublished" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note "note" output.check + fin.entry } FUNCTION {default.type} { misc } READ FUNCTION {sortify} { purify$ - "l" change.case$ + "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ } FUNCTION {format.lab.names} { 's := - "" 't := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ - " " * bbl.etal * - } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { - " " * bbl.etal * - } - { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ - * } - if$ - } - if$ - } - if$ + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ } FUNCTION {author.key.label} { author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ } FUNCTION {author.editor.key.label} { author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ } FUNCTION {editor.key.label} { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ } FUNCTION {calc.short.authors} { type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.label - 'author.key.label - if$ - } - if$ - 'short.list := + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := } FUNCTION {calc.label} { calc.short.authors - short.list - "(" - * - year duplicate$ empty$ - { pop$ "????" } - { purify$ #-1 #4 substring$ } - if$ - * - 'label := + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + { purify$ #-1 #4 substring$ } + if$ + * + 'label := } FUNCTION {sort.format.names} { 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" - format.name$ 't := - nameptr #1 > - { - " " * - namesleft #1 = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ } FUNCTION {sort.format.title} { 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ } FUNCTION {author.sort} { author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ } FUNCTION {author.editor.sort} { author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ } FUNCTION {editor.sort} { editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} -INTEGERS { seq.num } -FUNCTION {init.seq} -{ #0 'seq.num :=} -EXECUTE {init.seq} -FUNCTION {int.to.fix} -{ "000000000" swap$ int.to.str$ * - #-1 #10 substring$ + { 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 - " " - * - seq.num #1 + 'seq.num := - seq.num int.to.fix - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := } ITERATE {presort} -SORT +%SORT STRINGS { last.label next.extra } INTEGERS { last.extra.num number.label } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := - #0 'number.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := } FUNCTION {forward.pass} { last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ - number.label #1 + 'number.label := + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ - 'extra.label := - label extra.label * 'label := + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := } EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := } ITERATE {bib.sort.order} -SORT +%SORT FUNCTION {begin.bib} { preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" number.label int.to.str$ * "}" * - write$ newline$ - "\providecommand{\natexlab}[1]{#1}" - write$ newline$ - "\providecommand{\url}[1]{\texttt{#1}}" - write$ newline$ - "\providecommand{\urlprefix}{URL }" - write$ newline$ - "\expandafter\ifx\csname urlstyle\endcsname\relax" - write$ newline$ - " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" - write$ newline$ - " \providecommand{\doi}[1]{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\url{#1}\endgroup}\fi" - write$ newline$ - "\providecommand{\bibinfo}[2]{#2}" - write$ newline$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\href}[2]{#2}" + write$ newline$ + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi" + write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} +EXECUTE {init.web.variables} ITERATE {call.type$} FUNCTION {end.bib} { newline$ - "\end{thebibliography}" write$ newline$ + "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} %% End of customized bst file %% -%% %% End of file `elsarticle-num-names.bst'. +%% +%% +%% Change log: +%% ----------- +%% 22.04.2011 +%% +%% 10.08.2012 +%% a. doi, url, eprint, pmid added +%% b. Bibtype `webpage' defined +%% +%% 30.08.2012 +%% a. collaboration added. + diff --git a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst index 0257b4fe747..bc70da91225 100644 --- a/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst +++ b/Master/texmf-dist/bibtex/bst/elsarticle/elsarticle-num.bst @@ -1,5 +1,7 @@ +%% +%% This is file `elsarticle-num.bst' (Version 2.1), %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -11,27 +13,11 @@ %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. %% -%% The list of all files belonging to the 'Elsarticle Bundle' is -%% given in the file `manifest.txt'. %% -%%% Modification of BibTeX style file elsarticle-num.bst -%%% ... by urlbst, version 0.6 (marked with "% urlbst") -%%% See <http://purl.org/nxg/dist/urlbst> -%%% Added webpage entry type, and url and lastchecked fields. -%%% Added eprint support. -%%% Added DOI support. -%%% Added hyperref support. -%%% Original headers follow... - -%% -%% This is file `elsarticle-num.bst', -%% generated with the docstrip utility. -%% -%% The original source files were: +%% $Id: elsarticle-num.bst 118 2018-06-29 04:58:02Z rishi $ +%% +%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $ %% -%% merlin.mbs (with options: `,seq-no,nm-init,ed-au,dt-end,yr-par,yrp-x,jttl-rm,thtit-a,vnum-sp,volp-blk,jdt-p,pp-last,jnm-x,btit-rm,bt-rm,pub-date,pub-xpar,pre-edn,url,url-nl,edpar,blk-com,in-col,pp,ed,abr,ednx,ord,jabr,and-xcom,xand,em-x,nfss') -%% After docstrip generation some manual changes were made (SP) - %% ---------------------------------------- ENTRY @@ -74,7 +60,7 @@ FUNCTION {init.urlbst.variables} "Available from: " 'urlintro := % prefix before URL "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref "arXiv:" 'eprintprefix := % text prefix printed before eprint ref - "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI + "https://doi.org/" 'doiurl := % prefix to make URL from DOI "doi:" 'doiprefix := % text prefix printed before DOI ref #1 'addeprints := % 0=no eprints; 1=include eprints #1 'adddoiresolver := % 0=no DOI resolver; 1=include it @@ -1515,3 +1501,4 @@ EXECUTE {end.bib} %% End of customized bst file %% %% End of file `elsarticle-num.bst'. + diff --git a/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf b/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf Binary files differnew file mode 100644 index 00000000000..c3e49ea50df --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/1pseperateaug.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf b/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf Binary files differnew file mode 100644 index 00000000000..4dd7c451009 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/1psingleauthorgroup.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/README b/Master/texmf-dist/doc/latex/elsarticle/README index 18982f9ff65..dff985b7c06 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/README +++ b/Master/texmf-dist/doc/latex/elsarticle/README @@ -5,26 +5,28 @@ Elsevier's electronic submission system and elsewhere. Elsevier's previous document class for typeset articles, elsart.cls, is now over 10 years old. It has been replaced with this newly written document class elsarticle.cls, which has been developed for Elsevier -by the leading TeX developer River Valley Technologies. +by the leading TeX developer STM Document Engineering Pvt Ltd. elsarticle.cls is based upon the standard LaTeX document class article.cls. It uses natbib.sty for bibliographical references. Bugs and problems with elsarticle.cls may be reported to the -developers of the class via elsarticle@river-valley.com. +developers of the class via elsarticle@stmdocs.in. The file manifest.txt provides a list of the files in the elsarticle bundle. The following are the main files available: -- elsarticle.cls, the class file +- elsarticle.dtx, the dtx file - elsdoc.pdf, the user documentation -- elsarticle-template-num.tex, template file for numerical references -- elsarticle-template-harv.tex, template file for name-year references +- elsarticle-template-num.tex, template file for numerical citations +- elsarticle-template-harv.tex, template file for name-year citations +- elsarticle-template-num-names.tex, template file for numerical + citations + new natbib option. Eg. Jones et al. [21] - elsarticle-num.bst, bibliographic style for numerical references - elsarticle-harv.bst, bibliographic style for name-year references -- elsarticle-num-names.bst, bibliographic style for numerical references - with author-year citation +- elsarticle-num-names.bst, bibliographic style for numerical + referencces + new natbib option for citations. -To extract all files from *.dtx: latex elsarticle.ins +To extract elsarticle.cls from *.dtx: latex elsarticle.ins The documentation file is elsdoc.tex in the contrib directory. To compile it: @@ -38,8 +40,8 @@ use the makefile. Use the target `all' (eg: make all). The above procedure will create a print version, namely elsdoc.pdf. -Copyright 2007-2009, Elsevier. Bugs, feature requests, suggestions and -comments may be mailed to elsarticle@river-valley.com. elsarticle.cls, +Copyright 2007-2018, Elsevier. Bugs, feature requests, suggestions and +comments may be mailed to elsarticle@stmdocs.in. elsarticle.cls, related documentation and supporting packages are released under the LATEX Project Public Licence, either version 1.3 or any later version. This work has the LPPL maintenance status diff --git a/Master/texmf-dist/doc/latex/elsarticle/els-1p.pdf b/Master/texmf-dist/doc/latex/elsarticle/els-1p.pdf Binary files differdeleted file mode 100644 index 90d5e5c4eca..00000000000 --- a/Master/texmf-dist/doc/latex/elsarticle/els-1p.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/elsarticle/els-3pd.pdf b/Master/texmf-dist/doc/latex/elsarticle/els-3pd.pdf Binary files differdeleted file mode 100644 index ede49829b22..00000000000 --- a/Master/texmf-dist/doc/latex/elsarticle/els-3pd.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/elsarticle/els1.pdf b/Master/texmf-dist/doc/latex/elsarticle/els1.pdf Binary files differdeleted file mode 100644 index 6f4f86a573d..00000000000 --- a/Master/texmf-dist/doc/latex/elsarticle/els1.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/elsarticle/els2.pdf b/Master/texmf-dist/doc/latex/elsarticle/els2.pdf Binary files differdeleted file mode 100644 index 7d2f3dae0f4..00000000000 --- a/Master/texmf-dist/doc/latex/elsarticle/els2.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex index b5d1923fdbb..99c9d0ff54e 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex +++ b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-harv.tex @@ -1,5 +1,5 @@ %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -16,7 +16,6 @@ %% %% Template article for Elsevier's document class `elsarticle' %% with harvard style bibliographic references -%% SP 2008/03/01 \documentclass[preprint,12pt,authoryear]{elsarticle} diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex new file mode 100644 index 00000000000..4658abf71bd --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num-names.tex @@ -0,0 +1,141 @@ +%% +%% Copyright 2007-2018 Elsevier Ltd +%% +%% This file is part of the 'Elsarticle Bundle'. +%% --------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.2 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% The list of all files belonging to the 'Elsarticle Bundle' is +%% given in the file `manifest.txt'. +%% +%% Template article for Elsevier's document class `elsarticle' +%% with harvard style bibliographic references + +\documentclass[preprint,12pt]{elsarticle} + +%% Use the option review to obtain double line spacing +%% \documentclass[preprint,review,12pt]{elsarticle} + +%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn +%% for a journal layout: +%% \documentclass[final,1p,times]{elsarticle} +%% \documentclass[final,1p,times,twocolumn]{elsarticle} +%% \documentclass[final,3p,times]{elsarticle} +%% \documentclass[final,3p,times,twocolumn]{elsarticle} +%% \documentclass[final,5p,times]{elsarticle} +%% \documentclass[final,5p,times,twocolumn]{elsarticle} + +%% For including figures, graphicx.sty has been loaded in +%% elsarticle.cls. If you prefer to use the old commands +%% please give \usepackage{epsfig} + +%% The amssymb package provides various useful mathematical symbols +\usepackage{amssymb} +%% The amsthm package provides extended theorem environments +%% \usepackage{amsthm} + +%% The lineno packages adds line numbers. Start line numbering with +%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on +%% for the whole article with \linenumbers. +%% \usepackage{lineno} + +\journal{Nuclear Physics B} + +\begin{document} + +\begin{frontmatter} + +%% Title, authors and addresses + +%% use the tnoteref command within \title for footnotes; +%% use the tnotetext command for theassociated footnote; +%% use the fnref command within \author or \address for footnotes; +%% use the fntext command for theassociated footnote; +%% use the corref command within \author for corresponding author footnotes; +%% use the cortext command for theassociated footnote; +%% use the ead command for the email address, +%% and the form \ead[url] for the home page: +%% \title{Title\tnoteref{label1}} +%% \tnotetext[label1]{} +%% \author{Name\corref{cor1}\fnref{label2}} +%% \ead{email address} +%% \ead[url]{home page} +%% \fntext[label2]{} +%% \cortext[cor1]{} +%% \address{Address\fnref{label3}} +%% \fntext[label3]{} + +\title{} + +%% use optional labels to link authors explicitly to addresses: +%% \author[label1,label2]{} +%% \address[label1]{} +%% \address[label2]{} + +\author{} + +\address{} + +\begin{abstract} +%% Text of abstract + +\end{abstract} + +\begin{keyword} +%% keywords here, in the form: keyword \sep keyword + +%% PACS codes here, in the form: \PACS code \sep code + +%% MSC codes here, in the form: \MSC code \sep code +%% or \MSC[2008] code \sep code (2000 is the default) + +\end{keyword} + +\end{frontmatter} + +%% \linenumbers + +%% main text +\section{} +\label{} + +%% The Appendices part is started with the command \appendix; +%% appendix sections are then done as normal sections +%% \appendix + +%% \section{} +%% \label{} + +%% For citations use: +%% \citet{<label>} ==> Jones et al. [21] +%% \citep{<label>} ==> [21] +%% + +%% If you have bibdatabase file and want bibtex to generate the +%% bibitems, please use +%% +%% \bibliographystyle{elsarticle-num-names} +%% \bibliography{<your bibdatabase>} + +%% else use the following coding to input the bibitems directly in the +%% TeX file. + +\begin{thebibliography}{00} + +%% \bibitem[Author(year)]{label} +%% Text of bibliographic item + +\bibitem[ ()]{} + +\end{thebibliography} +\end{document} + +\endinput +%% +%% End of file `elsarticle-template-num-names.tex'. diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex index 29c14cc9ce8..7a4ce4ec75b 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex +++ b/Master/texmf-dist/doc/latex/elsarticle/elsarticle-template-num.tex @@ -1,5 +1,5 @@ %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -18,7 +18,12 @@ %% Template article for Elsevier's document class `elsarticle' %% with numbered style bibliographic references %% SP 2008/03/01 - +%% +%% +%% +%% $Id: elsarticle-template-num.tex 64 2013-05-15 12:23:51Z rishi $ +%% +%% \documentclass[preprint,12pt]{elsarticle} %% Use the option review to obtain double line spacing diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf Binary files differindex c0c60bce7c1..0b6419dfadc 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf +++ b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex index 0295a5ba698..2fc23806a66 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex +++ b/Master/texmf-dist/doc/latex/elsarticle/elsdoc.tex @@ -1,5 +1,5 @@ %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -13,7 +13,9 @@ %% %% The list of all files belonging to the 'Elsarticle Bundle' is %% given in the file `manifest.txt'. -%% +%% +%% $Id: elsdoc.tex 128 2018-06-29 05:20:50Z rishi $ +%% \documentclass[a4paper,12pt]{article} \usepackage[xcolor,qtwo]{rvdtx} @@ -21,7 +23,7 @@ \usepackage{color} \usepackage{xspace} \usepackage{pdfwidgets} -\usepackage{enum} +\usepackage{enumerate} \def\ttdefault{cmtt} @@ -53,6 +55,8 @@ \def\figurename{Clip} +\setcounter{tocdepth}{1} + \begin{document} \def\testa{This is a specimen document. } @@ -65,14 +69,13 @@ \title{elsarticle.cls -- A better way to format your document} \author{Elsevier Ltd} -\contact{elsarticle@river-valley.com} +\contact{elsarticle@stmdocs.in} -\version{1.20} +\version{2.1} \date{\today} \maketitle \section{Introduction} -%\hypertarget{introduction}{} \file{elsarticle.cls} is a thoroughly re-written document class for formatting \LaTeX{} submissions to Elsevier journals. @@ -85,7 +88,6 @@ contributed \LaTeX{} packages such as \file{hyperref.sty}, for its proper functioning: \begin{enumerate} -\item \file{pifont.sty} for openstar in the title footnotes; \item \file{natbib.sty} for citation processing; \item \file{geometry.sty} for margin settings; \item \file{fleqn.clo} for left aligned equations; @@ -93,20 +95,21 @@ for its proper functioning: \item \file{txfonts.sty} optional font package, if the document is to be formatted with Times and compatible math fonts; \item \file{hyperref.sty} optional packages if hyperlinking is - required in the document. - + required in the document; +%*% +\item \file{endfloat.sty} optional packages if floats to be placed at + end of the PDF. \end{enumerate} -All the above packages are part of any standard \LaTeX{} installation. -Therefore, the users need not be bothered about downloading any -extra packages. Furthermore, users are free to make use of \textsc{ams} -math packages such as \file{amsmath.sty}, \file{amsthm.sty}, -\file{amssymb.sty}, \file{amsfonts.sty}, etc., if they want to. All -these packages work in tandem with \file{elsarticle.cls} without -any problems. +All the above packages (except some optional packages) are part of any +standard \LaTeX{} installation. Therefore, the users need not be +bothered about downloading any extra packages. Furthermore, users are +free to make use of \textsc{ams} math packages such as +\file{amsmath.sty}, \file{amsthm.sty}, \file{amssymb.sty}, +\file{amsfonts.sty}, etc., if they want to. All these packages work in +tandem with \file{elsarticle.cls} without any problems. \section{Major Differences} -%\hypertarget{majordifferences}{} Following are the major differences between \file{elsarticle.cls} and its predecessor package, \file{elsart.cls}: @@ -137,14 +140,13 @@ works perfectly with \file{hyperref.sty} in combination with \end{enumerate} \section{Installation} -%\hypertarget{installation}{} The package is available at author resources page at Elsevier (\url{http://www.elsevier.com/locate/latex}). It can also be found in any of the nodes of the Comprehensive \TeX{} Archive Network (\textsc{ctan}), one of the primary nodes being -\url{http://www.ctan.org/tex-archive/macros/latex/contrib/elsevier/}. +\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/elsarticle/}. Please download the \file{elsarticle.dtx} which is a composite class with documentation and \file{elsarticle.ins} which is the \LaTeX{} installer file. When we compile the @@ -161,7 +163,6 @@ upon the distribution and operating system. \section{Usage}\label{sec:usage} -%\hypertarget{usage}{} The class should be loaded with the command: \begin{vquote} @@ -170,30 +171,33 @@ The class should be loaded with the command: \noindent where the \verb+options+ can be the following: + \begin{description} \item [{\tt\color{verbcolor} preprint}] default option which format the document for submission to Elsevier journals. -\item [{\tt\color{verbcolor} review}] similar to the \verb+preprint+ option, but - increases the baselineskip to facilitate easier review process. +\item [{\tt\color{verbcolor} review}] similar to the \verb+preprint+ +option, but increases the baselineskip to facilitate easier review +process. -\item [{\tt\color{verbcolor} 1p}] formats the article to the look and feel of the final - format of model 1+ journals. This is always single column style. +\item [{\tt\color{verbcolor} 1p}] formats the article to the look and +feel of the final format of model 1+ journals. This is always single +column style. -\item [{\tt\color{verbcolor} 3p}] formats the article to the look and feel of the final - format of model 3+ journals. If the journal is a two column -model, use \verb+twocolumn+ option in combination. +\item [{\tt\color{verbcolor} 3p}] formats the article to the look and +feel of the final format of model 3+ journals. If the journal is a two +column model, use \verb+twocolumn+ option in combination. -\item [{\tt\color{verbcolor} 5p}] formats for model 5+ journals. This is always - of two column style. +\item [{\tt\color{verbcolor} 5p}] formats for model 5+ journals. This +is always of two column style. \item [{\tt\color{verbcolor} authoryear}] author-year citation style of - \file{natbib.sty}. If you want to add extra options of -\file{natbib.sty}, you may use the options as comma delimited -strings as arguments to \verb+\biboptions+ command. An example -would be: +\file{natbib.sty}. If you want to add extra options of +\file{natbib.sty}, you may use the options as comma delimited strings +as arguments to \verb+\biboptions+ command. An example would be: \end{description} + \begin{vquote} \biboptions{longnamesfirst,angle,semicolon} \end{vquote} @@ -209,8 +213,28 @@ numbered citations. For example, citation [1,2,3] will become [1--3]. this option to split the title page across pages with the correct placement of title and author footnotes in the first page. -\item [{\tt\color{verbcolor} times}] loads \file{txfonts.sty}, if available in - the system to use Times and compatible math fonts. +\item [{\tt\color{verbcolor} times}] loads \file{txfonts.sty}, if +available in the system to use Times and compatible math fonts. + +%*% +\item [{\tt\color{verbcolor} reversenotenum}] Use alphabets as +author--affiliation linking labels and use numbers for author +footnotes. By default, numbers will be used as author--affiliation +linking labels and alphabets for author footnotes. + +\item [{\tt\color{verbcolor} lefttitle}] To move title and +author/affiliation block to flushleft. \verb+centertitle+ is the +default option which produces center alignment. + +\item [{\tt\color{verbcolor} endfloat}] To place all floats at the end +of the document. + +\item [{\tt\color{verbcolor} nonatbib}] To unload natbib.sty. +%*% + +\item [{\tt\color{verbcolor} doubleblind}] To hide author name, +affiliation, email address etc. for double blind refereeing purpose. +%*% \item[] All options of \file{article.cls} can be used with this document class. @@ -221,72 +245,71 @@ placement of title and author footnotes in the first page. \end{description} \section{Frontmatter} -%\hypertarget{preamble}{} There are two types of frontmatter coding: \begin{enumerate}[(1)] \item each author is connected to an affiliation with a footnote marker; hence all authors are grouped together and affiliations follow; +\pagebreak \item authors of same affiliations are grouped together and the -relevant affiliation follows this group. An example coding of the first -type is provided below. +relevant affiliation follows this group. \end{enumerate} +An example of coding the first type is provided below. + \begin{vquote} \title{This is a specimen title\tnoteref{t1,t2}} - \tnotetext[t1]{This document is a collaborative effort.} - \tnotetext[t2]{The second title footnote which is a longer - longer than the first one and with an intention to fill - in up more than one line while formatting.} + \tnotetext[t1]{This document is the results of the research + project funded by the National Science Foundation.} + \tnotetext[t2]{The second title footnote which is a longer + text matter to fill through the whole text width and + overflow into another line in the footnotes area of the + first page.} \end{vquote} \begin{vquote} - \author[rvt]{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}} - \ead{cvr@river-valley.com} +\author[1]{Jos Migchielsen\corref{cor1}% + \fnref{fn1}} +\ead{J.Migchielsen@elsevier.com} - \author[rvt,focal]{K.~Bazargan\fnref{fn2}} - \ead{kaveh@river-valley.com} +\author[2]{CV Radhakrishnan\fnref{fn2}} +\ead{cvr@sayahna.org} - \author[els]{S.~Pepping\corref{cor2}\fnref{fn1,fn3}} - \ead[url]{http://www.elsevier.com} +\author[3]{CV Rajagopal\fnref{fn1,fn3}} +\ead[url]{www.stmdocs.in} \end{vquote} \begin{vquote} \cortext[cor1]{Corresponding author} - \cortext[cor2]{Principal corresponding author} - \fntext[fn1]{This is the specimen author footnote.} - \fntext[fn2]{Another author footnote, but a little more - longer.} - \fntext[fn3]{Yet another author footnote. Indeed, you can have - any number of author footnotes.} - - \address[rvt]{River Valley Technologies, SJP Building, - Cotton Hills, Trivandrum, Kerala, India 695014} - \address[focal]{River Valley Technologies, 9, Browns Court, - Kennford, Exeter, United Kingdom} - \address[els]{Central Application Management, - Elsevier, Radarweg 29, 1043 NX\\ - Amsterdam, Netherlands} - + \fntext[fn1]{This is the first author footnote.} + \fntext[fn2]{Another author footnote, this is a very long + footnote and it should be a really long footnote. But this + footnote is not yet sufficiently long enough to make two + lines of footnote text.} + \fntext[fn3]{Yet another author footnote.} + + \address[1]{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam, + The Netherlands} + \address[2]{Sayahna Foundations, JWRA 34, Jagathy, + Trivandrum 695014, India} + \address[3]{STM Document Engineering Pvt Ltd., Mepukada, + Malayinkil, Trivandrum 695571, India} \end{vquote} -The output of the above TeX source is given in Clips~\ref{clip1} and -\ref{clip2}. The header portion or title area is given in Clip~\ref{clip1} and -the footer area is given in Clip~\ref{clip2}. +The output of the above \TeX{} source is given in Clips~\ref{clip1} and +\ref{clip2}. The header portion or title area is given in +Clip~\ref{clip1} and the footer area is given in Clip~\ref{clip2}. -\vspace*{6pt} \def\rulecolor{blue!70} \src{Header of the title page.} -\includeclip{1}{132 571 481 690}{els1.pdf} +\includeclip{1}{130 612 477 707}{1psingleauthorgroup.pdf}%%{elstest-1p.pdf}%single author group \def\rulecolor{orange} -%\vspace*{6pt} \def\rulecolor{blue!70} \src{Footer of the title page.} -\includeclip{1}{122 129 481 237}{els1.pdf} +\includeclip{1}{93 135 499 255}{1pseperateaug.pdf}%%{elstest-1p.pdf}%single author group \def\rulecolor{orange} -\pagebreak Most of the commands such as \verb+\title+, \verb+\author+, \verb+\address+ are self explanatory. Various components are @@ -301,6 +324,7 @@ the relevant author names). \TeX{} needs two compilations to resolve the footnote marks in the preamble part. Given below are the syntax of various note marks and note texts. + \begin{vquote} \tnoteref{<label(s)>} \corref{<label(s)>} @@ -321,32 +345,26 @@ as their mandatory argument. The following example code provides the markup of the second type of author-affiliation. -%as seen in the output given in the -%box to the right. -%\pinclude{\def\rulecolor{blue!80} -% \includeclip[width=3.25in]{1}{130 84 484 676}{els2.pdf}% -% \def\rulecolor{orange}} \begin{vquote} -\author{C.V.~Radhakrishnan\corref{cor1}\fnref{fn1}} - \ead{cvr@river-valley.com} - \address{River Valley Technologies, SJP Building, - Cotton Hills, Trivandrum, Kerala, India 695014} +\author{Jos Migchielsen\corref{cor1}% + \fnref{fn1}} +\ead{J.Migchielsen@elsevier.com} + \address{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam, + The Netherlands} + +\author{CV Radhakrishnan\fnref{fn2}} +\ead{cvr@sayahna.org} + \address{Sayahna Foundations, JWRA 34, Jagathy, + Trivandrum 695014, India} + +\author{CV Rajagopal\fnref{fn1,fn3}} +\ead[url]{www.stmdocs.in} + \address{STM Document Engineering Pvt Ltd., Mepukada, + Malayinkil, Trivandrum 695571, India} \end{vquote} -\begin{vquote} -\author{K.~Bazargan\fnref{fn2}} - \ead{kaveh@river-valley.com} - \address{River Valley Technologies, 9, Browns Court, Kennford, - Exeter, UK.} -\end{vquote} - -\begin{vquote} -\author{S.~Pepping\fnref{fn1,fn3}} - \ead[url]{http://www.elsevier.com} - \address{Central Application Management, - Elsevier, Radarweg 43, 1043 NX Amsterdam, Netherlands} -\end{vquote} +\vspace*{-.5pc} \begin{vquote} \cortext[cor1]{Corresponding author} @@ -355,25 +373,26 @@ of author-affiliation. footnote and it should be a really long footnote. But this footnote is not yet sufficiently long enough to make two lines of footnote text.} -\fntext[fn3]{Yet another author footnote.} \end{vquote} -The output of the above TeX source is given in Clip~\ref{clip3}. +The output of the above \TeX{} source is given in Clip~\ref{clip3}. -\vspace*{12pt} \def\rulecolor{blue!70} \src{Header of the title page..} -\includeclip{1}{132 491 481 690}{els2.pdf} +\includeclip{1}{119 563 468 709}{1pseperateaug.pdf}%%{elstest-1p.pdf}%seperate author groups \def\rulecolor{orange} +\pagebreak +Clip~\ref{clip4} shows the output after giving \verb+doubleblind+ class option. -The frontmatter part has further environments such as abstracts and -keywords. These can be marked up in the following -manner: +\def\rulecolor{blue!70} +\src{Double blind article} +\includeclip{1}{124 567 477 670}{elstest-1pdoubleblind.pdf}%%{elstest-1p.pdf}%single author group%%doubleblind +\def\rulecolor{orange} -%\verb+\begin{abstract}+ \dots \verb+\end{abstract}+ and -%\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+ which -%contain the abstract and keywords respectively. +\vspace*{-.5pc} +The frontmatter part has further environments such as abstracts and +keywords. These can be marked up in the following manner: \begin{vquote} \begin{abstract} @@ -382,21 +401,45 @@ manner: \end{abstract} \end{vquote} +\vspace*{-.5pc} \begin{vquote} \begin{keyword} quadruple exiton \sep polariton \sep WGM - - \PACS 71.35.-y \sep 71.35.Lk \sep 71.36.+c \end{keyword} \end{vquote} \noindent Each keyword shall be separated by a \verb+\sep+ command. -\textsc{pacs} and \textsc{msc} classifications shall be provided in -the keyword environment with the commands \verb+\PACS+ and -\verb+\MSC+ respectively. \verb+\MSC+ accepts an optional +\textsc{msc} classifications shall be provided in +the keyword environment with the commands +\verb+\MSC+. \verb+\MSC+ accepts an optional argument to accommodate future revisions. eg., \verb=\MSC[2008]=. The default is 2000.\looseness=-1 +\subsection{New page} +Sometimes you may need to give a page-break and start a new page after +title, author or abstract. Following commands can be used for this +purpose. + +\begin{vquote} + \newpageafter{title} + \newpageafter{author} + \newpageafter{abstract} +\end{vquote} + + +\begin{itemize} +\leftskip-2pc +\item [] {\tt\color{verbcolor} \verb+\newpageafter{title}+} typeset the title alone on one page. + +\item [] {\tt\color{verbcolor} \verb+\newpageafter{author}+} typeset the title +and author details on one page. + +\item [] {\tt\color{verbcolor} \verb+\newpageafter{abstract}+} +typeset the title, +author details and abstract \& keywords one one page. + +\end{itemize} + \section{Floats} {Figures} may be included using the command, \verb+\includegraphics+ in @@ -439,7 +482,8 @@ will be printed as an extra heading in parentheses. \begin{vquote} \begin{thm} - For system (8), consensus can be achieved with $\|T_{\omega z}$ + For system (8), consensus can be achieved with + $\|T_{\omega z}$ ... \begin{eqnarray}\label{10} .... @@ -447,8 +491,8 @@ will be printed as an extra heading in parentheses. \end{thm} \end{vquote} -Clip~\ref{clip4} will show you how some text enclosed between the -above code looks like: +Clip~\ref{clip5} will show you how some text enclosed between the +above code\goodbreak \noindent looks like: \vspace*{6pt} \def\rulecolor{blue!70} @@ -462,7 +506,7 @@ the font shape is roman instead of italic. Both \verb+\newdefinition+ and \verb+\newtheorem+ commands automatically define counters for the environments defined. -\vspace*{12pt} +\vspace*{6pt} \def\rulecolor{blue!70} \src{{\ttfamily\color{verbcolor}\bs newdefinition}} \includeclip{1}{1 1 453 105}{jfigs.pdf} @@ -497,26 +541,15 @@ type and its attributes. \begin{enumerate}[a)] \item Another level of list with alphabetical counter. \item One more item before we start another. - \begin{enumerate}[(i)] - \item This item has roman numeral counter. - \item Another one before we close the third level. - \end{enumerate} - \item Third item in second level. - \end{enumerate} - \item All list items conclude with this step. - \end{enumerate} \end{vquote} -\vspace*{12pt} \def\rulecolor{blue!70} \src{List -- Enumerate} \includeclip{4}{1 1 453 185}{jfigs.pdf} \def\rulecolor{orange} - Further, the enhanced list environment allows one to prefix a -string like `step' to all the item numbers. Take a look at the -example below: +string like `step' to all the item numbers. \begin{vquote} \begin{enumerate}[Step 1.] @@ -531,7 +564,6 @@ example below: \includeclip{5}{1 1 313 83}{jfigs.pdf} \def\rulecolor{orange} -\vspace*{-18pt} \section{Cross-references} In electronic publications, articles may be internally @@ -580,13 +612,50 @@ problem before submission for publication. in different types of final format. This is further discussed in section \ref{sec:final}, \nameref{sec:final}. + +\subsection*{Displayed equations and double column journals} + +Many Elsevier journals print their text in two columns. Since +the preprint layout uses a larger line width than such columns, +the formulae are too wide for the line width in print. Here is an +example of an equation (see equation 6) which is perfect in a +single column preprint format: + +\bigskip +\setlength\Sep{6pt} +\src{See equation (6)} +\def\rulecolor{blue!70} +%\includeclip{<page>}{l b scale }{file.pdf} +\includeclip{4}{105 500 500 700}{1psingleauthorgroup.pdf} +\def\rulecolor{orange} + +\noindent When this document is typeset for publication in a +model 3+ journal with double columns, the equation will overlap +the second column text matter if the equation is not broken at +the appropriate location. + +\vspace*{6pt} +\def\rulecolor{blue!70} +\src{See equation (6) overprints into second column} +\includeclip{3}{59 421 532 635}{elstest-3pd.pdf} +\def\rulecolor{orange} +\vspace*{6pt} + +\noindent The typesetter will try to break the equation which +need not necessarily be to the liking of the author or as it +happens, typesetter's break point may be semantically incorrect. +Therefore, authors may check their submissions for the incidence +of such long equations and break the equations at the correct +places so that the final typeset copy will be as they wish. + \section{Bibliography} Three bibliographic style files (\verb+*.bst+) are provided --- \file{elsarticle-num.bst}, \file{elsarticle-num-names.bst} and -\file{elsarticle-harv.bst} --- the first one for the numbered scheme, the -second for the numbered with new options of \file{natbib.sty} and the -last one for the author year scheme. +\file{elsarticle-harv.bst} --- the first one can be used for the +numbered scheme, second one for numbered with new options of +\file{natbib.sty}. The third one is for the author year +scheme. In \LaTeX{} literature, references are listed in the \verb+thebibliography+ environment. Each reference is a @@ -623,40 +692,12 @@ details of various options of the \file{natbib} package, please take a look at the \file{natbib} documentation, which is part of any standard \LaTeX{} installation. -\subsection*{Displayed equations and double column journals} - -Many Elsevier journals print their text in two columns. Since -the preprint layout uses a larger line width than such columns, -the formulae are too wide for the line width in print. Here is an -example of an equation (see equation 6) which is perfect in a -single column preprint format: - -\bigskip -\setlength\Sep{6pt} -\src{See equation (6)} -\def\rulecolor{blue!70} -\includeclip{4}{134 391 483 584}{els1.pdf} -\def\rulecolor{orange} - -\noindent When this document is typeset for publication in a -model 3+ journal with double columns, the equation will overlap -the second column text matter if the equation is not broken at -the appropriate location. - -\vspace*{6pt} -\def\rulecolor{blue!70} -\src{See equation (6) overprints into second column} -\includeclip{3}{61 531 532 734}{els-3pd.pdf} -\def\rulecolor{orange} - -\pagebreak - -\noindent The typesetter will try to break the equation which -need not necessarily be to the liking of the author or as it -happens, typesetter's break point may be semantically incorrect. -Therefore, authors may check their submissions for the incidence -of such long equations and break the equations at the correct -places so that the final typeset copy will be as they wish. +In addition to the above standard \verb+.bst+ files, there are 10 +journal-specific \verb+.bst+ files also available. +Instruction for using these \verb+.bst+ files can be found at +\href{http://support.stmdocs.in/wiki/index.php?title=Model-wise_bibliographic_style_files} +{http://support.stmdocs.in} + \section{Final print}\label{sec:final} @@ -664,6 +705,8 @@ The authors can format their submission to the page size and margins of their preferred journal. \file{elsarticle} provides four class options for the same. But it does not mean that using these options you can emulate the exact page layout of the final print copy. + + \lmrgn=3em \begin{description} \item [\texttt{1p}:] $1+$ journals with a text area of @@ -695,7 +738,6 @@ higher models. Therefore we will look at the different portions of a typical single column journal page and that of a double column article in the final format. -\vspace*{2pc} \begin{center} \hypertarget{bsc}{} @@ -703,7 +745,6 @@ that of a double column article in the final format. {\bf [Specimen single column article -- Click here]} } -\vspace*{2pc} \hypertarget{bsc}{} \hyperlink{dc}{ @@ -711,19 +752,15 @@ that of a double column article in the final format. } \end{center} -\newpage -\vspace*{-2pc} \src{}\hypertarget{sc}{} \def\rulecolor{blue!70} -\hyperlink{bsc}{\includeclip{1}{121 81 497 670}{els1.pdf}} +\hyperlink{bsc}{\includeclip{1}{88 120 514 724}{elstest-1p.pdf}} \def\rulecolor{orange} - -\newpage - \src{}\hypertarget{dc}{} \def\rulecolor{blue!70} -\hyperlink{bsc}{\includeclip{1}{55 93 535 738}{els-3pd.pdf}} +\hyperlink{bsc}{\includeclip{1}{27 61 562 758}{elstest-5p.pdf}} \def\rulecolor{orange} \end{document} + diff --git a/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf b/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf Binary files differnew file mode 100644 index 00000000000..14b777a5e16 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elstest-1p.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf b/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf Binary files differnew file mode 100644 index 00000000000..203d550da60 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elstest-1pdoubleblind.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf b/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf Binary files differnew file mode 100644 index 00000000000..9072ece38d5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elstest-3p.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf b/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf Binary files differnew file mode 100644 index 00000000000..c70c70f6559 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elstest-3pd.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf b/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf Binary files differnew file mode 100644 index 00000000000..0c292b8e012 --- /dev/null +++ b/Master/texmf-dist/doc/latex/elsarticle/elstest-5p.pdf diff --git a/Master/texmf-dist/doc/latex/elsarticle/makefile b/Master/texmf-dist/doc/latex/elsarticle/makefile index 05f5fba5ce1..43a0417a0ff 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/makefile +++ b/Master/texmf-dist/doc/latex/elsarticle/makefile @@ -1,3 +1,5 @@ +# $Id: makefile 130 2018-06-29 05:26:48Z rishi $ + file=elsdoc @@ -34,3 +36,5 @@ diff: copy: cp $(file).sty ../ + + diff --git a/Master/texmf-dist/doc/latex/elsarticle/manifest.txt b/Master/texmf-dist/doc/latex/elsarticle/manifest.txt index 92014188242..59007558e83 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/manifest.txt +++ b/Master/texmf-dist/doc/latex/elsarticle/manifest.txt @@ -1,8 +1,4 @@ -% \iffalse meta-comment -% -% -% -% Copyright 2007, 2008, 2009 Elsevier Ltd +% Copyright 2007-2018 Elsevier Ltd % % This file is part of the 'Elsarticle Bundle'. % --------------------------------------------- @@ -18,8 +14,6 @@ % The list of all files belonging to the LaTeX 'Elsarticle Bundle' is % given in the file `manifest.txt'. % -% \fi -% % CONTENTS OF THE ELSARTICLE BUNDLE % =============================== @@ -38,7 +32,7 @@ elsarticle-num.bst bibliographic style for numbered citation elsarticle-num-names.bst - bibliographic style for numbered citation + new natibi options + bibliographic style for numbered citation + new natbib options elsarticle-template-harv.tex article template for a document with author-year citation @@ -57,10 +51,13 @@ Directory elsarticle/doc/ The following files are graphic files needed for creating pdf output of the documentation from elsdoc.tex: - els1.pdf - els-1p.pdf - els2.pdf - els-3pd.pdf + 1pseperateaug.pdf + 1psingleauthorgroup.pdf + elstest-1pdoubleblind.pdf + elstest-1p.pdf + elstest-3pd.pdf + elstest-3p.pdf + elstest-5p.pdf jfigs.pdf elsdoc.tex -- LaTeX source file of documentation @@ -77,6 +74,5 @@ compiled: Auxiliary packages needed to generate pdf output from elsdoc.tex: rvdtx.sty - enum.sty pdfwidgets.sty diff --git a/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty b/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty index 92e56cba654..68d07a8b45c 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty +++ b/Master/texmf-dist/doc/latex/elsarticle/pdfwidgets.sty @@ -317,8 +317,9 @@ \noindent\begin{tikzpicture} \node[fill=blue!10,draw,shade,top color=white!10, bottom color=cyan!5,shape=quotedbox, - inner sep=8pt,text width=.95\linewidth] (x) - {\color{orange}\verbatiminput{tmp.tex}% + inner sep=8pt,text width=.95\linewidth] + {\color{orange}\vspace*{-1pc}% + \verbatiminput{tmp.tex}% \vspace*{-\baselineskip}% } ; \end{tikzpicture}% @@ -380,3 +381,4 @@ \endinput + diff --git a/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty b/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty index e09f2b29361..649277702d6 100644 --- a/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty +++ b/Master/texmf-dist/doc/latex/elsarticle/rvdtx.sty @@ -4,7 +4,7 @@ % % Auxiliary package to format *.dtx documents. % -% Copyright (c) 2008, 2009 CV Radhakrishnan <cvr@river-valley.org>, +% Copyright (c) 2008-2018 CV Radhakrishnan <cvr@stmdocs.in>, % % This file may be distributed and/or modified under the conditions % of the LaTeX Project Public License, either version 1.2 of this @@ -257,8 +257,8 @@ \def\@version{1.0} \def\contact#1{\gdef\@contact{#1}} \def\author#1{\gdef\@author{#1}} -\def\@author{River Valley Technologies} -\def\@contact{\texttt{support@river-valley.com}} +\def\@author{STM Document Engineering Pvt Ltd.} +\def\@contact{\texttt{support@stmdocs.in}} \def\keywords#1{\gdef\@keywords{#1}} \def\@keywords{\LaTeX, \xml} @@ -294,6 +294,7 @@ \hfill \parbox[c][2in][c]{.35\paperwidth}% {\normalfont\footnotesize\sffamily\color{quicklinkcolor}% + \advance\baselineskip-3pt% \vspace*{6pt} QUICK LINKS\Hrule \IfFileExists{tmp.out}{\input tmp.out}{}% }\hspace*{5mm}% @@ -306,15 +307,10 @@ {\normalfont\sffamily\footnotesize% \color{botcolor}% \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}% - {\raggedright \textcopyright\ 2009, Elsevier Ltd. -% \href{http://www.river-valley.com}{% -% http://www.river-valley.com}\\ -% \textsc{sjp} Building, Cotton Hills, Trivandrum -% 695014, India\\ 9, Browns Court, Kennford, -% Exeter, United Kingdom - Bugs, feature requests, suggestions and comments\\ - shall be mailed to \href{mailto:elsarticle@river-valley.com} - {$<$elsarticle@river-valley.com$>$}. + {\raggedright \textcopyright\ 2018, Elsevier Ltd. + Bugs, feature requests, suggestions and comments %\\ + shall be mailed to \href{mailto:elsarticle@stmdocs.in} + {$<$elsarticle@stmdocs.in$>$}. }\hfill% \parbox[c][.5in][c]{1cm} {\centering\sffamily\mdseries @@ -477,3 +473,4 @@ %% %% End of file 'rvdtx.sty' %% + diff --git a/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx b/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx index 3ea78d9321b..8635c0047b9 100644 --- a/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx +++ b/Master/texmf-dist/source/latex/elsarticle/elsarticle.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2007, 2008, 2009 by Elsevier Ltd +% Copyright (C) 2007-2018 by Elsevier Ltd % ----------------------------------------------- % % This file may be distributed and/or modified under the @@ -14,8 +14,9 @@ % version 1999/12/01 or later. % % \fi -% \CheckSum{2196} +% \CheckSum{2627} % +% $Id: elsarticle.dtx 125 2018-06-29 05:10:03Z rishi $ % \iffalse %<*driver> \documentclass{ltxdoc} @@ -73,20 +74,24 @@ % \begin{macrocode} %<*class> %% -%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $ +%% %% \def\RCSfile{elsarticle}% - \def\RCSversion{1.2.0}% - \def\RCSdate{2009/09/17}% + \def\RCSversion{3.0}% + \def\RCSdate{2018/06/08}% \def\@shortjnl{\relax} - \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd} + \def\@journal{Elsevier Ltd} + \def\@company{Elsevier Ltd} \def\@issn{000-0000} \def\@shortjid{elsarticle} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal] \def\ABD{\AtBeginDocument} \newif\ifpreprint \preprintfalse +\newif\ifnonatbib \nonatbibfalse \newif\iflongmktitle \longmktitlefalse +\newif\ifnopreprintline \nopreprintlinefalse +\newif\ifdoubleblind \doubleblindfalse \def\@blstr{1} \newdimen\@bls @@ -105,11 +110,13 @@ \DeclareOption{preprint}{\global\preprinttrue \gdef\@blstr{1}\xdef\jtype{0}% \AtBeginDocument{\@twosidefalse\@mparswitchfalse}} +\DeclareOption{nopreprintline}{\global\nopreprintlinetrue} \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse} \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}} \DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}} \DeclareOption{number}{\xdef\@biboptions{numbers}} \DeclareOption{numbers}{\xdef\@biboptions{numbers}} +\DeclareOption{nonatbib}{\global\nonatbibtrue} \DeclareOption{longtitle}{\global\longmktitletrue} \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse \ExecuteOptions{twocolumn}} @@ -124,8 +131,24 @@ \let\iiint\relax \let\iiiint\relax \let\idotsint\relax - \let\openbox\relax}}{\RequirePackage{times}}} -\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint} + \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}} + +\DeclareOption{endfloat}{\IfFileExists{endfloat.sty} + {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} +\DeclareOption{endfloats}{\IfFileExists{endfloat.sty} + {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} +\DeclareOption{numafflabel} + {\AtBeginDocument{\def\theaffn{\arabic{affn}}}} %*% +\DeclareOption{lefttitle} + {\AtBeginDocument{\def\elsarticletitlealign{flushleft}}} %*% +\DeclareOption{centertitle} + {\AtBeginDocument{\def\elsarticletitlealign{center}}} %*% +\DeclareOption{reversenotenum} + {\AtBeginDocument{\def\theaffn{\arabic{affn}} + \def\thefnote{\alph{fnote}}}} +\DeclareOption{doubleblind}{\doubleblindtrue} + +\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint,centertitle} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} @@ -137,28 +160,38 @@ % \begin{macrocode} \let\comma\@empty \let\tnotesep\@empty -\def\title#1{\gdef\@title{#1}} \let\@title\@empty +\def\useelstitle{} + +\def\title#1{\g@addto@macro\@title{#1% + \global\let\tnoteref\@gobble}% + \g@addto@macro\useelstitle{#1}} + \def\elsLabel#1{\@bsphack\protected@write\@auxout{}% {\string\Newlabel{#1}{\@currentlabel}}\@esphack} \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}} -\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}% -} +\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}} -\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{% - \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}% - \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}% -} \let\@tnotemark\@empty +\ifdoubleblind + \def\tnotemark[#1]{} +\else + \def\tnotemark[#1]{\@for\mytmark:=#1\do{% + \expandafter\ifcase\csname X@\mytmark\endcsname\or$^{\star}$\or + $^{,\star\star}$\fi + }% +} +\fi + +\def\tnoteref#1{\tnotemark[{#1}]} \let\@tnotes\@empty -\RequirePackage{pifont} \newcounter{tnote} \def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% - \refstepcounter{tnote}\elsLabel{#1}% - \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}% + \stepcounter{tnote}\elsLabel{#1}% + \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% \footnotetext{#2}}} \let\@nonumnotes\@empty @@ -166,17 +199,20 @@ \let\thefootnote\relax\footnotetext{#1}}} \newcounter{fnote} +\def\thefnote{\arabic{fnote}} \def\fnmark[#1]{\let\comma\@empty \def\@fnmark{\@for\@@fnmark:=#1\do{% \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}% \unskip\comma\fnotenum\let\comma,}}% } +\def\fnref#1{\fnmark[#1]} + \let\@fnotes\@empty\let\@fnmark\@empty \def\fntext[#1]#2{\g@addto@macro\@fnotes{% - \refstepcounter{fnote}\elsLabel{#1}% - \def\thefootnote{\thefnote}% - \global\setcounter{footnote}{\thefnote}% + \refstepcounter{fnote}\elsLabel{#1}% + \def\thefootnote{\c@fnote}% + \global\setcounter{footnote}{\c@fnote}% \footnotetext{#2}}} \def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}% @@ -193,19 +229,15 @@ \footnotetext{#2}}} \let\@corref\@empty -%\def\corref#1{\cormark[#1]} \def\corref#1{\edef\cnotenum{\elsRef{#1}}% \edef\@corref{\ifcase\cnotenum\or $\ast$\or$\ast\ast$\fi\hskip-1pt}} -\def\fnref#1{\fnmark[#1]} -\def\tnoteref#1{\tnotemark[#1]} - \def\resetTitleCounters{\c@cnote=0 \c@fnote=0 \c@tnote=0 \c@footnote=0} \let\eadsep\@empty -\let\@elseads\@empty +\def\@elseads{} \let\@elsuads\@empty \let\@cormark\@empty \def\hashchar{\expandafter\@gobble\string\~} @@ -213,36 +245,43 @@ \def\lbracechar{\expandafter\@gobble\string\{} \def\rbracechar{\expandafter\@gobble\string\}} -\def\ead{\@ifnextchar[{\@uad}{\@ead}} -\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}% - \def\{{\string\lbracechar\space}% - \def~{\hashchar\space}% - \def\}{\string\rbracechar\space}% - \edef\tmp{\the\@eadauthor} +\gdef\ead{\@ifnextchar[{\@uad}{\@ead}} +\gdef\@ead#1{\bgroup + \def\_{\underscorechar}% + \def\{{\lbracechar}% + \def~{\hashchar}% + \def\}{\rbracechar}% + \edef\tmp{\the\@eadauthor}% \immediate\write\@auxout{\string\emailauthor {#1}{\expandafter\strip@prefix\meaning\tmp}}% - \egroup + \egroup } \newcounter{ead} \gdef\emailauthor#1#2{\stepcounter{ead}% \g@addto@macro\@elseads{\raggedright% - \let\corref\@gobble - \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}% + \let\corref\@gobble\def\@@tmp{#1}% + \eadsep{\ttfamily\expandafter\strip@prefix\meaning\@@tmp} + (#2)\def\eadsep{\unskip,\space}}% } \gdef\@uad[#1]#2{\bgroup - \def~{\string\hashchar\space}% - \def\_{\string\underscorechar\space}% + \def~{\hashchar}% + \def\_{\underscorechar}% + \def~{\hashchar}% + \def\}{\rbracechar}% \edef\tmp{\the\@eadauthor} \immediate\write\@auxout{\string\urlauthor {#2}{\expandafter\strip@prefix\meaning\tmp}}% \egroup } -\def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% - \raggedright\eadsep\texttt{#1}\space(#2)% +\gdef\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% + \def\@@tmp{#1}\raggedright\eadsep + {\ttfamily\expandafter\strip@prefix\meaning\@@tmp}\space(#2)% \def\eadsep{\unskip,\space}}% } \def\elsauthors{} +\def\useauthors{} + \def\pprinttitle{} \let\authorsep\@empty \let\sep\@empty @@ -262,7 +301,8 @@ \def\authorsep{\unskip,\space}% \global\let\sep\@empty\global\let\@corref\@empty \global\let\@fnmark\@empty}% - \@eadauthor={#2} + \@eadauthor={#2}% + \g@addto@macro\useauthors{#2; }% } \def\@author#1{\g@addto@macro\elsauthors{\normalsize% @@ -273,8 +313,16 @@ }% \def\authorsep{\unskip,\space}% \global\let\@fnmark\@empty - \global\let\sep\@empty}% - \@eadauthor={#1} + \global\let\@corref\@empty \global\let\sep\@empty}% + \@eadauthor={#1}% + \g@addto@macro\useauthors{#1; }% +} + +\AtBeginDocument{% + \@ifpackageloaded{hyperref}{% + \expandafter\gdef\csname Hy@title\endcsname{\useelstitle}% + \expandafter\gdef\csname Hy@author\endcsname{\useauthors}% + }{} } \def\elsaddress{} @@ -324,13 +372,21 @@ \def\authorsep{\par\vskip8pt}}} \newbox\absbox +\let\@elsarticleabstitle\@empty %*% +\def\abstracttitle#1{\gdef\@elsarticleabstitle{#1}} %*% +\abstracttitle{Abstract} %*% \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup \hsize=\textwidth\def\baselinestretch{1}% - \noindent\unskip\textbf{Abstract} + \noindent\unskip\textbf{\@elsarticleabstitle} %*% \par\medskip\noindent\unskip\ignorespaces} {\egroup} \newbox\keybox +\let\@elsarticlekwdtitle\@empty %*% +\def\keywordtitle#1{\gdef\@elsarticlekwdtitle{#1}} %*% +\def\keywordtitlesep#1{\gdef\@elsarticlekeywordtitlesep{#1}} %*% +\keywordtitle{Keywords} %*% +\keywordtitlesep{:\ } \def\keyword{% \def\sep{\unskip, }% \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}} @@ -340,7 +396,7 @@ \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth \normalsize\normalfont\def\baselinestretch{1} \parskip\z@ - \noindent\textit{Keywords: } + \noindent\textit{\@elsarticlekwdtitle\@elsarticlekeywordtitlesep} \raggedright % Keywords are not justified. \ignorespaces} \def\endkeyword{\par \egroup} @@ -350,7 +406,10 @@ \def\printFirstPageNotes{% \iflongmktitle - \let\columnwidth=\textwidth\fi + \let\columnwidth=\textwidth + \fi +\ifdoubleblind +\else \ifx\@tnotes\@empty\else\@tnotes\fi \ifx\@nonumnotes\@empty\else\@nonumnotes\fi \ifx\@cornotes\@empty\else\@cornotes\fi @@ -364,28 +423,49 @@ \let\thefootnote\relax \footnotetext{\textit{URL:\space}% \@elsuads}\fi +\fi \ifx\@fnotes\@empty\else\@fnotes\fi \iflongmktitle\if@twocolumn \let\columnwidth=\Columnwidth\fi\fi } +%% Pushing text to begin on newpage %*% +\def\newpage@after@title{title} +\def\newpage@after@author{author} +\def\newpage@after@abstract{abstract} +\def\newpageafter#1% + {\gdef\@elsarticlenewpageafter{#1}} + \long\def\pprintMaketitle{\clearpage \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi \resetTitleCounters \def\baselinestretch{1}% \printFirstPageNotes - \begin{center}% + \begin{\elsarticletitlealign}% \thispagestyle{pprintTitle}% \def\baselinestretch{1}% - \Large\@title\par\vskip18pt - \normalsize\elsauthors\par\vskip10pt - \footnotesize\itshape\elsaddress\par\vskip36pt + \Large\@title\par\vskip18pt% + \ifx\@elsarticlenewpageafter\newpage@after@title% %*% + \newpage + \fi% + \ifdoubleblind + \vspace*{2pc} + \else + \normalsize\elsauthors\par\vskip10pt + \footnotesize\itshape\elsaddress\par\vskip36pt + \fi + \ifx\@elsarticlenewpageafter\newpage@after@author% %*% + \newpage + \fi% \hrule\vskip12pt \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi \hrule\vskip12pt - \end{center}% - \gdef\thefootnote{\arabic{footnote}}% + \ifx\@elsarticlenewpageafter\newpage@after@abstract% %*% + \newpage + \fi% + \end{\elsarticletitlealign}% + \gdef\thefootnote{\arabic{footnote}}% } \def\printWarning{% @@ -408,17 +488,21 @@ \long\def\MaketitleBox{% \resetTitleCounters \def\baselinestretch{1}% - \begin{center}% + \begin{\elsarticletitlealign}% \def\baselinestretch{1}% \Large\@title\par\vskip18pt + \ifdoubleblind + \vspace*{2pc} + \else \normalsize\elsauthors\par\vskip10pt \footnotesize\itshape\elsaddress\par\vskip36pt + \fi \hrule\vskip12pt \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi \hrule\vskip12pt - \end{center}% - } + \end{\elsarticletitlealign}% +} \def\FNtext#1{\par\bgroup\footnotesize#1\egroup} \newdimen\space@left @@ -426,6 +510,39 @@ \typeout{#1}% \typeout{******************************}% } + +\def\titlespancalculator#1#2#3#4{% + % break count + \@tempcnta=#4\relax% + % pagebreakcount increment + \advance\@tempcnta by 1\relax% + % title page height + \@tempdima=#1\relax% + % Page height - title page notes height (only for first break) + % Page height - textheight (for remaining breaks) + % Page height - title page notes height + \@tempdimb=#2\relax% + % Remaining title page height + \advance\@tempdima -\the\@tempdimb% + % Checks if remaining title page + % height less than textheight + \ifdim\the\@tempdima>#3\relax% + \titlespancalculator% + {\the\@tempdima}{#3}{#3}{\the\@tempcnta}%Break again + \else% + % Save break count and exit. + \xdef\savetitlepagespan{\the\@tempcnta}% + \fi% +}% + +\long\def\myfor#1#2#3{% + \@tempcnta=#1\relax% + \ifnum#1<#2\relax% + \advance\@tempcnta by 1\relax% + #3% + \myfor{\the\@tempcnta}{#2}{#3}% + \fi} + \long\def\getSpaceLeft{%\global\@twocolumnfalse% \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}% \global\setbox1=\vbox{\hsize=\textwidth @@ -436,6 +553,9 @@ \@tempdima=\vsize \advance\@tempdima-\noteheight \advance\@tempdima-1\baselineskip + \xdef\savefpageheight{\the\@tempdima}% + \setbox2=\vbox{\titlespancalculator{\titleheight}% + {\savefpageheight}{\textheight}{0}}% } \skip\footins=24pt @@ -449,10 +569,19 @@ \ifnum\jtype=1 \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \box\els@boxb} + \else% + \fi% \box0% \else \finalMaketitle\printFirstPageNotes @@ -462,10 +591,19 @@ \ifnum\jtype=5 \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \twocolumn[\box\els@boxb]} + \else% + \fi% \twocolumn[\box0]%\printFirstPageNotes \else \twocolumn[\finalMaketitle]\printFirstPageNotes @@ -474,11 +612,20 @@ \else \if@twocolumn \def\maketitle{% - \iflongmktitle\getSpaceLeft + \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \twocolumn[\box\els@boxb]} + \else% + \fi% \twocolumn[\box0]% \else \twocolumn[\finalMaketitle]\printFirstPageNotes @@ -487,10 +634,19 @@ \else \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \box\els@boxb} + \else% + \fi% \box0% \else \finalMaketitle\printFirstPageNotes @@ -500,6 +656,20 @@ \fi \fi \fi + +\let\@elsarticlemyfooter\@empty +\let\@elsarticlemyfooteralign\@empty +\def\@elsarticlemyfooteralignleft{L} +\def\@elsarticlemyfooteralignright{R} +\def\@elsarticlemyfooteraligncenter{C} + +\def\myfooter[#1]#2 %*% + {\gdef\@elsarticlemyfooteralign{#1} + \gdef\@elsarticlemyfooter{#2}} + + +\def\myfooterfont#1{\gdef\@myfooterfont{#1}} +\myfooterfont{\footnotesize\itshape} % \end{macrocode} % %\section{Headers/footers} @@ -508,9 +678,27 @@ \def\ps@pprintTitle{% \let\@oddhead\@empty \let\@evenhead\@empty - \def\@oddfoot{\footnotesize\itshape - Preprint submitted to \ifx\@journal\@empty Elsevier - \else\@journal\fi\hfill\today}% + \def\@oddfoot + {\hbox to \textwidth% + {\ifnopreprintline\relax\else + \@myfooterfont% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteraligncenter% + \hfil\@elsarticlemyfooter\hfil% + \else% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignleft% + \@elsarticlemyfooter\hfill{}% + \else% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignright% + {}\hfill\@elsarticlemyfooter% + \else% + Preprint submitted to \ifx\@journal\@empty% + Elsevier% + \else\@journal\fi\hfill\@date\fi% + \fi% + \fi% + \fi% + } + }% \let\@evenfoot\@oddfoot} % \end{macrocode} % @@ -716,8 +904,9 @@ \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{} \InputIfFileExists{\jobname.spl}{}{} -\RequirePackage[\@biboptions]{natbib} - +\ifnonatbib\relax\else + \RequirePackage[\@biboptions]{natbib} +\fi \newwrite\splwrite \immediate\openout\splwrite=\jobname.spl \def\biboptions#1{\def\next{#1}\immediate\write\splwrite{% @@ -725,7 +914,6 @@ ,\expandafter\strip@prefix\meaning\next}}} \let\baselinestretch=\@blstr - % \end{macrocode} % %\section{Page dimensions and margins for final form} @@ -845,31 +1033,65 @@ \@makeother\= }{}} %% +\def\appendixname{Appendix } \renewcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% \setcounter{equation}{0} \gdef\thefigure{\@Alph\c@section.\arabic{figure}}% \gdef\thetable{\@Alph\c@section.\arabic{table}}% - \gdef\thesection{\appendixname\@Alph\c@section}% + \gdef\thesection{\appendixname~\@Alph\c@section}% \@addtoreset{equation}{section}% \gdef\theequation{\@Alph\c@section.\arabic{equation}}% + \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{} +} + +%%%% \numberline width calculation for appendix. +\newdimen\appnamewidth +\def\tmptocnumberline#1{% + \setbox0=\hbox{\appendixname} + \appnamewidth=\wd0 + \addtolength\appnamewidth{2.5pc} + \hb@xt@\appnamewidth{#1\hfill} } -\def\appendixname{Appendix } %% Added for work with amsrefs.sty \@ifpackageloaded{amsrefs}% {} - {\let\bibsection\relax% + {%\let\bibsection\relax% \AtBeginDocument{\def\cites@b#1#2,#3{% \begingroup[% \toks@{\InnerCite{#2}#1}% \ifx\@empty#3\@xp\@gobble\fi \cites@c#3% }}} -% %% +%% Added for avoiding clash with cleveref.sty +\@ifpackageloaded{cleveref}% + {} + {\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% + \refstepcounter{tnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}} + \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% + \footnotetext{#2}}} +%%% + \def\fntext[#1]#2{\g@addto@macro\@fnotes{% + \refstepcounter{fnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}} + \def\thefootnote{\thefnote}% + \global\setcounter{footnote}{\c@fnote}% + \footnotetext{#2}}} +%%% + \def\cortext[#1]#2{\g@addto@macro\@cornotes{% + \refstepcounter{cnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}} + \def\thefootnote{\ifcase\c@cnote\or$\ast$\or + $\ast\ast$\fi}% + \footnotetext{#2}}} +} + +\def\textmarker#1#2{\textcolor{#1}{#2}}%*% %</class> % % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins b/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins index b6c74818398..cf5c0968b02 100644 --- a/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins +++ b/Master/texmf-dist/source/latex/elsarticle/elsarticle.ins @@ -3,7 +3,7 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% --------------------------------------------- @@ -18,6 +18,7 @@ %% The list of all files belonging to the 'Elsarticle Bundle' is %% given in the file 'manifest.txt'. %% +%% $Id: elsarticle.ins 121 2018-06-29 05:04:03Z rishi $ %% %% \input docstrip.tex @@ -25,7 +26,7 @@ \preamble -Copyright 2007, 2008, 2009 Elsevier Ltd +Copyright 2007-2018 Elsevier Ltd This file is part of the 'Elsarticle Bundle'. ------------------------------------------- diff --git a/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls index 2596aa6e091..d12383204d3 100644 --- a/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls +++ b/Master/texmf-dist/tex/latex/elsarticle/elsarticle.cls @@ -6,7 +6,7 @@ %% %% elsarticle.dtx (with options: `class') %% -%% Copyright 2007, 2008, 2009 Elsevier Ltd +%% Copyright 2007-2018 Elsevier Ltd %% %% This file is part of the 'Elsarticle Bundle'. %% ------------------------------------------- @@ -22,20 +22,24 @@ %% given in the file `manifest.txt'. %% %% -%% $Id: elsarticle.cls,v 1.20 2008-10-13 04:24:12 cvr Exp $ +%% %% \def\RCSfile{elsarticle}% - \def\RCSversion{1.2.0}% - \def\RCSdate{2009/09/17}% + \def\RCSversion{3.0}% + \def\RCSdate{2018/06/08}% \def\@shortjnl{\relax} - \def\@journal{Elsevier Ltd} \def\@company{Elsevier Ltd} + \def\@journal{Elsevier Ltd} + \def\@company{Elsevier Ltd} \def\@issn{000-0000} \def\@shortjid{elsarticle} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{\@shortjid}[\RCSdate, \RCSversion: \@journal] \def\ABD{\AtBeginDocument} \newif\ifpreprint \preprintfalse +\newif\ifnonatbib \nonatbibfalse \newif\iflongmktitle \longmktitlefalse +\newif\ifnopreprintline \nopreprintlinefalse +\newif\ifdoubleblind \doubleblindfalse \def\@blstr{1} \newdimen\@bls @@ -54,11 +58,13 @@ \DeclareOption{preprint}{\global\preprinttrue \gdef\@blstr{1}\xdef\jtype{0}% \AtBeginDocument{\@twosidefalse\@mparswitchfalse}} +\DeclareOption{nopreprintline}{\global\nopreprintlinetrue} \DeclareOption{final}{\gdef\@blstr{1}\global\preprintfalse} \DeclareOption{review}{\global\preprinttrue\gdef\@blstr{1.5}} \DeclareOption{authoryear}{\xdef\@biboptions{round,authoryear}} \DeclareOption{number}{\xdef\@biboptions{numbers}} \DeclareOption{numbers}{\xdef\@biboptions{numbers}} +\DeclareOption{nonatbib}{\global\nonatbibtrue} \DeclareOption{longtitle}{\global\longmktitletrue} \DeclareOption{5p}{\xdef\jtype{5}\global\preprintfalse \ExecuteOptions{twocolumn}} @@ -73,36 +79,62 @@ \let\iiint\relax \let\iiiint\relax \let\idotsint\relax - \let\openbox\relax}}{\RequirePackage{times}}} -\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint} + \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}} + +\DeclareOption{endfloat}{\IfFileExists{endfloat.sty} + {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} +\DeclareOption{endfloats}{\IfFileExists{endfloat.sty} + {\AtEndOfClass{\RequirePackage[markers]{endfloat}}}{}} +\DeclareOption{numafflabel} + {\AtBeginDocument{\def\theaffn{\arabic{affn}}}} %*% +\DeclareOption{lefttitle} + {\AtBeginDocument{\def\elsarticletitlealign{flushleft}}} %*% +\DeclareOption{centertitle} + {\AtBeginDocument{\def\elsarticletitlealign{center}}} %*% +\DeclareOption{reversenotenum} + {\AtBeginDocument{\def\theaffn{\arabic{affn}} + \def\thefnote{\alph{fnote}}}} +\DeclareOption{doubleblind}{\doubleblindtrue} + +\ExecuteOptions{a4paper,10pt,oneside,onecolumn,number,preprint,centertitle} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} \RequirePackage{graphicx} \let\comma\@empty \let\tnotesep\@empty -\def\title#1{\gdef\@title{#1}} \let\@title\@empty +\def\useelstitle{} + +\def\title#1{\g@addto@macro\@title{#1% + \global\let\tnoteref\@gobble}% + \g@addto@macro\useelstitle{#1}} + \def\elsLabel#1{\@bsphack\protected@write\@auxout{}% {\string\Newlabel{#1}{\@currentlabel}}\@esphack} \def\Newlabel#1#2{\expandafter\xdef\csname X@#1\endcsname{#2}} -\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}% -} +\def\elsRef#1{\@ifundefined{X@#1}{0}{\csname X@#1\endcsname}} -\def\tnotemark[#1]{\textsuperscript{\@for\@@tmark:=#1\do{% - \edef\tnotenum{\@ifundefined{X@\@@tmark}{1}{\elsRef{\@@tmark}}}% - \ifcase\tnotenum\or\ding{73}\or,\ding{73}\ding{73}\fi}}% -} \let\@tnotemark\@empty +\ifdoubleblind + \def\tnotemark[#1]{} +\else + \def\tnotemark[#1]{\@for\mytmark:=#1\do{% + \expandafter\ifcase\csname X@\mytmark\endcsname\or$^{\star}$\or + $^{,\star\star}$\fi + }% +} +\fi + +\def\tnoteref#1{\tnotemark[{#1}]} \let\@tnotes\@empty -\RequirePackage{pifont} \newcounter{tnote} \def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% - \refstepcounter{tnote}\elsLabel{#1}% - \def\thefootnote{\ifcase\c@tnote\or\ding{73}\or\ding{73}\ding{73}\fi}% + \stepcounter{tnote}\elsLabel{#1}% + \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% \footnotetext{#2}}} \let\@nonumnotes\@empty @@ -110,17 +142,20 @@ \let\thefootnote\relax\footnotetext{#1}}} \newcounter{fnote} +\def\thefnote{\arabic{fnote}} \def\fnmark[#1]{\let\comma\@empty \def\@fnmark{\@for\@@fnmark:=#1\do{% \edef\fnotenum{\@ifundefined{X@\@@fnmark}{1}{\elsRef{\@@fnmark}}}% \unskip\comma\fnotenum\let\comma,}}% } +\def\fnref#1{\fnmark[#1]} + \let\@fnotes\@empty\let\@fnmark\@empty \def\fntext[#1]#2{\g@addto@macro\@fnotes{% - \refstepcounter{fnote}\elsLabel{#1}% - \def\thefootnote{\thefnote}% - \global\setcounter{footnote}{\thefnote}% + \refstepcounter{fnote}\elsLabel{#1}% + \def\thefootnote{\c@fnote}% + \global\setcounter{footnote}{\c@fnote}% \footnotetext{#2}}} \def\cormark[#1]{\edef\cnotenum{\elsRef{#1}}% @@ -141,14 +176,11 @@ \edef\@corref{\ifcase\cnotenum\or $\ast$\or$\ast\ast$\fi\hskip-1pt}} -\def\fnref#1{\fnmark[#1]} -\def\tnoteref#1{\tnotemark[#1]} - \def\resetTitleCounters{\c@cnote=0 \c@fnote=0 \c@tnote=0 \c@footnote=0} \let\eadsep\@empty -\let\@elseads\@empty +\def\@elseads{} \let\@elsuads\@empty \let\@cormark\@empty \def\hashchar{\expandafter\@gobble\string\~} @@ -156,36 +188,43 @@ \def\lbracechar{\expandafter\@gobble\string\{} \def\rbracechar{\expandafter\@gobble\string\}} -\def\ead{\@ifnextchar[{\@uad}{\@ead}} -\gdef\@ead#1{\bgroup\def\_{\string\underscorechar\space}% - \def\{{\string\lbracechar\space}% - \def~{\hashchar\space}% - \def\}{\string\rbracechar\space}% - \edef\tmp{\the\@eadauthor} +\gdef\ead{\@ifnextchar[{\@uad}{\@ead}} +\gdef\@ead#1{\bgroup + \def\_{\underscorechar}% + \def\{{\lbracechar}% + \def~{\hashchar}% + \def\}{\rbracechar}% + \edef\tmp{\the\@eadauthor}% \immediate\write\@auxout{\string\emailauthor {#1}{\expandafter\strip@prefix\meaning\tmp}}% - \egroup + \egroup } \newcounter{ead} \gdef\emailauthor#1#2{\stepcounter{ead}% \g@addto@macro\@elseads{\raggedright% - \let\corref\@gobble - \eadsep\texttt{#1} (#2)\def\eadsep{\unskip,\space}}% + \let\corref\@gobble\def\@@tmp{#1}% + \eadsep{\ttfamily\expandafter\strip@prefix\meaning\@@tmp} + (#2)\def\eadsep{\unskip,\space}}% } \gdef\@uad[#1]#2{\bgroup - \def~{\string\hashchar\space}% - \def\_{\string\underscorechar\space}% + \def~{\hashchar}% + \def\_{\underscorechar}% + \def~{\hashchar}% + \def\}{\rbracechar}% \edef\tmp{\the\@eadauthor} \immediate\write\@auxout{\string\urlauthor {#2}{\expandafter\strip@prefix\meaning\tmp}}% \egroup } -\def\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% - \raggedright\eadsep\texttt{#1}\space(#2)% +\gdef\urlauthor#1#2{\g@addto@macro\@elsuads{\let\corref\@gobble% + \def\@@tmp{#1}\raggedright\eadsep + {\ttfamily\expandafter\strip@prefix\meaning\@@tmp}\space(#2)% \def\eadsep{\unskip,\space}}% } \def\elsauthors{} +\def\useauthors{} + \def\pprinttitle{} \let\authorsep\@empty \let\sep\@empty @@ -205,7 +244,8 @@ \def\authorsep{\unskip,\space}% \global\let\sep\@empty\global\let\@corref\@empty \global\let\@fnmark\@empty}% - \@eadauthor={#2} + \@eadauthor={#2}% + \g@addto@macro\useauthors{#2; }% } \def\@author#1{\g@addto@macro\elsauthors{\normalsize% @@ -216,8 +256,16 @@ }% \def\authorsep{\unskip,\space}% \global\let\@fnmark\@empty - \global\let\sep\@empty}% - \@eadauthor={#1} + \global\let\@corref\@empty \global\let\sep\@empty}% + \@eadauthor={#1}% + \g@addto@macro\useauthors{#1; }% +} + +\AtBeginDocument{% + \@ifpackageloaded{hyperref}{% + \expandafter\gdef\csname Hy@title\endcsname{\useelstitle}% + \expandafter\gdef\csname Hy@author\endcsname{\useauthors}% + }{} } \def\elsaddress{} @@ -267,13 +315,21 @@ \def\authorsep{\par\vskip8pt}}} \newbox\absbox +\let\@elsarticleabstitle\@empty %*% +\def\abstracttitle#1{\gdef\@elsarticleabstitle{#1}} %*% +\abstracttitle{Abstract} %*% \renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup \hsize=\textwidth\def\baselinestretch{1}% - \noindent\unskip\textbf{Abstract} + \noindent\unskip\textbf{\@elsarticleabstitle} %*% \par\medskip\noindent\unskip\ignorespaces} {\egroup} \newbox\keybox +\let\@elsarticlekwdtitle\@empty %*% +\def\keywordtitle#1{\gdef\@elsarticlekwdtitle{#1}} %*% +\def\keywordtitlesep#1{\gdef\@elsarticlekeywordtitlesep{#1}} %*% +\keywordtitle{Keywords} %*% +\keywordtitlesep{:\ } \def\keyword{% \def\sep{\unskip, }% \def\MSC{\@ifnextchar[{\@MSC}{\@MSC[2000]}} @@ -283,7 +339,7 @@ \global\setbox\keybox=\vbox\bgroup\hsize=\textwidth \normalsize\normalfont\def\baselinestretch{1} \parskip\z@ - \noindent\textit{Keywords: } + \noindent\textit{\@elsarticlekwdtitle\@elsarticlekeywordtitlesep} \raggedright % Keywords are not justified. \ignorespaces} \def\endkeyword{\par \egroup} @@ -293,7 +349,10 @@ \def\printFirstPageNotes{% \iflongmktitle - \let\columnwidth=\textwidth\fi + \let\columnwidth=\textwidth + \fi +\ifdoubleblind +\else \ifx\@tnotes\@empty\else\@tnotes\fi \ifx\@nonumnotes\@empty\else\@nonumnotes\fi \ifx\@cornotes\@empty\else\@cornotes\fi @@ -307,28 +366,49 @@ \let\thefootnote\relax \footnotetext{\textit{URL:\space}% \@elsuads}\fi +\fi \ifx\@fnotes\@empty\else\@fnotes\fi \iflongmktitle\if@twocolumn \let\columnwidth=\Columnwidth\fi\fi } +%% Pushing text to begin on newpage %*% +\def\newpage@after@title{title} +\def\newpage@after@author{author} +\def\newpage@after@abstract{abstract} +\def\newpageafter#1% + {\gdef\@elsarticlenewpageafter{#1}} + \long\def\pprintMaketitle{\clearpage \iflongmktitle\if@twocolumn\let\columnwidth=\textwidth\fi\fi \resetTitleCounters \def\baselinestretch{1}% \printFirstPageNotes - \begin{center}% + \begin{\elsarticletitlealign}% \thispagestyle{pprintTitle}% \def\baselinestretch{1}% - \Large\@title\par\vskip18pt - \normalsize\elsauthors\par\vskip10pt - \footnotesize\itshape\elsaddress\par\vskip36pt + \Large\@title\par\vskip18pt% + \ifx\@elsarticlenewpageafter\newpage@after@title% %*% + \newpage + \fi% + \ifdoubleblind + \vspace*{2pc} + \else + \normalsize\elsauthors\par\vskip10pt + \footnotesize\itshape\elsaddress\par\vskip36pt + \fi + \ifx\@elsarticlenewpageafter\newpage@after@author% %*% + \newpage + \fi% \hrule\vskip12pt \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi \hrule\vskip12pt - \end{center}% - \gdef\thefootnote{\arabic{footnote}}% + \ifx\@elsarticlenewpageafter\newpage@after@abstract% %*% + \newpage + \fi% + \end{\elsarticletitlealign}% + \gdef\thefootnote{\arabic{footnote}}% } \def\printWarning{% @@ -351,17 +431,21 @@ \long\def\MaketitleBox{% \resetTitleCounters \def\baselinestretch{1}% - \begin{center}% + \begin{\elsarticletitlealign}% \def\baselinestretch{1}% \Large\@title\par\vskip18pt + \ifdoubleblind + \vspace*{2pc} + \else \normalsize\elsauthors\par\vskip10pt \footnotesize\itshape\elsaddress\par\vskip36pt + \fi \hrule\vskip12pt \ifvoid\absbox\else\unvbox\absbox\par\vskip10pt\fi \ifvoid\keybox\else\unvbox\keybox\par\vskip10pt\fi \hrule\vskip12pt - \end{center}% - } + \end{\elsarticletitlealign}% +} \def\FNtext#1{\par\bgroup\footnotesize#1\egroup} \newdimen\space@left @@ -369,6 +453,39 @@ \typeout{#1}% \typeout{******************************}% } + +\def\titlespancalculator#1#2#3#4{% + % break count + \@tempcnta=#4\relax% + % pagebreakcount increment + \advance\@tempcnta by 1\relax% + % title page height + \@tempdima=#1\relax% + % Page height - title page notes height (only for first break) + % Page height - textheight (for remaining breaks) + % Page height - title page notes height + \@tempdimb=#2\relax% + % Remaining title page height + \advance\@tempdima -\the\@tempdimb% + % Checks if remaining title page + % height less than textheight + \ifdim\the\@tempdima>#3\relax% + \titlespancalculator% + {\the\@tempdima}{#3}{#3}{\the\@tempcnta}%Break again + \else% + % Save break count and exit. + \xdef\savetitlepagespan{\the\@tempcnta}% + \fi% +}% + +\long\def\myfor#1#2#3{% + \@tempcnta=#1\relax% + \ifnum#1<#2\relax% + \advance\@tempcnta by 1\relax% + #3% + \myfor{\the\@tempcnta}{#2}{#3}% + \fi} + \long\def\getSpaceLeft{%\global\@twocolumnfalse% \global\setbox0=\vbox{\hsize=\textwidth\MaketitleBox}% \global\setbox1=\vbox{\hsize=\textwidth @@ -379,6 +496,9 @@ \@tempdima=\vsize \advance\@tempdima-\noteheight \advance\@tempdima-1\baselineskip + \xdef\savefpageheight{\the\@tempdima}% + \setbox2=\vbox{\titlespancalculator{\titleheight}% + {\savefpageheight}{\textheight}{0}}% } \skip\footins=24pt @@ -392,10 +512,19 @@ \ifnum\jtype=1 \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \box\els@boxb} + \else% + \fi% \box0% \else \finalMaketitle\printFirstPageNotes @@ -405,10 +534,19 @@ \ifnum\jtype=5 \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \twocolumn[\box\els@boxb]} + \else% + \fi% \twocolumn[\box0]%\printFirstPageNotes \else \twocolumn[\finalMaketitle]\printFirstPageNotes @@ -417,11 +555,20 @@ \else \if@twocolumn \def\maketitle{% - \iflongmktitle\getSpaceLeft + \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \twocolumn[\box\els@boxb]} + \else% + \fi% \twocolumn[\box0]% \else \twocolumn[\finalMaketitle]\printFirstPageNotes @@ -430,10 +577,19 @@ \else \def\maketitle{% \iflongmktitle\getSpaceLeft + \ifdim\noteheight>0pt% + \advance\@tempdima-1.35\baselineskip + \fi% \global\setbox\els@boxa=\vsplit0 to \@tempdima \box\els@boxa\par\resetTitleCounters \thispagestyle{pprintTitle}% \printFirstPageNotes + \ifnum\savetitlepagespan>1\relax% + \myfor{2}{\savetitlepagespan}{% + \global\setbox\els@boxb=\vsplit0 to \textheight%\@tempdima + \box\els@boxb} + \else% + \fi% \box0% \else \finalMaketitle\printFirstPageNotes @@ -443,12 +599,43 @@ \fi \fi \fi + +\let\@elsarticlemyfooter\@empty +\let\@elsarticlemyfooteralign\@empty +\def\@elsarticlemyfooteralignleft{L} +\def\@elsarticlemyfooteralignright{R} +\def\@elsarticlemyfooteraligncenter{C} + +\def\myfooter[#1]#2 %*% + {\gdef\@elsarticlemyfooteralign{#1} + \gdef\@elsarticlemyfooter{#2}} + +\def\myfooterfont#1{\gdef\@myfooterfont{#1}} +\myfooterfont{\footnotesize\itshape} \def\ps@pprintTitle{% \let\@oddhead\@empty \let\@evenhead\@empty - \def\@oddfoot{\footnotesize\itshape - Preprint submitted to \ifx\@journal\@empty Elsevier - \else\@journal\fi\hfill\today}% + \def\@oddfoot + {\hbox to \textwidth% + {\ifnopreprintline\relax\else + \@myfooterfont% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteraligncenter% + \hfil\@elsarticlemyfooter\hfil% + \else% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignleft% + \@elsarticlemyfooter\hfill{}% + \else% + \ifx\@elsarticlemyfooteralign\@elsarticlemyfooteralignright% + {}\hfill\@elsarticlemyfooter% + \else% + Preprint submitted to \ifx\@journal\@empty% + Elsevier% + \else\@journal\fi\hfill\@date\fi% + \fi% + \fi% + \fi% + } + }% \let\@evenfoot\@oddfoot} \def\@seccntDot{.} \def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em} @@ -639,8 +826,9 @@ \@ifundefined{@biboptions}{\xdef\@biboptions{numbers}}{} \InputIfFileExists{\jobname.spl}{}{} -\RequirePackage[\@biboptions]{natbib} - +\ifnonatbib\relax\else + \RequirePackage[\@biboptions]{natbib} +\fi \newwrite\splwrite \immediate\openout\splwrite=\jobname.spl \def\biboptions#1{\def\next{#1}\immediate\write\splwrite{% @@ -648,7 +836,6 @@ ,\expandafter\strip@prefix\meaning\next}}} \let\baselinestretch=\@blstr - \ifnum\jtype=1 \RequirePackage{geometry} \geometry{twoside, @@ -745,23 +932,33 @@ \@makeother\= }{}} %% +\def\appendixname{Appendix } \renewcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% \setcounter{equation}{0} \gdef\thefigure{\@Alph\c@section.\arabic{figure}}% \gdef\thetable{\@Alph\c@section.\arabic{table}}% - \gdef\thesection{\appendixname\@Alph\c@section}% + \gdef\thesection{\appendixname~\@Alph\c@section}% \@addtoreset{equation}{section}% \gdef\theequation{\@Alph\c@section.\arabic{equation}}% + \addtocontents{toc}{\string\let\string\numberline\string\tmptocnumberline}{}{} +} + +%%%% \numberline width calculation for appendix. +\newdimen\appnamewidth +\def\tmptocnumberline#1{% + \setbox0=\hbox{\appendixname} + \appnamewidth=\wd0 + \addtolength\appnamewidth{2.5pc} + \hb@xt@\appnamewidth{#1\hfill} } -\def\appendixname{Appendix } %% Added for work with amsrefs.sty \@ifpackageloaded{amsrefs}% {} - {\let\bibsection\relax% + {%\let\bibsection\relax% \AtBeginDocument{\def\cites@b#1#2,#3{% \begingroup[% \toks@{\InnerCite{#2}#1}% @@ -769,6 +966,31 @@ \cites@c#3% }}} %% +%% Added for avoiding clash with cleveref.sty +\@ifpackageloaded{cleveref}% + {} + {\def\tnotetext[#1]#2{\g@addto@macro\@tnotes{% + \refstepcounter{tnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thetnote}} + \def\thefootnote{\ifcase\c@tnote\or$\star$\or$\star\star$\fi}% + \footnotetext{#2}}} +%%% + \def\fntext[#1]#2{\g@addto@macro\@fnotes{% + \refstepcounter{fnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thefnote}} + \def\thefootnote{\thefnote}% + \global\setcounter{footnote}{\c@fnote}% + \footnotetext{#2}}} +%%% + \def\cortext[#1]#2{\g@addto@macro\@cornotes{% + \refstepcounter{cnote}% + \immediate\write\@auxout{\string\Newlabel{#1}{\thecnote}} + \def\thefootnote{\ifcase\c@cnote\or$\ast$\or + $\ast\ast$\fi}% + \footnotetext{#2}}} +} + +\def\textmarker#1#2{\textcolor{#1}{#2}}%*% \endinput %% %% End of file `elsarticle.cls'. |