summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/econ-bst/econ.bst
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-27 22:03:41 +0000
committerKarl Berry <karl@freefriends.org>2020-02-27 22:03:41 +0000
commit0f5b76348d94fde135271bbac02b37d63d8097b1 (patch)
treef7ee2de37136453827bcf51ab20d6d3c04fde210 /Master/texmf-dist/bibtex/bst/econ-bst/econ.bst
parent454b1bd8bf88c017244a09ac3d5302c99ec296fb (diff)
econ-bst (27feb20)
git-svn-id: svn://tug.org/texlive/trunk@53937 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/econ-bst/econ.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/econ-bst/econ.bst198
1 files changed, 128 insertions, 70 deletions
diff --git a/Master/texmf-dist/bibtex/bst/econ-bst/econ.bst b/Master/texmf-dist/bibtex/bst/econ-bst/econ.bst
index 802f4c96583..f74137a79d0 100644
--- a/Master/texmf-dist/bibtex/bst/econ-bst/econ.bst
+++ b/Master/texmf-dist/bibtex/bst/econ-bst/econ.bst
@@ -4,8 +4,7 @@
% Maintainer: Shiro Takeda
% Copyright (C) 2001-2018 Shiro Takeda
% First-written: <2007/07/28>
-% Time-stamp: <2018-12-07 18:49:14 st>
-% Version: 2.5
+% Version: 2.7
% Keywords: TeX, BibTeX, bst
% URL: https://github.com/ShiroTakeda/econ-bst
@@ -38,7 +37,10 @@
% For changelogs, see CHANGES.txt file.
% version number
-FUNCTION {econ.version} { "2.5" }
+FUNCTION {econ.version} { "2.7" }
+
+% File name
+FUNCTION {econ.file} { "econ.bst" }
% Debug mode. Non-zero makes debug mode on.
FUNCTION {econ.debug}
@@ -61,7 +63,7 @@ ENTRY
%% String entry variable
{ label cyear flabel alabel extra.label sort.label sort.label.abb
- extra.label.bysame nameorder.temp }
+ extra.label.bysame nameorder.temp jname }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
@@ -312,7 +314,11 @@ FUNCTION {bst.cite.and.nameorder}
% 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).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -415,6 +421,15 @@ FUNCTION {bst.journal.pre}
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:
@@ -455,7 +470,7 @@ FUNCTION {bst.edition.post}
% The string before volume:
%
FUNCTION {bst.volume.pre}
-{ ", Vol. " } % (default)
+{ ", " } % (default)
% The string after volume:
%
@@ -475,12 +490,12 @@ FUNCTION {bst.hide.number}
% The string before number:
%
FUNCTION {bst.number.pre}
-{ ", No. " } % (default)
+{ " (" } % (default)
% The string after number:
%
FUNCTION {bst.number.post}
-{ "" } % (default)
+{ ")" } % (default)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% in
@@ -496,12 +511,12 @@ FUNCTION {bst.in}
% The string before page (multiple pages):
%
FUNCTION {bst.pages.pre}
-{ ", pp." } % (default)
+{ ", " } % (default)
% The string before page:
%
FUNCTION {bst.page.pre}
-{ ", p." } % (default)
+{ ", " } % (default)
% The string after page (multiple pages):
%
@@ -649,7 +664,7 @@ FUNCTION {bst.show.url}
% The string before url:
%
FUNCTION {bst.url.pre}
-{ ", URL: \url{" } % (default)
+{ ", \url{" } % (default)
% The string after url:
%
@@ -684,12 +699,12 @@ FUNCTION {bst.show.doi}
% The string before DOI:
%
FUNCTION {bst.doi.pre}
-{ ", DOI: \href{http://dx.doi.org/" doi * "}{" * } % (default)
+{ ", \href{http://dx.doi.org/" doi * "}{\urlstyle{rm} \nolinkurl{" * } % (default)
% The string after DOI:
%
FUNCTION {bst.doi.post}
-{ "}" } % (default)
+{ "}}" } % (default)
% How to show URL and DOI fields when both fields exist.
%
@@ -698,9 +713,9 @@ FUNCTION {bst.doi.post}
% #2 -> Only DOI field is displayed
%
FUNCTION {bst.url.doi}
-{ #0 } % (default) -> Both fields are displayed
+% { #0 } % -> Both fields are displayed
% { #1 } % -> Only URL field is displayed
-% { #2 } % -> Only DOI field is displayed
+{ #2 } % (default) --> Only DOI field is displayed
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Other functions:
@@ -716,7 +731,7 @@ FUNCTION {bst.note.post}
% The string that represents Technical report:
%
FUNCTION {bst.techrep}
-{ " Tech. Rep." } % (default)
+{ "Technical Report" } % (default)
% The string that represents master thesis:
%
@@ -1059,11 +1074,37 @@ FUNCTION {format.btitle}
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 journal * bst.journal.post * }
+ { bst.journal.pre format.journal.name.abb * bst.journal.post * }
if$
}
@@ -1139,56 +1180,62 @@ FUNCTION {format.names}
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 =
+ % 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
- { 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 * }
+ { 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$
@@ -1915,7 +1962,7 @@ FUNCTION {format.thesis.type}
FUNCTION {format.tr.number}
{ type empty$
- { "Technical Report" }
+ { bst.techrep }
{ " " type * }
if$
number empty$
@@ -2152,9 +2199,9 @@ FUNCTION {incollection}
format.in.ed.booktitle "booktitle" output.check.nocomma
format.bvolume output.nocomma
- 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 }
@@ -2399,6 +2446,8 @@ FUNCTION {techreport}
'skip$
if$
+ format.url.doi output.nocomma
+
format.note output.nocomma
fin.entry
}
@@ -2911,6 +2960,15 @@ FUNCTION {calc.flabel}
}
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$
@@ -3449,10 +3507,10 @@ ITERATE {forward.pass.two}
FUNCTION{punctuation}
{
- "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" write$ newline$
- "% This bbl file is created by econ.bst ver." econ.version * write$ newline$
- "% The latest econ.bst is available at" write$ newline$
- "% <https://github.com/ShiroTakeda/econ-bst>" write$ newline$ newline$
+ "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 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}