From ed0cc62be17e1bf2b0a072cf59cc8d49e9c02e4a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 27 Aug 2015 22:01:18 +0000 Subject: udesoftec (27aug15) git-svn-id: svn://tug.org/texlive/trunk@38219 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/bibtex/bst/udesoftec/udesoftec.bst | 372 +++++++-------------- 1 file changed, 115 insertions(+), 257 deletions(-) (limited to 'Master/texmf-dist/bibtex/bst/udesoftec') diff --git a/Master/texmf-dist/bibtex/bst/udesoftec/udesoftec.bst b/Master/texmf-dist/bibtex/bst/udesoftec/udesoftec.bst index fa258f8b2f7..46073ef4e42 100644 --- a/Master/texmf-dist/bibtex/bst/udesoftec/udesoftec.bst +++ b/Master/texmf-dist/bibtex/bst/udesoftec/udesoftec.bst @@ -1,7 +1,7 @@ % !Mode:: "TeX:UTF-8" %% udesoftec.bst %% Copyright 2014-2015 J. Peter M. Schuler -%% 2015/08/20 v1.4.8 udesoftec +%% 2015/08/27 v1.5.1 udesoftec % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -26,10 +26,6 @@ % * doi is shown everywhere available, if no doi is available fallback to ISBN and ISSN. ISBN and ISSN are not shown if doi is present. % * edition field should be number without anything else, if so content gets ordinal and suffix, else plain content is displayed -FUNCTION {bblnameformat} {"{vv~}{ll}{ jj}{, f{}}"} % von Matera, M; Rizzo, F; Carughi, GT -%FUNCTION {bblnameformat} {"{vv }{ll}{ jj}{, f.}"} % von Matera, M.; Rizzo, F.; Carughi, G. T. -%FUNCTION {bblnameformat} {"{vv }{ll}{ jj}{, ff}"} % von Matera, Maristella; Rizzo, Francesca; Carughi, Giovanni Toffetti - ENTRY { address author @@ -77,6 +73,23 @@ FUNCTION {init.state.consts} STRINGS { s t } +FUNCTION {output.justdo} +{ 's := + output.state mid.sentence = + { " " * write$ } + { " " * write$ } +if$ + s +} + +FUNCTION {output.justdobutcheck} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.justdo + if$ +} + FUNCTION {output.nonnull} { 's := output.state mid.sentence = @@ -91,12 +104,12 @@ FUNCTION {output.nonnull} 'write$ { output.state before.bibitemtitle = - {"\bblAuthorTitleSep" * write$ } + {"\bblAuthorTitleSep{}" * write$ } { output.state before.bibitemtitle = 'write$ { output.state before.year = - {"\bblAuthorYearSep" * write$ } + {"\bblAuthorYearSep{}" * write$ } {add.period$ " " * write$ } if$ } @@ -155,7 +168,7 @@ FUNCTION {output.check} } FUNCTION {fin.entry} -{ add.period$ +{ %add.period$ write$ newline$ } @@ -251,6 +264,9 @@ FUNCTION {emphasize} if$ } +FUNCTION {bblnameformat} {"{vv~}{ll}{~jj}"} % von Matera, M; Rizzo, F; Carughi, GT +FUNCTION {bblnameformat2} {"{f{}}"} % von Matera, M; Rizzo, F; Carughi, GT + INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 's := @@ -258,17 +274,17 @@ FUNCTION {format.names} s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr bblnameformat format.name$ 't := + { s nameptr bblnameformat format.name$ "\bblFirstnameSep{}" * s nameptr bblnameformat2 format.name$ * 't := nameptr #1 > { namesleft #1 > - { "; " * t * } + { "\bblAuthorsSep{}" * t * } { numnames #2 > { "" * } 'skip$ if$ t "others" = { "" * } - { "; " * t * } + { "\bblAuthorsSep{}" * t * } if$ } if$ @@ -287,21 +303,9 @@ FUNCTION {format.cities} s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } - { s nameptr "{vv~}{ff} {ll}{ jj}" format.name$ 't := + { s nameptr "{ll}" format.name$ 't := nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "" * } - 'skip$ - if$ - t "others" = - { "" * } - { ", " * t * } - if$ - } - if$ - } + { "XXXXX" } 't if$ nameptr #1 + 'nameptr := @@ -313,11 +317,7 @@ FUNCTION {format.cities} FUNCTION {format.address} { address empty$ { "" } - { address num.names$ #1 > - { address format.cities } - { address } - if$ - } + { "\bblAddress{" address * "}" * } if$ } @@ -430,7 +430,7 @@ FUNCTION {format.urldate} FUNCTION {format.doi} { doi empty$ { "" } - { new.block "\doi{" doi * "}" * } + { new.block "\bbldoi{" doi * "}" * } if$ } @@ -572,10 +572,21 @@ FUNCTION {format.date} FUNCTION {format.year} { - "\bblFontYearInList{" format.date * "}" * + "\bblFontYearInList{\bblYear{" format.date * "}}" * before.year 'output.state := } +FUNCTION {format.yearpublished} +{ + "\bblpublishdate{" format.date * "}" * + before.year 'output.state := +} + +FUNCTION {format.standardpublished} +{ + "\bblstandardpublishdate{" format.date * "}" * +} + FUNCTION {format.btitle} { "\bblFontBookTitle{" title * "}" * @@ -742,7 +753,7 @@ FUNCTION {format.in.ed.booktitle} { "" } { editor empty$ { "\bblin " booktitle format.inEdBookTitle * } - { "\bblin " format.editors * "\bblAuthorTitleSepInEd " * booktitle format.inEdBookTitle * } + { "\bblin " format.editors * "\bblAuthorTitleSepInEd{}" * booktitle format.inEdBookTitle * } if$ } if$ @@ -778,99 +789,25 @@ FUNCTION {format.tr.number} if$ } -%FUNCTION {format.article.crossref} -%{ key empty$ - %{ journal empty$ - %{ "need key or journal for " cite$ * " to crossref " * crossref * - %warning$ - %"" - %} - %{ "\bblin " journal * "" * } - %if$ - %} - %{ "\bblin " } - %if$ - %" \citet{" * crossref * "}" * -%} -% -%FUNCTION {format.book.crossref} -%{ volume empty$ - %{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - %"\bblin " - %} - %{ "Volume" volume tie.or.space.connect - %" \bblof " * - %} - %if$ - %editor empty$ - %editor field.or.null author field.or.null = - %or - %{ key empty$ - %{ series empty$ - %{ "need editor, key, or series for " cite$ * " to crossref " * - %crossref * warning$ - %"" * - %} - %{ "\emph{" * series * "}" * } - %if$ - %} - %'skip$ - %if$ - %} - %'skip$ - %if$ - %" \citet{" * crossref * "}" * -%} -% -%FUNCTION {format.incoll.inproc.crossref} -%{ editor empty$ - %editor field.or.null author field.or.null = - %or - %{ key empty$ - %{ booktitle empty$ - %{ "need editor, key, or booktitle for " cite$ * " to crossref " * - %crossref * warning$ - %"" - %} - %{ " \bblin \emph{" booktitle * "}" * } - %if$ - %} - %{ " \bblin " } - %if$ - %} - %{ " \bblin " } - %if$ - %" \citet{" * crossref * "}" * -%} - FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output format.year output.nonnull - format.title "title" output.check + format.title "title" output.check new.block - %crossref missing$ - %{ - journal format.journaltitle "journal" output.check - eid empty$ - { format.vol.num.pages output } - { format.vol.num.eid output } - if$ - %} - %{ format.article.crossref output.nonnull - %eid empty$ - %{ format.pages output } - %{ format.eid output } - %if$ - %} - %if$ + journal format.journaltitle "journal" output.check + eid empty$ + { format.vol.num.pages output.justdo } + { format.vol.num.eid output.justdo } + if$ format.doi empty$ {format.issn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -883,18 +820,14 @@ FUNCTION {book} editor format.key output } { format.authors output.nonnull - %crossref missing$ - %{ + "author and editor" editor either.or.check - %} - %'skip$ - %if$ + } if$ format.year output.nonnull format.btitle "title" output.check - % crossref missing$ - %{ + format.bvolume output new.block format.number.series output @@ -902,18 +835,14 @@ FUNCTION {book} format.edition output publisher "publisher" output.check format.address output - %} - %{ new.block - %format.book.crossref output.nonnull - %} - %if$ - + format.doi empty$ {format.isbn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -927,13 +856,14 @@ FUNCTION {booklet} format.title "title" output.check howpublished address new.block.checkb howpublished output - address output + format.address output format.doi empty$ {format.isbn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -946,31 +876,20 @@ FUNCTION {inbook} editor format.key output } { format.authors output.nonnull - %crossref missing$ - %{ - "author and editor" editor either.or.check - %} - %'skip$ - %if$ + "author and editor" editor either.or.check } if$ format.year output.nonnull format.btitle "title" output.check - %crossref missing$ - %{ + format.bvolume output format.chapter.pages "chapter and pages" output.check new.block format.number.series output new.sentence publisher "publisher" output.check - address output - %} - %{ format.chapter.pages "chapter and pages" output.check - %new.block - %format.book.crossref output.nonnull - %} - %if$ + format.address output + format.edition output format.doi empty$ {format.isbn output} @@ -978,6 +897,7 @@ FUNCTION {inbook} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -990,28 +910,23 @@ FUNCTION {incollection} format.year output.nonnull format.title "title" output.check new.block -% crossref missing$ - % { + format.in.ed.booktitle "booktitle" output.check format.bvolume output format.number.series output format.chapter.pages output new.sentence - publisher "publisher" output.check - address output format.edition output - format.date "year" output.check - %} - %{ format.incoll.inproc.crossref output.nonnull - %format.chapter.pages output - %} - %if$ + publisher "publisher" output.check + format.address output + format.doi empty$ {format.isbn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1024,35 +939,32 @@ FUNCTION {inproceedings} format.year output.nonnull format.title "title" output.check new.block - % crossref missing$ - % { + format.in.ed.booktitle "booktitle" output.check format.bvolume output format.number.series output - format.pages output + new.sentence address empty$ { organization publisher new.sentence.checkb organization output publisher output - format.date "year" output.check + } - { address output.nonnull - new.sentence + { organization output publisher output + format.address output.nonnull } if$ - % } - % { format.incoll.inproc.crossref output.nonnull - % format.pages output - % } - % if$ + format.pages output + format.doi empty$ {format.isbn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1068,10 +980,11 @@ FUNCTION {manual} format.btitle "title" output.check organization address new.block.checkb organization output - address output + format.address output format.edition output format.date output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1086,8 +999,9 @@ FUNCTION {mastersthesis} new.block "Master's thesis" format.thesis.type output.nonnull school "school" output.check - address output + format.address output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1105,7 +1019,7 @@ FUNCTION {misc} format.date output format.issn output format.url output - format.urldate output + format.urldate output.justdo new.block note output fin.entry @@ -1116,14 +1030,32 @@ FUNCTION {techstandard} { output.bibitem format.standard output format.title "title" output.check + new.sentence + organization output + publisher output + format.address output + new.sentence + format.standardpublished output new.block - format.year output.nonnull - format.doi empty$ - {format.isbn output} - {} + + doi empty$ + { + format.isbn empty$ + {} + { + new.sentence + format.isbn output + } + if$ + } + { + new.sentence + format.doi output + } if$ - format.doi output format.url output + format.urldate output + new.block note output fin.entry @@ -1138,8 +1070,9 @@ format.year output.nonnull new.block "PhD thesis" format.thesis.type output.nonnull school "school" output.check - address output + format.address output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1153,16 +1086,17 @@ FUNCTION {proceedings} format.btitle "title" output.check format.bvolume output format.number.series output - address output new.sentence organization output publisher output + format.address output format.doi empty$ {format.isbn output} {} if$ format.doi output format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1177,9 +1111,10 @@ FUNCTION {techreport} new.block format.tr.number output.nonnull institution "institution" output.check - address output + format.address output format.date "year" output.check format.url output + format.urldate output.justdo new.block note output fin.entry @@ -1195,80 +1130,13 @@ FUNCTION {unpublished} note "note" output.check format.date output format.url output + format.urldate output.justdo fin.entry } FUNCTION {default.type} { misc } -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - - - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - - READ FUNCTION {sortify} @@ -1342,13 +1210,13 @@ FUNCTION {author.key.organization.label} 'key if$ } - { author format.lab.names } + { author format.lab.names format.authorStyleInText } if$ } FUNCTION {author.techstandard.label} { standard empty$ - { type " " * number * "-" * edition * "(" * } - { standard "(" * } + { ' type " " * number * "-" * edition * "(" * } + { standard format.authorStyleInText "(" * } if$ } @@ -1363,7 +1231,7 @@ FUNCTION {editor.key.organization.label} 'key if$ } - { editor format.lab.names } + { editor format.lab.names format.authorStyleInText } if$ } @@ -1610,16 +1478,6 @@ FUNCTION {begin.bib} if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ - %"\providecommand{\natexlab}[1]{#1}" - %write$ newline$ - %"\providecommand{\url}[1]{\texttt{#1}}" - %write$ newline$ - %"\expandafter\ifx\csname urlstyle\endcsname\relax" - %write$ newline$ - %" \providecommand{\doi}[1]{doi: #1}\else" - %write$ newline$ - %" \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" - %write$ newline$ } EXECUTE {begin.bib} -- cgit v1.2.3