texlive[52564] Master: authordate, follow separate package on CTAN
commits+karl at tug.org
commits+karl at tug.org
Tue Oct 29 19:02:24 CET 2019
Revision: 52564
http://tug.org/svn/texlive?view=revision&revision=52564
Author: karl
Date: 2019-10-29 19:02:24 +0100 (Tue, 29 Oct 2019)
Log Message:
-----------
authordate, follow separate package on CTAN
Modified Paths:
--------------
trunk/Master/tlpkg/bin/tlpkg-ctan-check
trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc
Added Paths:
-----------
trunk/Master/texmf-dist/bibtex/bst/authordate/
trunk/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst
trunk/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst
trunk/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst
trunk/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst
trunk/Master/texmf-dist/doc/bibtex/authordate/
trunk/Master/texmf-dist/doc/bibtex/authordate/README
trunk/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx
trunk/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx
trunk/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx
trunk/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx
trunk/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx
trunk/Master/texmf-dist/tex/latex/authordate/
trunk/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty
trunk/Master/tlpkg/tlpsrc/authordate.tlpsrc
Removed Paths:
-------------
trunk/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst
trunk/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst
trunk/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst
trunk/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst
Added: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Property changes on: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate1.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Property changes on: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate2.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Property changes on: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate3.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Property changes on: trunk/Master/texmf-dist/bibtex/bst/authordate/authordate4.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/texmf-dist/bibtex/bst/beebe/authordate1.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Deleted: trunk/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/texmf-dist/bibtex/bst/beebe/authordate2.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Deleted: trunk/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/texmf-dist/bibtex/bst/beebe/authordate3.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Deleted: trunk/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/texmf-dist/bibtex/bst/beebe/authordate4.bst 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/README
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/README (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/README 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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}
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx 2019-10-29 18:02:24 UTC (rev 52564)
@@ -0,0 +1,18 @@
+% -*-latex-*-
+% Document name: /usr/local/lib/tex/bibtex/authordate1.ltx
+% Creator: David Rhead [David_Rhead at 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}
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate1.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx 2019-10-29 18:02:24 UTC (rev 52564)
@@ -0,0 +1,18 @@
+% -*-latex-*-
+% Document name: /usr/local/lib/tex/bibtex/authordate2.ltx
+% Creator: David Rhead [David_Rhead at 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}
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate2.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx 2019-10-29 18:02:24 UTC (rev 52564)
@@ -0,0 +1,18 @@
+% -*-latex-*-
+% Document name: /usr/local/lib/tex/bibtex/authordate3.ltx
+% Creator: David Rhead [David_Rhead at 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}
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate3.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx 2019-10-29 18:02:24 UTC (rev 52564)
@@ -0,0 +1,18 @@
+% -*-latex-*-
+% Document name: /usr/local/lib/tex/bibtex/authordate4.ltx
+% Creator: David Rhead [David_Rhead at 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}
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/authordate4.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx (rev 0)
+++ trunk/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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\\
Property changes on: trunk/Master/texmf-dist/doc/bibtex/authordate/testadb.ltx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty 2019-10-29 18:02:24 UTC (rev 52564)
@@ -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 at 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 at 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{<names>, }<year>
+\let\@internalcite\cite
+\def\cite{\def\citename##1{##1}\@internalcite}
+\def\shortcite{\def\citename##1{}\@internalcite}
Property changes on: trunk/Master/texmf-dist/tex/latex/authordate/authordate1-4.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check 2019-10-29 18:02:24 UTC (rev 52564)
@@ -56,7 +56,7 @@
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
Added: trunk/Master/tlpkg/tlpsrc/authordate.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc 2019-10-29 13:45:57 UTC (rev 52563)
+++ trunk/Master/tlpkg/tlpsrc/collection-bibtexextra.tlpsrc 2019-10-29 18:02:24 UTC (rev 52564)
@@ -12,6 +12,7 @@
depend apacite
depend apalike2
depend archaeologie
+depend authordate
depend beebe
depend besjournals
depend bestpapers
More information about the tex-live-commits
mailing list