From 59419c5c9c44de3b4d48ed81d96df7a068265294 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 29 Oct 2019 18:02:24 +0000 Subject: authordate, follow separate package on CTAN git-svn-id: svn://tug.org/texlive/trunk@52564 c570f23f-e606-0410-a88d-b1316a301751 --- .../bibtex/bst/authordate/authordate1.bst | 1309 +++++++++++++++++++ .../bibtex/bst/authordate/authordate2.bst | 1310 ++++++++++++++++++++ .../bibtex/bst/authordate/authordate3.bst | 1309 +++++++++++++++++++ .../bibtex/bst/authordate/authordate4.bst | 1310 ++++++++++++++++++++ Master/texmf-dist/bibtex/bst/beebe/authordate1.bst | 1309 ------------------- Master/texmf-dist/bibtex/bst/beebe/authordate2.bst | 1310 -------------------- Master/texmf-dist/bibtex/bst/beebe/authordate3.bst | 1309 ------------------- Master/texmf-dist/bibtex/bst/beebe/authordate4.bst | 1310 -------------------- Master/texmf-dist/doc/bibtex/authordate/README | 21 + .../doc/bibtex/authordate/authordate1.ltx | 18 + .../doc/bibtex/authordate/authordate2.ltx | 18 + .../doc/bibtex/authordate/authordate3.ltx | 18 + .../doc/bibtex/authordate/authordate4.ltx | 18 + .../texmf-dist/doc/bibtex/authordate/testadb.ltx | 183 +++ .../tex/latex/authordate/authordate1-4.sty | 79 ++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/authordate.tlpsrc | 0 Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc | 1 + 18 files changed, 5595 insertions(+), 5239 deletions(-) create mode 100644 Master/texmf-dist/bibtex/bst/authordate/authordate1.bst create mode 100644 Master/texmf-dist/bibtex/bst/authordate/authordate2.bst create mode 100644 Master/texmf-dist/bibtex/bst/authordate/authordate3.bst create mode 100644 Master/texmf-dist/bibtex/bst/authordate/authordate4.bst delete mode 100644 Master/texmf-dist/bibtex/bst/beebe/authordate1.bst delete mode 100644 Master/texmf-dist/bibtex/bst/beebe/authordate2.bst delete mode 100644 Master/texmf-dist/bibtex/bst/beebe/authordate3.bst delete mode 100644 Master/texmf-dist/bibtex/bst/beebe/authordate4.bst create mode 100644 Master/texmf-dist/doc/bibtex/authordate/README create mode 100644 Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx create mode 100644 Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx create mode 100644 Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx create mode 100644 Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx create mode 100644 Master/texmf-dist/doc/bibtex/authordate/testadb.ltx create mode 100644 Master/texmf-dist/tex/latex/authordate/authordate1-4.sty create mode 100644 Master/tlpkg/tlpsrc/authordate.tlpsrc diff --git a/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst b/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst new file mode 100644 index 00000000000..4c82b29213b --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst @@ -0,0 +1,1309 @@ +% This BibTeX 0.99 style file is intended for documents that use the +% author-date citation system. It should be used in conjunction with the +% authordate1-4.sty (or equivalent) LaTeX style-option. +% +% In deciding on the bibliography layout to be implemented, the following +% works have been consulted: +% 1. British Standard 5605: "Citing publications by bibliographic +% references", 1978. +% 2. British Standard 1629: "Bibliographic references", 1976. +% (Note: There is now a 1989 edition.) +% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. +% 4. "The Oxford Dictionary for Writers and Editors", Oxford University +% Press, 1981 (for abbreviations). +% 5. "The Chicago Manual of Style", Chicago University Press, 1982. +% +% Discretion has been used in certain matters. In particular: +% - Titles are italic except when there is a "contribution title" and +% a "main publication title", in which case the "contribution title" +% is roman while the "main publication title" is italic. +% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of +% publication"; output is of the form "place-of-publication: publisher". +% When there is an ORGANIZATION as well as a PUBLISHER, output is of the +% form "place-of-publication: publisher, for organization". Otherwise, +% it is assumed that ADDRESS is a postal address, and output is of the +% form "institution, address", "organization, address", "school, address" +% or "howpublished, address". +% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the +% MONTH is used on the assumption that it contains information that is +% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents +% that have a PUBLISHER, but output after YEAR for anything else. +% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that +% these fields are being used to pick out particular pages of interest +% (as an alternative to using the optional [...] argument of \cite); +% the information is put at the very end of the entry, in line with BS 1629. +% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, +% it is assumed that the fields are being used to specify the location of +% the part/article of interest; the information is put before the +% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". +% - Since "volume" can be used in various ways (see page 219 of Butcher), +% this file assumes that, when there is a SERIES, any VOLUME and NUMBER +% refer to position in the SERIES (i.e. Butcher's meaning 4). +% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers +% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). +% For INPROCEEDINGS and INCOLLECTION, this information goes after the +% BOOKTITLE. (If you prefer to have volume information before EDITOR, +% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) +% +% This file differs from authordate2.bst, authordate3.bst and authordate4.bst +% in that: +% - The titles of articles, journals and books are left in whatever +% combination of upper-case and lower-case appears in the .bib file. +% - Author's and editor's names are in roman. +% +% The combination of authordate1.bst and authordate1-4.sty allows citations +% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% This file was developed from apalike.bst. It also uses code taken from +% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. +% +% David Rhead +% Cripps Computing Centre +% Nottingham University +% March 1990 +% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.year.month.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + month empty$ + { " " year * extra.label * "." * + after.sentence 'output.state := + } + { " " year * extra.label * " (" * month * ")." * + after.sentence 'output.state := + } + if$ + } + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + " " year * extra.label * "." * + after.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { ", {\em et~al.}" * } + { ", \& " * t * } % Butcher, pages + if$ % 186-189. + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > % Use ODWE abbrevs. + { " (eds)" * } % to avoid + { " (ed)" * } % ambiguity between + if$ % "editor" and + } % "edition". + if$ +} + +FUNCTION {format.title} % Nothing needs +{ title empty$ % doing here in + { "" } % authordate1.bst + { title } % or + if$ % authordate3.bst. +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title empty$ + { "" } % Don't change case + { title emphasize } % in + if$ % authordate1.bst +} % or + % authordate3.bst. +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.numberinseries} +{ number empty$ + { "" } + { number multi.page.check + { ", nos. " number n.dashify tie.or.space.connect } + { ", no. " number tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {booklike.series.volume.number} % Chicago, pages +{ series empty$ % 450-451. + { volume empty$ + { " " } + { " Vol. " volume * } + if$ + } + { + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {incollectionlike.series.volume.number} +{ series empty$ + { volume empty$ + { " " } + { " vol. " volume * } + if$ + } + { new.block + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "" pages n.dashify tie.or.space.connect } + { "" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.pagesinbook} % By the time the +{ pages empty$ % reader has read + { "" } % address, pub'r, + { pages multi.page.check % note (where the + { "Pages " pages n.dashify tie.or.space.connect } % note may end with + { "Page " pages tie.or.space.connect } % numbers), s/he + if$ % may not recognise + } % a number-range as + if$ % meaning pages. +} % Avoid ambiguity + % (Butcher, p.181). + +FUNCTION {format.vol.num.date.pages} +{ volume empty$ + { month empty$ + { "" } + { month } + if$ + } + { volume boldface field.or.null + number empty$ + { month empty$ + 'skip$ + { "(" month * ")" * * } + if$ + } + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.inbook} +{ chapter empty$ + 'format.pagesinbook + { type empty$ + { "Chap." } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pagesinbook "l" change.case$ * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.incoll} +{ chapter empty$ + { pages empty$ + { "{\em In:} " } + { "{\em " format.pagesinbook " of:} " * * } + if$ + } + { type empty$ + { "{\em Chap. " chapter * } + { "{\em " type * " " * chapter * } + if$ + pages empty$ + { " of:} " * } + { ", " * format.pagesinbook "l" change.case$ " of:} " * * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} % Achieves effect +{ booktitle empty$ % shown in 16.51 + { "" } % of Chicago, at + { editor empty$ % expense of not + { format.chapter.pages.incoll % achieving effects + booktitle emphasize * } % shown in 16.50 + { format.chapter.pages.incoll % of Chicago, on + format.editors * ", " * % page 189 of + booktitle emphasize * } % Butcher and in + if$ % 4.4 of BS 1629. + } + if$ % Don't change +} % case. + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type % Don't change + } % case. + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. rept." } % ODWE abbrevs. + 'type + if$ + number empty$ + { } % Whatever was + { number tie.or.space.connect } % having its case + if$ % changed, leave +} % it alone. + +FUNCTION {format.addr.pub} +{ publisher empty$ + { "" } + { address empty$ + { "" } + { address ": " * } + if$ + publisher * + } + if$ +} + +FUNCTION {format.addr.pub.org} % If there's an +{ address empty$ % an organization + { publisher * ", for " * organization * } % and a publisher + { address ": " * publisher * ", for " * organization * } % too. + if$ +} + +FUNCTION {format.addr.inst} +{ address empty$ + { institution empty$ + { "" } + { institution } + if$ + } + { institution empty$ + { "" } + { institution ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.addr.org} +{ address empty$ + { organization empty$ + { "" } + { organization } + if$ + } + { organization empty$ + { "" } + { organization ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.article.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\em In:}" + } + { " Vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize % Don't change + "journal" output.check % case. + format.vol.num.date.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + howpublished output + address output + new.block + 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + new.block % BS 1629 (rather + format.chapter.pages.inbook "chapter and pages" output.check + fin.entry % than Chicago, +} % p. 451) + +FUNCTION {incollection} +{ output.bibitem + author empty$ + { format.editors "editor" output.check + editor format.key output } + { format.authors "author" output.check + author format.key output } + if$ + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ % Chapter and/or + { format.in.ed.booktitle output % page numbers can + format.edition output % come out via this + incollectionlike.series.volume.number output % route, too. + new.block + format.addr.pub "publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + new.block + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + incollectionlike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.sentence + format.edition output + new.block + organization address new.block.checkb + format.addr.org output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, + school "school" output.check % page 174. + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors "author and editor" output.check + editor format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.btitle "title" output.check + new.block + booklike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + format.tr.number output.nonnull + new.sentence + format.addr.inst "institution" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} % ODWE, "months", & + % Chicago, p. 383. +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +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} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " {\em et~al.}" * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " {\em et~al.}" * } + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} + { type$ "book" = + type$ "inbook" = + type$ "incollection" = % For sensible + or or % treatment of + 'author.editor.key.label % Singer in + { type$ "proceedings" = % BS 1629. + 'editor.key.label + 'author.key.label + if$ + } + if$ + duplicate$ + year empty$ + { + "\protect\citename{" swap$ * ", }" * + "n.d." * 'label := % Chicago, + } % page 457. + { + "\protect\citename{" swap$ * ", }" * + year + * + 'label := + } + if$ + year field.or.null purify$ * + sortify 'sort.label := +} + + +FUNCTION {sort.format.names} % To produce the +{ 's := % order of entries + #1 'nameptr := % specified in item + "" % (3) on page 187 + s num.names$ 'numnames := % of Butcher. + numnames 'namesleft := + { namesleft #0 > nameptr #3 < and } % Only 1st 2 names + { nameptr #1 > % matter for + { " " * } % sorting. + 'skip$ + if$ % Anything that's + nameptr #2 = numnames #2 > and % "et al" goes + { "zzzzz" * } % after works by 2 + { % authors. + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} % Two sorting +{ calc.label % passes, from + label sortify % apalike.bst. + " " + * + type$ "book" = + type$ "inbook" = + type$ "incollection" = % For Singer + or or % in BS 1629. + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +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$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ % Code needed here + % if \citeauthor + % and \citeyear + label extra.label * 'label := % were supported. + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst b/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst new file mode 100644 index 00000000000..39e2a8ae29b --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst @@ -0,0 +1,1310 @@ +% This BibTeX 0.99 style file is intended for documents that use the +% author-date citation system. It should be used in conjunction with the +% authordate1-4.sty (or equivalent) LaTeX style-option. +% +% In deciding on the bibliography layout to be implemented, the following +% works have been consulted: +% 1. British Standard 5605: "Citing publications by bibliographic +% references", 1978. +% 2. British Standard 1629: "Bibliographic references", 1976. +% (Note: There is now a 1989 edition.) +% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. +% 4. "The Oxford Dictionary for Writers and Editors", Oxford University +% Press, 1981 (for abbreviations). +% 5. "The Chicago Manual of Style", Chicago University Press, 1982. +% +% Discretion has been used in certain matters. In particular: +% - Titles are italic except when there is a "contribution title" and +% a "main publication title", in which case the "contribution title" +% is roman while the "main publication title" is italic. +% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of +% publication"; output is of the form "place-of-publication: publisher". +% When there is an ORGANIZATION as well as a PUBLISHER, output is of the +% form "place-of-publication: publisher, for organization". Otherwise, +% it is assumed that ADDRESS is a postal address, and output is of the +% form "institution, address", "organization, address", "school, address" +% or "howpublished, address". +% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the +% MONTH is used on the assumption that it contains information that is +% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents +% that have a PUBLISHER, but output after YEAR for anything else. +% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that +% these fields are being used to pick out particular pages of interest +% (as an alternative to using the optional [...] argument of \cite); +% the information is put at the very end of the entry, in line with BS 1629. +% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, +% it is assumed that the fields are being used to specify the location of +% the part/article of interest; the information is put before the +% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". +% - Since "volume" can be used in various ways (see page 219 of Butcher), +% this file assumes that, when there is a SERIES, any VOLUME and NUMBER +% refer to position in the SERIES (i.e. Butcher's meaning 4). +% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers +% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). +% For INPROCEEDINGS and INCOLLECTION, this information goes after the +% BOOKTITLE. (If you prefer to have volume information before EDITOR, +% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) +% +% This file differs from authordate1.bst, authordate3.bst and authordate4.bst +% in that: +% - Titles of journals, articles and boooks are "downstyle". Apart from the +% first character, and the first character following : and white space, +% uppercase letters are converted to lowercase unless protected by {}. +% - Author's and editor's names are in roman. +% +% The combination of authordate2.bst and authordate1-4.sty allows citations +% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% This file was developed from apalike.bst. It also uses code taken from +% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. +% +% David Rhead +% Cripps Computing Centre +% Nottingham University +% March 1990 +% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.year.month.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + month empty$ + { " " year * extra.label * "." * + after.sentence 'output.state := + } + { " " year * extra.label * " (" * month * ")." * + after.sentence 'output.state := + } + if$ + } + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + " " year * extra.label * "." * + after.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { ", {\em et~al.}" * } + { ", \& " * t * } % Butcher, pages + if$ % 186-189. + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > % Use ODWE abbrevs. + { " (eds)" * } % to avoid + { " (ed)" * } % ambiguity between + if$ % "editor" and + } % "edition". + if$ +} + +FUNCTION {format.title} % Howells example +{ title empty$ % in BS 5605 comes + { "" } % out wrong because + { title "t" change.case$ } % Patashnik + if$ % capitalizes +} % after a colon. + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title empty$ + { "" } + { title "t" change.case$ emphasize } + if$ +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.numberinseries} +{ number empty$ + { "" } + { number multi.page.check + { ", nos. " number n.dashify tie.or.space.connect } + { ", no. " number tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {booklike.series.volume.number} % Chicago, pages +{ series empty$ % 450-451. + { volume empty$ + { " " } + { " Vol. " volume * } + if$ + } + { + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {incollectionlike.series.volume.number} +{ series empty$ + { volume empty$ + { " " } + { " vol. " volume * } + if$ + } + { new.block + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "" pages n.dashify tie.or.space.connect } + { "" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.pagesinbook} % By the time the +{ pages empty$ % reader has read + { "" } % address, pub'r, + { pages multi.page.check % note (where the + { "Pages " pages n.dashify tie.or.space.connect } % note may end with + { "Page " pages tie.or.space.connect } % numbers), s/he + if$ % may not recognise + } % a number-range as + if$ % meaning pages. +} % Avoid ambiguity + % (Butcher, p.181). + +FUNCTION {format.vol.num.date.pages} +{ volume empty$ + { month empty$ + { "" } + { month } + if$ + } + { volume boldface field.or.null + number empty$ + { month empty$ + 'skip$ + { "(" month * ")" * * } + if$ + } + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.inbook} +{ chapter empty$ + 'format.pagesinbook + { type empty$ + { "Chap." } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pagesinbook "l" change.case$ * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.incoll} +{ chapter empty$ + { pages empty$ + { "{\em In:} " } + { "{\em " format.pagesinbook " of:} " * * } + if$ + } + { type empty$ + { "{\em Chap. " chapter * } + { "{\em " type * " " * chapter * } + if$ + pages empty$ + { " of:} " * } + { ", " * format.pagesinbook "l" change.case$ " of:} " * * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} % Achieves effect +{ booktitle empty$ % shown in 16.51 + { "" } % of Chicago, at + { editor empty$ % expense of not + { format.chapter.pages.incoll % achieving effects + booktitle "t" change.case$ emphasize * } % shown in 16.50 + { format.chapter.pages.incoll % of Chicago, on + format.editors * ", " * % page 189 of + booktitle "t" change.case$ emphasize * } % Butcher and in + if$ % 4.4 of BS 1629. + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. rept." } % ODWE abbrevs. + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.addr.pub} +{ publisher empty$ + { "" } + { address empty$ + { "" } + { address ": " * } + if$ + publisher * + } + if$ +} + +FUNCTION {format.addr.pub.org} % If there's an +{ address empty$ % an organization + { publisher * ", for " * organization * } % and a publisher + { address ": " * publisher * ", for " * organization * } % too. + if$ +} + +FUNCTION {format.addr.inst} +{ address empty$ + { institution empty$ + { "" } + { institution } + if$ + } + { institution empty$ + { "" } + { institution ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.addr.org} +{ address empty$ + { organization empty$ + { "" } + { organization } + if$ + } + { organization empty$ + { "" } + { organization ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.article.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\em In:}" + } + { " Vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal "t" change.case$ emphasize + "journal" output.check + format.vol.num.date.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + howpublished output + address output + new.block + 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + new.block % BS 1629 (rather + format.chapter.pages.inbook "chapter and pages" output.check + fin.entry % than Chicago, +} % p. 451) + +FUNCTION {incollection} +{ output.bibitem + author empty$ + { format.editors "editor" output.check + editor format.key output } + { format.authors "author" output.check + author format.key output } + if$ + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ % Chapter and/or + { format.in.ed.booktitle output % page numbers can + format.edition output % come out via this + incollectionlike.series.volume.number output % route, too. + new.block + format.addr.pub "publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + new.block + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + incollectionlike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.sentence + format.edition output + new.block + organization address new.block.checkb + format.addr.org output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, + school "school" output.check % page 174. + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors "author and editor" output.check + editor format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.btitle "title" output.check + new.block + booklike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + format.tr.number output.nonnull + new.sentence + format.addr.inst "institution" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} % ODWE, "months", & + % Chicago, p. 383. +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +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} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " {\em et~al.}" * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " {\em et~al.}" * } + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} + { type$ "book" = + type$ "inbook" = + type$ "incollection" = % For sensible + or or % treatment of + 'author.editor.key.label % Singer in + { type$ "proceedings" = % BS 1629. + 'editor.key.label + 'author.key.label + if$ + } + if$ + duplicate$ + year empty$ + { + "\protect\citename{" swap$ * ", }" * + "n.d." * 'label := % Chicago, + } % page 457. + { + "\protect\citename{" swap$ * ", }" * + year + * + 'label := + } + if$ + year field.or.null purify$ * + sortify 'sort.label := +} + + +FUNCTION {sort.format.names} % To produce the +{ 's := % order of entries + #1 'nameptr := % specified in item + "" % (3) on page 187 + s num.names$ 'numnames := % of Butcher. + numnames 'namesleft := + { namesleft #0 > nameptr #3 < and } % Only 1st 2 names + { nameptr #1 > % matter for + { " " * } % sorting. + 'skip$ + if$ % Anything that's + nameptr #2 = numnames #2 > and % "et al" goes + { "zzzzz" * } % after works by 2 + { % authors. + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} % Two sorting +{ calc.label % passes, from + label sortify % apalike.bst. + " " + * + type$ "book" = + type$ "inbook" = + type$ "incollection" = % For Singer + or or % in BS 1629. + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +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$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ % Code needed here + % if \citeauthor + % and \citeyear + label extra.label * 'label := % were supported. + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst b/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst new file mode 100644 index 00000000000..d105c7c215e --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst @@ -0,0 +1,1309 @@ +% This BibTeX 0.99 style file is intended for documents that use the +% author-date citation system. It should be used in conjunction with the +% authordate1-4.sty (or equivalent) LaTeX style-option. +% +% In deciding on the bibliography layout to be implemented, the following +% works have been consulted: +% 1. British Standard 5605: "Citing publications by bibliographic +% references", 1978. +% 2. British Standard 1629: "Bibliographic references", 1976. +% (Note: There is now a 1989 edition.) +% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. +% 4. "The Oxford Dictionary for Writers and Editors", Oxford University +% Press, 1981 (for abbreviations). +% 5. "The Chicago Manual of Style", Chicago University Press, 1982. +% +% Discretion has been used in certain matters. In particular: +% - Titles are italic except when there is a "contribution title" and +% a "main publication title", in which case the "contribution title" +% is roman while the "main publication title" is italic. +% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of +% publication"; output is of the form "place-of-publication: publisher". +% When there is an ORGANIZATION as well as a PUBLISHER, output is of the +% form "place-of-publication: publisher, for organization". Otherwise, +% it is assumed that ADDRESS is a postal address, and output is of the +% form "institution, address", "organization, address", "school, address" +% or "howpublished, address". +% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the +% MONTH is used on the assumption that it contains information that is +% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents +% that have a PUBLISHER, but output after YEAR for anything else. +% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that +% these fields are being used to pick out particular pages of interest +% (as an alternative to using the optional [...] argument of \cite); +% the information is put at the very end of the entry, in line with BS 1629. +% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, +% it is assumed that the fields are being used to specify the location of +% the part/article of interest; the information is put before the +% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". +% - Since "volume" can be used in various ways (see page 219 of Butcher), +% this file assumes that, when there is a SERIES, any VOLUME and NUMBER +% refer to position in the SERIES (i.e. Butcher's meaning 4). +% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers +% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). +% For INPROCEEDINGS and INCOLLECTION, this information goes after the +% BOOKTITLE. (If you prefer to have volume information before EDITOR, +% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) +% +% This file differs from authordate1.bst, authordate2.bst and authordate4.bst +% in that: +% - The titles of articles, journals and books are left in whatever +% combination of upper-case and lower-case appears in the .bib file. +% - Author's and editor's names are in small capitals. +% +% The combination of authordate3.bst and authordate1-4.sty allows citations +% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% This file was developed from apalike.bst. It also uses code taken from +% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. +% +% David Rhead +% Cripps Computing Centre +% Nottingham University +% March 1990 +% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.year.month.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + month empty$ + { " " year * extra.label * "." * + after.sentence 'output.state := + } + { " " year * extra.label * " (" * month * ")." * + after.sentence 'output.state := + } + if$ + } + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + " " year * extra.label * "." * + after.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { ", {\em et~al.}" * } + { ", \& " * t * } % Butcher, pages + if$ % 186-189. + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } % Small capitals + { "{\sc " * author format.names "}" * } % for + if$ % authordate3.bst +} % and + % authordate4.bst. +FUNCTION {format.key} +{ empty$ + { "{\sc " * key field.or.null "}" * } % Small capitals. + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } % Small capitals. + { "{\sc " * editor format.names "}" * + editor num.names$ #1 > % Use ODWE abbrevs. + { " (eds)" * } % to avoid + { " (ed)" * } % ambiguity between + if$ % "editor" and + } % "edition". + if$ +} + +FUNCTION {format.title} % Nothing needs +{ title empty$ % doing here in + { "" } % authordate1.bst + { title } % or + if$ % authordate3.bst. +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title empty$ + { "" } % Don't change case + { title emphasize } % in + if$ % authordate1.bst +} % or + % authordate3.bst. +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.numberinseries} +{ number empty$ + { "" } + { number multi.page.check + { ", nos. " number n.dashify tie.or.space.connect } + { ", no. " number tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {booklike.series.volume.number} % Chicago, pages +{ series empty$ % 450-451. + { volume empty$ + { " " } + { " Vol. " volume * } + if$ + } + { + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {incollectionlike.series.volume.number} +{ series empty$ + { volume empty$ + { " " } + { " vol. " volume * } + if$ + } + { new.block + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "" pages n.dashify tie.or.space.connect } + { "" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.pagesinbook} % By the time the +{ pages empty$ % reader has read + { "" } % address, pub'r, + { pages multi.page.check % note (where the + { "Pages " pages n.dashify tie.or.space.connect } % note may end with + { "Page " pages tie.or.space.connect } % numbers), s/he + if$ % may not recognise + } % a number-range as + if$ % meaning pages. +} % Avoid ambiguity + % (Butcher, p.181). + +FUNCTION {format.vol.num.date.pages} +{ volume empty$ + { month empty$ + { "" } + { month } + if$ + } + { volume boldface field.or.null + number empty$ + { month empty$ + 'skip$ + { "(" month * ")" * * } + if$ + } + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.inbook} +{ chapter empty$ + 'format.pagesinbook + { type empty$ + { "Chap." } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pagesinbook "l" change.case$ * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.incoll} +{ chapter empty$ + { pages empty$ + { "{\em In:} " } + { "{\em " format.pagesinbook " of:} " * * } + if$ + } + { type empty$ + { "{\em Chap. " chapter * } + { "{\em " type * " " * chapter * } + if$ + pages empty$ + { " of:} " * } + { ", " * format.pagesinbook "l" change.case$ " of:} " * * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} % Achieves effect +{ booktitle empty$ % shown in 16.51 + { "" } % of Chicago, at + { editor empty$ % expense of not + { format.chapter.pages.incoll % achieving effects + booktitle emphasize * } % shown in 16.50 + { format.chapter.pages.incoll % of Chicago, on + format.editors * ", " * % page 189 of + booktitle emphasize * } % Butcher and in + if$ % 4.4 of BS 1629. + } + if$ % Don't change +} % case. + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type % Don't change + } % case. + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. rept." } % ODWE abbrevs. + 'type + if$ + number empty$ + { } % Whatever was + { number tie.or.space.connect } % having its case + if$ % changed, leave +} % it alone. + +FUNCTION {format.addr.pub} +{ publisher empty$ + { "" } + { address empty$ + { "" } + { address ": " * } + if$ + publisher * + } + if$ +} + +FUNCTION {format.addr.pub.org} % If there's an +{ address empty$ % an organization + { publisher * ", for " * organization * } % and a publisher + { address ": " * publisher * ", for " * organization * } % too. + if$ +} + +FUNCTION {format.addr.inst} +{ address empty$ + { institution empty$ + { "" } + { institution } + if$ + } + { institution empty$ + { "" } + { institution ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.addr.org} +{ address empty$ + { organization empty$ + { "" } + { organization } + if$ + } + { organization empty$ + { "" } + { organization ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.article.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\em In:}" + } + { " Vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize % Don't change + "journal" output.check % case. + format.vol.num.date.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + howpublished output + address output + new.block + 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + new.block % BS 1629 (rather + format.chapter.pages.inbook "chapter and pages" output.check + fin.entry % than Chicago, +} % p. 451) + +FUNCTION {incollection} +{ output.bibitem + author empty$ + { format.editors "editor" output.check + editor format.key output } + { format.authors "author" output.check + author format.key output } + if$ + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ % Chapter and/or + { format.in.ed.booktitle output % page numbers can + format.edition output % come out via this + incollectionlike.series.volume.number output % route, too. + new.block + format.addr.pub "publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + new.block + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + incollectionlike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.sentence + format.edition output + new.block + organization address new.block.checkb + format.addr.org output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, + school "school" output.check % page 174. + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors "author and editor" output.check + editor format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.btitle "title" output.check + new.block + booklike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + format.tr.number output.nonnull + new.sentence + format.addr.inst "institution" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} % ODWE, "months", & + % Chicago, p. 383. +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +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} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " {\em et~al.}" * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " {\em et~al.}" * } + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} + { type$ "book" = + type$ "inbook" = + type$ "incollection" = % For sensible + or or % treatment of + 'author.editor.key.label % Singer in + { type$ "proceedings" = % BS 1629. + 'editor.key.label + 'author.key.label + if$ + } + if$ + duplicate$ + year empty$ + { + "\protect\citename{" swap$ * ", }" * + "n.d." * 'label := % Chicago, + } % page 457. + { + "\protect\citename{" swap$ * ", }" * + year + * + 'label := + } + if$ + year field.or.null purify$ * + sortify 'sort.label := +} + + +FUNCTION {sort.format.names} % To produce the +{ 's := % order of entries + #1 'nameptr := % specified in item + "" % (3) on page 187 + s num.names$ 'numnames := % of Butcher. + numnames 'namesleft := + { namesleft #0 > nameptr #3 < and } % Only 1st 2 names + { nameptr #1 > % matter for + { " " * } % sorting. + 'skip$ + if$ % Anything that's + nameptr #2 = numnames #2 > and % "et al" goes + { "zzzzz" * } % after works by 2 + { % authors. + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} % Two sorting +{ calc.label % passes, from + label sortify % apalike.bst. + " " + * + type$ "book" = + type$ "inbook" = + type$ "incollection" = % For Singer + or or % in BS 1629. + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +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$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ % Code needed here + % if \citeauthor + % and \citeyear + label extra.label * 'label := % were supported. + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst b/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst new file mode 100644 index 00000000000..b8f76ab695b --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst @@ -0,0 +1,1310 @@ +% This BibTeX 0.99 style file is intended for documents that use the +% author-date citation system. It should be used in conjunction with the +% authordate1-4.sty (or equivalent) LaTeX style-option. +% +% In deciding on the bibliography layout to be implemented, the following +% works have been consulted: +% 1. British Standard 5605: "Citing publications by bibliographic +% references", 1978. +% 2. British Standard 1629: "Bibliographic references", 1976. +% (Note: There is now a 1989 edition.) +% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. +% 4. "The Oxford Dictionary for Writers and Editors", Oxford University +% Press, 1981 (for abbreviations). +% 5. "The Chicago Manual of Style", Chicago University Press, 1982. +% +% Discretion has been used in certain matters. In particular: +% - Titles are italic except when there is a "contribution title" and +% a "main publication title", in which case the "contribution title" +% is roman while the "main publication title" is italic. +% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of +% publication"; output is of the form "place-of-publication: publisher". +% When there is an ORGANIZATION as well as a PUBLISHER, output is of the +% form "place-of-publication: publisher, for organization". Otherwise, +% it is assumed that ADDRESS is a postal address, and output is of the +% form "institution, address", "organization, address", "school, address" +% or "howpublished, address". +% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the +% MONTH is used on the assumption that it contains information that is +% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents +% that have a PUBLISHER, but output after YEAR for anything else. +% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that +% these fields are being used to pick out particular pages of interest +% (as an alternative to using the optional [...] argument of \cite); +% the information is put at the very end of the entry, in line with BS 1629. +% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, +% it is assumed that the fields are being used to specify the location of +% the part/article of interest; the information is put before the +% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". +% - Since "volume" can be used in various ways (see page 219 of Butcher), +% this file assumes that, when there is a SERIES, any VOLUME and NUMBER +% refer to position in the SERIES (i.e. Butcher's meaning 4). +% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers +% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). +% For INPROCEEDINGS and INCOLLECTION, this information goes after the +% BOOKTITLE. (If you prefer to have volume information before EDITOR, +% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) +% +% This file differs from authordate1.bst, authordate2.bst and authordate3.bst +% in that: +% - Titles of articles, journals and books are "downstyle". Apart from the +% first character, and the first character following : and white space, +% uppercase letters are converted to lowercase unless protected by {}. +% - Author's and editor's names are in small capitals. +% +% The combination of authordate4.bst and authordate1-4.sty allows citations +% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% This file was developed from apalike.bst. It also uses code taken from +% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. +% +% David Rhead +% Cripps Computing Centre +% Nottingham University +% March 1990 +% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.year.month.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + month empty$ + { " " year * extra.label * "." * + after.sentence 'output.state := + } + { " " year * extra.label * " (" * month * ")." * + after.sentence 'output.state := + } + if$ + } + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + " " year * extra.label * "." * + after.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { ", {\em et~al.}" * } + { ", \& " * t * } % Butcher, pages + if$ % 186-189. + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } % Small capitals + { "{\sc " * author format.names "}" * } % for + if$ % authordate3.bst +} % and + % authordate4.bst. +FUNCTION {format.key} +{ empty$ + { "{\sc " * key field.or.null "}" * } % Small capitals. + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } % Small capitals. + { "{\sc " * editor format.names "}" * + editor num.names$ #1 > % Use ODWE abbrevs. + { " (eds)" * } % to avoid + { " (ed)" * } % ambiguity between + if$ % "editor" and + } % "edition". + if$ +} + +FUNCTION {format.title} % Howells example +{ title empty$ % in BS 5605 comes + { "" } % out wrong because + { title "t" change.case$ } % Patashnik + if$ % capitalizes +} % after a colon. + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title empty$ + { "" } + { title "t" change.case$ emphasize } + if$ +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.numberinseries} +{ number empty$ + { "" } + { number multi.page.check + { ", nos. " number n.dashify tie.or.space.connect } + { ", no. " number tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {booklike.series.volume.number} % Chicago, pages +{ series empty$ % 450-451. + { volume empty$ + { " " } + { " Vol. " volume * } + if$ + } + { + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {incollectionlike.series.volume.number} +{ series empty$ + { volume empty$ + { " " } + { " vol. " volume * } + if$ + } + { new.block + volume empty$ + { number empty$ + { series } + { series format.numberinseries * } + if$ + } + { number empty$ + { series ", vol. " volume * * } + { series ", vol. " * volume * format.numberinseries * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "" pages n.dashify tie.or.space.connect } + { "" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.pagesinbook} % By the time the +{ pages empty$ % reader has read + { "" } % address, pub'r, + { pages multi.page.check % note (where the + { "Pages " pages n.dashify tie.or.space.connect } % note may end with + { "Page " pages tie.or.space.connect } % numbers), s/he + if$ % may not recognise + } % a number-range as + if$ % meaning pages. +} % Avoid ambiguity + % (Butcher, p.181). + +FUNCTION {format.vol.num.date.pages} +{ volume empty$ + { month empty$ + { "" } + { month } + if$ + } + { volume boldface field.or.null + number empty$ + { month empty$ + 'skip$ + { "(" month * ")" * * } + if$ + } + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.inbook} +{ chapter empty$ + 'format.pagesinbook + { type empty$ + { "Chap." } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pagesinbook "l" change.case$ * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages.incoll} +{ chapter empty$ + { pages empty$ + { "{\em In:} " } + { "{\em " format.pagesinbook " of:} " * * } + if$ + } + { type empty$ + { "{\em Chap. " chapter * } + { "{\em " type * " " * chapter * } + if$ + pages empty$ + { " of:} " * } + { ", " * format.pagesinbook "l" change.case$ " of:} " * * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} % Achieves effect +{ booktitle empty$ % shown in 16.51 + { "" } % of Chicago, at + { editor empty$ % expense of not + { format.chapter.pages.incoll % achieving effects + booktitle "t" change.case$ emphasize * } % shown in 16.50 + { format.chapter.pages.incoll % of Chicago, on + format.editors * ", " * % page 189 of + booktitle "t" change.case$ emphasize * } % Butcher and in + if$ % 4.4 of BS 1629. + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. rept." } % ODWE abbrevs. + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.addr.pub} +{ publisher empty$ + { "" } + { address empty$ + { "" } + { address ": " * } + if$ + publisher * + } + if$ +} + +FUNCTION {format.addr.pub.org} % If there's an +{ address empty$ % an organization + { publisher * ", for " * organization * } % and a publisher + { address ": " * publisher * ", for " * organization * } % too. + if$ +} + +FUNCTION {format.addr.inst} +{ address empty$ + { institution empty$ + { "" } + { institution } + if$ + } + { institution empty$ + { "" } + { institution ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.addr.org} +{ address empty$ + { organization empty$ + { "" } + { organization } + if$ + } + { organization empty$ + { "" } + { organization ", " * } + if$ + address * + } + if$ +} + +FUNCTION {format.article.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "{\em In:}" + } + { " Vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "{\em In:}" + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal "t" change.case$ emphasize + "journal" output.check + format.vol.num.date.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + howpublished output + address output + new.block + 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$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence + format.edition output + new.block + booklike.series.volume.number output + new.block + format.addr.pub "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + new.block % BS 1629 (rather + format.chapter.pages.inbook "chapter and pages" output.check + fin.entry % than Chicago, +} % p. 451) + +FUNCTION {incollection} +{ output.bibitem + author empty$ + { format.editors "editor" output.check + editor format.key output } + { format.authors "author" output.check + author format.key output } + if$ + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ % Chapter and/or + { format.in.ed.booktitle output % page numbers can + format.edition output % come out via this + incollectionlike.series.volume.number output % route, too. + new.block + format.addr.pub "publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + new.block + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + incollectionlike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.sentence + format.edition output + new.block + organization address new.block.checkb + format.addr.org output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.month.check + new.block + format.btitle output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, + school "school" output.check % page 174. + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors "author and editor" output.check + editor format.key output + publisher empty$ + { output.year.month.check } + { output.year.check } + if$ + new.block + format.btitle "title" output.check + new.block + booklike.series.volume.number output + new.block + publisher empty$ + { + organization empty$ + 'skip$ + { format.addr.org output } + if$ + } + { + organization empty$ + { format.addr.pub output } + { format.addr.pub.org output } + if$ + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + format.tr.number output.nonnull + new.sentence + format.addr.inst "institution" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.month.check + new.block + format.btitle "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} % ODWE, "months", & + % Chicago, p. 383. +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +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} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " {\em et~al.}" * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " {\em et~al.}" * } + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} + { type$ "book" = + type$ "inbook" = + type$ "incollection" = % For sensible + or or % treatment of + 'author.editor.key.label % Singer in + { type$ "proceedings" = % BS 1629. + 'editor.key.label + 'author.key.label + if$ + } + if$ + duplicate$ + year empty$ + { + "\protect\citename{" swap$ * ", }" * + "n.d." * 'label := % Chicago, + } % page 457. + { + "\protect\citename{" swap$ * ", }" * + year + * + 'label := + } + if$ + year field.or.null purify$ * + sortify 'sort.label := +} + + +FUNCTION {sort.format.names} % To produce the +{ 's := % order of entries + #1 'nameptr := % specified in item + "" % (3) on page 187 + s num.names$ 'numnames := % of Butcher. + numnames 'namesleft := + { namesleft #0 > nameptr #3 < and } % Only 1st 2 names + { nameptr #1 > % matter for + { " " * } % sorting. + 'skip$ + if$ % Anything that's + nameptr #2 = numnames #2 > and % "et al" goes + { "zzzzz" * } % after works by 2 + { % authors. + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} % Two sorting +{ calc.label % passes, from + label sortify % apalike.bst. + " " + * + type$ "book" = + type$ "inbook" = + type$ "incollection" = % For Singer + or or % in BS 1629. + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +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$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ % Code needed here + % if \citeauthor + % and \citeyear + label extra.label * 'label := % were supported. + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst deleted file mode 100644 index 8942b0f6e4e..00000000000 --- a/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst +++ /dev/null @@ -1,1309 +0,0 @@ -% This BibTeX 0.99 style file is intended for documents that use the -% author-date citation system. It should be used in conjunction with the -% authordate1-4.sty (or equivalent) LaTeX style-option. -% -% In deciding on the bibliography layout to be implemented, the following -% works have been consulted: -% 1. British Standard 5605: "Citing publications by bibliographic -% references", 1978. -% 2. British Standard 1629: "Bibliographic references", 1976. -% (Note: There is now a 1989 edition.) -% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. -% 4. "The Oxford Dictionary for Writers and Editors", Oxford University -% Press, 1981 (for abbreviations). -% 5. "The Chicago Manual of Style", Chicago University Press, 1982. -% -% Discretion has been used in certain matters. In particular: -% - Titles are italic except when there is a "contribution title" and -% a "main publication title", in which case the "contribution title" -% is roman while the "main publication title" is italic. -% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of -% publication"; output is of the form "place-of-publication: publisher". -% When there is an ORGANIZATION as well as a PUBLISHER, output is of the -% form "place-of-publication: publisher, for organization". Otherwise, -% it is assumed that ADDRESS is a postal address, and output is of the -% form "institution, address", "organization, address", "school, address" -% or "howpublished, address". -% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the -% MONTH is used on the assumption that it contains information that is -% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents -% that have a PUBLISHER, but output after YEAR for anything else. -% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that -% these fields are being used to pick out particular pages of interest -% (as an alternative to using the optional [...] argument of \cite); -% the information is put at the very end of the entry, in line with BS 1629. -% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, -% it is assumed that the fields are being used to specify the location of -% the part/article of interest; the information is put before the -% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". -% - Since "volume" can be used in various ways (see page 219 of Butcher), -% this file assumes that, when there is a SERIES, any VOLUME and NUMBER -% refer to position in the SERIES (i.e. Butcher's meaning 4). -% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers -% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). -% For INPROCEEDINGS and INCOLLECTION, this information goes after the -% BOOKTITLE. (If you prefer to have volume information before EDITOR, -% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) -% -% This file differs from authordate2.bst, authordate3.bst and authordate4.bst -% in that: -% - The titles of articles, journals and books are left in whatever -% combination of upper-case and lower-case appears in the .bib file. -% - Author's and editor's names are in roman. -% -% The combination of authordate1.bst and authordate1-4.sty allows citations -% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. -% When -% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... -% appears in the input file, -% ... (Bloggs, 1960) ... (1960) ... -% appears in the final document. -% -% This file was developed from apalike.bst. It also uses code taken from -% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. -% -% David Rhead -% Cripps Computing Centre -% Nottingham University -% March 1990 -% - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.year.month.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - month empty$ - { " " year * extra.label * "." * - after.sentence 'output.state := - } - { " " year * extra.label * " (" * month * ")." * - after.sentence 'output.state := - } - if$ - } - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - " " year * extra.label * "." * - after.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - "]{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", {\em et~al.\ }\relax" * } - { ", \& " * t * } % Butcher, pages - if$ % 186-189. - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > % Use ODWE abbrevs. - { " (eds)" * } % to avoid - { " (ed)" * } % ambiguity between - if$ % "editor" and - } % "edition". - if$ -} - -FUNCTION {format.title} % Nothing needs -{ title empty$ % doing here in - { "" } % authordate1.bst - { title } % or - if$ % authordate3.bst. -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.btitle} -{ title empty$ - { "" } % Don't change case - { title emphasize } % in - if$ % authordate1.bst -} % or - % authordate3.bst. -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.numberinseries} -{ number empty$ - { "" } - { number multi.page.check - { ", nos. " number n.dashify tie.or.space.connect } - { ", no. " number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {booklike.series.volume.number} % Chicago, pages -{ series empty$ % 450-451. - { volume empty$ - { " " } - { " Vol. " volume * } - if$ - } - { - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {incollectionlike.series.volume.number} -{ series empty$ - { volume empty$ - { " " } - { " vol. " volume * } - if$ - } - { new.block - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.pagesinbook} % By the time the -{ pages empty$ % reader has read - { "" } % address, pub'r, - { pages multi.page.check % note (where the - { "Pages " pages n.dashify tie.or.space.connect } % note may end with - { "Page " pages tie.or.space.connect } % numbers), s/he - if$ % may not recognise - } % a number-range as - if$ % meaning pages. -} % Avoid ambiguity - % (Butcher, p.181). - -FUNCTION {format.vol.num.date.pages} -{ volume empty$ - { month empty$ - { "" } - { month } - if$ - } - { volume boldface field.or.null - number empty$ - { month empty$ - 'skip$ - { "(" month * ")" * * } - if$ - } - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.inbook} -{ chapter empty$ - 'format.pagesinbook - { type empty$ - { "Chap." } - { type } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pagesinbook "l" change.case$ * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.incoll} -{ chapter empty$ - { pages empty$ - { "{\em In:} " } - { "{\em " format.pagesinbook " of:} " * * } - if$ - } - { type empty$ - { "{\em Chap. " chapter * } - { "{\em " type * " " * chapter * } - if$ - pages empty$ - { " of:} " * } - { ", " * format.pagesinbook "l" change.case$ " of:} " * * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} % Achieves effect -{ booktitle empty$ % shown in 16.51 - { "" } % of Chicago, at - { editor empty$ % expense of not - { format.chapter.pages.incoll % achieving effects - booktitle emphasize * } % shown in 16.50 - { format.chapter.pages.incoll % of Chicago, on - format.editors * ", " * % page 189 of - booktitle emphasize * } % Butcher and in - if$ % 4.4 of BS 1629. - } - if$ % Don't change -} % case. - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type % Don't change - } % case. - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. rept." } % ODWE abbrevs. - 'type - if$ - number empty$ - { } % Whatever was - { number tie.or.space.connect } % having its case - if$ % changed, leave -} % it alone. - -FUNCTION {format.addr.pub} -{ publisher empty$ - { "" } - { address empty$ - { "" } - { address ": " * } - if$ - publisher * - } - if$ -} - -FUNCTION {format.addr.pub.org} % If there's an -{ address empty$ % an organization - { publisher * ", for " * organization * } % and a publisher - { address ": " * publisher * ", for " * organization * } % too. - if$ -} - -FUNCTION {format.addr.inst} -{ address empty$ - { institution empty$ - { "" } - { institution } - if$ - } - { institution empty$ - { "" } - { institution ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.addr.org} -{ address empty$ - { organization empty$ - { "" } - { organization } - if$ - } - { organization empty$ - { "" } - { organization ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.article.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "{\em In:}" - } - { " Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize % Don't change - "journal" output.check % case. - format.vol.num.date.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - new.block % BS 1629 (rather - format.chapter.pages.inbook "chapter and pages" output.check - fin.entry % than Chicago, -} % p. 451) - -FUNCTION {incollection} -{ output.bibitem - author empty$ - { format.editors "editor" output.check - editor format.key output } - { format.authors "author" output.check - author format.key output } - if$ - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ % Chapter and/or - { format.in.ed.booktitle output % page numbers can - format.edition output % come out via this - incollectionlike.series.volume.number output % route, too. - new.block - format.addr.pub "publisher" output.check - } - { format.incoll.inproc.crossref output.nonnull - new.block - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - incollectionlike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.sentence - format.edition output - new.block - organization address new.block.checkb - format.addr.org output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, - school "school" output.check % page 174. - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors "author and editor" output.check - editor format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.btitle "title" output.check - new.block - booklike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - format.tr.number output.nonnull - new.sentence - format.addr.inst "institution" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} % ODWE, "months", & - % Chicago, p. 383. -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -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} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " {\em et~al.\ }\relax" * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " {\em et~al.\ }\relax" * } - { " \& " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} - { type$ "book" = - type$ "inbook" = - type$ "incollection" = % For sensible - or or % treatment of - 'author.editor.key.label % Singer in - { type$ "proceedings" = % BS 1629. - 'editor.key.label - 'author.key.label - if$ - } - if$ - duplicate$ - year empty$ - { - "\protect\citename{" swap$ * ", }" * - "n.d." * 'label := % Chicago, - } % page 457. - { - "\protect\citename{" swap$ * ", }" * - year - * - 'label := - } - if$ - year field.or.null purify$ * - sortify 'sort.label := -} - - -FUNCTION {sort.format.names} % To produce the -{ 's := % order of entries - #1 'nameptr := % specified in item - "" % (3) on page 187 - s num.names$ 'numnames := % of Butcher. - numnames 'namesleft := - { namesleft #0 > nameptr #3 < and } % Only 1st 2 names - { nameptr #1 > % matter for - { " " * } % sorting. - 'skip$ - if$ % Anything that's - nameptr #2 = numnames #2 > and % "et al" goes - { "zzzzz" * } % after works by 2 - { % authors. - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} % Two sorting -{ calc.label % passes, from - label sortify % apalike.bst. - " " - * - type$ "book" = - type$ "inbook" = - type$ "incollection" = % For Singer - or or % in BS 1629. - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -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$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ % Code needed here - % if \citeauthor - % and \citeyear - label extra.label * 'label := % were supported. - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst deleted file mode 100644 index b777fe80789..00000000000 --- a/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst +++ /dev/null @@ -1,1310 +0,0 @@ -% This BibTeX 0.99 style file is intended for documents that use the -% author-date citation system. It should be used in conjunction with the -% authordate1-4.sty (or equivalent) LaTeX style-option. -% -% In deciding on the bibliography layout to be implemented, the following -% works have been consulted: -% 1. British Standard 5605: "Citing publications by bibliographic -% references", 1978. -% 2. British Standard 1629: "Bibliographic references", 1976. -% (Note: There is now a 1989 edition.) -% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. -% 4. "The Oxford Dictionary for Writers and Editors", Oxford University -% Press, 1981 (for abbreviations). -% 5. "The Chicago Manual of Style", Chicago University Press, 1982. -% -% Discretion has been used in certain matters. In particular: -% - Titles are italic except when there is a "contribution title" and -% a "main publication title", in which case the "contribution title" -% is roman while the "main publication title" is italic. -% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of -% publication"; output is of the form "place-of-publication: publisher". -% When there is an ORGANIZATION as well as a PUBLISHER, output is of the -% form "place-of-publication: publisher, for organization". Otherwise, -% it is assumed that ADDRESS is a postal address, and output is of the -% form "institution, address", "organization, address", "school, address" -% or "howpublished, address". -% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the -% MONTH is used on the assumption that it contains information that is -% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents -% that have a PUBLISHER, but output after YEAR for anything else. -% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that -% these fields are being used to pick out particular pages of interest -% (as an alternative to using the optional [...] argument of \cite); -% the information is put at the very end of the entry, in line with BS 1629. -% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, -% it is assumed that the fields are being used to specify the location of -% the part/article of interest; the information is put before the -% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". -% - Since "volume" can be used in various ways (see page 219 of Butcher), -% this file assumes that, when there is a SERIES, any VOLUME and NUMBER -% refer to position in the SERIES (i.e. Butcher's meaning 4). -% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers -% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). -% For INPROCEEDINGS and INCOLLECTION, this information goes after the -% BOOKTITLE. (If you prefer to have volume information before EDITOR, -% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) -% -% This file differs from authordate1.bst, authordate3.bst and authordate4.bst -% in that: -% - Titles of journals, articles and boooks are "downstyle". Apart from the -% first character, and the first character following : and white space, -% uppercase letters are converted to lowercase unless protected by {}. -% - Author's and editor's names are in roman. -% -% The combination of authordate2.bst and authordate1-4.sty allows citations -% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. -% When -% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... -% appears in the input file, -% ... (Bloggs, 1960) ... (1960) ... -% appears in the final document. -% -% This file was developed from apalike.bst. It also uses code taken from -% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. -% -% David Rhead -% Cripps Computing Centre -% Nottingham University -% March 1990 -% - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.year.month.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - month empty$ - { " " year * extra.label * "." * - after.sentence 'output.state := - } - { " " year * extra.label * " (" * month * ")." * - after.sentence 'output.state := - } - if$ - } - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - " " year * extra.label * "." * - after.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - "]{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", {\em et~al.\ }\relax" * } - { ", \& " * t * } % Butcher, pages - if$ % 186-189. - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > % Use ODWE abbrevs. - { " (eds)" * } % to avoid - { " (ed)" * } % ambiguity between - if$ % "editor" and - } % "edition". - if$ -} - -FUNCTION {format.title} % Howells example -{ title empty$ % in BS 5605 comes - { "" } % out wrong because - { title "t" change.case$ } % Patashnik - if$ % capitalizes -} % after a colon. - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.btitle} -{ title empty$ - { "" } - { title "t" change.case$ emphasize } - if$ -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.numberinseries} -{ number empty$ - { "" } - { number multi.page.check - { ", nos. " number n.dashify tie.or.space.connect } - { ", no. " number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {booklike.series.volume.number} % Chicago, pages -{ series empty$ % 450-451. - { volume empty$ - { " " } - { " Vol. " volume * } - if$ - } - { - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {incollectionlike.series.volume.number} -{ series empty$ - { volume empty$ - { " " } - { " vol. " volume * } - if$ - } - { new.block - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.pagesinbook} % By the time the -{ pages empty$ % reader has read - { "" } % address, pub'r, - { pages multi.page.check % note (where the - { "Pages " pages n.dashify tie.or.space.connect } % note may end with - { "Page " pages tie.or.space.connect } % numbers), s/he - if$ % may not recognise - } % a number-range as - if$ % meaning pages. -} % Avoid ambiguity - % (Butcher, p.181). - -FUNCTION {format.vol.num.date.pages} -{ volume empty$ - { month empty$ - { "" } - { month } - if$ - } - { volume boldface field.or.null - number empty$ - { month empty$ - 'skip$ - { "(" month * ")" * * } - if$ - } - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.inbook} -{ chapter empty$ - 'format.pagesinbook - { type empty$ - { "Chap." } - { type } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pagesinbook "l" change.case$ * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.incoll} -{ chapter empty$ - { pages empty$ - { "{\em In:} " } - { "{\em " format.pagesinbook " of:} " * * } - if$ - } - { type empty$ - { "{\em Chap. " chapter * } - { "{\em " type * " " * chapter * } - if$ - pages empty$ - { " of:} " * } - { ", " * format.pagesinbook "l" change.case$ " of:} " * * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} % Achieves effect -{ booktitle empty$ % shown in 16.51 - { "" } % of Chicago, at - { editor empty$ % expense of not - { format.chapter.pages.incoll % achieving effects - booktitle "t" change.case$ emphasize * } % shown in 16.50 - { format.chapter.pages.incoll % of Chicago, on - format.editors * ", " * % page 189 of - booktitle "t" change.case$ emphasize * } % Butcher and in - if$ % 4.4 of BS 1629. - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. rept." } % ODWE abbrevs. - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.addr.pub} -{ publisher empty$ - { "" } - { address empty$ - { "" } - { address ": " * } - if$ - publisher * - } - if$ -} - -FUNCTION {format.addr.pub.org} % If there's an -{ address empty$ % an organization - { publisher * ", for " * organization * } % and a publisher - { address ": " * publisher * ", for " * organization * } % too. - if$ -} - -FUNCTION {format.addr.inst} -{ address empty$ - { institution empty$ - { "" } - { institution } - if$ - } - { institution empty$ - { "" } - { institution ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.addr.org} -{ address empty$ - { organization empty$ - { "" } - { organization } - if$ - } - { organization empty$ - { "" } - { organization ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.article.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "{\em In:}" - } - { " Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal "t" change.case$ emphasize - "journal" output.check - format.vol.num.date.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - new.block % BS 1629 (rather - format.chapter.pages.inbook "chapter and pages" output.check - fin.entry % than Chicago, -} % p. 451) - -FUNCTION {incollection} -{ output.bibitem - author empty$ - { format.editors "editor" output.check - editor format.key output } - { format.authors "author" output.check - author format.key output } - if$ - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ % Chapter and/or - { format.in.ed.booktitle output % page numbers can - format.edition output % come out via this - incollectionlike.series.volume.number output % route, too. - new.block - format.addr.pub "publisher" output.check - } - { format.incoll.inproc.crossref output.nonnull - new.block - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - incollectionlike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.sentence - format.edition output - new.block - organization address new.block.checkb - format.addr.org output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, - school "school" output.check % page 174. - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors "author and editor" output.check - editor format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.btitle "title" output.check - new.block - booklike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - format.tr.number output.nonnull - new.sentence - format.addr.inst "institution" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} % ODWE, "months", & - % Chicago, p. 383. -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -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} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " {\em et~al.\ }\relax" * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " {\em et~al.\ }\relax" * } - { " \& " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} - { type$ "book" = - type$ "inbook" = - type$ "incollection" = % For sensible - or or % treatment of - 'author.editor.key.label % Singer in - { type$ "proceedings" = % BS 1629. - 'editor.key.label - 'author.key.label - if$ - } - if$ - duplicate$ - year empty$ - { - "\protect\citename{" swap$ * ", }" * - "n.d." * 'label := % Chicago, - } % page 457. - { - "\protect\citename{" swap$ * ", }" * - year - * - 'label := - } - if$ - year field.or.null purify$ * - sortify 'sort.label := -} - - -FUNCTION {sort.format.names} % To produce the -{ 's := % order of entries - #1 'nameptr := % specified in item - "" % (3) on page 187 - s num.names$ 'numnames := % of Butcher. - numnames 'namesleft := - { namesleft #0 > nameptr #3 < and } % Only 1st 2 names - { nameptr #1 > % matter for - { " " * } % sorting. - 'skip$ - if$ % Anything that's - nameptr #2 = numnames #2 > and % "et al" goes - { "zzzzz" * } % after works by 2 - { % authors. - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} % Two sorting -{ calc.label % passes, from - label sortify % apalike.bst. - " " - * - type$ "book" = - type$ "inbook" = - type$ "incollection" = % For Singer - or or % in BS 1629. - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -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$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ % Code needed here - % if \citeauthor - % and \citeyear - label extra.label * 'label := % were supported. - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst deleted file mode 100644 index 4abade9bde8..00000000000 --- a/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst +++ /dev/null @@ -1,1309 +0,0 @@ -% This BibTeX 0.99 style file is intended for documents that use the -% author-date citation system. It should be used in conjunction with the -% authordate1-4.sty (or equivalent) LaTeX style-option. -% -% In deciding on the bibliography layout to be implemented, the following -% works have been consulted: -% 1. British Standard 5605: "Citing publications by bibliographic -% references", 1978. -% 2. British Standard 1629: "Bibliographic references", 1976. -% (Note: There is now a 1989 edition.) -% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. -% 4. "The Oxford Dictionary for Writers and Editors", Oxford University -% Press, 1981 (for abbreviations). -% 5. "The Chicago Manual of Style", Chicago University Press, 1982. -% -% Discretion has been used in certain matters. In particular: -% - Titles are italic except when there is a "contribution title" and -% a "main publication title", in which case the "contribution title" -% is roman while the "main publication title" is italic. -% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of -% publication"; output is of the form "place-of-publication: publisher". -% When there is an ORGANIZATION as well as a PUBLISHER, output is of the -% form "place-of-publication: publisher, for organization". Otherwise, -% it is assumed that ADDRESS is a postal address, and output is of the -% form "institution, address", "organization, address", "school, address" -% or "howpublished, address". -% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the -% MONTH is used on the assumption that it contains information that is -% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents -% that have a PUBLISHER, but output after YEAR for anything else. -% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that -% these fields are being used to pick out particular pages of interest -% (as an alternative to using the optional [...] argument of \cite); -% the information is put at the very end of the entry, in line with BS 1629. -% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, -% it is assumed that the fields are being used to specify the location of -% the part/article of interest; the information is put before the -% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". -% - Since "volume" can be used in various ways (see page 219 of Butcher), -% this file assumes that, when there is a SERIES, any VOLUME and NUMBER -% refer to position in the SERIES (i.e. Butcher's meaning 4). -% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers -% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). -% For INPROCEEDINGS and INCOLLECTION, this information goes after the -% BOOKTITLE. (If you prefer to have volume information before EDITOR, -% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) -% -% This file differs from authordate1.bst, authordate2.bst and authordate4.bst -% in that: -% - The titles of articles, journals and books are left in whatever -% combination of upper-case and lower-case appears in the .bib file. -% - Author's and editor's names are in small capitals. -% -% The combination of authordate3.bst and authordate1-4.sty allows citations -% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. -% When -% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... -% appears in the input file, -% ... (Bloggs, 1960) ... (1960) ... -% appears in the final document. -% -% This file was developed from apalike.bst. It also uses code taken from -% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. -% -% David Rhead -% Cripps Computing Centre -% Nottingham University -% March 1990 -% - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.year.month.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - month empty$ - { " " year * extra.label * "." * - after.sentence 'output.state := - } - { " " year * extra.label * " (" * month * ")." * - after.sentence 'output.state := - } - if$ - } - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - " " year * extra.label * "." * - after.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - "]{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", {\em et~al.\ }\relax" * } - { ", \& " * t * } % Butcher, pages - if$ % 186-189. - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } % Small capitals - { "{\sc " * author format.names "}" * } % for - if$ % authordate3.bst -} % and - % authordate4.bst. -FUNCTION {format.key} -{ empty$ - { "{\sc " * key field.or.null "}" * } % Small capitals. - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } % Small capitals. - { "{\sc " * editor format.names "}" * - editor num.names$ #1 > % Use ODWE abbrevs. - { " (eds)" * } % to avoid - { " (ed)" * } % ambiguity between - if$ % "editor" and - } % "edition". - if$ -} - -FUNCTION {format.title} % Nothing needs -{ title empty$ % doing here in - { "" } % authordate1.bst - { title } % or - if$ % authordate3.bst. -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.btitle} -{ title empty$ - { "" } % Don't change case - { title emphasize } % in - if$ % authordate1.bst -} % or - % authordate3.bst. -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.numberinseries} -{ number empty$ - { "" } - { number multi.page.check - { ", nos. " number n.dashify tie.or.space.connect } - { ", no. " number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {booklike.series.volume.number} % Chicago, pages -{ series empty$ % 450-451. - { volume empty$ - { " " } - { " Vol. " volume * } - if$ - } - { - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {incollectionlike.series.volume.number} -{ series empty$ - { volume empty$ - { " " } - { " vol. " volume * } - if$ - } - { new.block - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.pagesinbook} % By the time the -{ pages empty$ % reader has read - { "" } % address, pub'r, - { pages multi.page.check % note (where the - { "Pages " pages n.dashify tie.or.space.connect } % note may end with - { "Page " pages tie.or.space.connect } % numbers), s/he - if$ % may not recognise - } % a number-range as - if$ % meaning pages. -} % Avoid ambiguity - % (Butcher, p.181). - -FUNCTION {format.vol.num.date.pages} -{ volume empty$ - { month empty$ - { "" } - { month } - if$ - } - { volume boldface field.or.null - number empty$ - { month empty$ - 'skip$ - { "(" month * ")" * * } - if$ - } - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.inbook} -{ chapter empty$ - 'format.pagesinbook - { type empty$ - { "Chap." } - { type } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pagesinbook "l" change.case$ * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.incoll} -{ chapter empty$ - { pages empty$ - { "{\em In:} " } - { "{\em " format.pagesinbook " of:} " * * } - if$ - } - { type empty$ - { "{\em Chap. " chapter * } - { "{\em " type * " " * chapter * } - if$ - pages empty$ - { " of:} " * } - { ", " * format.pagesinbook "l" change.case$ " of:} " * * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} % Achieves effect -{ booktitle empty$ % shown in 16.51 - { "" } % of Chicago, at - { editor empty$ % expense of not - { format.chapter.pages.incoll % achieving effects - booktitle emphasize * } % shown in 16.50 - { format.chapter.pages.incoll % of Chicago, on - format.editors * ", " * % page 189 of - booktitle emphasize * } % Butcher and in - if$ % 4.4 of BS 1629. - } - if$ % Don't change -} % case. - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type % Don't change - } % case. - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. rept." } % ODWE abbrevs. - 'type - if$ - number empty$ - { } % Whatever was - { number tie.or.space.connect } % having its case - if$ % changed, leave -} % it alone. - -FUNCTION {format.addr.pub} -{ publisher empty$ - { "" } - { address empty$ - { "" } - { address ": " * } - if$ - publisher * - } - if$ -} - -FUNCTION {format.addr.pub.org} % If there's an -{ address empty$ % an organization - { publisher * ", for " * organization * } % and a publisher - { address ": " * publisher * ", for " * organization * } % too. - if$ -} - -FUNCTION {format.addr.inst} -{ address empty$ - { institution empty$ - { "" } - { institution } - if$ - } - { institution empty$ - { "" } - { institution ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.addr.org} -{ address empty$ - { organization empty$ - { "" } - { organization } - if$ - } - { organization empty$ - { "" } - { organization ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.article.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "{\em In:}" - } - { " Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize % Don't change - "journal" output.check % case. - format.vol.num.date.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - new.block % BS 1629 (rather - format.chapter.pages.inbook "chapter and pages" output.check - fin.entry % than Chicago, -} % p. 451) - -FUNCTION {incollection} -{ output.bibitem - author empty$ - { format.editors "editor" output.check - editor format.key output } - { format.authors "author" output.check - author format.key output } - if$ - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ % Chapter and/or - { format.in.ed.booktitle output % page numbers can - format.edition output % come out via this - incollectionlike.series.volume.number output % route, too. - new.block - format.addr.pub "publisher" output.check - } - { format.incoll.inproc.crossref output.nonnull - new.block - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - incollectionlike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.sentence - format.edition output - new.block - organization address new.block.checkb - format.addr.org output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, - school "school" output.check % page 174. - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors "author and editor" output.check - editor format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.btitle "title" output.check - new.block - booklike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - format.tr.number output.nonnull - new.sentence - format.addr.inst "institution" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} % ODWE, "months", & - % Chicago, p. 383. -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -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} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " {\em et~al.\ }\relax" * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " {\em et~al.\ }\relax" * } - { " \& " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} - { type$ "book" = - type$ "inbook" = - type$ "incollection" = % For sensible - or or % treatment of - 'author.editor.key.label % Singer in - { type$ "proceedings" = % BS 1629. - 'editor.key.label - 'author.key.label - if$ - } - if$ - duplicate$ - year empty$ - { - "\protect\citename{" swap$ * ", }" * - "n.d." * 'label := % Chicago, - } % page 457. - { - "\protect\citename{" swap$ * ", }" * - year - * - 'label := - } - if$ - year field.or.null purify$ * - sortify 'sort.label := -} - - -FUNCTION {sort.format.names} % To produce the -{ 's := % order of entries - #1 'nameptr := % specified in item - "" % (3) on page 187 - s num.names$ 'numnames := % of Butcher. - numnames 'namesleft := - { namesleft #0 > nameptr #3 < and } % Only 1st 2 names - { nameptr #1 > % matter for - { " " * } % sorting. - 'skip$ - if$ % Anything that's - nameptr #2 = numnames #2 > and % "et al" goes - { "zzzzz" * } % after works by 2 - { % authors. - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} % Two sorting -{ calc.label % passes, from - label sortify % apalike.bst. - " " - * - type$ "book" = - type$ "inbook" = - type$ "incollection" = % For Singer - or or % in BS 1629. - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -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$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ % Code needed here - % if \citeauthor - % and \citeyear - label extra.label * 'label := % were supported. - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst b/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst deleted file mode 100644 index b41f2504361..00000000000 --- a/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst +++ /dev/null @@ -1,1310 +0,0 @@ -% This BibTeX 0.99 style file is intended for documents that use the -% author-date citation system. It should be used in conjunction with the -% authordate1-4.sty (or equivalent) LaTeX style-option. -% -% In deciding on the bibliography layout to be implemented, the following -% works have been consulted: -% 1. British Standard 5605: "Citing publications by bibliographic -% references", 1978. -% 2. British Standard 1629: "Bibliographic references", 1976. -% (Note: There is now a 1989 edition.) -% 3. "Copy-editing" by Judith Butcher, Cambridge University Press, 1981. -% 4. "The Oxford Dictionary for Writers and Editors", Oxford University -% Press, 1981 (for abbreviations). -% 5. "The Chicago Manual of Style", Chicago University Press, 1982. -% -% Discretion has been used in certain matters. In particular: -% - Titles are italic except when there is a "contribution title" and -% a "main publication title", in which case the "contribution title" -% is roman while the "main publication title" is italic. -% - When there is a PUBLISHER, it is assumed that ADDRESS contains "place of -% publication"; output is of the form "place-of-publication: publisher". -% When there is an ORGANIZATION as well as a PUBLISHER, output is of the -% form "place-of-publication: publisher, for organization". Otherwise, -% it is assumed that ADDRESS is a postal address, and output is of the -% form "institution, address", "organization, address", "school, address" -% or "howpublished, address". -% - If there is a MONTH but no VOLUME or NUMBER for a journal-article, the -% MONTH is used on the assumption that it contains information that is -% equivalent to VOLUME or NUMBER. MONTH is ignored for other documents -% that have a PUBLISHER, but output after YEAR for anything else. -% - When CHAPTER and/or PAGES are specified with INBOOK, it is assumed that -% these fields are being used to pick out particular pages of interest -% (as an alternative to using the optional [...] argument of \cite); -% the information is put at the very end of the entry, in line with BS 1629. -% When CHAPTER and/or PAGES are specified for INCOLLECTION or INPROCEEDINGS, -% it is assumed that the fields are being used to specify the location of -% the part/article of interest; the information is put before the -% BOOKTITLE, in line with Chicago's treatment of "parts" and "chapters". -% - Since "volume" can be used in various ways (see page 219 of Butcher), -% this file assumes that, when there is a SERIES, any VOLUME and NUMBER -% refer to position in the SERIES (i.e. Butcher's meaning 4). -% If there is a VOLUME but no SERIES, it is assumed that VOLUME refers -% to a volume within a particular work (i.e. Butcher's meaning 1, 2 or 3). -% For INPROCEEDINGS and INCOLLECTION, this information goes after the -% BOOKTITLE. (If you prefer to have volume information before EDITOR, -% as on page 449 of Chicago, you can set TYPE = "Vol." with INCOLLECTION.) -% -% This file differs from authordate1.bst, authordate2.bst and authordate3.bst -% in that: -% - Titles of articles, journals and books are "downstyle". Apart from the -% first character, and the first character following : and white space, -% uppercase letters are converted to lowercase unless protected by {}. -% - Author's and editor's names are in small capitals. -% -% The combination of authordate4.bst and authordate1-4.sty allows citations -% of the form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. -% When -% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... -% appears in the input file, -% ... (Bloggs, 1960) ... (1960) ... -% appears in the final document. -% -% This file was developed from apalike.bst. It also uses code taken from -% acm.bst, aaai-named.bst, btxbst.doc, ieeetr.bst and siam.bst. -% -% David Rhead -% Cripps Computing Centre -% Nottingham University -% March 1990 -% - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label extra.label sort.label } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.year.month.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - month empty$ - { " " year * extra.label * "." * - after.sentence 'output.state := - } - { " " year * extra.label * " (" * month * ")." * - after.sentence 'output.state := - } - if$ - } - if$ -} - -FUNCTION {output.year.check} -{ year empty$ - { "empty year in " cite$ * warning$ } - { add.period$ write$ - " " year * extra.label * "." * - after.sentence 'output.state := - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - "]{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {boldface} -{ duplicate$ empty$ - { pop$ "" } - { "{\bf " swap$ * "}" * } - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { t "others" = - { ", {\em et~al.\ }\relax" * } - { ", \& " * t * } % Butcher, pages - if$ % 186-189. - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } % Small capitals - { "{\sc " * author format.names "}" * } % for - if$ % authordate3.bst -} % and - % authordate4.bst. -FUNCTION {format.key} -{ empty$ - { "{\sc " * key field.or.null "}" * } % Small capitals. - { "" } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } % Small capitals. - { "{\sc " * editor format.names "}" * - editor num.names$ #1 > % Use ODWE abbrevs. - { " (eds)" * } % to avoid - { " (ed)" * } % ambiguity between - if$ % "editor" and - } % "edition". - if$ -} - -FUNCTION {format.title} % Howells example -{ title empty$ % in BS 5605 comes - { "" } % out wrong because - { title "t" change.case$ } % Patashnik - if$ % capitalizes -} % after a colon. - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.btitle} -{ title empty$ - { "" } - { title "t" change.case$ emphasize } - if$ -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.numberinseries} -{ number empty$ - { "" } - { number multi.page.check - { ", nos. " number n.dashify tie.or.space.connect } - { ", no. " number tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {booklike.series.volume.number} % Chicago, pages -{ series empty$ % 450-451. - { volume empty$ - { " " } - { " Vol. " volume * } - if$ - } - { - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {incollectionlike.series.volume.number} -{ series empty$ - { volume empty$ - { " " } - { " vol. " volume * } - if$ - } - { new.block - volume empty$ - { number empty$ - { series } - { series format.numberinseries * } - if$ - } - { number empty$ - { series ", vol. " volume * * } - { series ", vol. " * volume * format.numberinseries * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - if$ -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.pagesinbook} % By the time the -{ pages empty$ % reader has read - { "" } % address, pub'r, - { pages multi.page.check % note (where the - { "Pages " pages n.dashify tie.or.space.connect } % note may end with - { "Page " pages tie.or.space.connect } % numbers), s/he - if$ % may not recognise - } % a number-range as - if$ % meaning pages. -} % Avoid ambiguity - % (Butcher, p.181). - -FUNCTION {format.vol.num.date.pages} -{ volume empty$ - { month empty$ - { "" } - { month } - if$ - } - { volume boldface field.or.null - number empty$ - { month empty$ - 'skip$ - { "(" month * ")" * * } - if$ - } - { "(" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ", " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.inbook} -{ chapter empty$ - 'format.pagesinbook - { type empty$ - { "Chap." } - { type } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pagesinbook "l" change.case$ * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages.incoll} -{ chapter empty$ - { pages empty$ - { "{\em In:} " } - { "{\em " format.pagesinbook " of:} " * * } - if$ - } - { type empty$ - { "{\em Chap. " chapter * } - { "{\em " type * " " * chapter * } - if$ - pages empty$ - { " of:} " * } - { ", " * format.pagesinbook "l" change.case$ " of:} " * * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} % Achieves effect -{ booktitle empty$ % shown in 16.51 - { "" } % of Chicago, at - { editor empty$ % expense of not - { format.chapter.pages.incoll % achieving effects - booktitle "t" change.case$ emphasize * } % shown in 16.50 - { format.chapter.pages.incoll % of Chicago, on - format.editors * ", " * % page 189 of - booktitle "t" change.case$ emphasize * } % Butcher and in - if$ % 4.4 of BS 1629. - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. rept." } % ODWE abbrevs. - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.addr.pub} -{ publisher empty$ - { "" } - { address empty$ - { "" } - { address ": " * } - if$ - publisher * - } - if$ -} - -FUNCTION {format.addr.pub.org} % If there's an -{ address empty$ % an organization - { publisher * ", for " * organization * } % and a publisher - { address ": " * publisher * ", for " * organization * } % too. - if$ -} - -FUNCTION {format.addr.inst} -{ address empty$ - { institution empty$ - { "" } - { institution } - if$ - } - { institution empty$ - { "" } - { institution ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.addr.org} -{ address empty$ - { organization empty$ - { "" } - { organization } - if$ - } - { organization empty$ - { "" } - { organization ", " * } - if$ - address * - } - if$ -} - -FUNCTION {format.article.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "{\em In:}" - } - { " Vol." volume tie.or.space.connect - " of " * - } - if$ - "\cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ "{\em In:}" - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal "t" change.case$ emphasize - "journal" output.check - format.vol.num.date.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {book} -{ 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - howpublished output - address output - new.block - 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$ - output.year.check - new.block - format.btitle "title" output.check - crossref missing$ - { new.sentence - format.edition output - new.block - booklike.series.volume.number output - new.block - format.addr.pub "publisher" output.check - } - { new.block - format.book.crossref output.nonnull - } - if$ - new.block - note output - new.block % BS 1629 (rather - format.chapter.pages.inbook "chapter and pages" output.check - fin.entry % than Chicago, -} % p. 451) - -FUNCTION {incollection} -{ output.bibitem - author empty$ - { format.editors "editor" output.check - editor format.key output } - { format.authors "author" output.check - author format.key output } - if$ - output.year.check - new.block - format.title "title" output.check - new.block - crossref missing$ % Chapter and/or - { format.in.ed.booktitle output % page numbers can - format.edition output % come out via this - incollectionlike.series.volume.number output % route, too. - new.block - format.addr.pub "publisher" output.check - } - { format.incoll.inproc.crossref output.nonnull - new.block - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - incollectionlike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.sentence - format.edition output - new.block - organization address new.block.checkb - format.addr.org output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "M.Phil. thesis" format.thesis.type output.nonnull % ODWE abbrev. - school "school" output.check - address output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - output.year.month.check - new.block - format.btitle output - new.block - howpublished output - new.block - note output - fin.entry -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - "Ph.D. thesis" format.thesis.type output.nonnull % Butcher, - school "school" output.check % page 174. - address output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors "author and editor" output.check - editor format.key output - publisher empty$ - { output.year.month.check } - { output.year.check } - if$ - new.block - format.btitle "title" output.check - new.block - booklike.series.volume.number output - new.block - publisher empty$ - { - organization empty$ - 'skip$ - { format.addr.org output } - if$ - } - { - organization empty$ - { format.addr.pub output } - { format.addr.pub.org output } - if$ - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - format.tr.number output.nonnull - new.sentence - format.addr.inst "institution" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - output.year.month.check - new.block - format.btitle "title" output.check - new.block - note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} % ODWE, "months", & - % Chicago, p. 383. -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -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} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " {\em et~al.\ }\relax" * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " {\em et~al.\ }\relax" * } - { " \& " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.label} -{ editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.label} - { type$ "book" = - type$ "inbook" = - type$ "incollection" = % For sensible - or or % treatment of - 'author.editor.key.label % Singer in - { type$ "proceedings" = % BS 1629. - 'editor.key.label - 'author.key.label - if$ - } - if$ - duplicate$ - year empty$ - { - "\protect\citename{" swap$ * ", }" * - "n.d." * 'label := % Chicago, - } % page 457. - { - "\protect\citename{" swap$ * ", }" * - year - * - 'label := - } - if$ - year field.or.null purify$ * - sortify 'sort.label := -} - - -FUNCTION {sort.format.names} % To produce the -{ 's := % order of entries - #1 'nameptr := % specified in item - "" % (3) on page 187 - s num.names$ 'numnames := % of Butcher. - numnames 'namesleft := - { namesleft #0 > nameptr #3 < and } % Only 1st 2 names - { nameptr #1 > % matter for - { " " * } % sorting. - 'skip$ - if$ % Anything that's - nameptr #2 = numnames #2 > and % "et al" goes - { "zzzzz" * } % after works by 2 - { % authors. - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.sort} -{ editor empty$ - { key empty$ - { "to sort, need editor or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} % Two sorting -{ calc.label % passes, from - label sortify % apalike.bst. - " " - * - type$ "book" = - type$ "inbook" = - type$ "incollection" = % For Singer - or or % in BS 1629. - 'author.editor.sort - { type$ "proceedings" = - 'editor.sort - 'author.sort - if$ - } - if$ - #1 entry.max$ substring$ - 'sort.label := - sort.label - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { last.label next.extra } - -INTEGERS { last.extra.num } - -FUNCTION {initialize.extra.label.stuff} -{ #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'last.extra.num := -} - -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$ -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ % Code needed here - % if \citeauthor - % and \citeyear - label extra.label * 'label := % were supported. - extra.label 'next.extra := -} - -EXECUTE {initialize.extra.label.stuff} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{}" write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/Master/texmf-dist/doc/bibtex/authordate/README b/Master/texmf-dist/doc/bibtex/authordate/README new file mode 100644 index 00000000000..2eb5a0e6679 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/README @@ -0,0 +1,21 @@ +This directory contains 4 BibTeX style files for producing author-date +reference-lists. The styles are loosely based on the recommendations of +British Standard 1629 (1976 edition), Butcher's "Copy-editing" (Cambridge +University Press, 1981) and the Chicago Manual of Style (1982 edition). + +The files are: +authordate1.bst - Author's names are typeset in roman. Uppercase letters in + article, journal and book titles are left as given in the + bib file. +authordate2.bst - As authordate1, but with downstyle titles, i.e., titles that + are lowercase except for the first letter, any letter + following a colon, and letters protected by { and }. +authordate3.bst - As authordate1, but with author's names in small capitals. +authordate4.bst - As authordate3, but with downstyle titles. + +These style files must be used in conjunction with certain re-definitions +of thebibliography and \cite, as provided in the LaTeX style-option file +authordate1-4.sty. For example, your LaTeX input file might contain + \documentstyle[authordate1-4]{report} +and + \bibliographystyle{authordate2} diff --git a/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx b/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx new file mode 100644 index 00000000000..39db7ab4b55 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx @@ -0,0 +1,18 @@ +% -*-latex-*- +% Document name: /usr/local/lib/tex/bibtex/authordate1.ltx +% Creator: David Rhead [David_Rhead@vme.nott.ac.uk] +% Creation Date: Sun 28 Jun 92 19:10:19 BST + +\documentstyle[authordate1-4]{report} + +\raggedright + +\begin{document} + +\input{testadb.ltx} + +\bibliographystyle{authordate1} + +\bibliography{test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx b/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx new file mode 100644 index 00000000000..c2a49b7fb12 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx @@ -0,0 +1,18 @@ +% -*-latex-*- +% Document name: /usr/local/lib/tex/bibtex/authordate2.ltx +% Creator: David Rhead [David_Rhead@vme.nott.ac.uk] +% Creation Date: Sun 28 Jun 92 19:10:19 BST + +\documentstyle[authordate1-4]{report} + +\raggedright + +\begin{document} + +\input{testadb.ltx} + +\bibliographystyle{authordate2} + +\bibliography{test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx b/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx new file mode 100644 index 00000000000..0f9ff70398b --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx @@ -0,0 +1,18 @@ +% -*-latex-*- +% Document name: /usr/local/lib/tex/bibtex/authordate3.ltx +% Creator: David Rhead [David_Rhead@vme.nott.ac.uk] +% Creation Date: Sun 28 Jun 92 19:10:19 BST + +\documentstyle[authordate1-4]{report} + +\raggedright + +\begin{document} + +\input{testadb.ltx} + +\bibliographystyle{authordate3} + +\bibliography{test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx b/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx new file mode 100644 index 00000000000..56d4696cdf1 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx @@ -0,0 +1,18 @@ +% -*-latex-*- +% Document name: /usr/local/lib/tex/bibtex/authordate4.ltx +% Creator: David Rhead [David_Rhead@vme.nott.ac.uk] +% Creation Date: Sun 28 Jun 92 19:10:19 BST + +\documentstyle[authordate1-4]{report} + +\raggedright + +\begin{document} + +\input{testadb.ltx} + +\bibliographystyle{authordate4} + +\bibliography{test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx b/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx new file mode 100644 index 00000000000..f5cf41fe018 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx @@ -0,0 +1,183 @@ +\chapter{Introduction} + +This document shows the effect of referring to some of the examples given +by \cite{bs-1629}, \cite{bs-5605}, \cite{bs-6371}, \cite{butcher-81} and +\cite{chicago-82}. + +\chapter{Examples given in BS 5605} + +\section{Citations from section 4} + +% Standard LaTeX provides \cite but not \shortcite. +% +Johnson \shortcite{johnson-74} describes \dots\\ +In a recent study \cite{johnson-74}, it is described as \dots\\ +% +Howells \shortcite{howells-66-pop} discussed the subject briefly \dots\\ +% +In a further article \cite{howells-66-var}, greater attention was +given \dots\\ +% +% BS 5605 uses &, whereas Chicago (page 402) would use "and" here. +% Butcher (page 186) accepts either. +Johnson and Howells \shortcite{johnson-howells} take a different view \dots\\ +% +This work \cite{johnson-etc} quotes \dots\\ +% +Elsewhere \cite{anon-67} it is shown \dots\\ +% +Howells \shortcite[p.\ 29]{howells-66-var} describes \dots\\ + +\section{Another reference from section 5} + +In \cite{howells-51} \dots\\ + +\section{References from section 6} + +\dots\ \cite{fletcher-hopkins} \dots\\ +% +\dots\ \cite{wright-63} \dots\\ +% +\dots\ \cite{feigl-58} \dots\\ + +\chapter{Examples given in BS 1629} + +\dots\ \cite{hoel-71-whole} \dots\\ +% +\dots\ \cite{hoel-71-portion} \dots\\ +% +\dots\ \cite{singer-whole} \dots\\ +% +\dots\ \cite{singer-portion-chapter} \dots\\ +% +\dots\ \cite{singer-portion-volume} \dots\\ +% +% BS 5605 says that "if a contribution is separately paginated ... the part +% number should be inserted in parentheses". BibTeX cannot tell whether +% a contribution is separately paginated but, if the number field is present +% in the bib file, will produce a reference in the required form. +\dots\ \cite{godfrey-59} \dots\\ +% +\dots\ \cite{ramsbottom-31} \dots\\ +% +\dots\ \cite{bs-2570-manual} \dots\\ +% +\dots\ \cite{bs-2570-techreport} \dots\\ +% +\dots\ \cite{bs-2570-inbook} \dots\\ +% +\dots\ \cite{ellis-walton} \dots\\ +% +\dots\ \cite{hanlon-72} \dots\\ +% +\dots\ \cite{winget-67} \dots\\ +% +\dots\ \cite{bry-afflerbach} \dots\\ +% +\dots\ \cite{ranganathan-51} \dots\\ +% +\dots\ \cite{mccolvin-nodate} \dots\\ + +\chapter{Examples given in BS 6371} + +\dots\ measures which the lords were urging on the king +\cite[fol. 22]{exchequer-34-39}. Henry seems to have been ineffectual +according to Traquair \shortcite{traquair-38}. With the appointment of a +new receiver of rents \cite[fol. 2]{exchequer-34-39}, \dots\\ + +\dots\ \cite{pym-24} \dots\\ +% +\dots\ \cite{croft-78} \dots\\ + +\chapter{Examples given by Butcher} + +\dots\ the synthesis of amino acids \cite[pp.\ 131--8]{darcy-20-amaz} +amazed \dots\\ +% +\dots\ the synthesis of amino acids by D'Arcy +\shortcite[pp.\ 131--8]{darcy-20-amaz} amazed \dots\\ +% +\dots\ if more than one is included in one text reference, +one says \shortcite{darcy-20-amaz,darcy-20-again}.\\ +% +\dots\ \cite{jones-n-h-r} \dots\\ +% +\dots\ \cite{jones-s-r} \dots\\ +% +\dots\ \cite{jones-65} \dots\\ +% +\dots\ \cite{jones-69} \dots\\ +% +\dots\ \cite{jones-abrams} \dots\\ +% +\dots\ \cite{jones-a-s} \dots\\ +% +\dots\ \cite{jones-smith} \dots\\ +% +\dots\ \cite{bloggs-60} \dots\\ +% +\dots\ \cite{bloggs-61} \dots\\ +% +\dots\ \cite{bloggs-jones} \dots\\ +% +\dots\ \cite{bloggs-s-j} \dots\\ +% +\dots\ \cite{brown-f-s} \dots\\ +% +\dots\ \cite{eckstein-zuckerman} \dots\\ +% +\dots\ \cite{heller-lederis} \dots\\ +% +\dots\ \cite{wood-61} \dots\\ + +\chapter{Examples given by Chicago} + +\section{Citations from chapter 15} + +\dots\ \cite[121--25]{pratt-75} \dots\\ +% +\dots\ \cite{light-72,light-wong,kingston-76} \dots\\ +% +\dots\ \cite{kelley-96-spring,kelley-96-autumn,kelley-07} \dots\\ + +\section{References from chapter 16} + +\dots\ \cite{brunswick-85} \dots\\ +% +\dots\ \cite{wright-78-book} \dots\\ +% +\dots\ \cite{wright-78-incollection} \dots\\ +% +\dots\ \cite{kendeigh-52} \dots\\ +% +\dots\ \cite{chapman-75} \dots\\ +% +\dots\ \cite{hershkovitz-62} \dots\\ +% +\dots\ \cite{ogilvy-65} \dots\\ +% +\dots\ \cite{mcneill-63} \dots\\ +% +\dots\ \cite{thomson-71} \dots\\ +% +\dots\ \cite{gordon-75} \dots\\ +% +\dots\ \cite{milton-24} \dots\\ +% +\dots\ \cite{chomsky-73} \dots\\ +% +\dots\ \cite{chave-64} \dots\\ +% +\dots\ \cite{smart-76} \dots\\ +% +\dots\ \cite{jackson-79} \dots\\ +% +\dots\ \cite{prufer-64} \dots\\ +% +\dots\ \cite{mann-68} \dots\\ +% +\dots\ \cite{maguire-76} \dots\\ +% +\dots\ \cite{downes-74} \dots\\ +% +\dots\ \cite{hunt-76} \dots\\ diff --git a/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty b/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty new file mode 100644 index 00000000000..5364cf38053 --- /dev/null +++ b/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty @@ -0,0 +1,79 @@ +% This LaTeX style-option file, authordate1-4.sty, is intended for documents +% that use the author-date citation system. When used in conjunction with +% authordate1.bst, ... , authordate4.bst, it allows citations of the +% form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% Note that: +% - a command \bibtitle is defined, to generate the bibliography title +% - a command \bibheadtitle is defined, to generate the text to be used +% by \pagestyle{headings} +% - \bibtitle and \bibheadtitle are set to generate "References" and +% "REFERENCES" respectively. +% - an \addcontentsline{toc}{...}{\bibtitle} is issued. +% Thus: +% - the default bibliography title is "References", but can be changed by +% having \renewcommand{\bibtitle}{...} before \begin{thebibliography} +% or \bibliography +% - the default page header text is "REFERENCES", but can be changed by +% \renewcommand{\bibheadtitle}{...} +% - \tableofcontents will give a table of contents that mentions the +% bibliography. +% +% David Rhead +% Cripps Computing Centre +% February 1990 + +% Code taken from apalike.sty. +% +\def\@cite#1#2{(#1\if@tempswa , #2\fi)} +\def\@biblabel#1{} + +% Set length of hanging indentation for bibliography entries +% +\newlength{\bibhang} +\setlength{\bibhang}{2em} + +% Define default title and page-head text. +% +\def\bibtitle{References} +\def\bibheadtitle{REFERENCES} + +\@ifundefined{chapter}{\def\thebibliography#1{\section*{\bibtitle\@mkboth + {\bibheadtitle}{\bibheadtitle}} + \addcontentsline{toc}{section}{\bibtitle}\list % For styles in + {\relax}{\setlength{\labelsep}{0em} % which \chapter + \setlength{\itemindent}{-\bibhang} % is undefined. + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}}% +{\def\thebibliography#1{\chapter*{\bibtitle\@mkboth % For styles in + {\bibheadtitle}{\bibheadtitle}} % which \chapter + \addcontentsline{toc}{chapter}{\bibtitle}\list % is defined. + {\relax}{\setlength{\labelsep}{0em} + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}} +% +% Code taken from aaai.sty. +% +% don't box citations, add space between multiple citations, separate with ; +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{; }\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Allow short (name-less) citations, when used in +% conjunction with a bibliography style that creates labels like +% \citename{, } +\let\@internalcite\cite +\def\cite{\def\citename##1{##1}\@internalcite} +\def\shortcite{\def\citename##1{}\@internalcite} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 232bdc024ea..1c9e448b2d2 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -56,7 +56,7 @@ my @TLP_working = qw( asypictureb attachfile aucklandthesis augie auncial-new aurical aurl auto-pst-pdf-lua autobreak autopdf - authoraftertitle authorarchive authorindex + authoraftertitle authorarchive authordate authorindex auto-pst-pdf autoaligne autoarea automata autonum autosp avantgar avremu awesomebox axodraw2 b1encoding babel diff --git a/Master/tlpkg/tlpsrc/authordate.tlpsrc b/Master/tlpkg/tlpsrc/authordate.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc index 09f32c823e3..24b8aaaa776 100644 --- a/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc @@ -12,6 +12,7 @@ depend amsrefs depend apacite depend apalike2 depend archaeologie +depend authordate depend beebe depend besjournals depend bestpapers -- cgit v1.2.3