summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/bibtex/bst/beebe/econometrica.bst1292
1 files changed, 0 insertions, 1292 deletions
diff --git a/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst b/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst
deleted file mode 100644
index 1ebf5065bee..00000000000
--- a/Master/texmf-dist/bibtex/bst/beebe/econometrica.bst
+++ /dev/null
@@ -1,1292 +0,0 @@
-%%% Econometrica bibliography style
-%%% For use with harvard.sty and LaTeX2e (NFSS) or LaTeX 2.09
-%%% 24-aug-94
-%%%
-%%% Based on makebst, but with modifications by
-%%% kcb@hss.caltech.edu (KC Border)
-%%% Please report any problems to me.
-%%%
-%%% The main changes from the ouput of makebst are:
-%%% 1. Addition of a function to replace repeated authors with a 3 em dash.
-%%% (Search for compare.names, this function is portable.)
-%%% 2. Modification of output.nonnull to allow commas inside quotation marks
-%%% and no comma after year.
-%%% 3.Eliminated feature (bug?) of the harvard style of citation.
-%%% It creates a short label for subsequent citations. This alleged
-%%% feature shortens both Aliprantis, Border, and Luxemburg (1991) and
-%%% Aliprantis, Brown, and Burkinshaw (1991) to Aliprantis et~al. (1991).
-%%% This creates the need to label these as
-%%% Aliprantis, Border, and Luxemburg (1991a) and
-%%% Aliprantis, Brown, and Burkinshaw (1991b), despite the fact
-%%% that these entries have different authors. I used my own format
-%%% for creating the labels, and used the same label for
-%%% both the short and long forms. I know that the
-%%% _Chicago_Manual_of_Style recommends using Aliprantis et~al,
-%% but Econometrica regularly writes out three authors,
-%% and it is rare to cite an article with more than four authors in
-%%% Econometrica. (I couldn't find an example of even four being cited,
-%%% but I didn't spend a lot of time looking.)
-%%% 4. Addition of macros to handle editions. (My own idiosycracy.)
-%%% 5. A new entry type called issue for special issues of a journal.
-%%% (Another idiosyncracy.)
-%%% 6. Many details to conform to Econometrica's quirks.
-%%% (Search for KCB )
-%%% 7. I wrote this for use with LaTeX2e and the NFSS2. However, I did
-%%% add some macros so it will work with LaTeX 2.09.
-%%% (Search for \ifx\undefined\emph )
-%%% The remainder of this file was generated by makebst, except for
-%%% modifications marked with KCB.
-%%
-%% This is file `em.bst', generated
-%% on <1994/8/17> with the docstrip utility (2.2h).
-%%
-%% The original source files were:
-%%
-%% genbst.mbs (with options: `ay,har,nm-rev1,nmft-sc,dt-beg,yr-par,tit-qq,atit-u,thtit-a,volp-com,edby,blk-com,pp,ed,abr,and-com,nfss')
-%% ----------------------------------------
-%% *** Econometrica style ***
-%%
-%% (Here are the specifications of the source file)
-%% \def\filename{genbst.mbs}
-%% \def\filedate{1994 July 1}
-%% \def\fileversion{1.3}
-%% For use with BibTeX version 0.99a or later, LaTeX version 2.09
-%%-------------------------------------------------------------------
-%% NOTICE:
-%% This file may be used for non-profit purposes.
-%% It may not be distributed in exchange for money,
-%% other than distribution costs.
-%%
-%% The author provides it `as is' and does not guarantee it in any way.
-%%
-%% Copyright (C) 1994 Patrick W. Daly
-%% Max-Planck-Institut f\"ur Aeronomie
-%% Postfach 20
-%% D-37189 Katlenburg-Lindau
-%% Germany
-%%
-%% E-mail:
-%% SPAN-- nsp::linmpi::daly (note nsp also known as ecd1)
-%% Internet-- daly@linmpi.dnet.gwdg.de
-%%-----------------------------------------------------------
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%---------------------------------------------------------------------
- % This is an author-year citation style bibliography. As such, it is
- % non-standard LaTeX, and requires a style option to function properly.
- % The appropriate style file is: harvard.sty
- % The form of the bibitem entries is
- % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}...
- % There are style changes that may be specified in the text with
- % the command \citationstyle.
- % \citeasnoun{key} ==>> Jones et al. (1990)
- % \cite{key} ==>> (Jones et al. 1990)
- % \cite[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2)
- % On the first citation of any work, the full author list is used.
-%%---------------------------------------------------------------------
-
-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 } %%%KCB: removed long.label
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-%%%KCB: new output state, no.comma
-INTEGERS { no.comma}
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'no.comma := %%%KCB
-}
-
-STRINGS { s t }
-
-
-%%%KCB: revise to use new output state
-FUNCTION {output.nonnull}
-{ 's :=
- output.state no.comma = %%%KCB: if in this state, write a space
- { " " * write$ before.all 'output.state := } %%%KCB
- { output.state mid.sentence = %%%KCB: add brace at beginning
- { ", " * write$ }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- }
- if$
- mid.sentence 'output.state :=
- } %%%KCB: matching brace
- if$ %%%KCB: test for no.comma state
- 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.bibitem}
-{ newline$
- "\harvarditem[" write$
- label write$
- "]{" label * "}{" * write$ %%%KCB: replaced long.label with label
- year duplicate$ empty$
- { pop$ "????" }
- 'skip$
- if$
- extra.label * "}{" * 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 {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "\emph{" swap$ * "}" * }
- if$
-}
-
-INTEGERS { nameptr namesleft numnames }
-
-%%%KCB: Here is a portable set of routines to check for repeated authors
-%%% and replace them with a 3 em dash
-%%% According to _Chicago_Manual_of_Style_, a dash is used to
-%%% replace an author's name only if the entire list is the same, so:
-%%% Compare names. See if prev.name is identical to CurrList.
-%%% If not, then just output CurrList.
-%%% If so, replace with \BySame
-%%% I use a conservative matching scheme,
-%%% and check to see if full names are identical,
-%%% even though we only use initials.
-%%% This may mean that you have to correct your .bib database
-%%% to ensure consistency.
-%%%
-%%% sample usage:
-%%% search for {format.author}
-
-INTEGERS {currNum prevNum}
-
-STRINGS {PrevList CurrList prev.name PrevTemp CurrTemp}
-
-%%%KCB: Initialize prev.name ot some nonsense string:
-
-FUNCTION {init.prev.name}
-{
-"My puppy Harley" 'prev.name :=
-}
-
-%%%KCB: Must EXECUTE {init.prev.name} after READ
-
-%%%KCB: <CurrList> compare.names <modified name list>
-FUNCTION {compare.names}
-{ prev.name 'PrevList :=
- duplicate$ 'prev.name := % make current list the new previous list
- 'CurrList :=
- PrevList num.names$ 'prevNum :=
- CurrList num.names$ 'currNum :=
-%
- prevNum currNum = %% If prevNum = currNum
- { "" 'PrevTemp := %% Then take this branch
- "" 'CurrTemp :=
- #1 'nameptr := %%% start with first name in each list
- { nameptr prevNum > not }%% while nameptr <= prevNum
-%% Format both lists the same way.
-%% Use full names: bib file might need to be corrected
- {
- PrevList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ PrevTemp * 'PrevTemp :=
- CurrList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ CurrTemp * 'CurrTemp :=
- nameptr #1 + 'nameptr := }
- while$
-%% Now compare :
- PrevTemp CurrTemp = %% If PrevTemp = CurrTemp
- { "\BySame{}" }
- { CurrList }
- if$
- }
- { CurrList } %% If not prevNum = currNum
- if$ %% If prevNum = currNum
-}
-
-%%%
-%%%
-%%%KCB: End of new routine.
-
-
-FUNCTION {format.names}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
- if$
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- ", " *
- t "others" =
- { " et~al." * }
- { " {\small and} " * t * } %%%KCB: added \small
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-
-FUNCTION {format.names.ed}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{f.~}{vv~}{ll}{, jj}"
- format.name$ 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- ", " *
- t "others" =
- { " et~al." * }
- { " {\small and} " * t * } %%%KCB: added \small
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
- if$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { "\textsc{" author compare.names format.names * "} " * }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { "\textsc{" editor compare.names format.names * " }" *
- editor num.names$ #1 >
- { " (eds.)" * }
- { " (ed.)" * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.editors}
-{ editor empty$
- { "" }
- { editor format.names.ed
- }
- if$
-}
-
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title
- "``" swap$ * ",'' " *
- }
-no.comma 'output.state := %%%KCB:
- if$
-}
-
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ "in " }
-
-FUNCTION {format.date}
-{ year duplicate$ empty$
- { "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????" }
- 'skip$
- if$
- " (" swap$ * extra.label * "):" * %%%KCB: added :
- before.all 'output.state := %%%KCB:
-}
-
-FUNCTION {format.btitle}
-{ title emphasize
-no.comma 'output.state := %%%KCB:
-}
-
-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$
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { "vol." volume tie.or.space.connect
- series empty$
- 'skip$
- { " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "no." }
- { "No." }
- if$
- number tie.or.space.connect
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { edition "l" change.case$ " edn." * }
- { edition "t" change.case$ " edn." * }
- if$
- }
- if$
-}
-
-INTEGERS { multiresult }
-
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { "pp." pages n.dashify tie.or.space.connect }
- { "p." pages tie.or.space.connect }
- if$
- }
- if$
-}
-
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- number empty$
- 'skip$
- { "(" number * ")" * *
- volume empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- }
- if$
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
- { ", " * pages n.dashify * }
- if$
- }
- if$
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { "chap." }
- { type "l" change.case$ }
- if$
- chapter tie.or.space.connect
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { word.in booktitle emphasize * }
- { word.in booktitle emphasize * ", ed. by " * %%%KCB: abbrv ed.
- format.in.editors * }
- if$
- }
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- type "t" change.case$
- }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { "Discussion Paper" } %%%KCB: changed default
- 'type
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.article.crossref}
-{
- word.in
- "\cite{" * crossref * "}" *
-}
-
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- word.in
- }
- { "vol." volume tie.or.space.connect
- " of " *
- }
- if$
- "\cite{" * crossref * "}" *
-}
-
-FUNCTION {format.incoll.inproc.crossref}
-{
- word.in
- "\cite{" * crossref * "}" *
-}
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- crossref missing$
- { journal emphasize "journal" output.check
- format.vol.num.pages output
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- 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$
- format.date "year" output.check
- format.btitle "title" output.check
- mid.sentence 'output.state := %%%KCB:
- crossref missing$
- { format.bvolume output
- format.number.series output
- new.sentence
- publisher "publisher" output.check
- address output
- }
- {
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- note output
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- howpublished output
- address output
- note output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check
- editor format.key output
- }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
- format.date "year" output.check
- format.btitle "title" output.check
- crossref missing$
- { format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- format.number.series output
- new.sentence
- publisher "publisher" output.check
- address output
- }
- { format.chapter.pages "chapter and pages" output.check
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- note output
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- format.chapter.pages output
- new.sentence
- publisher "publisher" output.check
- address output
- format.edition output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- note output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
- format.number.series output
- format.pages output
- address output
- new.sentence
- organization output
- publisher output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.pages output
- }
- if$
- note output
- fin.entry
-}
-
-FUNCTION {conference} { inproceedings }
-
-%%%KCB: special issue of a journal with a special editor
-
-FUNCTION {issue}
-{ output.bibitem
- format.editors output
- editor format.key output
- format.date "year" output.check
- format.btitle "title" output.check
- crossref missing$
- { journal emphasize "journal" output.check
- format.vol.num.pages output
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- note output
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- format.btitle "title" output.check
- organization output
- address output
- format.edition output
- note output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- "Master's thesis" format.thesis.type output.nonnull
- school "school" output.check
- address output
- note output
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- format.title output
- howpublished output
- note output
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- "Ph.D. thesis" format.thesis.type output.nonnull
- school "school" output.check
- address output
- note output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- format.editors output
- editor format.key output
- format.date "year" output.check
- format.btitle "title" output.check
- format.bvolume output
- format.number.series output
- address output
- new.sentence
- organization output
- publisher output
- note output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- format.tr.number output.nonnull
- institution "institution" output.check
- address output
- note output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- format.title "title" output.check
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
-
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-%%%KCB: removed computer science journal macros
-%%%KCB: added following macros for editions
-MACRO {first} {"1st "}
-MACRO {second} {"2d "}
-MACRO {third} {"3d "}
-MACRO {fourth} {"4th "}
-MACRO {fifth} {"5th "}
-MACRO {sixth} {"6th"}
-MACRO {seventh} {"7th "}
-MACRO {eighth} {"8th "}
-MACRO {ninth} {"9th "}
-MACRO {tenth} {"10th "}
-
-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$
-}
-
-
-%%%KCB: Change format of labels:
-FUNCTION {format.lab.names}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "," * }
- 'skip$
- if$
- t "others" =
- { " et~al." * }
- { " and " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-%%%KCB: removed FUNCTION {format.long.lab.names}
-
-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$
-}
-
-%%%KCB: use entire year field as label
-
-FUNCTION {calc.label}
-{ type$ "book" =
- type$ "inbook" =
- or
- type$ "issue" = %%%KCB: need for new entry type
- or %%%KCB
- 'author.editor.key.label
- { type$ "proceedings" =
- 'editor.key.label
- 'author.key.label
- if$
- }
- if$
- ", "
- *
- year field.or.null
- *
- 'label :=
-}
-
-FUNCTION {calc.short.label}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label
- { type$ "proceedings" =
- 'editor.key.label
- 'author.key.label
- if$
- }
- if$
- 'label :=
-}
-
-%%%KCB: removed FUNCTION {calc.long.label}
-
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { " " * }
- 'skip$
- if$
- s nameptr
- "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
- format.name$ 't :=
- nameptr numnames = t "others" = and
- { "et al" * }
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.sort}
-{ editor empty$
- { key empty$
- { "to sort, need editor or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-FUNCTION {presort}
-{ calc.label
- label sortify
- " "
- *
- type$ "book" =
- type$ "inbook" =
- or
- type$ "issue" = %%%KCB: need for new entry type
- or %%%KCB
- '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$
- extra.label 'next.extra :=
-}
-
-EXECUTE {initialize.extra.label.stuff}
-
-EXECUTE {init.prev.name} %%%KCB: needed for replacing repeated authors
-
-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$ :=
- calc.short.label
-%%%KCB: removed calc.long.label
-}
-
-ITERATE {bib.sort.order}
-
-SORT
-
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
-%%%KCB: add defn of \BySame, can be overridden in document
-"\ifx\undefined\BySame" write$ newline$
- "\newcommand{\BySame}{\leavevmode\rule[.5ex]{3em}{.5pt}\ }"
- write$ newline$
- "\fi" write$ newline$
-%%% KCB: For those who still cling to LaTeX 2.09
-"\ifx\undefined\textsc" write$ newline$
- "\newcommand{\textsc}[1]{{\sc #1}}"
- write$ newline$
- "\newcommand{\emph}[1]{{\em #1\/}}"
- write$ newline$
-"\let\tmpsmall\small" write$ newline$
-"\renewcommand{\small}{\tmpsmall\sc}" write$ newline$
- "\fi" write$ newline$
-%%%
- "\begin{thebibliography}{}" write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-"Done." top$ %%%KCB: Signal end for NeXTeX's TexView
-}
-
-EXECUTE {end.bib}
-%% End of customized bst file