summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst')
-rw-r--r--Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst210
1 files changed, 133 insertions, 77 deletions
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
index bea9f43e8c5..6a047e97d07 100644
--- a/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.bst
+++ b/Master/texmf-dist/doc/bibtex/econ-bst/customization/econ-a.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:52 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 }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
@@ -314,7 +316,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).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -340,7 +346,8 @@ FUNCTION {bst.author.pre}
% The string after author:
%
FUNCTION {bst.author.post}
-{ "." } % (default)
+{ "." }
+% { "" } % (default)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% year
@@ -426,9 +433,18 @@ FUNCTION {bst.journal.pre}
% 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:
@@ -469,8 +485,8 @@ FUNCTION {bst.edition.post}
% The string before volume:
%
FUNCTION {bst.volume.pre}
-{ ", " }
-% { ", Vol. " } % (default)
+{ ". " }
+% { ", " } % (default)
% The string after volume:
%
@@ -490,14 +506,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
@@ -514,13 +528,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):
%
@@ -669,7 +682,7 @@ FUNCTION {bst.show.url}
% The string before url:
%
FUNCTION {bst.url.pre}
-{ ", URL: \url{" } % (default)
+{ ", \url{" } % (default)
% The string after url:
%
@@ -704,12 +717,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.
%
@@ -718,9 +731,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:
@@ -736,7 +749,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:
%
@@ -746,7 +759,7 @@ FUNCTION {bst.mthesis}
% The string that represents phd thesis:
%
FUNCTION {bst.phdthesis}
-{ " Ph.D. thesis" } % (default)
+{ " Ph.D. dissertation" } % (default)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
@@ -1079,11 +1092,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$
}
@@ -1159,56 +1198,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$
@@ -1935,7 +1980,7 @@ FUNCTION {format.thesis.type}
FUNCTION {format.tr.number}
{ type empty$
- { "Technical Report" }
+ { bst.techrep }
{ " " type * }
if$
number empty$
@@ -2172,9 +2217,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 }
@@ -2419,6 +2464,8 @@ FUNCTION {techreport}
'skip$
if$
+ format.url.doi output.nocomma
+
format.note output.nocomma
fin.entry
}
@@ -2931,6 +2978,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$
@@ -3469,10 +3525,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}