summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/bibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-03 22:06:58 +0000
committerKarl Berry <karl@freefriends.org>2020-03-03 22:06:58 +0000
commit6d088d83d1b45b473e3a12feca0432c66c0964ea (patch)
tree8a9beef9bfb31d23d1bad2a52804cc14ad832bd5 /Master/texmf-dist/doc/bibtex
parent74c1d92ba64029791576b8509bf631a0f94dd042 (diff)
econ-bst (3mar20)
git-svn-id: svn://tug.org/texlive/trunk@54031 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/bibtex')
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/CHANGES.md5
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/README.md12
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst3597
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.pdfbin76081 -> 76080 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.bst4727
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.pdfbin112009 -> 112011 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.bst3604
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.pdfbin121134 -> 121138 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.bst3601
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.pdfbin121531 -> 121534 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-default.pdfbin112697 -> 112695 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.bst3640
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.pdfbin116359 -> 116350 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.bst4736
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.pdfbin103727 -> 103734 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jie.bst3594
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jpe.bst4802
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.bst3579
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.pdfbin111928 -> 111927 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-numbers.pdfbin111363 -> 111368 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.bst3579
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.pdfbin113125 -> 113122 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/econ-example.pdfbin194482 -> 190003 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/econ-example.tex2
24 files changed, 18 insertions, 39460 deletions
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/CHANGES.md b/Master/texmf-dist/doc/bibtex/econ-bst/CHANGES.md
index 70af69ab065..b441437e0d9 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/CHANGES.md
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/CHANGES.md
@@ -8,6 +8,11 @@ Changelogs for econ.bst
## Changelogs
+## Ver. 2.8
+
+* 2020-03-03: Changed the directory structure.
+
+
## Ver 2.7
* 2020-02-27: Modified the document files.
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/README.md b/Master/texmf-dist/doc/bibtex/econ-bst/README.md
index 553f8e9ced7..938baee6188 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/README.md
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/README.md
@@ -29,6 +29,18 @@ features:
| [`CHANGES.md`](CHANGES.md) | Changelog file. |
| `README.md` | This file. |
+| bst file | Explanation |
+|:------------------------|:----------------------------------------------------------|
+| `econ-a.bst` | A simple style. |
+| `econ-b.bst` | A style with much decoration. |
+| `econ-no-sort.bst` | This style lists entries in citation order. |
+| `econ-abbr.bst` | This style uses abbreviated journal name. |
+| `econ-aea.bst` | The style for AEA journals such as AER, JEL, AEJ and JEP. |
+| `econ-econometrica.bst` | The style for Econometrica. |
+| `econ-jpe.bst` | The style for JPE (Journal of Poilitical Economy). |
+| `econ-jet.bst` | The style for JET (Journal of Economic Theoriy). |
+| `econ-jie.bst` | The style for JIE (Journal of International Economics). |
+| `econ-old.bst` | The style of the old econ.bst. |
<!-- リンクの作成方法 -->
<!-- [リンクテキスト](URLを記入) -->
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst
deleted file mode 100644
index 6a047e97d07..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst
+++ /dev/null
@@ -1,3597 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-{ #0 } % Not use \bysame
-% { #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-% { #0 } % (default)
-{ #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-% { #0 } % #0 -> full letters (default).
-{ #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-% { #0 } % If #0, not decapitalize title (default).
-{ #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-% { #0 } % #0 -> show month field (default).
-{ #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", " }
-% { ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "." }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ". " }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ". " }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "" }
-% { "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ "." }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "." }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "" }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "." }
-% { "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ". " }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " In " }
-% { " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ", " }
-% { ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-% { #1 } % non-#0 -> Show url field (default)
-{ #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-% { #1 } % non-#0 -> Show DOI field (default)
-{ #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-{ #1 } % -> Only URL field is displayed
-% { #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.pdf
index 7cfbd35d846..c9fcf77fc2d 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.bst
deleted file mode 100644
index 7beacd5cf64..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.bst
+++ /dev/null
@@ -1,4727 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-% { #0 } % (default)
-{ #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- s "Academy of Management Journal" =
- { "Acad. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting Review" =
- { "Account. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Account. Org. Soc." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Admin. Sci. Quart." 'jname := }
- 'skip$
- if$
- s "Administrative Science Quarterly" =
- { "Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Applied Economics" =
- { "Am. Econ. J. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Economic Policy" =
- { "Am. Econ. J. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Macroeconomics" =
- { "Am. Econ. J. Macro." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Microeconomics" =
- { "Am. Econ. J. Micro." 'jname := }
- 'skip$
- if$
- s "American Economic Review" =
- { "Am. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "American Journal of Agricultural Economics" =
- { "Am. J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Journal of Economics and Sociology" =
- { "Am. J. Econ. Sociol." 'jname := }
- 'skip$
- if$
- s "Applied Economics" =
- { "Appl. Econ." 'jname := }
- 'skip$
- if$
- s "Applied Economics Letters" =
- { "Appl. Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Applied Energy" =
- { "Appl. Energ." 'jname := }
- 'skip$
- if$
- s "Applied Stochastic Models in Business and Industry" =
- { "Appl. Stoch. Model Bus." 'jname := }
- 'skip$
- if$
- s "Auditing: A Journal of Practise and Theory" =
- { "Auditing.-J. Pract. Th." 'jname := }
- 'skip$
- if$
- s "Australian Journal of Agricultural and Resource Economics" =
- { "Aust. J. Agr. Resour. Ec." 'jname := }
- 'skip$
- if$
- s "B.E. Journal of Economic Analysis \& Policy" =
- { "B.E. J. Econ. Anal. Policy" 'jname := }
- 'skip$
- if$
- s "Betriebswirtschaftliche Forschung Und Praxis" =
- { "Betrieb. Forsch. Prax." 'jname := }
- 'skip$
- if$
- s "British Journal of Industrial Relations" =
- { "Brit. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "British Journal of Management" =
- { "Brit. J. Manage." 'jname := }
- 'skip$
- if$
- s "Bulletin of Indonesian Economic Studies" =
- { "B. Indones. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Business Ethics Quarterly" =
- { "Bus. Ethics Q." 'jname := }
- 'skip$
- if$
- s "Business History" =
- { "Bus. Hist." 'jname := }
- 'skip$
- if$
- s "Business History Review" =
- { "Bus. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Business Lawyer" =
- { "Bus. Lawyer" 'jname := }
- 'skip$
- if$
- s "California Management Review" =
- { "Calif. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Cambridge Journal of Economics" =
- { "Cambridge J. Econ." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Administrative Sciences" =
- { "Can. J. Adm. Sci." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Economics" =
- { "Can. J. Econ." 'jname := }
- 'skip$
- if$
- s "China Economic Review" =
- { "China. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Climate Change Economics" =
- { "Clim. Change Econ." 'jname := }
- 'skip$
- if$
- s "Climate Policy" =
- { "Clim. Policy" 'jname := }
- 'skip$
- if$
- s "Communications in Statistics – Part A: Theory and Methods" =
- { "Commun. Stat.-Theor. M." 'jname := }
- 'skip$
- if$
- s "Computational Economics" =
- { "Computation. Econ." 'jname := }
- 'skip$
- if$
- s "Computational Statistics" =
- { "Computation. Stat." 'jname := }
- 'skip$
- if$
- s "Computational Statistics and Data Analysis" =
- { "Comput. Stat. Data An." 'jname := }
- 'skip$
- if$
- s "Contemporary Accounting Research" =
- { "Contemp. Account. Res." 'jname := }
- 'skip$
- if$
- s "Contemporary Economic Policy" =
- { "Contemp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Defence and Peace Economics" =
- { "Defence Peace Econ." 'jname := }
- 'skip$
- if$
- s "Development Economics" =
- { "Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Eastern European Economics" =
- { "Eastern Eur. Econ." 'jname := }
- 'skip$
- if$
- s "Ecological Economics" =
- { "Ecol. Econ." 'jname := }
- 'skip$
- if$
- s "Econometric Theory" =
- { "Economet. Theor." 'jname := }
- 'skip$
- if$
- s "Econometrica" =
- { "Econometrica" 'jname := }
- 'skip$
- if$
- s "Economic and Industrial Democracy" =
- { "Econ. Ind. Democr." 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Econ. Dev. Cult. Change" 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Economist.-Netherland" 'jname := }
- 'skip$
- if$
- s "Economic Development Quarterly" =
- { "Econ. Dev. Q." 'jname := }
- 'skip$
- if$
- s "Economic Geography" =
- { "Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Economic History Review" =
- { "Econ. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Economic Inquiry" =
- { "Econ. Inq." 'jname := }
- 'skip$
- if$
- s "Economic Journal" =
- { "Econ. J." 'jname := }
- 'skip$
- if$
- s "Economic Modelling" =
- { "Econ. Model." 'jname := }
- 'skip$
- if$
- s "Economic Policy" =
- { "Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Economic Record" =
- { "Econ. Rec." 'jname := }
- 'skip$
- if$
- s "Economic Theory" =
- { "Econ. Theor." 'jname := }
- 'skip$
- if$
- s "Economica" =
- { "Economica" 'jname := }
- 'skip$
- if$
- s "Economics and Philosophy" =
- { "Econ. Philos." 'jname := }
- 'skip$
- if$
- s "Economics Letters" =
- { "Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Economics of Education Review" =
- { "Econ. Educ. Rev." 'jname := }
- 'skip$
- if$
- s "Economics of Energy \& Environmental Policy" =
- { "Econ. Energ. Environ. Policy" 'jname := }
- 'skip$
- if$
- s "Economics of Transition" =
- { "Econ. Transit." 'jname := }
- 'skip$
- if$
- s "Economy and Society" =
- { "Econ. Soc." 'jname := }
- 'skip$
- if$
- s "Ekonomicky Casopis" =
- { "Ekon. Cas." 'jname := }
- 'skip$
- if$
- s "Ekonomiska Samfundets Tidskrift" =
- { "Ekon. Samf. Tidskr." 'jname := }
- 'skip$
- if$
- s "Emerging Markets Finance and Trade" =
- { "Emerg. Mark. Financ. Tr." 'jname := }
- 'skip$
- if$
- s "Energy Economics" =
- { "Energ. Econ." 'jname := }
- 'skip$
- if$
- s "Energy Journal" =
- { "Energ. J." 'jname := }
- 'skip$
- if$
- s "Energy Policy" =
- { "Energ. Policy" 'jname := }
- 'skip$
- if$
- s "Entrepreneurship \& Regional Development" =
- { "Entrep. Region. Dev." 'jname := }
- 'skip$
- if$
- s "Entrepreneurship Theory and Practice" =
- { "Entrep. Theory Pract." 'jname := }
- 'skip$
- if$
- s "Environment and Development Economics" =
- { "Environ. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental and Resource Economics" =
- { "Environ. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental Economics and Policy Studies" =
- { "Environ. Econ. Policy Stud." 'jname := }
- 'skip$
- if$
- s "Environmental Science and Policy" =
- { "Environ. Sci. Policy" 'jname := }
- 'skip$
- if$
- s "Environmental Science \& Technology" =
- { "Environ. Sci. Technol." 'jname := }
- 'skip$
- if$
- s "Eurasian Geography and Economics " =
- { "Eurasian Geogr. Econ." 'jname := }
- 'skip$
- if$
- s "European Economic Review" =
- { "Eur. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "European Journal of Industrial Relations" =
- { "Eur. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "European Review of Agricultural Economics" =
- { "Eur. Rev. Agric. Econ." 'jname := }
- 'skip$
- if$
- s "Europe-Asia Studies" =
- { "Europe-Asia Stud." 'jname := }
- 'skip$
- if$
- s "Explorations in Economic History" =
- { "Explor. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Feminist Economics" =
- { "Fem. Econ." 'jname := }
- 'skip$
- if$
- s "Finance a Uver" =
- { "Financ. Uver." 'jname := }
- 'skip$
- if$
- s "Finance and Stochastics" =
- { "Financ. Stoch." 'jname := }
- 'skip$
- if$
- s "Financial Analysts Journal" =
- { "Financ. Anal. J." 'jname := }
- 'skip$
- if$
- s "Financial Management" =
- { "Financ. Manage." 'jname := }
- 'skip$
- if$
- s "Fiscal Studies" =
- { "Fisc. Stud." 'jname := }
- 'skip$
- if$
- s "Food Policy" =
- { "Food. Policy." 'jname := }
- 'skip$
- if$
- s "Futures" =
- { "Futures" 'jname := }
- 'skip$
- if$
- s "Games and Economic Behavior" =
- { "Game Econ. Behav." 'jname := }
- 'skip$
- if$
- s "Health Economics" =
- { "Health Econ." 'jname := }
- 'skip$
- if$
- s "Hitotsubashi Journal of Economics" =
- { "Hitotsub. J. Econ." 'jname := }
- 'skip$
- if$
- s "IMF Staff Papers" =
- { "Imf. Staff. Papers" 'jname := }
- 'skip$
- if$
- s "Industrial and Corporate Change" =
- { "Ind. Corp. Change" 'jname := }
- 'skip$
- if$
- s "Industrial and Labor Relations Review" =
- { "Ind. Labor. Relat. Rev." 'jname := }
- 'skip$
- if$
- s "Industrial Marketing Management" =
- { "Ind. Market Manag." 'jname := }
- 'skip$
- if$
- s "Industrial Relations" =
- { "Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Information Economics and Policy" =
- { "Info. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Insurance: Mathematics and Economics" =
- { "Insur. Math. Econ." 'jname := }
- 'skip$
- if$
- s "International Economic Review" =
- { "Int. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "International Journal of Electronics and Telecommunications" =
- { "Int. J. Electron. Comm." 'jname := }
- 'skip$
- if$
- s "International Journal of Economic Theory" =
- { "Int. J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Finance \& Economics" =
- { "Int. J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "International Journal of Forecasting" =
- { "Int. J. Forecast." 'jname := }
- 'skip$
- if$
- s "International Journal of Game Theory" =
- { "Int. J. Game. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Industrial Organization" =
- { "Int. J. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "International Journal of Manpower" =
- { "Int. J. Manpow." 'jname := }
- 'skip$
- if$
- s "International Journal of Market Research" =
- { "Int. J. Market Res." 'jname := }
- 'skip$
- if$
- s "International Journal of Research in Marketing" =
- { "Int. J. Res. Mark." 'jname := }
- 'skip$
- if$
- s "International Labour Review" =
- { "Int. Labour Rev." 'jname := }
- 'skip$
- if$
- s "International Marketing Review" =
- { "Int. Market. Rev." 'jname := }
- 'skip$
- if$
- s "International Review of Applied Economics" =
- { "Int. Rev. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "International Review of Law and Economics" =
- { "Int. Rev. Law Econ." 'jname := }
- 'skip$
- if$
- s "International Small Business Journal" =
- { "Int. Small. Bus. J." 'jname := }
- 'skip$
- if$
- s "International Tax and Public Finance" =
- { "Int. Tax Public Finan." 'jname := }
- 'skip$
- if$
- s "Jahrbücher für Nationalökonomie und Statistik" =
- { "Jahrb. Natl. Stat." 'jname := }
- 'skip$
- if$
- s "Japan and the World Economy" =
- { "Jpn. World Econ." 'jname := }
- 'skip$
- if$
- s "Japanese Economic Review" =
- { "Jpn. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "JCMS-journal of Common Market Studies" =
- { "Jcms.-J. Common. Mark. S." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting and Economics" =
- { "J. Account. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting Research" =
- { "J. Account. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Advertising" =
- { "J. Advertising" 'jname := }
- 'skip$
- if$
- s "Journal of Advertising Research" =
- { "J. Advertising Res." 'jname := }
- 'skip$
- if$
- s "Journal of African Economies" =
- { "J. Afr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural and Resource Economics" =
- { "J. Agr. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural Economics" =
- { "J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Applied Econometrics" =
- { "J. Appl. Econom." 'jname := }
- 'skip$
- if$
- s "Journal of Banking and Finance" =
- { "J. Bank Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Business" =
- { "J. Bus." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Economic Statistics" =
- { "J. Bus. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Psychology" =
- { "J. Bus. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Technical Communication" =
- { "J. Bus. Tech. Commun." 'jname := }
- 'skip$
- if$
- s "Journal of Business Ethics" =
- { "J. Bus. Ethics" 'jname := }
- 'skip$
- if$
- s "Journal of Business Research" =
- { "J. Bus. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Business Venturing" =
- { "J. Bus. Venturing." 'jname := }
- 'skip$
- if$
- s "Journal of Cleaner Productiond" =
- { "J. Clean. Prod." 'jname := }
- 'skip$
- if$
- s "Journal of Comparative Economics" =
- { "J. Comp. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Affairs" =
- { "J. Consum. Aff." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Research" =
- { "J. Consum. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Corporate Finance" =
- { "J. Corp. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Development Economics" =
- { "J. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Econometrics" =
- { "J. Econometrics" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Behavior and Organization" =
- { "J. Econ. Behav. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Dynamics and Control" =
- { "J. Econ. Dyn. Control" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Education" =
- { "J. Econ. Educ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Geography" =
- { "J. Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Growth" =
- { "J. Econ. Growth" 'jname := }
- 'skip$
- if$
- s "Journal of Economic History" =
- { "J. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Integration" =
- { "J. Econ. Integr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Issues" =
- { "J. Econ. Issues." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Perspectives" =
- { "J. Econ. Perspect." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Psychology" =
- { "J. Econ. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Literature" =
- { "J. Econ. Lit." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Surveys" =
- { "J. Econ. Surv." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Theory" =
- { "J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "Journal of Economics" =
- { "J. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Economics and Management Strategy" =
- { "J. Econ. Manage. Strat." 'jname := }
- 'skip$
- if$
- s "Journal of Environmental Economics and Management" =
- { "J. Environ. Econ. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Evolutionary Economics" =
- { "J. Evol. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Finance" =
- { "J. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial and Quantitative Analysis" =
- { "J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Economics" =
- { "J. Financ. Intermed." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Intermediation" =
- { "J. Financ. Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Markets" =
- { "J. Financ. Quant. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Forecasting" =
- { "J. Forecasting." 'jname := }
- 'skip$
- if$
- s "Journal of Futures Markets" =
- { "J. Futures Market" 'jname := }
- 'skip$
- if$
- s "Journal of Health Economics" =
- { "J. Health Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Housing Economics" =
- { "J. Hous. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Human Resources" =
- { "J. Hum. Resour." 'jname := }
- 'skip$
- if$
- s "Journal of Industrial Economics" =
- { "J. Ind. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Institutional and Theoretical Economics" =
- { "J. Inst. Theor. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Integrated Disaster Risk Management" =
- { "J. Integr. Disaster Risk Manag." 'jname := }
- 'skip$
- if$
- s "Journal of International Business Studies" =
- { "J. Int. Bus. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of International Economics" =
- { "J. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of International Marketing" =
- { "J. Int. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of International Money and Finance" =
- { "J. Int. Money Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Economics" =
- { "J. Labor Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Research" =
- { "J. Labor Res." 'jname := }
- 'skip$
- if$
- s "Journal of Law and Economics" =
- { "J. Law. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Law, Economics, and Organization" =
- { "J. Law. Econ. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Macroeconomics" =
- { "J. Macroecon." 'jname := }
- 'skip$
- if$
- s "Journal of Management" =
- { "J. Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Management Studies" =
- { "J. Manage. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of Marketing" =
- { "J. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of Marketing Research" =
- { "J. Marketing Res." 'jname := }
- 'skip$
- if$
- s "Journal of Mathematical Economics" =
- { "J. Math. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Media Economics" =
- { "J. Media Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Monetary Economics" =
- { "J. Monetary. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Money, Credit and Banking" =
- { "J. Money Credit Bank." 'jname := }
- 'skip$
- if$
- s "Journal of Policy Modeling" =
- { "J. Policy Model." 'jname := }
- 'skip$
- if$
- s "Journal of Political Economy" =
- { "J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Population Economics" =
- { "J. Popul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Portfolio Management" =
- { "J. Portfolio Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Post Keynesian Economics" =
- { "J. Post Keynesian Ec." 'jname := }
- 'skip$
- if$
- s "Journal of Product Innovation Management" =
- { "J. Prod. Innovat. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Productivity Analysis" =
- { "J. Prod. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Public Economics" =
- { "J. Public Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Public Policy and Marketing" =
- { "J. Public Policy Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Real Estate Finance and Economics" =
- { "J. Real Estate Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Regulatory Economics" =
- { "J. Regul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Retailing" =
- { "J. Retailing" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Insurance" =
- { "J. Risk. Insur" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Uncertainty" =
- { "J. Risk Uncertainty" 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Computation and Simulation" =
- { "J. Stat. Comput. Sim." 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Planning and Inference" =
- { "J. Stat. Plan. Infer." 'jname := }
- 'skip$
- if$
- s "Journal of the Academy of Marketing Science" =
- { "J. Acad. Market. Sci." 'jname := }
- 'skip$
- if$
- s "Journal of the American Statistical Association" =
- { "J. Am. Stat. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the European Economic Association" =
- { "J. Eur. Econ. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the Japanese and International Economies" =
- { "J. Jpn. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Time Series Analysis" =
- { "J. Time Ser. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Transport Economics and Policy" =
- { "J. Transp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Journal of Urban Economics" =
- { "J. Urban Econ." 'jname := }
- 'skip$
- if$
- s "Journal of World Business" =
- { "J. World. Bus." 'jname := }
- 'skip$
- if$
- s "Kyklos" =
- { "Kyklos" 'jname := }
- 'skip$
- if$
- s "Labor History" =
- { "Labor Hist." 'jname := }
- 'skip$
- if$
- s "Labour Economics" =
- { "Labour Econ." 'jname := }
- 'skip$
- if$
- s "Land Economics" =
- { "Land Econ." 'jname := }
- 'skip$
- if$
- s "Long Range Planning" =
- { "Long Range Plann." 'jname := }
- 'skip$
- if$
- s "Macroeconomic Dynamics" =
- { "Macroecon. Dyn." 'jname := }
- 'skip$
- if$
- s "Management Science" =
- { "Manage. Sci." 'jname := }
- 'skip$
- if$
- s "Manchester School" =
- { "Manch. Sch." 'jname := }
- 'skip$
- if$
- s "Marketing Letters" =
- { "Market. Lett." 'jname := }
- 'skip$
- if$
- s "Marketing Science" =
- { "Market. Sci." 'jname := }
- 'skip$
- if$
- s "Materials Transactions" =
- { "Mater. Trans." 'jname := }
- 'skip$
- if$
- s "Mathematical Finance" =
- { "Math. Financ." 'jname := }
- 'skip$
- if$
- s "Monthly Labor Review" =
- { "Mon. Labor Rev." 'jname := }
- 'skip$
- if$
- s "National Tax Journal" =
- { "Natl. Tax. J." 'jname := }
- 'skip$
- if$
- s "New England Economic Review" =
- { "New Engl. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "New Political Economy" =
- { "New Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Open Economies Review" =
- { "Open. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Organizational Dynamics" =
- { "Organ. Dyn." 'jname := }
- 'skip$
- if$
- s "Oxford Bulletin of Economics and Statistics" =
- { "Oxford. B. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Oxford Economic Papers" =
- { "Oxford Econ. Pap." 'jname := }
- 'skip$
- if$
- s "Oxford Review of Economic Policy" =
- { "Oxford. Rev. Econ. Pol." 'jname := }
- 'skip$
- if$
- s "Politicka Ekonomie" =
- { "Polit. Ekon." 'jname := }
- 'skip$
- if$
- s "Population and Development Review" =
- { "Popul. Dev. Rev." 'jname := }
- 'skip$
- if$
- s "Post-Communist Economies" =
- { "Post.-Communist. Econ." 'jname := }
- 'skip$
- if$
- s "Post-Soviet Affairs" =
- { "Post.-Sov. Aff." 'jname := }
- 'skip$
- if$
- s "Psychology \& Marketing" =
- { "Psychol. Market." 'jname := }
- 'skip$
- if$
- s "Public Choice" =
- { "Public. Choice." 'jname := }
- 'skip$
- if$
- s "Quantitative Finance" =
- { "Quant. Financ." 'jname := }
- 'skip$
- if$
- s "Quarterly Journal of Economics" =
- { "Q. J. Econ." 'jname := }
- 'skip$
- if$
- s "R\&D Management" =
- { "R.\&D. Manage." 'jname := }
- 'skip$
- if$
- s "RAND Journal of Economics" =
- { "Rand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Real Estate Economics" =
- { "Real Estate Econ." 'jname := }
- 'skip$
- if$
- s "Regional Science and Urban Economics" =
- { "Reg. Sci. Urban. Econ." 'jname := }
- 'skip$
- if$
- s "Regional Studies" =
- { "Reg. Stud." 'jname := }
- 'skip$
- if$
- s "Relations Industrielles-Industrial Relations" =
- { "Relat. Ind.-Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Research-Technology Management" =
- { "Res. Technol. Manage." 'jname := }
- 'skip$
- if$
- s "Resource and Energy Economics" =
- { "Resour. Energy. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Accounting Studies" =
- { "Rev. Acc. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Agricultural Economics" =
- { "Rev. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Development Economics" =
- { "Rev. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Economic Dynamics" =
- { "Rev. Econ. Dynam." 'jname := }
- 'skip$
- if$
- s "Review of Economic Studies" =
- { "Rev. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Review of Economics and Statistics" =
- { "Rev. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Financial Studies" =
- { "Rev. Financ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Income and Wealth" =
- { "Rev. Income Wealth" 'jname := }
- 'skip$
- if$
- s "Review of Industrial Organization" =
- { "Rev. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "Review of International Economics" =
- { "Rev. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Review of International Political Economy" =
- { "Rev. Int. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Review of World Economics" =
- { "Rev. World Econ." 'jname := }
- 'skip$
- if$
- s "Scandinavian Journal of Economics" =
- { "Scand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Scottish Journal of Political Economy" =
- { "Scot. J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Small Business Economics" =
- { "Small. Bus. Econ." 'jname := }
- 'skip$
- if$
- s "Social Choice and Welfare" =
- { "Soc. Choice Welfare" 'jname := }
- 'skip$
- if$
- s "South African Journal of Economics" =
- { "S. Afr. J. Econ." 'jname := }
- 'skip$
- if$
- s "Southern Economic Journal" =
- { "South. Econ. J." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Statistics." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Strategic Manage. J." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stoch. Anal. Appl." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stud. Nonlinear. Dyn. E." 'jname := }
- 'skip$
- if$
- s "Supply Chain Management" =
- { "Supply. Chain. Manag." 'jname := }
- 'skip$
- if$
- s "Sustainability" =
- { "Sustainability" 'jname := }
- 'skip$
- if$
- s "Technological Forecasting and Social Change" =
- { "Technol. Forecast. Soc." 'jname := }
- 'skip$
- if$
- s "Theory and Decision" =
- { "Theor. Decis." 'jname := }
- 'skip$
- if$
- s "Tijdschrift voor Economische en Sociale Geografie" =
- { "Tijdschr. Econ. Soc. Ge." 'jname := }
- 'skip$
- if$
- s "Trimestre Economico" =
- { "Trimest. Econ." 'jname := }
- 'skip$
- if$
- s "Work and Occupations" =
- { "Work Occupation." 'jname := }
- 'skip$
- if$
- s "Work, Employment and Society" =
- { "Work Employ. Soc." 'jname := }
- 'skip$
- if$
- s "World Bank Economic Review" =
- { "World Bank Econ. Rev." 'jname := }
- 'skip$
- if$
- s "World Bank Research Observer" =
- { "World Bank Res. Obser." 'jname := }
- 'skip$
- if$
- s "World Development" =
- { "World Dev." 'jname := }
- 'skip$
- if$
- s "World Economy" =
- { "World Econ." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.pdf
index 309c142278f..76230bae9f7 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-abbr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.bst
deleted file mode 100644
index 21f2fb48035..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.bst
+++ /dev/null
@@ -1,3604 +0,0 @@
-%% aea.bst: BibTeX style file for journals of American Economic Association (AEA).
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of aea.bst
-
-% "aea.bst" is a BibTeX style file for journals of American Economic
-% Association such as
-% - The American Economic Review
-% - Papers and Proceedins
-% - Journal of Economic Literature
-% - American Economics Journals
-%
-% AEA Style Guide is found at the following site:
-% https://www.aeaweb.org/journals/aer/submissions/accepted-articles/styleguide
-
-% "aea.bst" is created from "econ.bst" which is distributed from
-% https://github.com/ShiroTakeda/econ-bst
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "aer.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-{ #0 } % Not use \bysame
-% { #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", and " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ ", and " }
-% { " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "\textbf{" }
-% { "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ ".}" }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ". " }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ". " }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ".''" }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}." }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}," }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #1 }
-% { #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ " " }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ "): " }
-% { ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " In " }
-% { " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ " " }
-% { ", pp." } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ "" }
-% { ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ ", " }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ". \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * }
-% { ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame ŏȗ钘҂̑Oɂ‚ and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { " edited by " }
- { " edited by " }
-% { bst.editors " by " * }
-% { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
-% { bst.volume.pre volume * bst.volume.post *
- { " Volume " volume * "." *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { address empty$
- { ", " publisher * bst.publisher.post * }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
- }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by aea.bst ver." econ.version * write$ newline$
- "% The latest aea.bst is available at" write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.pdf
index dd4682d6fdb..476a1d473b3 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-aea.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.bst
deleted file mode 100644
index 2e668eb9e04..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.bst
+++ /dev/null
@@ -1,3601 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-% { #1 } % -> Use \bysame (default)
-{ #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-% { "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-{ "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-% { #0 } % Not use number index (default).
-{ #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.19em" }
-% { "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.69em" }
-% { "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.19em" }
-% { "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-% { #0 } % (default).
-{ #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ " \& " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", \& " }
-% { ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " \& " }
-% { " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-% { #3 } % If the number of authors is greater or equal to three (default).
-{ #4 }
-
- If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "\textsc{" }
-% { "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "}, " }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ ", \textit{" }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ "}" }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ ", \textit{" }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ "}" }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "`" }
-% { "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ".'" }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " (eds.) " }
-% { " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ", \textbf{" }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "}" }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " In " }
-% { " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chapter" }
-% { ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-% { ", accessed on " } % (default)
-{ " (accessed on " }
-
-% The string after access.
-FUNCTION {bst.access.post}
-% { "" } % (default)
-{ ")" }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.pdf
index 0e5383e49d5..fab03cb781a 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-b.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-default.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-default.pdf
index 63fd4201122..0977859dbd3 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-default.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-default.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.bst
deleted file mode 100644
index 81bc4063ff9..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.bst
+++ /dev/null
@@ -1,3640 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-% "econ-econometrica.bst" is a BibTeX style file for Econometrica.
-% "econ-econometrica.bst" is created from "econ.bst" which is distributed from
-% https://github.com/ShiroTakeda/econ-bst
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ-econometrica.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-% { #0 } % #0 -> full letters (default).
-{ #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", and " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "\textsc{" }
-% { "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "} " }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ "): " }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ "): " }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " ed. " }
-% { " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-% { #0 } % (default)
-{ #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-% { #0 } % #0 -> show number field (default)
-{ #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ ", Ph.D. dissertation" }
-% { " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% For Econometrica, we define `format.name.ed` in addition to `format.name`.
-FUNCTION {format.names.ed}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
- { nameptr #1 =
- % First author
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- % The second or later authors
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names.ed *
-% editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { " Volume " volume * bst.volume.post *
-% { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- % For Econometrica, publisher and its address are placed before edition,
- % chapter and page number.
- output.address.organization.publisher
- format.edition output.nocomma
- format.chapter.pages output.nocomma
-% output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.pdf
index 7873e80dc49..8646918e297 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-econometrica.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.bst
deleted file mode 100644
index 67a00ed0833..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.bst
+++ /dev/null
@@ -1,4736 +0,0 @@
-%% econ-jet.bst: BibTeX style file for "Journal of Economic Theory".
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-% "econ-jet.bst" is a BibTeX style file for Journal fo Economic Theory.
-% "econ-jet.bst" is created from "econ.bst" which is distributed from
-% https://github.com/ShiroTakeda/econ-bst
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ-jet.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-{ #0 } % Not use \bysame
-% { #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-% { #0 } % (default)
-{ #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-% { #0 } % #0 -> full letters (default).
-{ #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", " }
-% { ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "," }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ ", " }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ". " }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ ", " }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ". " }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "" }
-% { "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ "." }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "." }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "" }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-% { "}" } % (default)
-{ "" }
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-% { #0 } % (default)
-{ #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ". " }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" }
-% { ", URL: \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- s "Academy of Management Journal" =
- { "Acad. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting Review" =
- { "Account. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Account. Org. Soc." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Admin. Sci. Quart." 'jname := }
- 'skip$
- if$
- s "Administrative Science Quarterly" =
- { "Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Applied Economics" =
- { "Am. Econ. J. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Economic Policy" =
- { "Am. Econ. J. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Macroeconomics" =
- { "Am. Econ. J. Macro." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Microeconomics" =
- { "Am. Econ. J. Micro." 'jname := }
- 'skip$
- if$
- s "American Economic Review" =
- { "Am. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "American Journal of Agricultural Economics" =
- { "Am. J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Journal of Economics and Sociology" =
- { "Am. J. Econ. Sociol." 'jname := }
- 'skip$
- if$
- s "Applied Economics" =
- { "Appl. Econ." 'jname := }
- 'skip$
- if$
- s "Applied Economics Letters" =
- { "Appl. Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Applied Energy" =
- { "Appl. Energ." 'jname := }
- 'skip$
- if$
- s "Applied Stochastic Models in Business and Industry" =
- { "Appl. Stoch. Model Bus." 'jname := }
- 'skip$
- if$
- s "Auditing: A Journal of Practise and Theory" =
- { "Auditing.-J. Pract. Th." 'jname := }
- 'skip$
- if$
- s "Australian Journal of Agricultural and Resource Economics" =
- { "Aust. J. Agr. Resour. Ec." 'jname := }
- 'skip$
- if$
- s "B.E. Journal of Economic Analysis \& Policy" =
- { "B.E. J. Econ. Anal. Policy" 'jname := }
- 'skip$
- if$
- s "Betriebswirtschaftliche Forschung Und Praxis" =
- { "Betrieb. Forsch. Prax." 'jname := }
- 'skip$
- if$
- s "British Journal of Industrial Relations" =
- { "Brit. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "British Journal of Management" =
- { "Brit. J. Manage." 'jname := }
- 'skip$
- if$
- s "Bulletin of Indonesian Economic Studies" =
- { "B. Indones. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Business Ethics Quarterly" =
- { "Bus. Ethics Q." 'jname := }
- 'skip$
- if$
- s "Business History" =
- { "Bus. Hist." 'jname := }
- 'skip$
- if$
- s "Business History Review" =
- { "Bus. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Business Lawyer" =
- { "Bus. Lawyer" 'jname := }
- 'skip$
- if$
- s "California Management Review" =
- { "Calif. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Cambridge Journal of Economics" =
- { "Cambridge J. Econ." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Administrative Sciences" =
- { "Can. J. Adm. Sci." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Economics" =
- { "Can. J. Econ." 'jname := }
- 'skip$
- if$
- s "China Economic Review" =
- { "China. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Climate Change Economics" =
- { "Clim. Change Econ." 'jname := }
- 'skip$
- if$
- s "Climate Policy" =
- { "Clim. Policy" 'jname := }
- 'skip$
- if$
- s "Communications in Statistics – Part A: Theory and Methods" =
- { "Commun. Stat.-Theor. M." 'jname := }
- 'skip$
- if$
- s "Computational Economics" =
- { "Computation. Econ." 'jname := }
- 'skip$
- if$
- s "Computational Statistics" =
- { "Computation. Stat." 'jname := }
- 'skip$
- if$
- s "Computational Statistics and Data Analysis" =
- { "Comput. Stat. Data An." 'jname := }
- 'skip$
- if$
- s "Contemporary Accounting Research" =
- { "Contemp. Account. Res." 'jname := }
- 'skip$
- if$
- s "Contemporary Economic Policy" =
- { "Contemp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Defence and Peace Economics" =
- { "Defence Peace Econ." 'jname := }
- 'skip$
- if$
- s "Development Economics" =
- { "Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Eastern European Economics" =
- { "Eastern Eur. Econ." 'jname := }
- 'skip$
- if$
- s "Ecological Economics" =
- { "Ecol. Econ." 'jname := }
- 'skip$
- if$
- s "Econometric Theory" =
- { "Economet. Theor." 'jname := }
- 'skip$
- if$
- s "Econometrica" =
- { "Econometrica" 'jname := }
- 'skip$
- if$
- s "Economic and Industrial Democracy" =
- { "Econ. Ind. Democr." 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Econ. Dev. Cult. Change" 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Economist.-Netherland" 'jname := }
- 'skip$
- if$
- s "Economic Development Quarterly" =
- { "Econ. Dev. Q." 'jname := }
- 'skip$
- if$
- s "Economic Geography" =
- { "Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Economic History Review" =
- { "Econ. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Economic Inquiry" =
- { "Econ. Inq." 'jname := }
- 'skip$
- if$
- s "Economic Journal" =
- { "Econ. J." 'jname := }
- 'skip$
- if$
- s "Economic Modelling" =
- { "Econ. Model." 'jname := }
- 'skip$
- if$
- s "Economic Policy" =
- { "Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Economic Record" =
- { "Econ. Rec." 'jname := }
- 'skip$
- if$
- s "Economic Theory" =
- { "Econ. Theor." 'jname := }
- 'skip$
- if$
- s "Economica" =
- { "Economica" 'jname := }
- 'skip$
- if$
- s "Economics and Philosophy" =
- { "Econ. Philos." 'jname := }
- 'skip$
- if$
- s "Economics Letters" =
- { "Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Economics of Education Review" =
- { "Econ. Educ. Rev." 'jname := }
- 'skip$
- if$
- s "Economics of Energy \& Environmental Policy" =
- { "Econ. Energ. Environ. Policy" 'jname := }
- 'skip$
- if$
- s "Economics of Transition" =
- { "Econ. Transit." 'jname := }
- 'skip$
- if$
- s "Economy and Society" =
- { "Econ. Soc." 'jname := }
- 'skip$
- if$
- s "Ekonomicky Casopis" =
- { "Ekon. Cas." 'jname := }
- 'skip$
- if$
- s "Ekonomiska Samfundets Tidskrift" =
- { "Ekon. Samf. Tidskr." 'jname := }
- 'skip$
- if$
- s "Emerging Markets Finance and Trade" =
- { "Emerg. Mark. Financ. Tr." 'jname := }
- 'skip$
- if$
- s "Energy Economics" =
- { "Energ. Econ." 'jname := }
- 'skip$
- if$
- s "Energy Journal" =
- { "Energ. J." 'jname := }
- 'skip$
- if$
- s "Energy Policy" =
- { "Energ. Policy" 'jname := }
- 'skip$
- if$
- s "Entrepreneurship \& Regional Development" =
- { "Entrep. Region. Dev." 'jname := }
- 'skip$
- if$
- s "Entrepreneurship Theory and Practice" =
- { "Entrep. Theory Pract." 'jname := }
- 'skip$
- if$
- s "Environment and Development Economics" =
- { "Environ. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental and Resource Economics" =
- { "Environ. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental Economics and Policy Studies" =
- { "Environ. Econ. Policy Stud." 'jname := }
- 'skip$
- if$
- s "Environmental Science and Policy" =
- { "Environ. Sci. Policy" 'jname := }
- 'skip$
- if$
- s "Environmental Science \& Technology" =
- { "Environ. Sci. Technol." 'jname := }
- 'skip$
- if$
- s "Eurasian Geography and Economics " =
- { "Eurasian Geogr. Econ." 'jname := }
- 'skip$
- if$
- s "European Economic Review" =
- { "Eur. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "European Journal of Industrial Relations" =
- { "Eur. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "European Review of Agricultural Economics" =
- { "Eur. Rev. Agric. Econ." 'jname := }
- 'skip$
- if$
- s "Europe-Asia Studies" =
- { "Europe-Asia Stud." 'jname := }
- 'skip$
- if$
- s "Explorations in Economic History" =
- { "Explor. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Feminist Economics" =
- { "Fem. Econ." 'jname := }
- 'skip$
- if$
- s "Finance a Uver" =
- { "Financ. Uver." 'jname := }
- 'skip$
- if$
- s "Finance and Stochastics" =
- { "Financ. Stoch." 'jname := }
- 'skip$
- if$
- s "Financial Analysts Journal" =
- { "Financ. Anal. J." 'jname := }
- 'skip$
- if$
- s "Financial Management" =
- { "Financ. Manage." 'jname := }
- 'skip$
- if$
- s "Fiscal Studies" =
- { "Fisc. Stud." 'jname := }
- 'skip$
- if$
- s "Food Policy" =
- { "Food. Policy." 'jname := }
- 'skip$
- if$
- s "Futures" =
- { "Futures" 'jname := }
- 'skip$
- if$
- s "Games and Economic Behavior" =
- { "Game Econ. Behav." 'jname := }
- 'skip$
- if$
- s "Health Economics" =
- { "Health Econ." 'jname := }
- 'skip$
- if$
- s "Hitotsubashi Journal of Economics" =
- { "Hitotsub. J. Econ." 'jname := }
- 'skip$
- if$
- s "IMF Staff Papers" =
- { "Imf. Staff. Papers" 'jname := }
- 'skip$
- if$
- s "Industrial and Corporate Change" =
- { "Ind. Corp. Change" 'jname := }
- 'skip$
- if$
- s "Industrial and Labor Relations Review" =
- { "Ind. Labor. Relat. Rev." 'jname := }
- 'skip$
- if$
- s "Industrial Marketing Management" =
- { "Ind. Market Manag." 'jname := }
- 'skip$
- if$
- s "Industrial Relations" =
- { "Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Information Economics and Policy" =
- { "Info. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Insurance: Mathematics and Economics" =
- { "Insur. Math. Econ." 'jname := }
- 'skip$
- if$
- s "International Economic Review" =
- { "Int. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "International Journal of Electronics and Telecommunications" =
- { "Int. J. Electron. Comm." 'jname := }
- 'skip$
- if$
- s "International Journal of Economic Theory" =
- { "Int. J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Finance \& Economics" =
- { "Int. J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "International Journal of Forecasting" =
- { "Int. J. Forecast." 'jname := }
- 'skip$
- if$
- s "International Journal of Game Theory" =
- { "Int. J. Game. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Industrial Organization" =
- { "Int. J. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "International Journal of Manpower" =
- { "Int. J. Manpow." 'jname := }
- 'skip$
- if$
- s "International Journal of Market Research" =
- { "Int. J. Market Res." 'jname := }
- 'skip$
- if$
- s "International Journal of Research in Marketing" =
- { "Int. J. Res. Mark." 'jname := }
- 'skip$
- if$
- s "International Labour Review" =
- { "Int. Labour Rev." 'jname := }
- 'skip$
- if$
- s "International Marketing Review" =
- { "Int. Market. Rev." 'jname := }
- 'skip$
- if$
- s "International Review of Applied Economics" =
- { "Int. Rev. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "International Review of Law and Economics" =
- { "Int. Rev. Law Econ." 'jname := }
- 'skip$
- if$
- s "International Small Business Journal" =
- { "Int. Small. Bus. J." 'jname := }
- 'skip$
- if$
- s "International Tax and Public Finance" =
- { "Int. Tax Public Finan." 'jname := }
- 'skip$
- if$
- s "Jahrbücher für Nationalökonomie und Statistik" =
- { "Jahrb. Natl. Stat." 'jname := }
- 'skip$
- if$
- s "Japan and the World Economy" =
- { "Jpn. World Econ." 'jname := }
- 'skip$
- if$
- s "Japanese Economic Review" =
- { "Jpn. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "JCMS-journal of Common Market Studies" =
- { "Jcms.-J. Common. Mark. S." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting and Economics" =
- { "J. Account. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting Research" =
- { "J. Account. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Advertising" =
- { "J. Advertising" 'jname := }
- 'skip$
- if$
- s "Journal of Advertising Research" =
- { "J. Advertising Res." 'jname := }
- 'skip$
- if$
- s "Journal of African Economies" =
- { "J. Afr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural and Resource Economics" =
- { "J. Agr. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural Economics" =
- { "J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Applied Econometrics" =
- { "J. Appl. Econom." 'jname := }
- 'skip$
- if$
- s "Journal of Banking and Finance" =
- { "J. Bank Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Business" =
- { "J. Bus." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Economic Statistics" =
- { "J. Bus. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Psychology" =
- { "J. Bus. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Technical Communication" =
- { "J. Bus. Tech. Commun." 'jname := }
- 'skip$
- if$
- s "Journal of Business Ethics" =
- { "J. Bus. Ethics" 'jname := }
- 'skip$
- if$
- s "Journal of Business Research" =
- { "J. Bus. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Business Venturing" =
- { "J. Bus. Venturing." 'jname := }
- 'skip$
- if$
- s "Journal of Cleaner Productiond" =
- { "J. Clean. Prod." 'jname := }
- 'skip$
- if$
- s "Journal of Comparative Economics" =
- { "J. Comp. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Affairs" =
- { "J. Consum. Aff." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Research" =
- { "J. Consum. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Corporate Finance" =
- { "J. Corp. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Development Economics" =
- { "J. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Econometrics" =
- { "J. Econometrics" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Behavior and Organization" =
- { "J. Econ. Behav. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Dynamics and Control" =
- { "J. Econ. Dyn. Control" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Education" =
- { "J. Econ. Educ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Geography" =
- { "J. Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Growth" =
- { "J. Econ. Growth" 'jname := }
- 'skip$
- if$
- s "Journal of Economic History" =
- { "J. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Integration" =
- { "J. Econ. Integr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Issues" =
- { "J. Econ. Issues." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Perspectives" =
- { "J. Econ. Perspect." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Psychology" =
- { "J. Econ. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Literature" =
- { "J. Econ. Lit." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Surveys" =
- { "J. Econ. Surv." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Theory" =
- { "J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "Journal of Economics" =
- { "J. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Economics and Management Strategy" =
- { "J. Econ. Manage. Strat." 'jname := }
- 'skip$
- if$
- s "Journal of Environmental Economics and Management" =
- { "J. Environ. Econ. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Evolutionary Economics" =
- { "J. Evol. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Finance" =
- { "J. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial and Quantitative Analysis" =
- { "J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Economics" =
- { "J. Financ. Intermed." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Intermediation" =
- { "J. Financ. Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Markets" =
- { "J. Financ. Quant. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Forecasting" =
- { "J. Forecasting." 'jname := }
- 'skip$
- if$
- s "Journal of Futures Markets" =
- { "J. Futures Market" 'jname := }
- 'skip$
- if$
- s "Journal of Health Economics" =
- { "J. Health Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Housing Economics" =
- { "J. Hous. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Human Resources" =
- { "J. Hum. Resour." 'jname := }
- 'skip$
- if$
- s "Journal of Industrial Economics" =
- { "J. Ind. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Institutional and Theoretical Economics" =
- { "J. Inst. Theor. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Integrated Disaster Risk Management" =
- { "J. Integr. Disaster Risk Manag." 'jname := }
- 'skip$
- if$
- s "Journal of International Business Studies" =
- { "J. Int. Bus. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of International Economics" =
- { "J. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of International Marketing" =
- { "J. Int. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of International Money and Finance" =
- { "J. Int. Money Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Economics" =
- { "J. Labor Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Research" =
- { "J. Labor Res." 'jname := }
- 'skip$
- if$
- s "Journal of Law and Economics" =
- { "J. Law. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Law, Economics, and Organization" =
- { "J. Law. Econ. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Macroeconomics" =
- { "J. Macroecon." 'jname := }
- 'skip$
- if$
- s "Journal of Management" =
- { "J. Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Management Studies" =
- { "J. Manage. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of Marketing" =
- { "J. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of Marketing Research" =
- { "J. Marketing Res." 'jname := }
- 'skip$
- if$
- s "Journal of Mathematical Economics" =
- { "J. Math. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Media Economics" =
- { "J. Media Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Monetary Economics" =
- { "J. Monetary. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Money, Credit and Banking" =
- { "J. Money Credit Bank." 'jname := }
- 'skip$
- if$
- s "Journal of Policy Modeling" =
- { "J. Policy Model." 'jname := }
- 'skip$
- if$
- s "Journal of Political Economy" =
- { "J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Population Economics" =
- { "J. Popul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Portfolio Management" =
- { "J. Portfolio Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Post Keynesian Economics" =
- { "J. Post Keynesian Ec." 'jname := }
- 'skip$
- if$
- s "Journal of Product Innovation Management" =
- { "J. Prod. Innovat. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Productivity Analysis" =
- { "J. Prod. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Public Economics" =
- { "J. Public Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Public Policy and Marketing" =
- { "J. Public Policy Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Real Estate Finance and Economics" =
- { "J. Real Estate Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Regulatory Economics" =
- { "J. Regul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Retailing" =
- { "J. Retailing" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Insurance" =
- { "J. Risk. Insur" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Uncertainty" =
- { "J. Risk Uncertainty" 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Computation and Simulation" =
- { "J. Stat. Comput. Sim." 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Planning and Inference" =
- { "J. Stat. Plan. Infer." 'jname := }
- 'skip$
- if$
- s "Journal of the Academy of Marketing Science" =
- { "J. Acad. Market. Sci." 'jname := }
- 'skip$
- if$
- s "Journal of the American Statistical Association" =
- { "J. Am. Stat. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the European Economic Association" =
- { "J. Eur. Econ. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the Japanese and International Economies" =
- { "J. Jpn. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Time Series Analysis" =
- { "J. Time Ser. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Transport Economics and Policy" =
- { "J. Transp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Journal of Urban Economics" =
- { "J. Urban Econ." 'jname := }
- 'skip$
- if$
- s "Journal of World Business" =
- { "J. World. Bus." 'jname := }
- 'skip$
- if$
- s "Kyklos" =
- { "Kyklos" 'jname := }
- 'skip$
- if$
- s "Labor History" =
- { "Labor Hist." 'jname := }
- 'skip$
- if$
- s "Labour Economics" =
- { "Labour Econ." 'jname := }
- 'skip$
- if$
- s "Land Economics" =
- { "Land Econ." 'jname := }
- 'skip$
- if$
- s "Long Range Planning" =
- { "Long Range Plann." 'jname := }
- 'skip$
- if$
- s "Macroeconomic Dynamics" =
- { "Macroecon. Dyn." 'jname := }
- 'skip$
- if$
- s "Management Science" =
- { "Manage. Sci." 'jname := }
- 'skip$
- if$
- s "Manchester School" =
- { "Manch. Sch." 'jname := }
- 'skip$
- if$
- s "Marketing Letters" =
- { "Market. Lett." 'jname := }
- 'skip$
- if$
- s "Marketing Science" =
- { "Market. Sci." 'jname := }
- 'skip$
- if$
- s "Materials Transactions" =
- { "Mater. Trans." 'jname := }
- 'skip$
- if$
- s "Mathematical Finance" =
- { "Math. Financ." 'jname := }
- 'skip$
- if$
- s "Monthly Labor Review" =
- { "Mon. Labor Rev." 'jname := }
- 'skip$
- if$
- s "National Tax Journal" =
- { "Natl. Tax. J." 'jname := }
- 'skip$
- if$
- s "New England Economic Review" =
- { "New Engl. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "New Political Economy" =
- { "New Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Open Economies Review" =
- { "Open. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Organizational Dynamics" =
- { "Organ. Dyn." 'jname := }
- 'skip$
- if$
- s "Oxford Bulletin of Economics and Statistics" =
- { "Oxford. B. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Oxford Economic Papers" =
- { "Oxford Econ. Pap." 'jname := }
- 'skip$
- if$
- s "Oxford Review of Economic Policy" =
- { "Oxford. Rev. Econ. Pol." 'jname := }
- 'skip$
- if$
- s "Politicka Ekonomie" =
- { "Polit. Ekon." 'jname := }
- 'skip$
- if$
- s "Population and Development Review" =
- { "Popul. Dev. Rev." 'jname := }
- 'skip$
- if$
- s "Post-Communist Economies" =
- { "Post.-Communist. Econ." 'jname := }
- 'skip$
- if$
- s "Post-Soviet Affairs" =
- { "Post.-Sov. Aff." 'jname := }
- 'skip$
- if$
- s "Psychology \& Marketing" =
- { "Psychol. Market." 'jname := }
- 'skip$
- if$
- s "Public Choice" =
- { "Public. Choice." 'jname := }
- 'skip$
- if$
- s "Quantitative Finance" =
- { "Quant. Financ." 'jname := }
- 'skip$
- if$
- s "Quarterly Journal of Economics" =
- { "Q. J. Econ." 'jname := }
- 'skip$
- if$
- s "R\&D Management" =
- { "R.\&D. Manage." 'jname := }
- 'skip$
- if$
- s "RAND Journal of Economics" =
- { "Rand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Real Estate Economics" =
- { "Real Estate Econ." 'jname := }
- 'skip$
- if$
- s "Regional Science and Urban Economics" =
- { "Reg. Sci. Urban. Econ." 'jname := }
- 'skip$
- if$
- s "Regional Studies" =
- { "Reg. Stud." 'jname := }
- 'skip$
- if$
- s "Relations Industrielles-Industrial Relations" =
- { "Relat. Ind.-Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Research-Technology Management" =
- { "Res. Technol. Manage." 'jname := }
- 'skip$
- if$
- s "Resource and Energy Economics" =
- { "Resour. Energy. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Accounting Studies" =
- { "Rev. Acc. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Agricultural Economics" =
- { "Rev. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Development Economics" =
- { "Rev. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Economic Dynamics" =
- { "Rev. Econ. Dynam." 'jname := }
- 'skip$
- if$
- s "Review of Economic Studies" =
- { "Rev. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Review of Economics and Statistics" =
- { "Rev. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Financial Studies" =
- { "Rev. Financ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Income and Wealth" =
- { "Rev. Income Wealth" 'jname := }
- 'skip$
- if$
- s "Review of Industrial Organization" =
- { "Rev. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "Review of International Economics" =
- { "Rev. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Review of International Political Economy" =
- { "Rev. Int. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Review of World Economics" =
- { "Rev. World Econ." 'jname := }
- 'skip$
- if$
- s "Scandinavian Journal of Economics" =
- { "Scand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Scottish Journal of Political Economy" =
- { "Scot. J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Small Business Economics" =
- { "Small. Bus. Econ." 'jname := }
- 'skip$
- if$
- s "Social Choice and Welfare" =
- { "Soc. Choice Welfare" 'jname := }
- 'skip$
- if$
- s "South African Journal of Economics" =
- { "S. Afr. J. Econ." 'jname := }
- 'skip$
- if$
- s "Southern Economic Journal" =
- { "South. Econ. J." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Statistics." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Strategic Manage. J." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stoch. Anal. Appl." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stud. Nonlinear. Dyn. E." 'jname := }
- 'skip$
- if$
- s "Supply Chain Management" =
- { "Supply. Chain. Manag." 'jname := }
- 'skip$
- if$
- s "Sustainability" =
- { "Sustainability" 'jname := }
- 'skip$
- if$
- s "Technological Forecasting and Social Change" =
- { "Technol. Forecast. Soc." 'jname := }
- 'skip$
- if$
- s "Theory and Decision" =
- { "Theor. Decis." 'jname := }
- 'skip$
- if$
- s "Tijdschrift voor Economische en Sociale Geografie" =
- { "Tijdschr. Econ. Soc. Ge." 'jname := }
- 'skip$
- if$
- s "Trimestre Economico" =
- { "Trimest. Econ." 'jname := }
- 'skip$
- if$
- s "Work and Occupations" =
- { "Work Occupation." 'jname := }
- 'skip$
- if$
- s "Work, Employment and Society" =
- { "Work Employ. Soc." 'jname := }
- 'skip$
- if$
- s "World Bank Economic Review" =
- { "World Bank Econ. Rev." 'jname := }
- 'skip$
- if$
- s "World Bank Research Observer" =
- { "World Bank Res. Obser." 'jname := }
- 'skip$
- if$
- s "World Development" =
- { "World Dev." 'jname := }
- 'skip$
- if$
- s "World Economy" =
- { "World Econ." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.pdf
index ae4af816100..438938c75a7 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jet.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jie.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jie.bst
deleted file mode 100644
index 06a2cfbe50b..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jie.bst
+++ /dev/null
@@ -1,3594 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% econ-jie.bst
-
-% "econ-jie.bst" is a BibTeX style file for Journal of International Economics
-% "econ-jie.bst" is created from "econ.bst" which is distributed from
-% https://github.com/ShiroTakeda/econ-bst
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ-jie.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-% { #0 } % (default)
-{ #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-% { #0 } % #0 -> full letters (default).
-{ #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-% { #0 } % If #0, not decapitalize title (default).
-{ #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", " }
-% { ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "," }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ". " }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ". " }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "" }
-% { "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ "." }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "." }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "." }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " " }
-% { " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "." }
-% { "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " (Eds.)," }
-% { " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ " " }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")," }
-% { ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " In: " }
-% { " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ " " }
-% { ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-% { #0 } % Address is placed before publisher (default)
-{ #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ", " }
-% { ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % (default) -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jpe.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jpe.bst
deleted file mode 100644
index ee6d4364ab5..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-jpe.bst
+++ /dev/null
@@ -1,4802 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ-jpe.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ ", and " }
-% { " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ "." }
-% { ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " " }
-% { " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ "." }
-% { ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ".''" }
-% { ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}. " }
-% { "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}." }
-% { "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-% { #0 } % (default)
-{ #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #1 }
-% { #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ " " }
-% { ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ "): " }
-% { ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " In " }
-% { " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ " " }
-% { ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "," }
-% { "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- s "Academy of Management Journal" =
- { "Acad. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting Review" =
- { "Account. Rev." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Account. Org. Soc." 'jname := }
- 'skip$
- if$
- s "Accounting, Organizations and Society" =
- { "Admin. Sci. Quart." 'jname := }
- 'skip$
- if$
- s "Administrative Science Quarterly" =
- { "Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Applied Economics" =
- { "Am. Econ. J. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Economic Policy" =
- { "Am. Econ. J. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Macroeconomics" =
- { "Am. Econ. J. Macro." 'jname := }
- 'skip$
- if$
- s "American Economic Journal: Microeconomics" =
- { "Am. Econ. J. Micro." 'jname := }
- 'skip$
- if$
- s "American Economic Review" =
- { "Am. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "American Journal of Agricultural Economics" =
- { "Am. J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "American Journal of Economics and Sociology" =
- { "Am. J. Econ. Sociol." 'jname := }
- 'skip$
- if$
- s "Applied Economics" =
- { "Appl. Econ." 'jname := }
- 'skip$
- if$
- s "Applied Economics Letters" =
- { "Appl. Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Applied Energy" =
- { "Appl. Energ." 'jname := }
- 'skip$
- if$
- s "Applied Stochastic Models in Business and Industry" =
- { "Appl. Stoch. Model Bus." 'jname := }
- 'skip$
- if$
- s "Auditing: A Journal of Practise and Theory" =
- { "Auditing.-J. Pract. Th." 'jname := }
- 'skip$
- if$
- s "Australian Journal of Agricultural and Resource Economics" =
- { "Aust. J. Agr. Resour. Ec." 'jname := }
- 'skip$
- if$
- s "B.E. Journal of Economic Analysis \& Policy" =
- { "B.E. J. Econ. Anal. Policy" 'jname := }
- 'skip$
- if$
- s "Betriebswirtschaftliche Forschung Und Praxis" =
- { "Betrieb. Forsch. Prax." 'jname := }
- 'skip$
- if$
- s "British Journal of Industrial Relations" =
- { "Brit. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "British Journal of Management" =
- { "Brit. J. Manage." 'jname := }
- 'skip$
- if$
- s "Bulletin of Indonesian Economic Studies" =
- { "B. Indones. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Business Ethics Quarterly" =
- { "Bus. Ethics Q." 'jname := }
- 'skip$
- if$
- s "Business History" =
- { "Bus. Hist." 'jname := }
- 'skip$
- if$
- s "Business History Review" =
- { "Bus. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Business Lawyer" =
- { "Bus. Lawyer" 'jname := }
- 'skip$
- if$
- s "California Management Review" =
- { "Calif. Manage. Rev." 'jname := }
- 'skip$
- if$
- s "Cambridge Journal of Economics" =
- { "Cambridge J. Econ." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Administrative Sciences" =
- { "Can. J. Adm. Sci." 'jname := }
- 'skip$
- if$
- s "Canadian Journal of Economics" =
- { "Can. J. Econ." 'jname := }
- 'skip$
- if$
- s "China Economic Review" =
- { "China. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Climate Change Economics" =
- { "Clim. Change Econ." 'jname := }
- 'skip$
- if$
- s "Climate Policy" =
- { "Clim. Policy" 'jname := }
- 'skip$
- if$
- s "Communications in Statistics – Part A: Theory and Methods" =
- { "Commun. Stat.-Theor. M." 'jname := }
- 'skip$
- if$
- s "Computational Economics" =
- { "Computation. Econ." 'jname := }
- 'skip$
- if$
- s "Computational Statistics" =
- { "Computation. Stat." 'jname := }
- 'skip$
- if$
- s "Computational Statistics and Data Analysis" =
- { "Comput. Stat. Data An." 'jname := }
- 'skip$
- if$
- s "Contemporary Accounting Research" =
- { "Contemp. Account. Res." 'jname := }
- 'skip$
- if$
- s "Contemporary Economic Policy" =
- { "Contemp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Defence and Peace Economics" =
- { "Defence Peace Econ." 'jname := }
- 'skip$
- if$
- s "Development Economics" =
- { "Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Eastern European Economics" =
- { "Eastern Eur. Econ." 'jname := }
- 'skip$
- if$
- s "Ecological Economics" =
- { "Ecol. Econ." 'jname := }
- 'skip$
- if$
- s "Econometric Theory" =
- { "Economet. Theor." 'jname := }
- 'skip$
- if$
- s "Econometrica" =
- { "Econometrica" 'jname := }
- 'skip$
- if$
- s "Economic and Industrial Democracy" =
- { "Econ. Ind. Democr." 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Econ. Dev. Cult. Change" 'jname := }
- 'skip$
- if$
- s "Economic Development and Cultural Change" =
- { "Economist.-Netherland" 'jname := }
- 'skip$
- if$
- s "Economic Development Quarterly" =
- { "Econ. Dev. Q." 'jname := }
- 'skip$
- if$
- s "Economic Geography" =
- { "Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Economic History Review" =
- { "Econ. Hist. Rev." 'jname := }
- 'skip$
- if$
- s "Economic Inquiry" =
- { "Econ. Inq." 'jname := }
- 'skip$
- if$
- s "Economic Journal" =
- { "Econ. J." 'jname := }
- 'skip$
- if$
- s "Economic Modelling" =
- { "Econ. Model." 'jname := }
- 'skip$
- if$
- s "Economic Policy" =
- { "Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Economic Record" =
- { "Econ. Rec." 'jname := }
- 'skip$
- if$
- s "Economic Theory" =
- { "Econ. Theor." 'jname := }
- 'skip$
- if$
- s "Economica" =
- { "Economica" 'jname := }
- 'skip$
- if$
- s "Economics and Philosophy" =
- { "Econ. Philos." 'jname := }
- 'skip$
- if$
- s "Economics Letters" =
- { "Econ. Lett." 'jname := }
- 'skip$
- if$
- s "Economics of Education Review" =
- { "Econ. Educ. Rev." 'jname := }
- 'skip$
- if$
- s "Economics of Energy \& Environmental Policy" =
- { "Econ. Energ. Environ. Policy" 'jname := }
- 'skip$
- if$
- s "Economics of Transition" =
- { "Econ. Transit." 'jname := }
- 'skip$
- if$
- s "Economy and Society" =
- { "Econ. Soc." 'jname := }
- 'skip$
- if$
- s "Ekonomicky Casopis" =
- { "Ekon. Cas." 'jname := }
- 'skip$
- if$
- s "Ekonomiska Samfundets Tidskrift" =
- { "Ekon. Samf. Tidskr." 'jname := }
- 'skip$
- if$
- s "Emerging Markets Finance and Trade" =
- { "Emerg. Mark. Financ. Tr." 'jname := }
- 'skip$
- if$
- s "Energy Economics" =
- { "Energ. Econ." 'jname := }
- 'skip$
- if$
- s "Energy Journal" =
- { "Energ. J." 'jname := }
- 'skip$
- if$
- s "Energy Policy" =
- { "Energ. Policy" 'jname := }
- 'skip$
- if$
- s "Entrepreneurship \& Regional Development" =
- { "Entrep. Region. Dev." 'jname := }
- 'skip$
- if$
- s "Entrepreneurship Theory and Practice" =
- { "Entrep. Theory Pract." 'jname := }
- 'skip$
- if$
- s "Environment and Development Economics" =
- { "Environ. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental and Resource Economics" =
- { "Environ. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Environmental Economics and Policy Studies" =
- { "Environ. Econ. Policy Stud." 'jname := }
- 'skip$
- if$
- s "Environmental Science and Policy" =
- { "Environ. Sci. Policy" 'jname := }
- 'skip$
- if$
- s "Environmental Science \& Technology" =
- { "Environ. Sci. Technol." 'jname := }
- 'skip$
- if$
- s "Eurasian Geography and Economics " =
- { "Eurasian Geogr. Econ." 'jname := }
- 'skip$
- if$
- s "European Economic Review" =
- { "Eur. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "European Journal of Industrial Relations" =
- { "Eur. J. Ind. Relat." 'jname := }
- 'skip$
- if$
- s "European Review of Agricultural Economics" =
- { "Eur. Rev. Agric. Econ." 'jname := }
- 'skip$
- if$
- s "Europe-Asia Studies" =
- { "Europe-Asia Stud." 'jname := }
- 'skip$
- if$
- s "Explorations in Economic History" =
- { "Explor. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Feminist Economics" =
- { "Fem. Econ." 'jname := }
- 'skip$
- if$
- s "Finance a Uver" =
- { "Financ. Uver." 'jname := }
- 'skip$
- if$
- s "Finance and Stochastics" =
- { "Financ. Stoch." 'jname := }
- 'skip$
- if$
- s "Financial Analysts Journal" =
- { "Financ. Anal. J." 'jname := }
- 'skip$
- if$
- s "Financial Management" =
- { "Financ. Manage." 'jname := }
- 'skip$
- if$
- s "Fiscal Studies" =
- { "Fisc. Stud." 'jname := }
- 'skip$
- if$
- s "Food Policy" =
- { "Food. Policy." 'jname := }
- 'skip$
- if$
- s "Futures" =
- { "Futures" 'jname := }
- 'skip$
- if$
- s "Games and Economic Behavior" =
- { "Game Econ. Behav." 'jname := }
- 'skip$
- if$
- s "Health Economics" =
- { "Health Econ." 'jname := }
- 'skip$
- if$
- s "Hitotsubashi Journal of Economics" =
- { "Hitotsub. J. Econ." 'jname := }
- 'skip$
- if$
- s "IMF Staff Papers" =
- { "Imf. Staff. Papers" 'jname := }
- 'skip$
- if$
- s "Industrial and Corporate Change" =
- { "Ind. Corp. Change" 'jname := }
- 'skip$
- if$
- s "Industrial and Labor Relations Review" =
- { "Ind. Labor. Relat. Rev." 'jname := }
- 'skip$
- if$
- s "Industrial Marketing Management" =
- { "Ind. Market Manag." 'jname := }
- 'skip$
- if$
- s "Industrial Relations" =
- { "Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Information Economics and Policy" =
- { "Info. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Insurance: Mathematics and Economics" =
- { "Insur. Math. Econ." 'jname := }
- 'skip$
- if$
- s "International Economic Review" =
- { "Int. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "International Journal of Electronics and Telecommunications" =
- { "Int. J. Electron. Comm." 'jname := }
- 'skip$
- if$
- s "International Journal of Economic Theory" =
- { "Int. J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Finance \& Economics" =
- { "Int. J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "International Journal of Forecasting" =
- { "Int. J. Forecast." 'jname := }
- 'skip$
- if$
- s "International Journal of Game Theory" =
- { "Int. J. Game. Theory" 'jname := }
- 'skip$
- if$
- s "International Journal of Industrial Organization" =
- { "Int. J. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "International Journal of Manpower" =
- { "Int. J. Manpow." 'jname := }
- 'skip$
- if$
- s "International Journal of Market Research" =
- { "Int. J. Market Res." 'jname := }
- 'skip$
- if$
- s "International Journal of Research in Marketing" =
- { "Int. J. Res. Mark." 'jname := }
- 'skip$
- if$
- s "International Labour Review" =
- { "Int. Labour Rev." 'jname := }
- 'skip$
- if$
- s "International Marketing Review" =
- { "Int. Market. Rev." 'jname := }
- 'skip$
- if$
- s "International Review of Applied Economics" =
- { "Int. Rev. Appl. Econ." 'jname := }
- 'skip$
- if$
- s "International Review of Law and Economics" =
- { "Int. Rev. Law Econ." 'jname := }
- 'skip$
- if$
- s "International Small Business Journal" =
- { "Int. Small. Bus. J." 'jname := }
- 'skip$
- if$
- s "International Tax and Public Finance" =
- { "Int. Tax Public Finan." 'jname := }
- 'skip$
- if$
- s "Jahrbücher für Nationalökonomie und Statistik" =
- { "Jahrb. Natl. Stat." 'jname := }
- 'skip$
- if$
- s "Japan and the World Economy" =
- { "Jpn. World Econ." 'jname := }
- 'skip$
- if$
- s "Japanese Economic Review" =
- { "Jpn. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "JCMS-journal of Common Market Studies" =
- { "Jcms.-J. Common. Mark. S." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting and Economics" =
- { "J. Account. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Accounting Research" =
- { "J. Account. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Advertising" =
- { "J. Advertising" 'jname := }
- 'skip$
- if$
- s "Journal of Advertising Research" =
- { "J. Advertising Res." 'jname := }
- 'skip$
- if$
- s "Journal of African Economies" =
- { "J. Afr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural and Resource Economics" =
- { "J. Agr. Resour. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Agricultural Economics" =
- { "J. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Applied Econometrics" =
- { "J. Appl. Econom." 'jname := }
- 'skip$
- if$
- s "Journal of Banking and Finance" =
- { "J. Bank Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Business" =
- { "J. Bus." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Economic Statistics" =
- { "J. Bus. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Psychology" =
- { "J. Bus. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Business and Technical Communication" =
- { "J. Bus. Tech. Commun." 'jname := }
- 'skip$
- if$
- s "Journal of Business Ethics" =
- { "J. Bus. Ethics" 'jname := }
- 'skip$
- if$
- s "Journal of Business Research" =
- { "J. Bus. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Business Venturing" =
- { "J. Bus. Venturing." 'jname := }
- 'skip$
- if$
- s "Journal of Cleaner Productiond" =
- { "J. Clean. Prod." 'jname := }
- 'skip$
- if$
- s "Journal of Comparative Economics" =
- { "J. Comp. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Affairs" =
- { "J. Consum. Aff." 'jname := }
- 'skip$
- if$
- s "Journal of Consumer Research" =
- { "J. Consum. Res." 'jname := }
- 'skip$
- if$
- s "Journal of Corporate Finance" =
- { "J. Corp. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Development Economics" =
- { "J. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Econometrics" =
- { "J. Econometrics" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Behavior and Organization" =
- { "J. Econ. Behav. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Dynamics and Control" =
- { "J. Econ. Dyn. Control" 'jname := }
- 'skip$
- if$
- s "Journal of Economic Education" =
- { "J. Econ. Educ." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Geography" =
- { "J. Econ. Geogr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Growth" =
- { "J. Econ. Growth" 'jname := }
- 'skip$
- if$
- s "Journal of Economic History" =
- { "J. Econ. Hist." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Integration" =
- { "J. Econ. Integr." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Issues" =
- { "J. Econ. Issues." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Perspectives" =
- { "J. Econ. Perspect." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Psychology" =
- { "J. Econ. Psychol." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Literature" =
- { "J. Econ. Lit." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Surveys" =
- { "J. Econ. Surv." 'jname := }
- 'skip$
- if$
- s "Journal of Economic Theory" =
- { "J. Econ. Theory" 'jname := }
- 'skip$
- if$
- s "Journal of Economics" =
- { "J. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Economics and Management Strategy" =
- { "J. Econ. Manage. Strat." 'jname := }
- 'skip$
- if$
- s "Journal of Environmental Economics and Management" =
- { "J. Environ. Econ. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Evolutionary Economics" =
- { "J. Evol. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Finance" =
- { "J. Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial and Quantitative Analysis" =
- { "J. Financ. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Economics" =
- { "J. Financ. Intermed." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Intermediation" =
- { "J. Financ. Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Financial Markets" =
- { "J. Financ. Quant. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Forecasting" =
- { "J. Forecasting." 'jname := }
- 'skip$
- if$
- s "Journal of Futures Markets" =
- { "J. Futures Market" 'jname := }
- 'skip$
- if$
- s "Journal of Health Economics" =
- { "J. Health Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Housing Economics" =
- { "J. Hous. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Human Resources" =
- { "J. Hum. Resour." 'jname := }
- 'skip$
- if$
- s "Journal of Industrial Economics" =
- { "J. Ind. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Institutional and Theoretical Economics" =
- { "J. Inst. Theor. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Integrated Disaster Risk Management" =
- { "J. Integr. Disaster Risk Manag." 'jname := }
- 'skip$
- if$
- s "Journal of International Business Studies" =
- { "J. Int. Bus. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of International Economics" =
- { "J. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of International Marketing" =
- { "J. Int. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of International Money and Finance" =
- { "J. Int. Money Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Economics" =
- { "J. Labor Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Labor Research" =
- { "J. Labor Res." 'jname := }
- 'skip$
- if$
- s "Journal of Law and Economics" =
- { "J. Law. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Law, Economics, and Organization" =
- { "J. Law. Econ. Organ." 'jname := }
- 'skip$
- if$
- s "Journal of Macroeconomics" =
- { "J. Macroecon." 'jname := }
- 'skip$
- if$
- s "Journal of Management" =
- { "J. Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Management Studies" =
- { "J. Manage. Stud." 'jname := }
- 'skip$
- if$
- s "Journal of Marketing" =
- { "J. Marketing" 'jname := }
- 'skip$
- if$
- s "Journal of Marketing Research" =
- { "J. Marketing Res." 'jname := }
- 'skip$
- if$
- s "Journal of Mathematical Economics" =
- { "J. Math. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Media Economics" =
- { "J. Media Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Monetary Economics" =
- { "J. Monetary. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Money, Credit and Banking" =
- { "J. Money Credit Bank." 'jname := }
- 'skip$
- if$
- s "Journal of Policy Modeling" =
- { "J. Policy Model." 'jname := }
- 'skip$
- if$
- s "Journal of Political Economy" =
- { "J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Population Economics" =
- { "J. Popul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Portfolio Management" =
- { "J. Portfolio Manage." 'jname := }
- 'skip$
- if$
- s "Journal of Post Keynesian Economics" =
- { "J. Post Keynesian Ec." 'jname := }
- 'skip$
- if$
- s "Journal of Product Innovation Management" =
- { "J. Prod. Innovat. Manag." 'jname := }
- 'skip$
- if$
- s "Journal of Productivity Analysis" =
- { "J. Prod. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Public Economics" =
- { "J. Public Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Public Policy and Marketing" =
- { "J. Public Policy Mark." 'jname := }
- 'skip$
- if$
- s "Journal of Real Estate Finance and Economics" =
- { "J. Real Estate Financ." 'jname := }
- 'skip$
- if$
- s "Journal of Regulatory Economics" =
- { "J. Regul. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Retailing" =
- { "J. Retailing" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Insurance" =
- { "J. Risk. Insur" 'jname := }
- 'skip$
- if$
- s "Journal of Risk and Uncertainty" =
- { "J. Risk Uncertainty" 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Computation and Simulation" =
- { "J. Stat. Comput. Sim." 'jname := }
- 'skip$
- if$
- s "Journal of Statistical Planning and Inference" =
- { "J. Stat. Plan. Infer." 'jname := }
- 'skip$
- if$
- s "Journal of the Academy of Marketing Science" =
- { "J. Acad. Market. Sci." 'jname := }
- 'skip$
- if$
- s "Journal of the American Statistical Association" =
- { "J. Am. Stat. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the European Economic Association" =
- { "J. Eur. Econ. Assoc." 'jname := }
- 'skip$
- if$
- s "Journal of the Japanese and International Economies" =
- { "J. Jpn. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Journal of Time Series Analysis" =
- { "J. Time Ser. Anal." 'jname := }
- 'skip$
- if$
- s "Journal of Transport Economics and Policy" =
- { "J. Transp. Econ. Policy" 'jname := }
- 'skip$
- if$
- s "Journal of Urban Economics" =
- { "J. Urban Econ." 'jname := }
- 'skip$
- if$
- s "Journal of World Business" =
- { "J. World. Bus." 'jname := }
- 'skip$
- if$
- s "Kyklos" =
- { "Kyklos" 'jname := }
- 'skip$
- if$
- s "Labor History" =
- { "Labor Hist." 'jname := }
- 'skip$
- if$
- s "Labour Economics" =
- { "Labour Econ." 'jname := }
- 'skip$
- if$
- s "Land Economics" =
- { "Land Econ." 'jname := }
- 'skip$
- if$
- s "Long Range Planning" =
- { "Long Range Plann." 'jname := }
- 'skip$
- if$
- s "Macroeconomic Dynamics" =
- { "Macroecon. Dyn." 'jname := }
- 'skip$
- if$
- s "Management Science" =
- { "Manage. Sci." 'jname := }
- 'skip$
- if$
- s "Manchester School" =
- { "Manch. Sch." 'jname := }
- 'skip$
- if$
- s "Marketing Letters" =
- { "Market. Lett." 'jname := }
- 'skip$
- if$
- s "Marketing Science" =
- { "Market. Sci." 'jname := }
- 'skip$
- if$
- s "Materials Transactions" =
- { "Mater. Trans." 'jname := }
- 'skip$
- if$
- s "Mathematical Finance" =
- { "Math. Financ." 'jname := }
- 'skip$
- if$
- s "Monthly Labor Review" =
- { "Mon. Labor Rev." 'jname := }
- 'skip$
- if$
- s "National Tax Journal" =
- { "Natl. Tax. J." 'jname := }
- 'skip$
- if$
- s "New England Economic Review" =
- { "New Engl. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "New Political Economy" =
- { "New Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Open Economies Review" =
- { "Open. Econ. Rev." 'jname := }
- 'skip$
- if$
- s "Organizational Dynamics" =
- { "Organ. Dyn." 'jname := }
- 'skip$
- if$
- s "Oxford Bulletin of Economics and Statistics" =
- { "Oxford. B. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Oxford Economic Papers" =
- { "Oxford Econ. Pap." 'jname := }
- 'skip$
- if$
- s "Oxford Review of Economic Policy" =
- { "Oxford. Rev. Econ. Pol." 'jname := }
- 'skip$
- if$
- s "Politicka Ekonomie" =
- { "Polit. Ekon." 'jname := }
- 'skip$
- if$
- s "Population and Development Review" =
- { "Popul. Dev. Rev." 'jname := }
- 'skip$
- if$
- s "Post-Communist Economies" =
- { "Post.-Communist. Econ." 'jname := }
- 'skip$
- if$
- s "Post-Soviet Affairs" =
- { "Post.-Sov. Aff." 'jname := }
- 'skip$
- if$
- s "Psychology \& Marketing" =
- { "Psychol. Market." 'jname := }
- 'skip$
- if$
- s "Public Choice" =
- { "Public. Choice." 'jname := }
- 'skip$
- if$
- s "Quantitative Finance" =
- { "Quant. Financ." 'jname := }
- 'skip$
- if$
- s "Quarterly Journal of Economics" =
- { "Q. J. Econ." 'jname := }
- 'skip$
- if$
- s "R\&D Management" =
- { "R.\&D. Manage." 'jname := }
- 'skip$
- if$
- s "RAND Journal of Economics" =
- { "Rand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Real Estate Economics" =
- { "Real Estate Econ." 'jname := }
- 'skip$
- if$
- s "Regional Science and Urban Economics" =
- { "Reg. Sci. Urban. Econ." 'jname := }
- 'skip$
- if$
- s "Regional Studies" =
- { "Reg. Stud." 'jname := }
- 'skip$
- if$
- s "Relations Industrielles-Industrial Relations" =
- { "Relat. Ind.-Ind. Relat." 'jname := }
- 'skip$
- if$
- s "Research-Technology Management" =
- { "Res. Technol. Manage." 'jname := }
- 'skip$
- if$
- s "Resource and Energy Economics" =
- { "Resour. Energy. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Accounting Studies" =
- { "Rev. Acc. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Agricultural Economics" =
- { "Rev. Agr. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Development Economics" =
- { "Rev. Dev. Econ." 'jname := }
- 'skip$
- if$
- s "Review of Economic Dynamics" =
- { "Rev. Econ. Dynam." 'jname := }
- 'skip$
- if$
- s "Review of Economic Studies" =
- { "Rev. Econ. Stat." 'jname := }
- 'skip$
- if$
- s "Review of Economics and Statistics" =
- { "Rev. Econ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Financial Studies" =
- { "Rev. Financ. Stud." 'jname := }
- 'skip$
- if$
- s "Review of Income and Wealth" =
- { "Rev. Income Wealth" 'jname := }
- 'skip$
- if$
- s "Review of Industrial Organization" =
- { "Rev. Ind. Organ." 'jname := }
- 'skip$
- if$
- s "Review of International Economics" =
- { "Rev. Int. Econ." 'jname := }
- 'skip$
- if$
- s "Review of International Political Economy" =
- { "Rev. Int. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Review of World Economics" =
- { "Rev. World Econ." 'jname := }
- 'skip$
- if$
- s "Scandinavian Journal of Economics" =
- { "Scand. J. Econ." 'jname := }
- 'skip$
- if$
- s "Scottish Journal of Political Economy" =
- { "Scot. J. Polit. Econ." 'jname := }
- 'skip$
- if$
- s "Small Business Economics" =
- { "Small. Bus. Econ." 'jname := }
- 'skip$
- if$
- s "Social Choice and Welfare" =
- { "Soc. Choice Welfare" 'jname := }
- 'skip$
- if$
- s "South African Journal of Economics" =
- { "S. Afr. J. Econ." 'jname := }
- 'skip$
- if$
- s "Southern Economic Journal" =
- { "South. Econ. J." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Statistics." 'jname := }
- 'skip$
- if$
- s "Strategic Management Journal" =
- { "Strategic Manage. J." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stoch. Anal. Appl." 'jname := }
- 'skip$
- if$
- s "Studies in Nonlinear Dynamics and Econometrics" =
- { "Stud. Nonlinear. Dyn. E." 'jname := }
- 'skip$
- if$
- s "Supply Chain Management" =
- { "Supply. Chain. Manag." 'jname := }
- 'skip$
- if$
- s "Sustainability" =
- { "Sustainability" 'jname := }
- 'skip$
- if$
- s "Technological Forecasting and Social Change" =
- { "Technol. Forecast. Soc." 'jname := }
- 'skip$
- if$
- s "Theory and Decision" =
- { "Theor. Decis." 'jname := }
- 'skip$
- if$
- s "Tijdschrift voor Economische en Sociale Geografie" =
- { "Tijdschr. Econ. Soc. Ge." 'jname := }
- 'skip$
- if$
- s "Trimestre Economico" =
- { "Trimest. Econ." 'jname := }
- 'skip$
- if$
- s "Work and Occupations" =
- { "Work Occupation." 'jname := }
- 'skip$
- if$
- s "Work, Employment and Society" =
- { "Work Employ. Soc." 'jname := }
- 'skip$
- if$
- s "World Bank Economic Review" =
- { "World Bank Econ. Rev." 'jname := }
- 'skip$
- if$
- s "World Bank Research Observer" =
- { "World Bank Res. Obser." 'jname := }
- 'skip$
- if$
- s "World Development" =
- { "World Dev." 'jname := }
- 'skip$
- if$
- s "World Economy" =
- { "World Econ." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% For JPE, we define `format.name.ed` in addition to `format.name`.
-FUNCTION {format.names.ed}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
- { nameptr #1 =
- % First author
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- % The second or later authors
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { " edited by " }
- { " edited by " }
-% { bst.editors " by " * }
-% { bst.editor " by " * }
- if$
- }
- if$
- editor format.names.ed *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- % For JPE, publisher and its address are placed before edition,
- % chapter and page number.
- output.address.organization.publisher
- format.edition output.nocomma
- format.chapter.pages output.nocomma
-% output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.bst
deleted file mode 100644
index b2cbcd057ee..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.bst
+++ /dev/null
@@ -1,3579 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-% { #0 } % (default)
-{ #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ", " } % (default)
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ " (" } % (default)
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ ")" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", " } % (default)
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", " } % (default)
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", \url{" } % (default)
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.pdf
index a3e0803fb64..85f101163db 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-no-sort.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-numbers.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-numbers.pdf
index 0419bf76e45..ce42db86b92 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-numbers.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-numbers.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.bst b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.bst
deleted file mode 100644
index e16c585fff1..00000000000
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.bst
+++ /dev/null
@@ -1,3579 +0,0 @@
-%% econ.bst: BibTeX style file for papers in economics.
-%
-% Author: Shiro Takeda
-% Maintainer: Shiro Takeda
-% Copyright (C) 2001-2018 Shiro Takeda
-% First-written: <2007/07/28>
-% Version: 2.7
-% Keywords: TeX, BibTeX, bst
-% URL: https://github.com/ShiroTakeda/econ-bst
-
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of this work is Shiro Takeda.
-
-%% Main features of econ.bst.
-
-% "econ.bst" is a BibTeX style file for economics. It provids the following
-% features:
-
-% 1) The author-year type citation (you need "natbib.sty" as well).
-% 2) Reference style used in economics papers ("econ.bst" is not a BibTeX style
-% for a specific journal).
-% 3) Highly customizable. You can easily customize reference style as you wish.
-% 4) You can use "certified random order" proposed by Ray ⓡ Robson (2018)
-% (http://dx.doi.org/10.1257/aer.20161492).
-
-% Bug reports, requests and suggestions are welcome.
-
-% For changelogs, see CHANGES.txt file.
-
-% version number
-FUNCTION {econ.version} { "2.7" }
-
-% File name
-FUNCTION {econ.file} { "econ.bst" }
-
-% Debug mode. Non-zero makes debug mode on.
-FUNCTION {econ.debug}
-{ #0 } % Debug mode off (default).
-% { #1 } % Debug mode on.
-
-ENTRY
- %%% Declaration of field
- { access address author booktitle chapter doi edition editor howpublished
- institution journal key month note number organization pages publisher
- school series title type url volume year
- % Fields specific to econ.bst
- order absorder nameorder
- }
-
- % Definition of entry variable. The entry variable is a variable which has
- % different values according to different entries.
- %% Integer entry variable:
- { order.cited }
-
- %% String entry variable
- { label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp jname }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Use \bysame or not.
-%
-% If set to #0, \bysame is not used.
-% If set to #1, \bysame is used
-% If set to #2, \bysame is used (alternative abbreviation style).
-%
-% Note that integer number is expressed as # + integer in bst file.
-% \bysame is the function that abbreviates succession of the same authors' name by ---.
-%
-% See econ-sample.pdf for details.
-%
-FUNCTION {bst.use.bysame}
-% { #0 } % Not use \bysame
-{ #1 } % -> Use \bysame (default)
-% { #2 } % -> Use \bysame of alternative style.
-
-% The definition of \bysame command.
-%
-FUNCTION {bst.bysame.definition}
-{ "\hskip.3em \leavevmode\rule[.5ex]{3em}{.3pt}\hskip0.5em" } % (default)
-% { "\leavevmode\hbox to\leftmargin{\hrulefill\,\,}" } % If you set #2 to bst.use.bysame, use this.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% The order of fist and last name.
-%
-FUNCTION {bst.author.name}
-{ #0 } % (default)
-% { #1 }
-% { #2 }
-
-% Case of #0: First author -> last-first, other authors -> first-last.
-% Fujita, Masahisa, Paul R. Krugman, and Anthony J. Venables.
-
-% Case of #1: All authors -> last-first
-% Fujita, Masahisa, Krugman, Paul R., and Venables, Anthony J.
-
-% Case of #2: All authors -> first-last
-% Masahisa Fujita, Paul R. Krugman, and Anthony J. Venables.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Abbreviate first name of authors (editors):
-%
-FUNCTION {bst.first.name.initial}
-{ #0 } % #0 -> full letters (default).
-% { #1 } % Non-zero -> initial letter only.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Decapitalize of strings in title field.
-%
-FUNCTION {bst.title.lower.case}
-{ #0 } % If #0, not decapitalize title (default).
-% { #1 } % If non-#0, decapitalize title
-
-% Hide title filed.
-%
-FUNCTION {bst.hide.title}
-{ #0 } % #0 -> Title field is displayed (default)
-% { #1 } % Non-zer -> Title field is hidden
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide month.
-%
-FUNCTION {bst.hide.month}
-{ #0 } % #0 -> show month field (default).
-% { #1 } % non-#0 -> hide month field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Attach number index like plain.bst.
-%
-FUNCTION {bst.use.number.index}
-{ #0 } % Not use number index (default).
-% { #1 } % Non-#0 -> Use number index
-
-% The string before number index:
-%
-FUNCTION {bst.number.index.pre}
-{ "[" } % (default)
-
-% The string after number index. Adjustment is recommended.
-%
-FUNCTION {bst.number.index.post}
-{ "]\hskip1.0em " } % (default)
-
-% Maximum digit of number index:
-% If the number of reference items >= 100, set 3 to this function.
-% If the number of reference items < 100, set 2 to this function.
-% If the number of reference items < 10, set 1 to this function.
-%
-FUNCTION {bst.number.index.digit}
-{ "2" } % (default)
-% { "3" }
-
-% The functions below are used to adjust space and postion. If you use fonts
-% other than computer modern fonts, you had better make adjustments.
-%
-% Setting for bst.number.index.digit = 1:
-FUNCTION {bst.number.index.bibhang.one}
-{ "2.05em" } % (default)
-% Setting for bst.number.index.digit = 2:
-FUNCTION {bst.number.index.bibhang.ten}
-{ "2.55em" } % (default)
-% Setting for bst.number.index.digit = 3:
-FUNCTION {bst.number.index.bibhang.hund}
-{ "3.05em" } % (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Position of "year":
-%
-% You can choose the position of year by this function.
-%
-% If set to #0, year is placed right after "author".
-% If set to non-zero, year is placed at the end (before note field) except for
-% aritcle type entry.
-%
-% In article type entry, the position of year changes according to the
-% following rule:
-%
-% #1 -> year is placed at the end.
-% #2 -> year is placed after journal name in aritcle type entry.
-% #3 -> year is placed after volume in aritcle type entry.
-%
-FUNCTION {bst.year.position}
-{ #0 } % (default).
-% { #1 } % Last place before note.
-% { #2 } % After journal name for aticle type entry.
-% { #3 } % After volume for aticle type entry.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If 0, references are sorted by old documents -> recent documents. If
-% non-zero, reverse order.
-FUNCTION {bst.reverse.year}
-{ #0 } % Normal order (old -> recent) (default).
-% { #1 } % inverse order (recent -> old)
-
-% If non-zero, sort references by using year field as the primary key
-% (chronological sorting).
-FUNCTION {bst.sort.year}
-{ #0 } % Normal case: year is used as the sorting key next to author (default).
-% { #1 } % year is used as the primary sorting key.
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% If non-zero, references are listed in citation order.
-%
-FUNCTION {bst.no.sort}
-{ #0 } % (default)
-% { #1 } % listed in citation order.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Non-zero -> sort references by entry type (article, book, incollection etc.)
-%
-FUNCTION {bst.sort.entry.type}
-{ #0 } % #0 -> Normal (not sort references by entry type) (default).
-% { #1 } % Non-zero -> sort references by entry type.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use absorder field to sort items. Otherwise, ignore absorder field.
-%
-FUNCTION {bst.notuse.absorder.field}
-{ #0 } % #0 -> Use absorder (default).
-% { #1 } % Non-#0 -> Not use absorder.
-%
-% Order of priority to sort items
-%
-% absorder -> author -> year -> order -> month -> title
-%
-% wehre absorder and order fields are specific to econ.bst.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% 0 -> use order field to sort items. Otherwise, ignore order field.
-% Note: order field is specific to econ.bst.
-FUNCTION {bst.notuse.order.field}
-{ #0 } % #0 -> Use order field (default).
-% { #1 } % Non-#0 -> not use order field.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% and
-
-%%% String used to separate author names in references.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in references (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.ands}
-{ ", and " } % (default)
-
-%%% String used to separate author names in citation part.
-%
-% String replaced with _ in "Mr. A _ Mr. B "
-%
-FUNCTION {bst.cite.and}
-{ " and " } % (default)
-
-%%% String used to separate author names in citation part (more than two authors).
-%
-% String replaced with _ in "Mr. A, Mr. B _ Mr. C"
-%
-FUNCTION {bst.cite.ands}
-{ " and " } % (default)
-
-%%% If you want to use random author order for some bibliography entries, set
-% non-zero to this function.
-%
-FUNCTION {bst.use.nameorder}
-{ #1 } % Use random order (default)
-% { #0 } % Not use random order
-
-%%% String used to separate author names in references for the entry of random
-% author order.
-%
-FUNCTION {bst.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-%%% String used to separate author names in citation part for the entry of
-% random author order
-%
-FUNCTION {bst.cite.and.nameorder}
-{ " \textcircled{r} " } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Author names in the citation part are abbreviated by et al. if the number of
-% authors is greater or equal to bst.and.others.num.
-FUNCTION {bst.and.others.num}
-{ #3 } % If the number of authors is greater or equal to three (default).
-
-% If the number of authors is greater or equal to bst.max.author.num, only
-% first author is listed and other authors' names are abbreviated as "et al.".
-FUNCTION {bst.max.author.num}
-{ #12 } % If the number of authors is greater or equal to 12 (default).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Strings used when abbreviating multiple-authors in citation part.
-FUNCTION {bst.and.others}
-{ " et~al." } % (default)
-
-% Strings used when abbreviating multiple-authors in citation part for entries
-% with random author order.
-FUNCTION {bst.and.others.nameorder}
-{ " \textcircled{r}~al." } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% author
-
-% The string before author:
-%
-FUNCTION {bst.author.pre}
-{ "" } % (default)
-
-% The string after author:
-%
-FUNCTION {bst.author.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% year
-
-% The string before year only for aritcle type entry.
-%
-FUNCTION {bst.year.pre}
-{ " (" } % (default)
-
-% The string after year only for aritcle type entry.
-%
-FUNCTION {bst.year.post}
-{ ") " } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.pre}
-{ " (" } % (default)
-
-% The string after year for non-article type entry (book, incollection etc)
-%
-FUNCTION {bst.year.na.post}
-{ ") " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% title (except for title in book)
-
-% The string before title:
-%
-FUNCTION {bst.title.pre}
-{ "``" } % (default)
-
-% The string after title:
-%
-FUNCTION {bst.title.post}
-{ ",''" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% tile for book:
-
-% The string before book title:
-%
-FUNCTION {bst.book.pre}
-{ " \textit{" } % (default)
-
-% The string after book title:
-%
-FUNCTION {bst.book.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booktitle
-
-% The string before booktitle:
-%
-FUNCTION {bst.btitle.pre}
-{ " \textit{" } % (default)
-
-% The string after booktitle:
-%
-FUNCTION {bst.btitle.post}
-{ "}" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% journal name
-
-% The string before journal name:
-%
-FUNCTION {bst.journal.pre}
-{ " \textit{" } % (default)
-
-% The string after journal name:
-%
-FUNCTION {bst.journal.post}
-{ "}" } % (default)
-
-% Use the abbreviated journal name
-%
-% If set to #0, do not use abbreviated journal name.
-% If set to non-#0, use abbreviated journal name.
-%
-FUNCTION {bst.journal.name.abb}
-{ #0 } % (default)
-% { #1 }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% editor notation:
-
-% The string that indicates multiple editors:
-%
-FUNCTION {bst.editors}
-{ " eds. " } % (default)
-
-% The string that indicates single editor:
-%
-FUNCTION {bst.editor}
-{ " ed. " } % (default)
-
-% Order of editor and booktitle in incollection and inproceedings entries.
-%
-% If set to #0: editors -> booktitle order
-% If set to non-zero: booktitle -> editors order
-%
-FUNCTION {bst.editor.btitle.order}
-{ #0 } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% edition
-
-% The string before edition:
-%
-FUNCTION {bst.edition.pre}
-{ ", " } % (default)
-
-% The string after edition:
-%
-FUNCTION {bst.edition.post}
-{ " edition" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% volume
-
-% The string before volume:
-%
-FUNCTION {bst.volume.pre}
-{ ", Vol. " }
-
-% The string after volume:
-%
-FUNCTION {bst.volume.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% number
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Hide number. If non-zero, number is suppressed.
-FUNCTION {bst.hide.number}
-{ #0 } % #0 -> show number field (default)
-% { #1 } % non-#0 -> Hide number field.
-
-% The string before number:
-%
-FUNCTION {bst.number.pre}
-{ ", No. " }
-
-% The string after number:
-%
-FUNCTION {bst.number.post}
-{ "" }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% in
-
-% In
-%
-FUNCTION {bst.in}
-{ " in " } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% page
-
-% The string before page (multiple pages):
-%
-FUNCTION {bst.pages.pre}
-{ ", pp." }
-
-% The string before page:
-%
-FUNCTION {bst.page.pre}
-{ ", p." }
-
-% The string after page (multiple pages):
-%
-FUNCTION {bst.pages.post}
-{ "" } % (default)
-
-% The string after page:
-%
-FUNCTION {bst.page.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% chapter
-
-% The string before chapter:
-%
-FUNCTION {bst.chapter.pre}
-{ ", Chap." } % (default)
-
-% The string after chapter:
-%
-FUNCTION {bst.chapter.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% month
-
-% The string before month:
-%
-FUNCTION {bst.month.pre}
-{ ", " } % (default)
-
-% The string after month:
-%
-FUNCTION {bst.month.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% address
-% The string before address:
-%
-FUNCTION {bst.address.pre}
-{ ", " } % (default)
-
-% The string after address:
-%
-FUNCTION {bst.address.post}
-{ "" } % (default)
-
-% You can choose the order of address and publisher by this function.
-%
-% If #0, address -> publisher order (the default value).
-% If non-zero, publisher -> address order.
-
-FUNCTION {bst.address.position}
-{ #0 } % Address is placed before publisher (default)
-% { #1 } % Address is placed after publisher
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% publisher
-
-% The string before publisher:
-%
-FUNCTION {bst.publisher.pre}
-{ ": " } % (default)
-
-% The string after publisher:
-%
-FUNCTION {bst.publisher.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% series
-
-% The string before series:
-%
-FUNCTION {bst.series.pre}
-{ ", " } % (default)
-
-% The string after series:
-%
-FUNCTION {bst.series.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% organization
-
-% The string before organization:
-%
-FUNCTION {bst.organization.pre}
-{ ", " } % (default)
-
-% The string after organization:
-%
-FUNCTION {bst.organization.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% school
-
-% The string before school:
-%
-FUNCTION {bst.school.pre}
-{ ", " } % (default)
-
-% The string after school:
-%
-FUNCTION {bst.school.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% institution
-
-% The string before institution:
-%
-FUNCTION {bst.institution.pre}
-{ ", " } % (default)
-
-% The string after institution:
-%
-FUNCTION {bst.institution.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% howpublished
-
-% The string before howpublished:
-%
-FUNCTION {bst.howpublished.pre}
-{ " " } % (default)
-
-% The string after howpublished:
-%
-FUNCTION {bst.howpublished.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% url
-
-% Show or Hide url. If non-zero, url is displayed. Otherwise, url is suppressed.
-FUNCTION {bst.show.url}
-{ #1 } % non-#0 -> Show url field (default)
-% { #0 } % #0 -> Not show url field.
-
-% The string before url:
-%
-FUNCTION {bst.url.pre}
-{ ", URL: \url{" }
-
-% The string after url:
-%
-FUNCTION {bst.url.post}
-{ "}" } % (default)
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Access
-
-% This setting is valid only if there are "access" field in bib
-% files. The value of access field indicates accessed date for URL.
-
-% The string before access.
-FUNCTION {bst.access.pre}
-{ ", accessed on " } % (default)
-
-% The string after access.
-FUNCTION {bst.access.post}
-{ "" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% DOI (digital object identifier)
-
-% This setting is valid only if there are "doi" field in bib files.
-
-% Show or Hide DOI. If non-zero, DOI is displayed. Otherwise, DOI is suppressed.
-FUNCTION {bst.show.doi}
-{ #1 } % non-#0 -> Show DOI field (default)
-% { #0 } % #0 -> Not show DOI field.
-
-% The string before DOI:
-%
-FUNCTION {bst.doi.pre}
-{ ", DOI: \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * }
-
-% The string after DOI:
-%
-FUNCTION {bst.doi.post}
-{ "}}" } % (default)
-
-% How to show URL and DOI fields when both fields exist.
-%
-% #0 -> Both fields are displayed
-% #1 -> Only URL field is displayed
-% #2 -> Only DOI field is displayed
-%
-FUNCTION {bst.url.doi}
-% { #0 } % -> Both fields are displayed
-% { #1 } % -> Only URL field is displayed
-{ #2 } % (default) --> Only DOI field is displayed
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Other functions:
-
-% The string before note.
-FUNCTION {bst.note.pre}
-{ ", " } % (default)
-
-% The string after note.
-FUNCTION {bst.note.post}
-{ "" } % (default)
-
-% The string that represents Technical report:
-%
-FUNCTION {bst.techrep}
-{ "Technical Report" } % (default)
-
-% The string that represents master thesis:
-%
-FUNCTION {bst.mthesis}
-{ " Master's thesis" } % (default)
-
-% The string that represents phd thesis:
-%
-FUNCTION {bst.phdthesis}
-{ " Ph.D. dissertation" } % (default)
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% Functions for customization end here:
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-FUNCTION {bst.first}
-{ "1st" }
-
-FUNCTION {bst.second}
-{ "2nd" }
-
-FUNCTION {bst.third}
-{ "3rd" }
-
-FUNCTION {bst.fourth}
-{ "4th" }
-
-FUNCTION {bst.fifth}
-{ "5th" }
-
-FUNCTION {bst.st}
-{ "st" }
-
-FUNCTION {bst.nd}
-{ "nd" }
-
-FUNCTION {bst.rd}
-{ "rd" }
-
-FUNCTION {bst.th}
-{ "th" }
-
-%%%%% memo by Takeda
-
-% "a" 'b := indicates substituting string "a" for variable b.
-
-% Integer number #0, #1,...
-
-%%% Function definition:
-%
-% FUNCTION {name}
-% { 's :=
-%
-% }
-%
-% This is the definition of a function named "name". The function "name" is
-% used in the following way
-%
-% "foo" name
-% "foo" is an argument for the function "name".
-%
-% About the definition of a function with more than two arguments, see the
-% definition of "chop.word".
-
-%%% Declaration of variables:
-
-%% String global variables:
-STRINGS { s t tt }
-STRINGS { year.num }
-STRINGS { preone preten }
-STRINGS { last.sort.label next.extra prev.author prev.author.aer this.author }
-STRINGS { hang }
-STRINGS { item.type }
-STRINGS { tempa tempb }
-
-%% Integer global variables:
-INTEGERS { nameptr namesleft numnames name.num }
-INTEGERS { multiresult }
-INTEGERS { index }
-INTEGERS { len }
-INTEGERS { last.extra.num }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { last.period.comma }
-INTEGERS { len1.aer len2.aer i.aer }
-
-%%% Definition of functions:
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-%%% Initialize variables:
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-%%% Remove comma and add period:
-%
-%%%
-FUNCTION {add.period.x}
-{ duplicate$
- #-1 #1 substring$ "," =
- { #-2 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ". " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ", " =
- { #-3 global.max$ substring$ "." * }
- { duplicate$
- #-1 #2 substring$ ",'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".'" =
- { #-3 global.max$ substring$ ".'" * }
- { duplicate$
- #-1 #2 substring$ ".~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #2 substring$ ",~" =
- { #-3 global.max$ substring$ ".~" * }
- { duplicate$
- #-1 #3 substring$ ",''" =
- { #-4 global.max$ substring$ ".''" * }
- { duplicate$
- #-1 #3 substring$ ".''" =
- { #-4 global.max$ substring$ ".''" * }
- { add.period$ }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION {output.nonnull}
-{ 's :=
- % mid.sentence
- output.state mid.sentence =
- { ", " * write$ }
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period.x " " * write$ }
- if$
- }
- if$
- % not mid.sentence, set to mid.sentence
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-
-%%% If the last character is period or comma, set non-zero to
-%%% last.period.comma.
-FUNCTION {period.comma.p}
-{ duplicate$ 't :=
- t #-1 #1 substring$ "." =
- t #-1 #1 substring$ "," = or
- t #-1 #1 substring$ ":" = or
- t #-1 #2 substring$ ".'" = or
- t #-1 #2 substring$ ",'" = or
- t #-1 #3 substring$ ".''" = or
- t #-1 #3 substring$ ",''" = or
- t #-1 #2 substring$ ".~" = or
- t #-1 #2 substring$ ",~" = or
- { #1 'last.period.comma := }
- { #0 'last.period.comma := }
- if$
-}
-
-%%% remove unnecessary comma.
-FUNCTION {remove.pre.comma}
-{ 's :=
- s empty$
- { "" }
- { s #1 #1 substring$ "," =
- { s #2 global.max$ substring$ }
- { s #1 #1 substring$ "." =
- { s #2 global.max$ substring$ }
- 's
- if$
- }
- if$
- }
- if$
-}
-
-%%% output.nonnull.nocomma is the same as output.nonnull except that it does
-%%% not add commas even in mid.sentence.
-FUNCTION {output.nonnull.nocomma}
-{ 's :=
- output.state mid.sentence =
- % mid.sentence
- { period.comma.p "" * write$ }
-
- % not mid.sentence
- { output.state after.block =
- % after.block
- { add.period.x " " * write$ }
- % before.all
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- last.period.comma #0 =
- { s }
- { s remove.pre.comma }
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output}
-% { duplicate$ empty$
-% 'pop$
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.nocomma}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull.nocomma
- if$
-}
-
-% Not used in the current econ.bst.
-% FUNCTION {output.check}
-% { 't :=
-% duplicate$ empty$
-% { pop$ "empty " t * " in " * cite$ * warning$ }
-% 'output.nonnull
-% if$
-% }
-
-FUNCTION {output.check.nocomma}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull.nocomma
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Format in bbl file:
-
-% \harvarditem[Brezis et~al.]{Brezis, Krugman and
-% Tsiddon}{1993}{brezis93:_leapf_inter_compet}
-% Brezis, Elise~S., Paul~R. Krugman, and Daniel Tsiddon (1993) ``Leapfrogging in
-% International Competition: A Theory of Cycles in National Technological
-% Leadership.'', {\em American Economic Review.}, Vol.~83. No.~5. pp.
-% 1211--1219.
-
-% \harvarditem[abbreviated citation]{full citation}{year}{keyword} ...
-
-%%% Add period and newline.
-FUNCTION {fin.entry}
-{ add.period.x
- 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 {new.block.check}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-%%% booktitle
-FUNCTION {format.btitle}
-{ booktitle empty$
- { "" }
- { bst.btitle.pre booktitle * bst.btitle.post * }
- if$
-}
-
-FUNCTION {journal.name.sub}
-{ 't :=
- t #1 #4 substring$ "The " =
- % Use #30 to handle with the long journal name.
- { t #5 #30 substring$ 't := }
- 'skip$
- if$
- t
-}
-
-FUNCTION {format.journal.name.abb}
-{ journal 's :=
- journal 'jname :=
- s journal.name.sub 's :=
- bst.journal.name.abb #0 =
- 'skip$
- {
- s "Academic Management Review" =
- { "Acad. Manage. J." 'jname := }
- 'skip$
- if$
- }
- if$
- jname
-}
-
-%%% journal
-FUNCTION {format.journal}
-{ journal empty$
- { "" }
- { bst.journal.pre format.journal.name.abb * bst.journal.post * }
- if$
-}
-
-%%% title for book
-FUNCTION {format.book}
-{ title empty$
- { "" }
- { bst.book.pre title * bst.book.post * }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { type$ "online" = bst.show.url or
- { bst.url.pre url * bst.url.post *
- access empty$
- { "" * }
- { bst.access.pre * access * bst.access.post * }
- if$
- }
- { "" }
- if$
- }
- if$
-}
-
-FUNCTION {format.doi}
-{ doi empty$ bst.show.doi not or
- { "" }
- { bst.doi.pre doi * bst.doi.post * }
- if$
-}
-
-FUNCTION {format.url.doi}
-{ url empty$
- { format.doi }
- { doi empty$
- { format.url }
- { bst.url.doi #0 =
- { format.url output.nocomma
- format.doi }
- { bst.url.doi #1 =
- { format.url }
- { format.doi }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% and others
-FUNCTION {bst.and.others.output}
-{ nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.others.nameorder }
- { bst.and.others }
- if$
-}
-
-%%% author and editor
-
-%%% name
-FUNCTION {format.names}
-{ 's :=
- % insert 1 to nameptr.
- #1 'nameptr :=
- % Set the number of authors to numnames.
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- % Repeat if namesleft > 0
- { namesleft #0 > }
-
- { nameptr #1 =
- % First author
- { bst.author.name #0 =
- bst.author.name #1 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- % The second or later authors
- { bst.author.name #0 =
- bst.author.name #2 =
- or
- { bst.first.name.initial #0 =
- { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
- if$
- }
- { bst.first.name.initial #0 =
- { s nameptr "{vv~}{ll}{, ff}{, jj}" format.name$ 't := }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ 't := }
- if$
- }
- if$
- }
- if$
-
- nameptr #1 >
- % The second or later authors
- { numnames bst.max.author.num >
- { bst.and.others *
- #1 'namesleft := }
- { nameorder.temp "random" =
- bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { namesleft #1 >
- % More than one authors left
- { ", " * t * }
- % Only one author left
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 =
- % Entry with two authors
- { bst.and * t * }
- { bst.ands * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% remove successive periods (commas) from author
-FUNCTION {remove.ss.period.auth}
-{ 's :=
- s format.names 'tempa :=
- bst.author.post 'tempb :=
- tempb #1 #1 substring$ "}" =
- { tempa tempb * }
- { tempa #-1 #1 substring$ tempb #1 #1 substring$ =
- { tempa tempb #2 global.max$ substring$ * }
- { tempa tempb * }
- if$
- }
- if$
-}
-
-% <prev name list> <new name list> compare.names <modified name list>
-FUNCTION {compare.names.aer}
-{ 's :=
- 'tempa :=
-
-% "current.author = " s * "\\" * write$ newline$
-% "prev.author = " tempa * "\\" * write$ newline$
-
- tempa num.names$ 'len1.aer := % len1 = the number of previous authors
- s num.names$ 'len2.aer := % len2 = the number of current authors
-
-% len1.aer := min(len1.aer,len2.aer)
-% len1 -> min{ the number of previous authors, the number of current authors }
- len1.aer len2.aer >
- { len2.aer 'len1.aer := }
- { }
- if$
-
-% start with an empty string, then while the components are the same
-% add "\bysame"
- ""
- #1 'i.aer :=
-
- { i.aer len1.aer > not }
- { tempa i.aer "{ff }{vv }{ll}{ jj}" format.name$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$
- =
- { #1 i.aer <
- { " and " * } % \bysame で省略する著者の前につく and
- { }
- if$
- "\bysame{}" *
- i.aer #1 + 'i.aer := }
- { #-1 'len1.aer := }
- if$
- }
- while$
-
-% add the rest of the second string
- { i.aer len2.aer > not }
- { #1 i.aer <
- { " and " * }
- { }
- if$
- s i.aer "{ff }{vv }{ll}{ jj}" format.name$ *
- i.aer #1 + 'i.aer :=
- }
- while$
-}
-
-%%% author
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer author compare.names.aer 's :=
- author 'prev.author.aer := }
- { author 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { bst.use.bysame #2 =
- { prev.author.aer editor compare.names.aer 's :=
- editor 'prev.author.aer := }
- { editor 's := }
- if$
- extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre s remove.ss.period.auth * }
- if$
- s num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-FUNCTION {format.authors.alt}
-{ author empty$
- { "" }
- { extra.label.bysame "bysame" =
- {"\bysame "}
- { bst.author.pre author remove.ss.period.auth * }
- if$
- }
- if$
-}
-
-%%% editor
-FUNCTION {format.editors.alt}
-{ editor empty$
- { "" }
- { extra.label.bysame "bysame" =
- { "\bysame " }
- { bst.author.pre editor remove.ss.period.auth * }
- if$
- editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- if$
-}
-
-%%% format.in.ed.booktitle
-FUNCTION {format.editors.x}
-{ editor empty$
- { "" }
- { bst.editor.btitle.order #0 =
- { "" }
- { editor num.names$ #1 >
- { bst.editors " by " * }
- { bst.editor " by " * }
- if$
- }
- if$
- editor format.names *
- bst.editor.btitle.order #0 =
- { editor num.names$ #1 >
- { bst.editors * }
- { bst.editor * }
- if$
- }
- { "" * }
- if$
- }
- if$
-}
-
-%%% Remove commas in the cases like "?." and "?,".
-FUNCTION {remove.irrelevant.period.comma}
-{ 's :=
- s empty$
- { "" }
- { s #-1 #3 substring$ "?,'" =
- s #-1 #3 substring$ "?.'" = or
- { s #-3 global.max$ substring$ "'" * }
- { s #-1 #4 substring$ "?,''" =
- s #-1 #4 substring$ "?.''" = or
- { s #-4 global.max$ substring$ "''" * }
- { s #-1 #2 substring$ "?," =
- s #-1 #2 substring$ "?." = or
- { s #-2 global.max$ substring$ "" * }
- { s #-1 #3 substring$ "?,~" =
- s #-1 #3 substring$ "?.~" = or
- { s #-4 global.max$ substring$ "?~" * }
- 's
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% title
-FUNCTION {format.title.sub}
-{ bst.title.lower.case #0 =
- { bst.title.pre title * bst.title.post * }
- { bst.title.pre title "t" change.case$ * bst.title.post * }
- if$
-}
-
-%%% title
-FUNCTION {format.title}
-{ title empty$
- bst.hide.title #0 = not or
- { "" }
- { format.title.sub remove.irrelevant.period.comma }
- if$
-}
-
-%%% title for misc.
-FUNCTION {format.misc.title}
-{ title empty$
- { "" }
- { bst.title.pre title * bst.title.post * }
- if$
-}
-
-% Convert "-" to "--" (for pages field)
-FUNCTION {n.dashify}
-{ 't :=
- ""
- %% while$
- { 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$
-}
-
-%%% year
-FUNCTION {format.year}
-{ year empty$
- { "there's no year in " cite$ * warning$
- ", " }
- { type$ "article" =
- { bst.year.pre year * extra.label * bst.year.post * }
- { bst.year.na.pre year * extra.label * bst.year.na.post * }
- if$
- }
- if$
-}
-
-%%% page for book
-FUNCTION {format.book.pages}
-{ pages empty$
- { "" }
- { bst.pages.pre pages * bst.pages.post * }
- if$
-}
-
-%%% Attach tie for the string with two or less characters.
-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$
-}
-
-%%% volume for book
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bst.volume.pre volume * bst.volume.post *
- series empty$
- 'skip$
- %% If there is series field
- { " of " * series * bst.series.post * }
- if$
-% "volume and number" number either.or.check
- }
- if$
-}
-
-%%% series
-FUNCTION {output.series}
-{ series empty$
- { "" }
- { bst.series.pre series * bst.series.post * }
- if$
-}
-
-%%% number and series
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- bst.hide.month #0 = not or
- % number is empty
- { series empty$
- { "" }
- % series is not empty.
- { output.series }
- if$
- }
- % number is not empty$
- { series empty$
- { bst.number.pre number * bst.number.post * }
- % series is not empty.
- { bst.in bst.series.pre * series * bst.series.post *
- bst.number.pre * number * bst.number.post * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-%%% Number or not.
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% edition
-
-% Convert edition to 1st, 2nd, 3rd, 4th etc
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bst.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bst.st * }
- { duplicate$ "2" =
- { pop$ bst.nd * }
- { "3" =
- { bst.rd * }
- { bst.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-% Convert first, second etc in edition field to 1st, 2nd (from jfm.bst)
-FUNCTION {convert.edition}
-{ edition extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bst.first }
- { s "second" = s "2" = or
- { bst.second }
- { s "third" = s "3" = or
- { bst.third }
- { s "fourth" = s "4" = or
- { bst.fourth }
- { s "fifth" = s "5" = or
- { bst.fifth }
- { s #1 #1 substring$ is.num
- { s eng.ord }
- { edition }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% edition
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { bst.edition.pre convert.edition "l" change.case$ * bst.edition.post * }
- { bst.edition.pre convert.edition "t" change.case$ * bst.edition.post * }
- if$
- }
- if$
-}
-
-%%% month
-FUNCTION {format.month}
-{ month empty$
- bst.hide.month #0 = not or
- { "" }
- { bst.month.pre month * bst.month.post * }
- if$
-}
-
-%%% year and month
-FUNCTION {format.date}
-{ format.month format.year *
-}
-
-%%% Is multiple pages like 1-100?
-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
-}
-
-%%% pages
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bst.pages.pre pages n.dashify tie.or.space.connect * bst.pages.post }
- { bst.page.pre pages tie.or.space.connect * bst.page.post }
- if$
- }
- if$
-}
-
-%%% number
-FUNCTION {format.number}
-{ number empty$
- bst.hide.number #0 = not or
- { "" }
- { bst.number.pre number * bst.number.post * }
- if$
-}
-
-%%% volume
-FUNCTION {format.volume}
-{ volume empty$
- 'skip$
- { bst.volume.pre volume * bst.volume.post *
- bst.year.position #3 =
- { format.year * }
- 'skip$
- if$
- }
- if$
-}
-
-%%% number, page
-FUNCTION {format.number.pages}
-{ number empty$
- { format.pages }
- { format.number format.pages * }
- if$
-}
-
-%%% volume, page
-FUNCTION {format.volume.pages}
-{ volume empty$
- { format.pages }
- { format.volume format.pages * }
- if$
-}
-
-%%% volume, number, page
-FUNCTION {format.volume.number.pages}
-{ volume empty$
- { number empty$
- { format.pages }
- { format.number format.pages * }
- if$
- }
- { number empty$
- { format.volume format.pages * }
- { format.volume format.number * format.pages * }
- if$
- }
- if$
-}
-
-% volume, number, page
-FUNCTION {format.vol.num.pages}
-{ volume empty$
- %% volume is empty.
- { number empty$
- %% number is empty.
- { pages empty$
- % warning
- { "there is no volume, number, and pages in " cite$ * warning$ "" }
- { "" format.pages * }
- if$
- }
- %% number is not empty.
- % warning
- { "there's a number but no volume in " cite$ * warning$
- format.number.pages }
- if$
- }
- %% volume is not empty.
- { number empty$
- %% number is empty.
- { format.volume.pages }
- %% number is not empty.
- { format.volume.number.pages }
- if$
- }
- if$
-}
-
-%%% chapter
-FUNCTION {format.chapter}
-{ chapter empty$
- { "" }
- { type empty$
- { bst.chapter.pre chapter tie.or.space.connect * bst.chapter.post }
- { ", " * type " " * chapter * }
- if$
- }
- if$
-}
-
-%%% chapter, pages
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- { pages empty$
- { "" }
- { "" format.pages * }
- if$
- }
- { pages empty$
- { "" format.chapter * }
- { "" format.chapter * format.pages * }
- if$
- }
- if$
-}
-
-%%% editor and booktitle
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { bst.in format.btitle * }
- { bst.editor.btitle.order #0 =
- { bst.in format.editors.x * " " * format.btitle * }
- { bst.in format.btitle * " " * format.editors.x * }
- if$
- }
- if$
- }
- if$
-}
-
-%%% howpublished
-FUNCTION {format.howpublished}
-{ howpublished empty$
- { "" }
- { bst.howpublished.pre howpublished * bst.howpublished.post * }
- if$
-}
-
-%%% address
-FUNCTION {format.address}
-{ address empty$
- { "" }
- { bst.address.pre address * bst.address.post * }
- if$
-}
-
-%%% publisher
-FUNCTION {format.publisher}
-{ publisher empty$
- { "" }
- { bst.publisher.pre publisher * bst.publisher.post * }
- if$
-}
-
-%%% organization
-FUNCTION {format.organization}
-{ organization empty$
- { "" }
- { bst.organization.pre organization * bst.organization.post * }
- if$
-}
-
-%% publisher and address
-FUNCTION {output.publisher.address}
-{ address empty$
- { format.publisher "publisher" output.check.nocomma }
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
-}
-
-%% address, organization, publisher
-FUNCTION {output.address.organization.publisher}
-{ address empty$
- %% address is empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- 'skip$
- { format.publisher "publisher" output.check.nocomma }
- if$
- }
- %% organization is not empty
- { publisher empty$
- { format.organization "organization" output.check.nocomma }
- { format.organization "organization" output.check.nocomma
- format.publisher "publisher" output.check.nocomma }
- if$
- }
- if$
- }
- %% address is not empty
- { organization empty$
- %% organization is empty
- { publisher empty$
- %% publisher is empty
- { format.address output.nocomma }
- %% publisher is not empty
- { bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- %% organization is not empty
- { publisher empty$
- %% publisher is empty
- { format.organization "organization" output.check.nocomma
- format.address output.nocomma }
- %% publisher is not empty
- { format.organization "organization" output.check.nocomma
- bst.address.position #0 =
- { format.address output.nocomma
- format.publisher "publisher" output.check.nocomma }
- { format.publisher "publisher" output.check.nocomma
- format.address output.nocomma }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% misc
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$ " " type * }
- if$
-}
-
-FUNCTION {format.tr.number}
-{ type empty$
- { bst.techrep }
- { " " type * }
- if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
-}
-
-%%% phdthesis
-FUNCTION {format.phd}
-{ bst.phdthesis }
-
-%%% mastersthesis
-FUNCTION {format.mthesis}
-{ bst.mthesis }
-
-%%% school
-FUNCTION {format.school}
-{ school empty$
- { "" }
- { bst.school.pre school * bst.school.post * }
- if$
-}
-
-%%% institution
-FUNCTION {format.institution}
-{ institution empty$
- { "" }
- { bst.institution.pre institution * bst.institution.post * }
- if$
-}
-
-%%% remove first ? characters.
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-
-FUNCTION {format.note}
-{ note empty$
- { "" }
- { bst.note.pre note * bst.note.post * }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \havarditem
-
-FUNCTION {output.bibitem}
-{ newline$
- "\harvarditem[" write$
- alabel write$ % alabel <- abbreviated citation
- "]{" write$
- flabel write$ % flabel <- full citation
- "}{" write$
- cyear write$
- % cyear = year
- "}{" write$
- cite$ write$ % cite$ -> pusch keyword
- "}" write$
- % If number index is on
- bst.use.number.index #0 =
- 'skip$
- { index #1 + 'index :=
- "" 'preone :=
- "" 'preten :=
- bst.number.index.digit "1" =
- 'skip$
- { bst.number.index.digit "2" =
- { "\hskip0.5em" 'preone := }
- { bst.number.index.digit "3" =
- { "\hskip1em" 'preone :=
- "\hskip0.5em" 'preten := }
- 'skip$
- if$
- }
- if$
- }
- if$
- }
- if$
- newline$
- before.all 'output.state :=
- ""
- % number index
- bst.use.number.index #0 =
- 'skip$
- { index #10 <
- % Insert spaces according to digit of number index.
- { preone }
- { index #100 <
- { preten }
- { "" }
- if$
- }
- if$
- bst.number.index.pre * index int.to.str$ * bst.number.index.post * write$
- }
- if$
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% article
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.journal "journal" output.check.nocomma
- bst.year.position #2 =
- { format.date output.nocomma }
- 'skip$
- if$
- format.vol.num.pages output.nocomma
-
- bst.year.position #1 =
- { format.date output.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% book
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
-
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- format.edition output.nocomma
- format.book.pages output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% booklet
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output.nocomma
- format.year output.nocomma
- format.misc.title "title" output.check.nocomma
- format.howpublished output.nocomma
- format.address output.nocomma
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inbook
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check.nocomma }
- { format.authors output.nonnull.nocomma
- "author and editor" editor either.or.check
- }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-% format.book remove.pre.comma "title" output.check.nocomma
- format.book "title" output.check.nocomma
- format.edition output.nocomma
-
- format.bvolume output.nocomma
- format.chapter.pages "chapter and pages" output.check.nocomma
- format.number.series output.nocomma
- output.publisher.address
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% incollection
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.edition output.nocomma
- format.chapter.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% inproceedings
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- format.in.ed.booktitle "booktitle" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- format.pages output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% conference
-
-FUNCTION {conference}
-{ inproceedings }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% manual
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output.nonnull.nocomma
- address output.nocomma
- }
- if$
- }
- { format.authors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- author empty$
- { organization empty$
- { format.address new.block.check
- format.address output.nocomma
- }
- 'skip$
- if$
- }
- { output.address.organization.publisher }
- if$
- format.edition output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mastersthesis
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.mthesis format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% misc
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Online
-
-FUNCTION {online}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.misc.title output.nocomma
- format.howpublished output.nocomma
-
- bst.year.position #0 = not
- { format.date output.nocomma }
- { format.month output.nocomma }
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
- empty.misc.check
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% phdthesis
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.book "title" output.check.nocomma
- format.phd
- format.thesis.type output.nonnull.nocomma
- format.school "school" output.check.nocomma
- address empty$
- 'skip$
- { format.address output.nocomma }
- if$
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% proceedings
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output.nocomma }
- { format.editors output.nonnull.nocomma }
- if$
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.btitle remove.pre.comma "title" output.check.nocomma
- format.bvolume output.nocomma
- format.number.series output.nocomma
- output.address.organization.publisher
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% techreport
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
- format.tr.number output.nonnull.nocomma
- format.institution "institution" output.check.nocomma
- format.address output.nocomma
-
- bst.year.position #0 = not
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
-
- format.url.doi output.nocomma
-
- format.note output.nocomma
- fin.entry
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unpublished
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check.nocomma
- bst.year.position #0 =
- { format.year "year" output.check.nocomma }
- 'skip$
- if$
- format.title "title" output.check.nocomma
-
- bst.year.position #0 = not
- { format.date remove.pre.comma output.nocomma }
- { month empty$
- 'skip$
- { format.month remove.pre.comma output.nocomma }
- if$
- }
- if$
-
- format.url.doi output.nocomma
-
- format.note "note" output.check.nocomma
- fin.entry
-}
-
-FUNCTION {default.type}
-{ misc }
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Alias for month names:
-
-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"}
-
-%%% Read entries:
-READ
-
-%%% Variable for remembering the order of citation.
-INTEGERS { order.num }
-FUNCTION {initialize.order.num}
-{
- #1 'order.num :=
-}
-%%% Initialize a variables
-EXECUTE {initialize.order.num}
-
-%%% Variable for remembering the order of citation.
-FUNCTION {set.order.cited}
-{
- order.num 'order.cited :=
- #1 order.num + 'order.num :=
-}
-%%% Iterate for all entries:
-ITERATE {set.order.cited}
-
-%%% check the value of nameorder field.
-FUNCTION {set.nameorder}
-{ nameorder empty$
- { "" 'nameorder.temp := }
- { nameorder 'nameorder.temp := }
- if$
-}
-%%% Iterate for all entries:
-ITERATE {set.nameorder}
-
-%%% Remove symbols and convert to lowercase.
-FUNCTION {sortify}
-{ purify$ "l" change.case$ }
-
-%%% names for sorting
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { nameptr #1 >
- { ", " * }
- 'skip$
- if$
- s nameptr "{ll}{ f}{ j}" format.name$ 't :=
- nameptr numnames = t "others" = and
- { bst.and.others.output *}
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {sort.format.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- { s sort.format.names }
- { s #1 "{ll}{ f}{ j}" format.name$ " zz " * }
- if$
-}
-
-%%% Label for full author name.
-FUNCTION {format.lab.names.full}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{vv~}{ll}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.and.nameorder * t * }
- { ", " * t * }
- if$
- }
- { t "others" =
- { bst.and.others.output * }
- { numnames #2 >
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.ands * t * }
- if$
- }
- { nameorder.temp "random" = bst.use.nameorder #0 = not and
- { bst.cite.and.nameorder * t * }
- { bst.cite.and * t * }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #1 > #1 #2 = and {", eds" *} {} if$
- numnames #1 = #1 #2 = and {", ed" *} {} if$
-}
-
-%%% laberl for abbreviated author name.
-FUNCTION {format.lab.names.abb}
-{ 's :=
- s num.names$ 'numnames :=
- numnames bst.and.others.num <
- % if the number of authors is less than bst.and.others.num, full name.
- { s format.lab.names.full }
- % if the number of authors is equal or more than bst.and.others.num, abbreviated name.
- { s #1 "{ll}" format.name$ bst.and.others.output * }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.key.label.abb}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.key.label.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {format.names.full.wo.and}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{ll}{, ff}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { " " * t * }
- { t "others" =
- { " " * }
- { numnames #2 >
- { " " * t * }
- { " " * t * }
- if$
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.key.full.wo.and}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.editor.key.full.wo.and}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-FUNCTION {editor.key.organization.key.full.wo.and}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.names.full.wo.and }
- if$
-}
-
-FUNCTION {author.key.organization.key.full.wo.and}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.names.full.wo.and }
- if$
-}
-
-%%% abbreviated author
-FUNCTION {author.editor.key.label.abb}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-%%% full author
-FUNCTION {author.editor.key.label.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.full}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.full }
- if$
-}
-
-FUNCTION {author.key.organization.label.abb}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names.abb }
- if$
-}
-
-FUNCTION {editor.key.organization.label.full}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.full }
- if$
-}
-
-FUNCTION {editor.key.organization.label.abb}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names.abb }
- if$
-}
-
-%%% Convert numbers: 0->9, 1->8, 2->7,..., 9->0
-FUNCTION {reverse.num}
-{ 's :=
- s "1" =
- { "8" 'year.num := }
- { s "2" =
- { "7" 'year.num := }
- { s "3" =
- { "6" 'year.num := }
- { s "4" =
- { "5" 'year.num := }
- { s "5" =
- { "4" 'year.num := }
- { s "6" =
- { "3" 'year.num := }
- { s "7" =
- { "2" 'year.num := }
- { s "8" =
- { "1" 'year.num := }
- { s "9" =
- { "0" 'year.num := }
- { s "0" =
- { "9" 'year.num := }
- { "9" 'year.num := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- year.num
-}
-
-%%% Convert year (large number -> small number)
-FUNCTION {convert.year}
-{ 't :=
- bst.reverse.year #0 =
- { t 'tt := }
- { t #1 #1 substring$ reverse.num
- t #2 #1 substring$ reverse.num *
- t #3 #1 substring$ reverse.num *
- t #4 #1 substring$ reverse.num * 'tt := }
- if$
- tt
-}
-
-%%% cyear
-FUNCTION {calc.cyear}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full.wo.and
- { type$ "proceedings" =
- 'editor.key.organization.key.full.wo.and
- { type$ "manual" =
- 'author.key.organization.key.full.wo.and
- 'author.key.full.wo.and
- if$
- }
- if$
- }
- if$
- duplicate$
- year empty$
- { "2199" 'cyear := }
- { year 'cyear := }
- if$
- year empty$
- { " " "2199" convert.year * field.or.null * }
- { " " year convert.year * field.or.null * }
- if$
- sortify 'sort.label :=
- % For debug
- econ.debug #0 = not
- { "sort.label = ``\texttt{" write$
- sort.label write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
- pop$
-}
-
-FUNCTION {calc.sort.label.abb}
-{ author empty$
- { editor empty$
- { "" }
- { editor 's := }
- if$
- }
- { author 's := }
- if$
- s sort.format.names.abb 't :=
- year empty$
- { t sortify " " * "2199" convert.year * 'sort.label.abb := }
- { t sortify " " * year convert.year * 'sort.label.abb := }
- if$
- econ.debug #0 = not
- { "sort.label.abb = ``\texttt{" write$
- sort.label.abb write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% flabel
-FUNCTION {calc.flabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.full
- { type$ "proceedings" =
- 'editor.key.organization.label.full
- { type$ "manual" =
- 'author.key.organization.label.full
- 'author.key.label.full
- if$
- }
- if$
- }
- if$
- 'flabel :=
- author empty$
- 'skip$
- { author num.names$ 'numnames :=
- numnames bst.max.author.num >
- { alabel 'flabel := }
- 'skip$
- if$
- }
- if$
- % For debug
- econ.debug #0 = not
- { "flabel = ``\texttt{" write$
- flabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% alabel
-FUNCTION {calc.alabel}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label.abb
- { type$ "proceedings" =
- 'editor.key.organization.label.abb
- { type$ "manual" =
- 'author.key.organization.label.abb
- 'author.key.label.abb
- if$
- }
- if$
- }
- if$
- 'alabel :=
- % For debug
- econ.debug #0 = not
- { "alabel = ``\texttt{" write$
- alabel write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% title for sorting
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-
-%%% author for sorting
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-%%% editor for sorting
-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 {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-
-%%% 1,...,9 -> 001,...,009
-%%% 10,...,99 -> 010,...,099
-FUNCTION {add.zero.to.number}
-{ 's :=
- s text.length$ #1 =
- { "00" s * }
- { s text.length$ #2 =
- { "0" s * }
- { s }
- if$
- }
- if$
-}
-
-%% entry type
-FUNCTION {bst.sort.entry.type.order}
-{ 'item.type :=
- item.type "article" =
- { "01" }
- { item.type "book" =
- { "02" }
- { item.type "booklet" =
- { "03" }
- { item.type "comment" =
- { "04" }
- { item.type "conference" =
- { "05" }
- { item.type "inbook" =
- { "06" }
- { item.type "incollection" =
- { "07" }
- { item.type "inproceedings" =
- { "08" }
- { item.type "manual" =
- { "09" }
- { item.type "masterthesis" =
- { "10" }
- { item.type "misc" =
- { "11" }
- { item.type "phdthesis" =
- { "12" }
- { item.type "proceedings" =
- { "13" }
- { item.type "techreport" =
- { "14" }
- { item.type "unpublished" =
- { "15" }
- { "16" }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%%% Create sort.key$: absorder -> author -> year -> order -> month -> title.
-FUNCTION {presort.one}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " *
- sort.label.abb *
- " " *
- type$ "book" = type$ "inbook" = or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
- * " " *
- " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two}
-{
- bst.no.sort #0 = not
- { order.cited int.to.str$ add.zero.to.number " " * }
- { "" }
- if$
- bst.sort.year #0 = not
- %% Use year field as the primary sorting key.
- { year convert.year * }
- 'skip$
- if$
- bst.sort.entry.type #0 = not
- { type$ bst.sort.entry.type.order * " " * }
- 'skip$
- if$
- absorder empty$
- { "/// " * }
- { bst.notuse.absorder.field #0 =
- { absorder "999" =
- { "zzz " * }
- { absorder add.zero.to.number "000" =
- { "/// " * }
- { absorder add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- " " * sort.label * " "
- order empty$
- { "/// " * }
- { bst.notuse.order.field #0 =
- { order "999" =
- { "zzz " * }
- { order add.zero.to.number "000" =
- { "/// " * }
- { order add.zero.to.number * " " * }
- if$
- }
- if$
- }
- { "/// " * }
- if$
- }
- if$
- month empty$
- { * "/// " * }
- { month "999" =
- { * month add.zero.to.number * "zzz " * }
- { month add.zero.to.number "000" =
- { * month add.zero.to.number * "/// " * }
- { * month add.zero.to.number * " " * }
- if$
- }
- if$
- }
- if$
- title field.or.null sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
- % For debug
- econ.debug #0 = not
- { "``\texttt{" write$
- sort.key$ write$
- "}''\\" write$
- newline$
- }
- 'skip$
- if$
-}
-
-%%% Codes for debugging
-FUNCTION {calc.alabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.alabel: alabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {calc.flabel.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.flabel: flabel = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-FUNCTION {presort.one.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (1st time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {presort.two.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of presort (2nd time): \$sort.key = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.cyear.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.cyear: sort.label = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-FUNCTION {calc.sort.label.abb.mess}
-{ econ.debug #0 = not
- { "\textbf{Iteration of calc.sort.label.abb: sort.label.abb = }\\" write$
- newline$ }
- 'skip$
- if$
-}
-
-%%% alabel
-EXECUTE {calc.alabel.mess}
-ITERATE {calc.alabel}
-
-%%% flabel
-EXECUTE {calc.flabel.mess}
-ITERATE {calc.flabel}
-
-%%% cyear and sort.label
-EXECUTE {calc.cyear.mess}
-ITERATE {calc.cyear}
-
-%%%
-EXECUTE {calc.sort.label.abb.mess}
-ITERATE {calc.sort.label.abb}
-
-%%% Sorting by $sort.key (first time)
-%
-% Sorting is done in two times. This is the first time.
-%
-EXECUTE {presort.one.mess}
-ITERATE {presort.one}
-SORT
-
-FUNCTION {forward.pass}
-{ bst.use.bysame #0 = bst.use.bysame #2 = or
- % Not use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- }
- % Use \bysame
- { last.sort.label sort.label.abb =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label.abb 'last.sort.label :=
- }
- if$
- author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- % format.names 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label empty$ not
- { cyear extra.label * }
- { cyear "" * }
- if$
- "" field.or.null *
- 'cyear :=
- extra.label 'next.extra :=
-}
-
-%%% \bysame
-ITERATE {forward.pass}
-
-REVERSE {reverse.pass}
-
-%%% Sorting by sort.key$ (second time)
-EXECUTE {presort.two.mess}
-ITERATE {presort.two}
-SORT
-
-FUNCTION {reset.prev.author}
-{ "xxyyzz" 'prev.author := }
-
-EXECUTE {reset.prev.author}
-
-FUNCTION {forward.pass.two}
-{ bst.use.bysame #1 =
- { author empty$
- { editor empty$
- { "" }
- 'format.editors.alt
- if$
- }
- 'format.authors.alt
- if$
- 'this.author :=
- this.author prev.author =
- { "bysame" 'extra.label.bysame := }
- { this.author "" =
- { "abcxyz" }
- 'this.author
- if$
- 'prev.author :=
- }
- if$
- }
- 'skip$
- if$
-}
-
-ITERATE {forward.pass.two}
-
-FUNCTION{punctuation}
-{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by " econ.file * " ver." * econ.version * write$ newline$
- "% The latest " econ.file * " is available at " * write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
-}
-
-EXECUTE {punctuation}
-
-FUNCTION {begin.bib}
-{
- preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- bst.use.bysame #0 =
- % Not use \bysame.
- 'skip$
- % Use \bysame.
- { "%%% Definition of \bysame" write$ newline$
- "\ifx\undefined\bysame" write$ newline$
- "\newcommand{\bysame}{" bst.bysame.definition * "}" *
- write$ newline$
- "\fi" write$ newline$ newline$ }
- if$
- %% When number index is attached to the beginning of each item.
- bst.use.number.index #0 =
- 'skip$
- { bst.number.index.digit "1" =
- % one digit.
- { bst.number.index.bibhang.one }
- { bst.number.index.digit "2" =
- % two digits.
- { bst.number.index.bibhang.ten }
- % three or more digits.
- { bst.number.index.bibhang.hund }
- if$
- }
- if$
- 'hang :=
- "%%% Redefinition of \bibhang" write$ newline$
- "\ifx\undefined\bibhang" write$ newline$
- "\relax" write$ newline$
- "\else" write$ newline$
- "\setlength{\bibhang}{"
- hang * "}" * write$ newline$
- "\fi" write$ newline$ newline$
- }
- if$
- "\begin{thebibliography}{xxx}" write$ newline$
-
- %% Initialize the variable `index'.
- #0 'index :=
-}
-
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$ }
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-EXECUTE {end.bib}
-
-% --------------------
-% Local Variables:
-% fill-column: 78
-% mode: bst
-% End:
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.pdf
index 5e219b94574..28790193eee 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-old.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.pdf b/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.pdf
index 464b1d6814e..248c3669363 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.pdf
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.tex b/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.tex
index 1b2a3b6068b..a12cc33087d 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.tex
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/econ-example.tex
@@ -60,7 +60,7 @@
}
\author{Shiro Takeda\thanks{email: {\ttfamily shiro.takeda@gmail.com}.}}
-\date{2020/02/26}
+\date{2020/03/03}
%#####################################################################
%######################### Document Starts ###########################