diff options
author | Karl Berry <karl@freefriends.org> | 2006-09-29 14:01:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-09-29 14:01:46 +0000 |
commit | 44bd5ae67f840efc1bc7d0c15945f31410a37e7f (patch) | |
tree | 63a0ed42744b22ef3a5e767b4067d7e91e5cd401 /Master | |
parent | beea8cb4ea7cc0980ba8ec3e73ab96f23555f448 (diff) |
new bibtex+latex package economic (27sep06)
git-svn-id: svn://tug.org/texlive/trunk@2218 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
27 files changed, 14088 insertions, 0 deletions
diff --git a/Master/texmf-dist/bibtex/bst/economic/aer.bst b/Master/texmf-dist/bibtex/bst/economic/aer.bst new file mode 100644 index 00000000000..c267db6d54f --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/aer.bst @@ -0,0 +1,1221 @@ +% BibTeX bibliography style `aer' (American Economic Review) +% this file is based on the `harvard' family of files + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst, + % dcu.bst, cje.bst, aer.bst, or kluwer.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT: +% This document is a modified version of alpha.bst to which it owes much of +% its functionality. + +% AUTHOR +% Peter Williams, Key Centre for Design Quality, Sydney University +% e-mail: peterw@archsci.arch.su.oz.au + +ENTRY + { address author booktitle chapter edition editor howpublished institution + journal key month note number organization pages publisher school + series title type volume year} + { field.used } + { label.touse extra.label sort.label list.year } + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ {} + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + {} + if$ +} + +INTEGERS {quoted italic bold plain attribute + space comma tiedcomma semicolon colon period block empty separator + prev.separator next.separator next.attribute} + +STRINGS { s temp f name.list first.name.format later.name.formats name.style} + +FUNCTION {init.state.consts} +{ + #100 'quoted := + #200 'italic := + #300 'bold := + #400 'plain := + + #7 'space := + #6 'comma := +% #5 'tiedcomma := +% #4 'semicolon := + #3 'colon := + #2 'period := + #1 'block := + #0 'empty := +} + +FUNCTION {output2} +{ +% Wrap the attribute. + attribute bold = {"{\bf " swap$ * "}" *} {} if$ + attribute italic = {"{\it " swap$ * "}" *} {} if$ + attribute quoted = {"``" swap$ * "''" *} {} if$ +% Append additional separators + separator comma = {"," * space 'separator :=} {} if$ +% separator tiedcomma = {",~" * empty 'separator :=} {} if$ + separator space = {" " *} {} if$ + write$ + separator block = {newline$ "\newblock " write$} {} if$ +% Update variables, and put the new string back on the stack + next.attribute 'attribute := + next.separator 'separator := + temp +} + +% <string> <separator> <string> <attribute> <final separator> output <string> +FUNCTION {output.nonnull} +{ 'next.separator := + 'next.attribute := + 'temp := + 'prev.separator := +% If the new separator is stronger than the previous one, use it. + prev.separator separator < {prev.separator 'separator :=} {} if$ +% Append most separators to the string. + separator block = {add.period$} {} if$ + separator period = {add.period$ space 'separator :=} {} if$ +% separator semicolon = {";" * space 'separator :=} {} if$ + separator colon = {":" * space 'separator :=} {} if$ + separator comma = attribute quoted = and + {"," * space 'separator :=} {} if$ + output2 +} + +FUNCTION {output} +{ 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$} + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {output.check} +{ 's := + 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$ "empty " s * " in " * cite$ * warning$ } + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {item.check} +{ 'temp := + empty$ + { "empty " temp * " in " * cite$ * warning$ } + {} + if$ +} + +FUNCTION {plain.space} { plain space } + +FUNCTION {plain.space.output} { plain.space output } + +FUNCTION {plain.comma} { plain comma } + +FUNCTION {fin.entry} +{ + block note plain.space.output + period "" plain empty output.nonnull pop$ + newline$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + {} + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {quote} +{ duplicate$ empty$ + { pop$ "" } + { add.period$ "`" swap$ * "'" * } + if$ +} + + +% <prev name list> <new name list> compare.names <modified name list> +INTEGERS {len1 len2 i} +FUNCTION {compare.names} +{ 's := + 'temp := + temp num.names$ 'len1 := + s num.names$ 'len2 := +% len1 := min(len1,len2) + len1 len2 > {len2 'len1 :=} {} if$ +% start with an empty string, then while the components are the same +% add "\bysame" + "" + #1 'i := + {i len1 > not} + { temp i "{ff }{vv }{ll}{ jj}" format.name$ +% duplicate$ i int.to.str$ * warning$ + s i "{ff }{vv }{ll}{ jj}" format.name$ +% duplicate$ i int.to.str$ * warning$ + = + { #1 i < {" and " *} {} if$ + "\bysame{}" * i #1 + 'i :=} + {#-1 'len1 :=} + if$ + } + while$ +% add the rest of the second string + {i len2 > not} + { #1 i < {" and " *} {} if$ + s i "{ff }{vv }{ll}{ jj}" format.name$ * + i #1 + 'i := + } + while$ +% duplicate$ warning$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'name.list := + 'name.style := + 'later.name.formats := + 's := % binary separator + 'first.name.format := + #1 'nameptr := + name.list num.names$ 'numnames := +% If we're to make this entry bold or something, prepend to the string of names + name.style "" = {} {"{" name.style *} if$ + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr nameptr #1 = {first.name.format} {later.name.formats} if$ + format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + {nameptr #2 = % handle ", and" vs " and " + {s * temp *} + {", and " * temp * } + if$ + } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +% If we're to make this entry bold or something, append to the string of names + name.style "" = {} {"}" * *} if$ +} + +FUNCTION {format.authors} +{ 'temp := + "{vv~}{ll}{, jj}{, ff}" " and " "{ff~}{vv~}{ll}{, jj}" "" temp + format.names +} + +FUNCTION {format.editors} +{ 'temp := + "{vv~}{ll}{, jj}{, ff}" " and " "{ff~}{vv~}{ll}{, jj}" "" + temp format.names + editor num.names$ #1 > + { ", eds" * } + { ", ed." * } + if$ +} + +FUNCTION {format.editors.notkey} +{ editor empty$ + { "" } + { "{ff~}{vv~}{ll}{, jj}" " and " "{ff~}{vv~}{ll}{, jj}" "" + editor format.names + editor num.names$ #1 > {", eds."} {", ed."} if$ + * + } + if$ +} + +FUNCTION {format.title} +{ space title quoted comma } + +FUNCTION {n.dashify} +{ 'temp := + "" + { temp empty$ not } + { temp #1 #1 substring$ "-" = + { temp #1 #2 substring$ "--" = not + { "--" * + temp #2 global.max$ substring$ 'temp := + } + { { temp #1 #1 substring$ "-" = } + { "-" * + temp #2 global.max$ substring$ 'temp := + } + while$ + } + if$ + } + { temp #1 #1 substring$ * + temp #2 global.max$ substring$ 'temp := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "Vol." volume tie.or.space.connect + series empty$ + {} + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.bvolume.output} + {comma format.bvolume plain.space.output} + +FUNCTION {mid.sentence.q} +{ + separator empty = separator block = separator period = or or not +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + {series field.or.null} + { mid.sentence.q + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { add.period$ " In " * series quote * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition.output} +{ edition empty$ + { } + { comma edition + mid.sentence.q { "l" } { "t" } if$ + change.case$ " ed." * + plain.space.output + } + if$ +} + +FUNCTION {format.publisher.address} +{ + address empty$ + {comma publisher plain.comma output} + {publisher empty$ + {} + {comma address plain colon output + colon publisher plain.comma output} + if$} + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 'temp := + #0 'multiresult := + { multiresult not + temp empty$ not + and + } + { temp #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { temp #2 global.max$ substring$ 'temp := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {output.month.year} + { + space month plain.space.output + space year plain.comma "year" output.check + } + +FUNCTION {output.vol.num.pages} +{ space volume italic space output + number empty$ + {} + { space "(" number * ")" * plain.comma output.nonnull + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + {} + if$ + } + if$ +% "*** a" warning$ + comma 'next.separator := % hack + pages empty$ + {} + { number empty$ volume empty$ and + { comma format.pages plain.space.output } + { comma pages n.dashify plain.space.output } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + {} + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {output.in.ed.booktitle} +{ booktitle "booktitle" item.check + comma "in" plain.space output.nonnull + editor empty$ + { space booktitle quoted space output.nonnull} + { space format.editors.notkey plain.space output.nonnull + comma booktitle italic comma output.nonnull + } + if$ +} + +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$ } + {} + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + {} + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in {\it " journal * "\/} \cite{" * crossref * "}" *} + if$ + } + { add.period$ "In \citeasnoun{" crossref * "}" * } + if$ + +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\it " * series * "\/} \cite{" * crossref * "}" *} + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ +} + +FUNCTION {output.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { period "In {\it " booktitle * "\/}" * " \cite{" * crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { author.field editor.field organization.field title.field key.field } + +FUNCTION {init.field.constants} +{ #0 'author.field := + #1 'editor.field := + #2 'organization.field := + #3 'title.field := + #4 'key.field := +} + +FUNCTION {format.lab.names.abbr} +{ 'name.list := + name.list num.names$ 'numnames := + numnames #1 > + { numnames #2 > + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #1 "{vv~}{ll}" format.name$ " and " * + name.list #2 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + field.used editor.field = {", eds" *} {} if$ + } + { + name.list #1 "{vv~}{ll}" format.name$ + field.used editor.field = {", ed" *} {} if$ + } + if$ +} + +FUNCTION {format.lab.names.full} +{ 'name.list := + #1 'nameptr := + name.list num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr "{vv~}{ll}" format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + { " and " * temp * } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #1 > field.used editor.field = and {", eds" *} {} if$ + numnames #1 = field.used editor.field = and {", ed" *} {} if$ +} + +STRINGS { prev.author } + +FUNCTION {make.list.label} +{author.field field.used = + { prev.author author compare.names format.authors + author 'prev.author :=} + { editor.field field.used = + { prev.author editor compare.names format.editors + editor 'prev.author := } + { organization.field field.used = + { "The " #4 organization chop.word + duplicate$ prev.author = {pop$ "\bysame{}"} + {duplicate$ 'prev.author :=} if$} + { "foo" 'prev.author := + title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.full.label} +{ author.field field.used = + { author format.lab.names.full } + { editor.field field.used = + { editor format.lab.names.full } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.abbr.label} +{ author.field field.used = + { author format.lab.names.abbr } + { editor.field field.used = + { editor format.lab.names.abbr } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\harvarditem[" write$ + make.abbr.label write$ + "]{" write$ + make.full.label write$ + "}{" write$ + list.year write$ + "}{" write$ + cite$ write$ + "}" write$ + newline$ + "" + empty 'separator := + plain 'attribute := +% } +% +% FUNCTION {list.label.output} +% { + space make.list.label bold comma output.nonnull + } + +FUNCTION {author.item.check} {author "author" item.check} + +FUNCTION {format.title.if.not.sortkey.check} +{title.field field.used = + {} + { format.title "title" output.check } + if$} + +FUNCTION {article} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + crossref missing$ + { space journal italic comma "journal" output.check + output.month.year + output.vol.num.pages + } + { space format.article.crossref plain.space output.nonnull + comma format.pages plain.space.output + } + if$ + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { + space format.number.series plain.space.output + format.edition.output + format.bvolume.output + format.publisher.address + output.month.year + } + { space format.book.crossref plain.space output.nonnull + format.edition.output + } + if$ + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.title.if.not.sortkey.check + space howpublished plain.space.output + space address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { space format.number.series plain.space.output + format.edition.output + comma format.bvolume plain.comma output + format.publisher.address + output.month.year + } + { space format.book.crossref plain.space output.nonnull + format.edition.output + } + if$ + format.chapter.pages "chapter and pages" output.check + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.title.if.not.sortkey.check + author.item.check + crossref missing$ + { output.in.ed.booktitle + format.edition.output + format.bvolume.output + space format.number.series plain.space.output + format.publisher.address + output.month.year + } + { output.incoll.inproc.crossref } + if$ + space format.chapter.pages plain.space.output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.title.if.not.sortkey.check + author.item.check + crossref missing$ + { output.in.ed.booktitle + format.bvolume.output + space format.number.series plain.space.output + address empty$ + { space organization plain.space.output + space publisher plain.space.output + } + { space organization plain.space.output + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + output.month.year + } + { output.incoll.inproc.crossref} + if$ + space format.pages plain.space.output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + title.field field.used = + {} + {author empty$ {comma}{space} if$ title italic space "title" output.check } + if$ + organization.field field.used = organization empty$ or + {} {space organization plain.space output.nonnull} if$ + format.edition.output + format.publisher.address + output.month.year + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + space "Master's thesis" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.title.if.not.sortkey.check + space howpublished plain.space.output + output.month.year + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + author.item.check + title.field field.used = + {} + { space title quoted period "title" output.check } + if$ + space "PhD dissertation" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + format.bvolume.output + space format.number.series plain.space.output + address empty$ + { editor empty$ + {} + { space organization plain.space.output + } + if$ + space publisher plain.space.output + } + { editor empty$ + {} + { space organization plain.space.output } + if$ + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + output.month.year + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + space format.tr.number plain.space output.nonnull + institution empty$ + {} + { comma institution plain.space "institution" output.check } + if$ + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + output.month.year + note "note" item.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +READ + +EXECUTE {init.field.constants} + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {key.organization.label} + {organization empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { organization.field 'field.used := } + if$} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key.organization.label} + { author.field 'field.used := } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key.organization.label} + { editor.field 'field.used := } + if$ +} + +FUNCTION {sort.format.title} +{ 'temp := + "A " #2 + "An " #3 + "The " #4 temp chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.editor.key.label % don't really use .editor. + if$ + } + if$ + } + if$ + make.abbr.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + year field.or.null purify$ #-1 #4 substring$ sortify + * + 'sort.label := +} + +FUNCTION {first.presort} +{ "abcxyz" 'prev.author := + calc.label + sort.label + title.field field.used = + {} + { " " + * + make.list.label sortify + * + " " + * + title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + + +ITERATE {first.presort} + +SORT + +STRINGS { last.sort.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.last.extra.num} +{ #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + {} + if$ + year empty$ + { "n.d." extra.label * 'list.year := } + { year extra.label * 'list.year := } + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.last.extra.num} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {second.presort} +{ "abcxyz" 'prev.author := + make.list.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + " " + * + list.year field.or.null sortify + * + " " + * + title.field field.used = + {} + { title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {second.presort} + +SORT + + +INTEGERS { number.label } + +FUNCTION {initialize.longest.label} +{ + #1 'number.label := + "abcxyz" 'prev.author := +} + +FUNCTION {longest.label.pass} +{ + "" 'extra.label := + author empty$ { editor empty$ {"foo"} {editor} if$} + {author} + if$ + 'f := +% remember this entry to compare to the next one + author empty$ { editor empty$ {"abcxyz"} {editor} if$} {author} if$ + 'prev.author := +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + {} + { preamble$ write$ newline$ } + if$ + "\ifx\undefined\bysame" write$ newline$ + "\newcommand{\bysame}{\leavevmode\hbox to\leftmargin{\hrulefill\,\,}}" + write$ newline$ + "\fi" write$ newline$ + "\begin{thebibliography}{xx}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +FUNCTION {init.call} + { "abcxyz" 'prev.author := } + +EXECUTE {init.call} + +ITERATE {call.type$} + +FUNCTION {end.bib} + {newline$ "\end{thebibliography}" write$ newline$ } + +EXECUTE {end.bib} + diff --git a/Master/texmf-dist/bibtex/bst/economic/aertt.bst b/Master/texmf-dist/bibtex/bst/economic/aertt.bst new file mode 100644 index 00000000000..d1207adc30d --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/aertt.bst @@ -0,0 +1,1221 @@ +% BibTeX bibliography style `aertt' +% this file is based on the `harvard' family of files + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst, + % dcu.bst, cje.bst, aer.bst, or kluwer.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT: +% This document is a modified version of alpha.bst to which it owes much of +% its functionality. + +% AUTHOR +% Peter Williams, Key Centre for Design Quality, Sydney University +% e-mail: peterw@archsci.arch.su.oz.au + +ENTRY + { address author booktitle chapter edition editor howpublished institution + journal key month note number organization pages publisher school + series title type volume year} + { field.used } + { label.touse extra.label sort.label list.year } + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ {} + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + {} + if$ +} + +INTEGERS {quoted italic bold plain attribute + space comma tiedcomma semicolon colon period block empty separator + prev.separator next.separator next.attribute} + +STRINGS { s temp f name.list first.name.format later.name.formats name.style} + +FUNCTION {init.state.consts} +{ + #100 'quoted := + #200 'italic := + #300 'bold := + #400 'plain := + + #7 'space := + #6 'comma := +% #5 'tiedcomma := +% #4 'semicolon := + #3 'colon := + #2 'period := + #1 'block := + #0 'empty := +} + +FUNCTION {output2} +{ +% Wrap the attribute. + attribute bold = {"{\bf " swap$ * "}" *} {} if$ + attribute italic = {"\uline{" swap$ * "}" *} {} if$ + attribute quoted = {"``" swap$ * "''" *} {} if$ +% Append additional separators + separator comma = {"," * space 'separator :=} {} if$ +% separator tiedcomma = {",~" * empty 'separator :=} {} if$ + separator space = {" " *} {} if$ + write$ + separator block = {newline$ "\newblock " write$} {} if$ +% Update variables, and put the new string back on the stack + next.attribute 'attribute := + next.separator 'separator := + temp +} + +% <string> <separator> <string> <attribute> <final separator> output <string> +FUNCTION {output.nonnull} +{ 'next.separator := + 'next.attribute := + 'temp := + 'prev.separator := +% If the new separator is stronger than the previous one, use it. + prev.separator separator < {prev.separator 'separator :=} {} if$ +% Append most separators to the string. + separator block = {add.period$} {} if$ + separator period = {add.period$ space 'separator :=} {} if$ +% separator semicolon = {";" * space 'separator :=} {} if$ + separator colon = {":" * space 'separator :=} {} if$ + separator comma = attribute quoted = and + {"," * space 'separator :=} {} if$ + output2 +} + +FUNCTION {output} +{ 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$} + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {output.check} +{ 's := + 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$ "empty " s * " in " * cite$ * warning$ } + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {item.check} +{ 'temp := + empty$ + { "empty " temp * " in " * cite$ * warning$ } + {} + if$ +} + +FUNCTION {plain.space} { plain space } + +FUNCTION {plain.space.output} { plain.space output } + +FUNCTION {plain.comma} { plain comma } + +FUNCTION {fin.entry} +{ + block note plain.space.output + period "" plain empty output.nonnull pop$ + newline$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + {} + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {quote} +{ duplicate$ empty$ + { pop$ "" } + { add.period$ "`" swap$ * "'" * } + if$ +} + + +% <prev name list> <new name list> compare.names <modified name list> +INTEGERS {len1 len2 i} +FUNCTION {compare.names} +{ 's := + 'temp := + temp num.names$ 'len1 := + s num.names$ 'len2 := +% len1 := min(len1,len2) + len1 len2 > {len2 'len1 :=} {} if$ +% start with an empty string, then while the components are the same +% add "\bysame" + "" + #1 'i := + {i len1 > not} + { temp i "{ff }{vv }{ll}{ jj}" format.name$ +% duplicate$ i int.to.str$ * warning$ + s i "{ff }{vv }{ll}{ jj}" format.name$ +% duplicate$ i int.to.str$ * warning$ + = + { #1 i < {" and " *} {} if$ + "\bysame{}" * i #1 + 'i :=} + {#-1 'len1 :=} + if$ + } + while$ +% add the rest of the second string + {i len2 > not} + { #1 i < {" and " *} {} if$ + s i "{ff }{vv }{ll}{ jj}" format.name$ * + i #1 + 'i := + } + while$ +% duplicate$ warning$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'name.list := + 'name.style := + 'later.name.formats := + 's := % binary separator + 'first.name.format := + #1 'nameptr := + name.list num.names$ 'numnames := +% If we're to make this entry bold or something, prepend to the string of names + name.style "" = {} {"{" name.style *} if$ + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr nameptr #1 = {first.name.format} {later.name.formats} if$ + format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + {nameptr #2 = % handle ", and" vs " and " + {s * temp *} + {", and " * temp * } + if$ + } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +% If we're to make this entry bold or something, append to the string of names + name.style "" = {} {"}" * *} if$ +} + +FUNCTION {format.authors} +{ 'temp := + "{vv~}{ll}{, jj}{, ff}" " and " "{ff~}{vv~}{ll}{, jj}" "" temp + format.names +} + +FUNCTION {format.editors} +{ 'temp := + "{vv~}{ll}{, jj}{, ff}" " and " "{ff~}{vv~}{ll}{, jj}" "" + temp format.names + editor num.names$ #1 > + { ", eds" * } + { ", ed." * } + if$ +} + +FUNCTION {format.editors.notkey} +{ editor empty$ + { "" } + { "{ff~}{vv~}{ll}{, jj}" " and " "{ff~}{vv~}{ll}{, jj}" "" + editor format.names + editor num.names$ #1 > {", eds."} {", ed."} if$ + * + } + if$ +} + +FUNCTION {format.title} +{ space title quoted comma } + +FUNCTION {n.dashify} +{ 'temp := + "" + { temp empty$ not } + { temp #1 #1 substring$ "-" = + { temp #1 #2 substring$ "--" = not + { "--" * + temp #2 global.max$ substring$ 'temp := + } + { { temp #1 #1 substring$ "-" = } + { "-" * + temp #2 global.max$ substring$ 'temp := + } + while$ + } + if$ + } + { temp #1 #1 substring$ * + temp #2 global.max$ substring$ 'temp := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "Vol." volume tie.or.space.connect + series empty$ + {} + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.bvolume.output} + {comma format.bvolume plain.space.output} + +FUNCTION {mid.sentence.q} +{ + separator empty = separator block = separator period = or or not +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + {series field.or.null} + { mid.sentence.q + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { add.period$ " In " * series quote * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition.output} +{ edition empty$ + { } + { comma edition + mid.sentence.q { "l" } { "t" } if$ + change.case$ " ed." * + plain.space.output + } + if$ +} + +FUNCTION {format.publisher.address} +{ + address empty$ + {comma publisher plain.comma output} + {publisher empty$ + {} + {comma address plain colon output + colon publisher plain.comma output} + if$} + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 'temp := + #0 'multiresult := + { multiresult not + temp empty$ not + and + } + { temp #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { temp #2 global.max$ substring$ 'temp := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {output.month.year} + { + space month plain.space.output + space year plain.comma "year" output.check + } + +FUNCTION {output.vol.num.pages} +{ space volume italic space output + number empty$ + {} + { space "(" number * ")" * plain.comma output.nonnull + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + {} + if$ + } + if$ +% "*** a" warning$ + comma 'next.separator := % hack + pages empty$ + {} + { number empty$ volume empty$ and + { comma format.pages plain.space.output } + { comma pages n.dashify plain.space.output } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + {} + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {output.in.ed.booktitle} +{ booktitle "booktitle" item.check + comma "in" plain.space output.nonnull + editor empty$ + { space booktitle quoted space output.nonnull} + { space format.editors.notkey plain.space output.nonnull + comma booktitle italic comma output.nonnull + } + if$ +} + +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$ } + {} + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + {} + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in {\it " journal * "\/} \cite{" * crossref * "}" *} + if$ + } + { add.period$ "In \citeasnoun{" crossref * "}" * } + if$ + +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\it " * series * "\/} \cite{" * crossref * "}" *} + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ +} + +FUNCTION {output.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { period "In {\it " booktitle * "\/}" * " \cite{" * crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { author.field editor.field organization.field title.field key.field } + +FUNCTION {init.field.constants} +{ #0 'author.field := + #1 'editor.field := + #2 'organization.field := + #3 'title.field := + #4 'key.field := +} + +FUNCTION {format.lab.names.abbr} +{ 'name.list := + name.list num.names$ 'numnames := + numnames #1 > + { numnames #2 > + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #1 "{vv~}{ll}" format.name$ " and " * + name.list #2 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + field.used editor.field = {", eds" *} {} if$ + } + { + name.list #1 "{vv~}{ll}" format.name$ + field.used editor.field = {", ed" *} {} if$ + } + if$ +} + +FUNCTION {format.lab.names.full} +{ 'name.list := + #1 'nameptr := + name.list num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr "{vv~}{ll}" format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + { " and " * temp * } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #1 > field.used editor.field = and {", eds" *} {} if$ + numnames #1 = field.used editor.field = and {", ed" *} {} if$ +} + +STRINGS { prev.author } + +FUNCTION {make.list.label} +{author.field field.used = + { prev.author author compare.names format.authors + author 'prev.author :=} + { editor.field field.used = + { prev.author editor compare.names format.editors + editor 'prev.author := } + { organization.field field.used = + { "The " #4 organization chop.word + duplicate$ prev.author = {pop$ "\bysame{}"} + {duplicate$ 'prev.author :=} if$} + { "foo" 'prev.author := + title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.full.label} +{ author.field field.used = + { author format.lab.names.full } + { editor.field field.used = + { editor format.lab.names.full } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.abbr.label} +{ author.field field.used = + { author format.lab.names.abbr } + { editor.field field.used = + { editor format.lab.names.abbr } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\harvarditem[" write$ + make.abbr.label write$ + "]{" write$ + make.full.label write$ + "}{" write$ + list.year write$ + "}{" write$ + cite$ write$ + "}" write$ + newline$ + "" + empty 'separator := + plain 'attribute := +% } +% +% FUNCTION {list.label.output} +% { + space make.list.label plain comma output.nonnull + } + +FUNCTION {author.item.check} {author "author" item.check} + +FUNCTION {format.title.if.not.sortkey.check} +{title.field field.used = + {} + { format.title "title" output.check } + if$} + +FUNCTION {article} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + crossref missing$ + { space journal italic comma "journal" output.check + output.month.year + output.vol.num.pages + } + { space format.article.crossref plain.space output.nonnull + comma format.pages plain.space.output + } + if$ + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { + space format.number.series plain.space.output + format.edition.output + format.bvolume.output + format.publisher.address + output.month.year + } + { space format.book.crossref plain.space output.nonnull + format.edition.output + } + if$ + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.title.if.not.sortkey.check + space howpublished plain.space.output + space address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { space format.number.series plain.space.output + format.edition.output + comma format.bvolume plain.comma output + format.publisher.address + output.month.year + } + { space format.book.crossref plain.space output.nonnull + format.edition.output + } + if$ + format.chapter.pages "chapter and pages" output.check + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.title.if.not.sortkey.check + author.item.check + crossref missing$ + { output.in.ed.booktitle + format.edition.output + format.bvolume.output + space format.number.series plain.space.output + format.publisher.address + output.month.year + } + { output.incoll.inproc.crossref } + if$ + space format.chapter.pages plain.space.output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.title.if.not.sortkey.check + author.item.check + crossref missing$ + { output.in.ed.booktitle + format.bvolume.output + space format.number.series plain.space.output + address empty$ + { space organization plain.space.output + space publisher plain.space.output + } + { space organization plain.space.output + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + output.month.year + } + { output.incoll.inproc.crossref} + if$ + space format.pages plain.space.output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + title.field field.used = + {} + {author empty$ {comma}{space} if$ title italic space "title" output.check } + if$ + organization.field field.used = organization empty$ or + {} {space organization plain.space output.nonnull} if$ + format.edition.output + format.publisher.address + output.month.year + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + space "Master's thesis" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.title.if.not.sortkey.check + space howpublished plain.space.output + output.month.year + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + author.item.check + title.field field.used = + {} + { space title quoted period "title" output.check } + if$ + space "PhD dissertation" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + format.bvolume.output + space format.number.series plain.space.output + address empty$ + { editor empty$ + {} + { space organization plain.space.output + } + if$ + space publisher plain.space.output + } + { editor empty$ + {} + { space organization plain.space.output } + if$ + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + output.month.year + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + space format.tr.number plain.space output.nonnull + institution empty$ + {} + { comma institution plain.space "institution" output.check } + if$ + comma address plain.space.output + output.month.year + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + author.item.check + format.title.if.not.sortkey.check + output.month.year + note "note" item.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +READ + +EXECUTE {init.field.constants} + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {key.organization.label} + {organization empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { organization.field 'field.used := } + if$} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key.organization.label} + { author.field 'field.used := } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key.organization.label} + { editor.field 'field.used := } + if$ +} + +FUNCTION {sort.format.title} +{ 'temp := + "A " #2 + "An " #3 + "The " #4 temp chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.editor.key.label % don't really use .editor. + if$ + } + if$ + } + if$ + make.abbr.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + year field.or.null purify$ #-1 #4 substring$ sortify + * + 'sort.label := +} + +FUNCTION {first.presort} +{ "abcxyz" 'prev.author := + calc.label + sort.label + title.field field.used = + {} + { " " + * + make.list.label sortify + * + " " + * + title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + + +ITERATE {first.presort} + +SORT + +STRINGS { last.sort.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.last.extra.num} +{ #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + {} + if$ + year empty$ + { "n.d." extra.label * 'list.year := } + { year extra.label * 'list.year := } + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.last.extra.num} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {second.presort} +{ "abcxyz" 'prev.author := + make.list.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + " " + * + list.year field.or.null sortify + * + " " + * + title.field field.used = + {} + { title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {second.presort} + +SORT + + +INTEGERS { number.label } + +FUNCTION {initialize.longest.label} +{ + #1 'number.label := + "abcxyz" 'prev.author := +} + +FUNCTION {longest.label.pass} +{ + "" 'extra.label := + author empty$ { editor empty$ {"foo"} {editor} if$} + {author} + if$ + 'f := +% remember this entry to compare to the next one + author empty$ { editor empty$ {"abcxyz"} {editor} if$} {author} if$ + 'prev.author := +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + {} + { preamble$ write$ newline$ } + if$ + "\ifx\undefined\bysame" write$ newline$ + "\newcommand{\bysame}{\leavevmode\hbox to\leftmargin{\hrulefill\,\,}}" + write$ newline$ + "\fi" write$ newline$ + "\begin{thebibliography}{xx}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +FUNCTION {init.call} + { "abcxyz" 'prev.author := } + +EXECUTE {init.call} + +ITERATE {call.type$} + +FUNCTION {end.bib} + {newline$ "\end{thebibliography}" write$ newline$ } + +EXECUTE {end.bib} + diff --git a/Master/texmf-dist/bibtex/bst/economic/agsm.bst b/Master/texmf-dist/bibtex/bst/economic/agsm.bst new file mode 100644 index 00000000000..c3fd2c44294 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/agsm.bst @@ -0,0 +1,1305 @@ +% BibTeX standard bibliography style `agsm' (one of the harvard family) + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst, + % dcu.bst or kluwer.bst. + % This restriction helps ensure that all standard styles are identical. + % The file harvard.tex has the documentation for this style. + +% ACKNOWLEDGEMENT: +% This document is a modified version of alpha.bst to which it owes much of +% its functionality. + +% AUTHOR +% Peter Williams, Key Centre for Design Quality, Sydney University +% e-mail: peterw@archsci.arch.su.oz.au + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + { field.used etal.allowed etal.required} %%%XXX change + { extra.label sort.label list.year } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t f } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {item.check} +{ 't := + empty$ + { "empty " t * " in " * cite$ * warning$ } + { skip$ } + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {embolden} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {quote} +{ duplicate$ empty$ + { pop$ "" } + { "`" swap$ * "'" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + 'f := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr f format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { " et~al." * } + { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { "{vv~}{ll}{, jj}{, f.}" author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "{vv~}{ll}{, jj}{, f.}" editor format.names + editor num.names$ #1 > + { ", eds" * } + { ", ed." * } + if$ + } + if$ +} + +FUNCTION {format.editors.reverse} +{ editor empty$ + { "" } + { "{f.~}{vv~}{ll}{, jj}" editor format.names + editor num.names$ #1 > + { ", eds" * } + { ", ed." * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "Vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " {\em in} " * series quote * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn" * } + { edition "t" change.case$ " edn" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume embolden field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ",~" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "{\em in} " booktitle quote * } + { "{\em in} " format.editors.reverse * ", " * booktitle quote * } + if$ + } + if$ +} + +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 "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in {\em " journal * "\/} \cite{" * crossref * "}" *} + if$ + } + { "{\em in} \citeasnoun{" crossref * "}" * } + if$ + +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/} \cite{" * crossref * "}" *} + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *} + if$ + } + { "{\em in} \citeasnoun{" crossref * "}" * } + if$ + } + { "{\em in} \citeasnoun{" crossref * "}" * } + if$ + +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names.abbr} +{ 's := + s num.names$ 'numnames := + numnames #1 > + { numnames #2 > + { s #1 "{vv~}{ll}" format.name$ " et al." * } + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { s #1 "{vv~}{ll}" format.name$ " et al." * } + { s #1 "{vv~}{ll}" format.name$ " \& " * + s #2 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + } + { s #1 "{vv~}{ll}" format.name$ } + if$ +} + +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 > + { ", " * t * } + { t "others" = + { " et~al." * } + { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +INTEGERS { author.field editor.field organization.field title.field key.field } + +FUNCTION {init.field.constants} +{ #0 'author.field := + #1 'editor.field := + #2 'organization.field := + #3 'title.field := + #4 'key.field := +} + +FUNCTION {make.list.label} +{ author.field field.used = + { format.authors } + { editor.field field.used = + { format.editors } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.full.label} +{ author.field field.used = + { author format.lab.names.full } + { editor.field field.used = + { editor format.lab.names.full } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.abbr.label} %%%XXX change +{ + etal.allowed + { author.field field.used = + { author format.lab.names.abbr } + { editor.field field.used = + { editor format.lab.names.abbr } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + {"Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + { make.full.label } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + etal.allowed %%%XXX change + etal.required + and + { + "\harvarditem[" write$ + make.abbr.label write$ + "]{" write$ + } + { + "\harvarditem{" write$ + } + if$ + make.full.label write$ + "}{" write$ + list.year write$ + "}{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {list.label.output} +{ make.list.label " " * write$ +} + +FUNCTION {article} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author "author" item.check + title.field field.used = + { skip$ } + { format.title quote "title" output.check } + if$ + crossref missing$ + { journal emphasize "journal" duplicate$ item.check + pages empty$ + { + output + } + { + " " * + format.vol.num.pages * output + } + if$ + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + title.field field.used = + { skip$ } + { format.btitle "title" output.check } + if$ + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull + format.edition output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.title quote "title" output.check } + if$ + howpublished output + address output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + title.field field.used = + { skip$ } + { format.btitle "title" output.check } + if$ + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull + format.edition output + } + if$ + format.chapter.pages "chapter and pages" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.title "title" output.check } + if$ + author "author" item.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.chapter.pages output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.title "title" output.check } + if$ + author "author" item.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + address empty$ + { organization output + publisher output + } + { organization output + publisher output + address output.nonnull + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.pages output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.btitle "title" output.check } + if$ + format.edition output + author empty$ + { organization empty$ + { address output } + 'skip$ + if$ + } + { organization output + address output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author "author" item.check + title.field field.used = + { skip$ } + { format.title "title" output.check } + if$ + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.title quote output } + if$ + howpublished output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author "author" item.check + title.field field.used = + { skip$ } + { title "title" output.check } + if$ + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + title.field field.used = + { skip$ } + { format.btitle "title" output.check } + if$ + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { skip$ } + { organization output + } + if$ + publisher output + } + { editor empty$ + 'skip$ + { organization output } + if$ + publisher output + address output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author "author" item.check + title.field field.used = + { skip$ } + { format.title "title" output.check } + if$ + format.tr.number output.nonnull + institution "institution" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + list.label.output + " (" list.year * ")" * output.nonnull + author "author" item.check + title.field field.used = + { skip$ } + { format.title "title" output.check } + if$ + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +EXECUTE {init.field.constants} + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { title.field 'field.used := } + { key.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { title.field 'field.used := } + { key.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { title.field 'field.used := } + { organization.field 'field.used := } + if$ + } + { key.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { title.field 'field.used := } + { organization.field 'field.used := } + if$ + } + { key.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {calc.label} %%%XXX change +{ make.abbr.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + year field.or.null purify$ #-1 #4 substring$ sortify + * + 'sort.label := +} + +FUNCTION {preliminaries} %%%XXX change +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + author.field field.used = %%%XXX change + { + author num.names$ #2 > + { #1 } + { #0 } + if$ + 'etal.required := + } + { + editor.field field.used = + { + editor num.names$ #2 > + { #1 } + { #0 } + if$ + } + { #0 } + if$ + 'etal.required := + } + if$ + #1 'etal.allowed := +} + +FUNCTION {first.presort} +{ calc.label + sort.label + title.field field.used = + { skip$ } + { " " + * + make.list.label sortify + * + " " + * + title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {preliminaries} + +ITERATE {first.presort} + +SORT + +STRINGS { last.sort.label next.extra last.full.label} + +INTEGERS { last.extra.num last.etal.allowed} + +FUNCTION {initialize.confusion} +{ #0 int.to.chr$ 'last.sort.label := + #0 int.to.chr$ 'last.full.label := + #1 'last.etal.allowed := +} + +FUNCTION {confusion.pass} +{ last.sort.label sort.label = + { last.etal.allowed + { last.full.label make.full.label sortify = + { skip$ } + { #0 'etal.allowed := + #0 'last.etal.allowed := + } + if$ + } + { #0 'etal.allowed := } + if$ + } + { sort.label 'last.sort.label := + make.full.label sortify 'last.full.label := + #1 'last.etal.allowed := + } + if$ +} + +EXECUTE {initialize.confusion} + +ITERATE {confusion.pass} + +EXECUTE {initialize.confusion} + +REVERSE {confusion.pass} + +FUNCTION {initialize.last.extra.num} +{ #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + year empty$ + { "n.d." extra.label emphasize * 'list.year := } + { year extra.label emphasize * 'list.year := } + if$ + extra.label 'next.extra := +} + +ITERATE {first.presort} + +SORT + +EXECUTE {initialize.last.extra.num} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {second.presort} +{ make.list.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + " " + * + list.year field.or.null sortify + * + " " + * + title.field field.used = + { skip$ } + { title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {second.presort} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{xx}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/economic/ajae.bst b/Master/texmf-dist/bibtex/bst/economic/ajae.bst new file mode 100644 index 00000000000..f8dffc7db40 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/ajae.bst @@ -0,0 +1,1662 @@ +%%% American Journal of Agricultural Economics (AJAE) +%%% bibliography style for use with LaTeX2e +%%% version: 1.0 (20 August 2006) +%%% license: LaTeX Project Public License (see below) +%%% This file was created with makebst (see below) and modified +%%% by Arne Henningsen and Karsten Heymann. +%%% Note: This is an unofficial style file that may not fully comply +%%% with the AJAE Reference Guide in every detail. +%%% Please report any problems to <ahenningsen@email.uni-kiel.de>. +%%% Further information is available at +%%% http://www.uni-kiel.de/agrarpol/ahenningsen/latex-bibtex.html +%%% +%%% It is recommended to use the document class "ajae" +%%% or to add (at least) the following lines to the LaTeX preamble: +%%% \usepackage[authoryear]{natbib} +%%% \bibpunct{(}{)}{;}{a}{}{,} +%%% +%% +%% This is file `ajae.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,nm-rev1,jnrlst,nmdash,keyxyr,dt-beg,yr-per,yrp-per,yrpp-xsp,note-yr,tit-qq,atit-u,thtit-a,vnum-x,pp-last,num-xser,jnm-x,add-pub,pre-pub,blk-tit,pp,ed,abr,ednx,ord,and-com') +%% ---------------------------------------- +%% *** AJAE *** +%% +%% Copyright 1994-2002 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "\hspace{0pt}" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.sentence +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Working paper" } + +FUNCTION {bbl.mthesis} +{ "MS thesis" } + +FUNCTION {bbl.phdthesis} +{ "PhD dissertation" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{f{.}.~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, f{.}.}{, jj}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.additional.editors} +{ editor "editor" format.names.ed duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\bibenquote{" swap$ * + add.period$ "}" * + } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +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$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + volume empty$ + { + } + { ":" * + } + if$ + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + journal "Journal of Economic Perspectives" = + journal "American Economic Review: Papers and Proceedings" = + + journal "Journal of Environmental Economics and Management" = + + { number "number" bibinfo.check duplicate$ empty$ 'skip$ + { "(" swap$ * ")" * + } + if$ * + } + 'skip$ + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + " " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { " No." swap$ tie.or.space.prefix * * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +STRINGS {oldname} + +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = + { "---" } + { s 'oldname := s } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + volume empty$ + { ", " * + month empty$ + 'skip$ + { month * + ", " * + } + if$ + } + { add.blank + } + if$ + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + volume empty$ + { pages "in press" = + 'skip$ + { + "pp. " * + } + if$ + } + 'skip$ + if$ + format.journal.pages + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + author empty$ + { + } + { format.additional.editors "editor" output.check + } + if$ + crossref missing$ + { format.bvolume output + new.sentence + format.number.series output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.note output + month output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.sentence + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.edition output + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.pages "pages" output.check + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.btitle "title" output.check + new.sentence + organization empty$ + { + format.edition output + format.note output + address "address" bibinfo.check output + } + { + address "address" bibinfo.check duplicate$ " " = + { skip$ } + { ": " * } + if$ + organization "organization" bibinfo.check * output + format.edition output + format.note output + } + if$ + month output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + name.or.dash + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + month output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + " Unpublished" * + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := % s := Namensliste + "" 't := % t := "" + s #1 "{vv~}{ll}" format.name$ % formatiere 1. Namen + s num.names$ duplicate$ % bestimme # Namen + #3 > % mehr als 3 Namen? + { pop$ + " " * bbl.etal * % dann: Ausgabe von et.al + } + { duplicate$ #3 = % sonst: 3 Namen? + { pop$ + ", " * + s #2 "{vv~}{ll}" format.name$ * % gib 2. Namen aus + + s #3 "{ff }{vv }{ll}{ jj}" format.name$ "others" = % Wenn Name#3 = "others" + { " " * bbl.etal * % dann et.al. + } + { ", " * bbl.and * " " * s #3 "{vv~}{ll}" format.name$ % sonst "and Autor#3" + * } + if$ + } + { #2 < % sonst: Wenn weniger als 2 Namen + 'skip$ % dann nix, sonst: + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = % Wenn Name#2 = "others" + { + " " * bbl.etal * % dann et.al. + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ % sonst "and Autor#2" + * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + title field.or.null + sort.format.title + * + " " + * + year field.or.null sortify + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\bibenquote}[1]{``#1''}" + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `ajae.bst'. diff --git a/Master/texmf-dist/bibtex/bst/economic/cje.bst b/Master/texmf-dist/bibtex/bst/economic/cje.bst new file mode 100644 index 00000000000..632e4988d01 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/cje.bst @@ -0,0 +1,1192 @@ +% BibTeX bibliography style `cje' (Canadian Journal of Economics) +% this file is based on the `harvard' family of files + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, agsm.bst, + % dcu.bst, cje.bst, aer.bst, or kluwer.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT: +% This document is a modified version of alpha.bst to which it owes much of +% its functionality. + +% AUTHOR +% Peter Williams, Key Centre for Design Quality, Sydney University +% e-mail: peterw@archsci.arch.su.oz.au + +ENTRY + { address author booktitle chapter edition editor howpublished institution + journal key month note number organization pages publisher school + series title type volume year} + { field.used } + { canonical.label extra.label sort.label list.year } + + +INTEGERS {quoted italic bold plain attribute + space comma tiedcomma semicolon colon period block empty separator + prev.separator next.separator next.attribute} + +STRINGS { s temp f name.list first.name.format later.name.formats name.style} + +FUNCTION {init.state.consts} +{ + #100 'quoted := + #200 'italic := + #300 'bold := + #400 'plain := + + #7 'space := + #6 'comma := +% #5 'tiedcomma := +% #4 'semicolon := +% #3 'colon := + #2 'period := + #1 'block := + #0 'empty := +} + +FUNCTION {output2} +{ +% Wrap the attribute. + attribute bold = {"{\bf " swap$ * "}" *} {} if$ + attribute italic = {"{\it " swap$ * "}" *} {} if$ + attribute quoted = {"`" swap$ * "'" *} {} if$ +% Append additional separators + separator comma = {"," * space 'separator :=} {} if$ +% separator tiedcomma = {",~" * empty 'separator :=} {} if$ + separator space = {" " *} {} if$ + write$ + separator block = {newline$ "\newblock " write$} {} if$ +% Update variables, and put the new string back on the stack + next.attribute 'attribute := + next.separator 'separator := + temp +} + +% <string> <separator> <string> <attribute> <final separator> output <string> +FUNCTION {output.nonnull} +{ 'next.separator := + 'next.attribute := + 'temp := + 'prev.separator := +% If the new separator is stronger than the previous one, use it. + prev.separator separator < {prev.separator 'separator :=} {} if$ +% Append most separators to the string. + separator block = {add.period$} {} if$ + separator period = {add.period$ space 'separator :=} {} if$ + separator comma = {"," * space 'separator :=} {} if$ +% separator semicolon = {";" * space 'separator :=} {} if$ +% separator colon = {":" * space 'separator :=} {} if$ + output2 +} + +FUNCTION {output} +{ 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$} + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {output.check} +{ 's := + 'next.separator := + 'next.attribute := + duplicate$ empty$ + {pop$ pop$ "empty " s * " in " * cite$ * warning$ } + {next.attribute next.separator output.nonnull} + if$ +} + +FUNCTION {item.check} +{ 'temp := + empty$ + { "empty " temp * " in " * cite$ * warning$ } + {} + if$ +} + +FUNCTION {plain.space} { plain space } + +FUNCTION {plain.space.output} { plain.space output } + +FUNCTION {fin.entry} +{ block note plain.space.output + + empty 'separator := + empty "" plain empty output.nonnull pop$ + newline$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ {} + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + {} + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + {} + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {quote} +{ duplicate$ empty$ + { pop$ "" } + { add.period$ "`" swap$ * "'" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'name.list := + 'name.style := + 'later.name.formats := + 's := % binary separator + 'first.name.format := + #1 'nameptr := + name.list num.names$ 'numnames := +% If we're to make this entry bold or something, prepend to the string of names + name.style "" = {} {"{" name.style *} if$ + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr nameptr #1 = {first.name.format} {later.name.formats} if$ + format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + {nameptr #2 = % handle ", and" vs " and " + {s * temp *} + {", and " * temp * } + if$ + } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +% If we're to make this entry bold or something, append to the string of names + name.style "" = {} {"}" * *} if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { extra.label "\bysame" = + {"\bysame"} + { "{vv~}{ll}{, jj}{, ff}" ", and " "{ff~}{vv~}{ll}{, jj}" "" author + format.names } + if$ + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "{vv~}{ll}{, jj}{, ff}" ", and " "{ff~}{vv~}{ll}{, jj}" "" + editor format.names + editor num.names$ #1 > + { ", eds" * } + { ", ed." * } + if$ + } + if$ +} + +FUNCTION {format.editors.reverse} +{ editor empty$ + { "" } + { "ed. " + "{ff~}{vv~}{ll}{, jj}" " and " "{ff~}{vv~}{ll}{, jj}" "" + editor format.names + * + } + if$ +} + +FUNCTION {format.title} +{ space + title empty$ + { "" } + { title "t" change.case$} + if$ + quoted period +} + +FUNCTION {n.dashify} +{ 'temp := + "" + { temp empty$ not } + { temp #1 #1 substring$ "-" = + { temp #1 #2 substring$ "--" = not + { "--" * + temp #2 global.max$ substring$ 'temp := + } + { { temp #1 #1 substring$ "-" = } + { "-" * + temp #2 global.max$ substring$ 'temp := + } + while$ + } + if$ + } + { temp #1 #1 substring$ * + temp #2 global.max$ substring$ 'temp := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + {} + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {mid.sentence.q} +{ + separator empty = separator block = separator period = or or not +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + {series field.or.null} + { mid.sentence.q + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { add.period$ " In " * series quote * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition + mid.sentence.q { "l"} { "t"} if$ + change.case$ " ed." * + } + if$ +} + +FUNCTION {format.publisher.address} +{ + publisher empty$ address empty$ and + {} + { space + address empty$ {"("} {"(" address *} if$ + publisher empty$ address empty$ or {} {": " *} if$ + publisher empty$ {} {publisher *} if$ + ")" * plain.space output.nonnull + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 'temp := + #0 'multiresult := + { multiresult not + temp empty$ not + and + } + { temp #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { temp #2 global.max$ substring$ 'temp := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {output.vol.num.pages} +{ space + volume field.or.null + number empty$ + {} + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + {} + if$ + } + if$ + pages empty$ + {} + { duplicate$ empty$ + { pop$ format.pages } + { ",~" * pages n.dashify * } + if$ + } + if$ + plain.space.output +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + {} + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {output.in.ed.booktitle} +{ booktitle empty$ + { booktitle "booktitle" item.check } + { space "In" plain.space output.nonnull + editor empty$ + { space booktitle quoted space output.nonnull} + { space booktitle italic comma output.nonnull + comma format.editors.reverse plain.space output.nonnull} + if$ + } + if$ +} + +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$ } + {} + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + {} + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in {\it " journal * "\/} \cite{" * crossref * "}" *} + if$ + } + { add.period$ "In \citeasnoun{" crossref * "}" * } + if$ + +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\it " * series * "\/} \cite{" * crossref * "}" *} + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ + } + { " \citeasnoun{" * crossref * "}" * } + if$ +} + +FUNCTION {output.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { period "In {\it " booktitle * "\/}" * " \cite{" * crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ + } + { period "In \citeasnoun{" crossref * "}" * plain.space output.nonnull} + if$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { author.field editor.field organization.field title.field key.field } + +FUNCTION {init.field.constants} +{ #0 'author.field := + #1 'editor.field := + #2 'organization.field := + #3 'title.field := + #4 'key.field := +} + +FUNCTION {format.lab.names.abbr} +{ 'name.list := + name.list num.names$ 'numnames := + numnames #1 > + { numnames #2 > + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { name.list #1 "{vv~}{ll}" format.name$ " et al." * } + { name.list #1 "{vv~}{ll}" format.name$ " and " * + name.list #2 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + field.used editor.field = {", eds" *} {} if$ + } + { + name.list #1 "{vv~}{ll}" format.name$ + field.used editor.field = {", ed" *} {} if$ + } + if$ +} + +FUNCTION {format.lab.names.full} +{ 'name.list := + #1 'nameptr := + name.list num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { name.list nameptr "{vv~}{ll}" format.name$ 'temp := + nameptr #1 > + { namesleft #1 > + { ", " * temp * } + { temp "others" = + { " et~al." * } + { " and " * temp * } + if$ + } + if$ + } + 'temp + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #1 > field.used editor.field = and {", eds" *} {} if$ + numnames #1 = field.used editor.field = and {", ed" *} {} if$ +} + +FUNCTION {make.list.label} +{ author.field field.used = + { format.authors } + { editor.field field.used = + { format.editors } + { organization.field field.used = + { "The " #4 organization chop.word} + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.full.label} +{ author.field field.used = + { author format.lab.names.full } + { editor.field field.used = + { editor format.lab.names.full } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {make.abbr.label} +{ author.field field.used = + { author format.lab.names.abbr } + { editor.field field.used = + { editor format.lab.names.abbr } + { organization.field field.used = + { "The " #4 organization chop.word #3 text.prefix$ } + { title.field field.used = + { format.btitle } + { key.field field.used = + { key #3 text.prefix$ } + { "Internal error :001 on " cite$ * " label" * warning$ } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\harvarditem[" write$ + make.abbr.label write$ + "]{" write$ + make.full.label write$ + "}{" write$ + list.year write$ + "}{" write$ + cite$ write$ + "}" write$ + newline$ + "" + empty 'separator := + plain 'attribute := + + +% FUNCTION {list.label.output} + +space make.list.label plain.space output.nonnull + "n.d." list.year = + {} + { space "(" list.year * ")" * plain.space output.nonnull} + if$ +} + +FUNCTION {format.title.if.not.sortkey} +{title.field field.used = + {} + { format.title output } + if$} + +FUNCTION {format.title.if.not.sortkey.check} +{title.field field.used = + {} + { format.title "title" output.check } + if$} + +FUNCTION {article} +{ output.bibitem + author "author" item.check + format.title.if.not.sortkey.check + crossref missing$ + { space journal italic space "journal" output.check + pages empty$ + {} + {output.vol.num.pages} + if$ + } + { space format.article.crossref plain.space output.nonnull + comma format.pages plain.space.output + } + if$ + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { + space format.number.series plain.space.output + comma format.edition plain.space.output + comma format.bvolume plain.space.output + format.publisher.address + } + { space format.book.crossref plain.space output.nonnull + comma format.edition plain.space.output + } + if$ + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.title.if.not.sortkey.check + space howpublished plain.space.output + space address plain.space.output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { editor "author and editor" item.check } + { crossref missing$ + { "author and editor" editor either.or.check } + {} + if$ + } + if$ + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + crossref missing$ + { space format.number.series plain.space.output + comma format.edition plain.space.output + comma format.bvolume plain comma output + format.publisher.address +% space publisher plain.space "publisher" output.check +% space address plain.space.output + } + { space format.book.crossref plain.space output.nonnull + comma format.edition plain.space.output + } + if$ + format.chapter.pages "chapter and pages" output.check + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.title.if.not.sortkey.check + author "author" item.check + crossref missing$ + { output.in.ed.booktitle + comma format.edition plain.space.output + comma format.bvolume plain.space.output + space format.number.series plain.space.output + format.publisher.address + } + { output.incoll.inproc.crossref } + if$ + space format.chapter.pages plain.space.output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.title.if.not.sortkey.check + author "author" item.check + crossref missing$ + { output.in.ed.booktitle + comma format.bvolume plain.space.output + space format.number.series plain.space.output + address empty$ + { space organization plain.space.output + space publisher plain.space.output + } + { space organization plain.space.output + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + } + { output.incoll.inproc.crossref} + if$ + space format.pages plain.space.output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + title.field field.used = + {} + {author empty$ {comma}{space} if$ + title italic space "title" output.check } + if$ + organization.field field.used = organization empty$ or + {} {space organization plain.space output.nonnull} if$ + comma format.edition plain.space.output + format.publisher.address + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + author "author" item.check + format.title.if.not.sortkey.check space "Master's thesis" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.title.if.not.sortkey + space howpublished plain.space.output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + author "author" item.check + format.title.if.not.sortkey.check + space "PhD dissertation" format.thesis.type plain.space output.nonnull + comma school plain.space "school" output.check + comma address plain.space.output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + title.field field.used = + {} + { space title italic space "title" output.check } + if$ + comma format.bvolume plain.space.output + space format.number.series plain.space.output + address empty$ + { editor empty$ + {} + { space organization plain.space.output + } + if$ + space publisher plain.space.output + } + { editor empty$ + {} + { space organization plain.space.output } + if$ + space publisher plain.space.output + space address plain.space output.nonnull + } + if$ + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author "author" item.check + format.title.if.not.sortkey.check + space format.tr.number plain.space output.nonnull + institution empty$ + {} + { comma institution plain.space "institution" output.check } + if$ + comma address plain.space.output + comma month plain.space.output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + author "author" item.check + format.title.if.not.sortkey.check + note "note" item.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +READ + +EXECUTE {init.field.constants} + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +FUNCTION {author.key.label} +{ author empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { organization empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { organization.field 'field.used := } + if$ + } + { author.field 'field.used := } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { organization empty$ + { title empty$ + { key.field 'field.used := } + { title.field 'field.used := } + if$ + } + { organization.field 'field.used := } + if$ + } + { editor.field 'field.used := } + if$ +} + +FUNCTION {sort.format.title} +{ 'temp := + "A " #2 + "An " #3 + "The " #4 temp chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + make.abbr.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + year field.or.null purify$ #-1 #4 substring$ sortify + * + 'sort.label := +} + +FUNCTION {first.presort} +{ calc.label + sort.label + title.field field.used = + {} + { " " + * + make.list.label sortify + * + " " + * + title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {first.presort} + +SORT + +STRINGS { last.sort.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.last.extra.num} +{ #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + {} + if$ + year empty$ + { "n.d." extra.label * 'list.year := } + { year extra.label * 'list.year := } + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.last.extra.num} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {second.presort} +{ make.list.label + title.field field.used = + { sort.format.title } + { sortify } + if$ + " " + * + list.year field.or.null sortify + * + " " + * + title.field field.used = + {} + { title field.or.null + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {second.presort} + +SORT + +STRINGS { prev.author } + +INTEGERS { number.label } + +FUNCTION {initialize.longest.label} +{ + #1 'number.label := + "abcxyz" 'prev.author := +} + +FUNCTION {longest.label.pass} +{ +author empty$ { editor empty$ {"foo"} {editor} if$} {author} if$ + prev.author = + { "\bysame" 'extra.label := } + { "" 'extra.label := +author empty$ { editor empty$ {"abcxyz"} {editor} if$} {author} if$ + 'prev.author := + } + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + {} + { preamble$ write$ newline$ } + if$ + "\ifx\undefined\bysame" write$ newline$ + "\newcommand{\bysame}{\leavevmode\hbox to\leftmargin{\hrulefill\,\,}}" + write$ newline$ + "\fi" write$ newline$ + "\begin{thebibliography}{xx}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} + {newline$ "\end{thebibliography}" write$ newline$ } + +EXECUTE {end.bib} + diff --git a/Master/texmf-dist/bibtex/bst/economic/econometrica-fr.bst b/Master/texmf-dist/bibtex/bst/economic/econometrica-fr.bst new file mode 100644 index 00000000000..285107d20be --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/econometrica-fr.bst @@ -0,0 +1,1241 @@ +%%% Econometrica-fr bibliography style +%%% For use with harvard.sty and LaTeX2e (NFSS) or LaTeX 2.09 +%%% 24-aug-94 +%%% +%%% Based on econometrica.bst, but with modifications by +%%% horny@cournot.u-strasbg.fr +%%% Please report any problems to me. +%%% +%% NOTICE: +%% This file may be used for non-profit purposes. +%% It may not be distributed in exchange for money, +%% other than distribution costs. +%% +%% The author provides it `as is' and does not guarantee it in any way. +%% +%%----------------------------------------------------------- +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%%--------------------------------------------------------------------- + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a style option to function properly. + % The appropriate style file is: harvard.sty + % The form of the bibitem entries is + % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}... + % There are style changes that may be specified in the text with + % the command \citationstyle. + % \citeasnoun{key} ==>> Jones et al. (1990) + % \cite{key} ==>> (Jones et al. 1990) + % \cite[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2) + % On the first citation of any work, the full author list is used. +%%--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } %%%KCB: removed long.label + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +%%%KCB: new output state, no.comma +INTEGERS { no.comma} + +FUNCTION{fr.and}{ %% le "et" entre les deux derniers auteurs +" et " +} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'no.comma := %%%KCB +} + +STRINGS { s t } + + +%%%KCB: revise to use new output state +FUNCTION {output.nonnull} +{ 's := + output.state no.comma = %%%KCB: if in this state, write a space + { " " * write$ before.all 'output.state := } %%%KCB + { output.state mid.sentence = %%%KCB: add brace at beginning + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + } + if$ + mid.sentence 'output.state := + } %%%KCB: matching brace + if$ %%%KCB: test for no.comma state + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\harvarditem[" write$ + label write$ + "]{" label * "}{" * write$ %%%KCB: replaced long.label with label + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + extra.label * "}{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +%%%KCB: Here is a portable set of routines to check for repeated authors +%%% and replace them with a 3 em dash +%%% According to _Chicago_Manual_of_Style_, a dash is used to +%%% replace an author's name only if the entire list is the same, so: +%%% Compare names. See if prev.name is identical to CurrList. +%%% If not, then just output CurrList. +%%% If so, replace with \BySame +%%% I use a conservative matching scheme, +%%% and check to see if full names are identical, +%%% even though we only use initials. +%%% This may mean that you have to correct your .bib database +%%% to ensure consistency. +%%% +%%% sample usage: +%%% search for {format.author} + +INTEGERS {currNum prevNum} + +STRINGS {PrevList CurrList prev.name PrevTemp CurrTemp} + +%%%KCB: Initialize prev.name ot some nonsense string: + +FUNCTION {init.prev.name} +{ +"My puppy Harley" 'prev.name := +} + +%%%KCB: Must EXECUTE {init.prev.name} after READ + +%%%KCB: <CurrList> compare.names <modified name list> +FUNCTION {compare.names} +{ prev.name 'PrevList := + duplicate$ 'prev.name := % make current list the new previous list + 'CurrList := + PrevList num.names$ 'prevNum := + CurrList num.names$ 'currNum := +% + prevNum currNum = %% If prevNum = currNum + { "" 'PrevTemp := %% Then take this branch + "" 'CurrTemp := + #1 'nameptr := %%% start with first name in each list + { nameptr prevNum > not }%% while nameptr <= prevNum +%% Format both lists the same way. +%% Use full names: bib file might need to be corrected + { + PrevList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ PrevTemp * 'PrevTemp := + CurrList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ CurrTemp * 'CurrTemp := + nameptr #1 + 'nameptr := } + while$ +%% Now compare : + PrevTemp CurrTemp = %% If PrevTemp = CurrTemp + { "\BySame{}" } + { CurrList } + if$ + } + { CurrList } %% If not prevNum = currNum + if$ %% If prevNum = currNum +} + +%%% +%%% +%%%KCB: End of new routine. + + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + ", " * + t "others" = + { " et~al." * } + { fr.and * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + ", " * + t "others" = + { " et~al." * } + { fr.and * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { "\textsc{" author compare.names format.names * "} " * } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "\textsc{" editor compare.names format.names * " }" * + editor num.names$ #1 > + { " (eds.)" * } + { " (ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + "``" swap$ * ",'' " * + } +no.comma 'output.state := %%%KCB: + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "dans " } + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + 'skip$ + if$ + " (" swap$ * extra.label * "):" * %%%KCB: added : + before.all 'output.state := %%%KCB: +} + +FUNCTION {format.btitle} +{ title emphasize +no.comma 'output.state := %%%KCB: +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "no." } + { "No." } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chap." } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * ", ed. " * %%%KCB: abbrv ed. + format.in.editors * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Document de \uppercase{t}ravail" } %%%KCB: changed default + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { "vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + format.btitle "title" output.check + mid.sentence 'output.state := %%%KCB: + crossref missing$ + { format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.title "title" output.check + howpublished output + address output + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address output + new.sentence + organization output + publisher output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +%%%KCB: special issue of a journal with a special editor + +FUNCTION {issue} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + format.btitle "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.btitle "title" output.check + organization output + address output + format.edition output + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + "Mémoire de DEA" format.thesis.type output.nonnull + school "school" output.check + address output + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.title output + howpublished output + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + "Thèse de \uppercase{d}octorat" format.thesis.type output.nonnull + school "school" output.check + address output + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + new.sentence + organization output + publisher output + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Janvier"} + +MACRO {feb} {"Février"} + +MACRO {mar} {"Mars"} + +MACRO {apr} {"Avril"} + +MACRO {may} {"Mai"} + +MACRO {jun} {"Juin"} + +MACRO {jul} {"Juillet"} + +MACRO {aug} {"Août"} + +MACRO {sep} {"Septembre"} + +MACRO {oct} {"Octobre"} + +MACRO {nov} {"Novembre"} + +MACRO {dec} {"Decembre"} + +%%%KCB: removed computer science journal macros +%%%KCB: added following macros for editions +MACRO {first} {"1er "} +MACRO {second} {"2d "} +MACRO {third} {"3ème "} +MACRO {fourth} {"4ème "} +MACRO {fifth} {"5ème "} +MACRO {sixth} {"6ème "} +MACRO {seventh} {"7ème "} +MACRO {eighth} {"8ème "} +MACRO {ninth} {"9ème "} +MACRO {tenth} {"10ème "} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + + +%%%KCB: Change format of labels: +FUNCTION {format.lab.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { fr.and * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%%KCB: removed FUNCTION {format.long.lab.names} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +%%%KCB: use entire year field as label + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + type$ "issue" = %%%KCB: need for new entry type + or %%%KCB + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + ", " + * + year field.or.null + * + 'label := +} + +FUNCTION {calc.short.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'label := +} + +%%%KCB: removed FUNCTION {calc.long.label} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + type$ "issue" = %%%KCB: need for new entry type + or %%%KCB + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +EXECUTE {init.prev.name} %%%KCB: needed for replacing repeated authors + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := + calc.short.label +%%%KCB: removed calc.long.label +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ +%%%KCB: add defn of \BySame, can be overridden in document +"\ifx\undefined\BySame" write$ newline$ + "\newcommand{\BySame}{\leavevmode\rule[.5ex]{3em}{.5pt}\ }" + write$ newline$ + "\fi" write$ newline$ +%%% KCB: For those who still cling to LaTeX 2.09 +"\ifx\undefined\textsc" write$ newline$ + "\newcommand{\textsc}[1]{{\sc #1}}" + write$ newline$ + "\newcommand{\emph}[1]{{\em #1\/}}" + write$ newline$ +"\let\tmpsmall\small" write$ newline$ +"\renewcommand{\small}{\tmpsmall\sc}" write$ newline$ + "\fi" write$ newline$ +%%% + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +"Done." top$ %%%KCB: Signal end for NeXTeX's TexView +} + +EXECUTE {end.bib} +%% End of customized bst file diff --git a/Master/texmf-dist/bibtex/bst/economic/econometrica.bst b/Master/texmf-dist/bibtex/bst/economic/econometrica.bst new file mode 100644 index 00000000000..1ebf5065bee --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/econometrica.bst @@ -0,0 +1,1292 @@ +%%% Econometrica bibliography style +%%% For use with harvard.sty and LaTeX2e (NFSS) or LaTeX 2.09 +%%% 24-aug-94 +%%% +%%% Based on makebst, but with modifications by +%%% kcb@hss.caltech.edu (KC Border) +%%% Please report any problems to me. +%%% +%%% The main changes from the ouput of makebst are: +%%% 1. Addition of a function to replace repeated authors with a 3 em dash. +%%% (Search for compare.names, this function is portable.) +%%% 2. Modification of output.nonnull to allow commas inside quotation marks +%%% and no comma after year. +%%% 3.Eliminated feature (bug?) of the harvard style of citation. +%%% It creates a short label for subsequent citations. This alleged +%%% feature shortens both Aliprantis, Border, and Luxemburg (1991) and +%%% Aliprantis, Brown, and Burkinshaw (1991) to Aliprantis et~al. (1991). +%%% This creates the need to label these as +%%% Aliprantis, Border, and Luxemburg (1991a) and +%%% Aliprantis, Brown, and Burkinshaw (1991b), despite the fact +%%% that these entries have different authors. I used my own format +%%% for creating the labels, and used the same label for +%%% both the short and long forms. I know that the +%%% _Chicago_Manual_of_Style recommends using Aliprantis et~al, +%% but Econometrica regularly writes out three authors, +%% and it is rare to cite an article with more than four authors in +%%% Econometrica. (I couldn't find an example of even four being cited, +%%% but I didn't spend a lot of time looking.) +%%% 4. Addition of macros to handle editions. (My own idiosycracy.) +%%% 5. A new entry type called issue for special issues of a journal. +%%% (Another idiosyncracy.) +%%% 6. Many details to conform to Econometrica's quirks. +%%% (Search for KCB ) +%%% 7. I wrote this for use with LaTeX2e and the NFSS2. However, I did +%%% add some macros so it will work with LaTeX 2.09. +%%% (Search for \ifx\undefined\emph ) +%%% The remainder of this file was generated by makebst, except for +%%% modifications marked with KCB. +%% +%% This is file `em.bst', generated +%% on <1994/8/17> with the docstrip utility (2.2h). +%% +%% The original source files were: +%% +%% genbst.mbs (with options: `ay,har,nm-rev1,nmft-sc,dt-beg,yr-par,tit-qq,atit-u,thtit-a,volp-com,edby,blk-com,pp,ed,abr,and-com,nfss') +%% ---------------------------------------- +%% *** Econometrica style *** +%% +%% (Here are the specifications of the source file) +%% \def\filename{genbst.mbs} +%% \def\filedate{1994 July 1} +%% \def\fileversion{1.3} +%% For use with BibTeX version 0.99a or later, LaTeX version 2.09 +%%------------------------------------------------------------------- +%% NOTICE: +%% This file may be used for non-profit purposes. +%% It may not be distributed in exchange for money, +%% other than distribution costs. +%% +%% The author provides it `as is' and does not guarantee it in any way. +%% +%% Copyright (C) 1994 Patrick W. Daly +%% Max-Planck-Institut f\"ur Aeronomie +%% Postfach 20 +%% D-37189 Katlenburg-Lindau +%% Germany +%% +%% E-mail: +%% SPAN-- nsp::linmpi::daly (note nsp also known as ecd1) +%% Internet-- daly@linmpi.dnet.gwdg.de +%%----------------------------------------------------------- +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%%--------------------------------------------------------------------- + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a style option to function properly. + % The appropriate style file is: harvard.sty + % The form of the bibitem entries is + % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}... + % There are style changes that may be specified in the text with + % the command \citationstyle. + % \citeasnoun{key} ==>> Jones et al. (1990) + % \cite{key} ==>> (Jones et al. 1990) + % \cite[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2) + % On the first citation of any work, the full author list is used. +%%--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } %%%KCB: removed long.label + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +%%%KCB: new output state, no.comma +INTEGERS { no.comma} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'no.comma := %%%KCB +} + +STRINGS { s t } + + +%%%KCB: revise to use new output state +FUNCTION {output.nonnull} +{ 's := + output.state no.comma = %%%KCB: if in this state, write a space + { " " * write$ before.all 'output.state := } %%%KCB + { output.state mid.sentence = %%%KCB: add brace at beginning + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + } + if$ + mid.sentence 'output.state := + } %%%KCB: matching brace + if$ %%%KCB: test for no.comma state + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\harvarditem[" write$ + label write$ + "]{" label * "}{" * write$ %%%KCB: replaced long.label with label + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + extra.label * "}{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +%%%KCB: Here is a portable set of routines to check for repeated authors +%%% and replace them with a 3 em dash +%%% According to _Chicago_Manual_of_Style_, a dash is used to +%%% replace an author's name only if the entire list is the same, so: +%%% Compare names. See if prev.name is identical to CurrList. +%%% If not, then just output CurrList. +%%% If so, replace with \BySame +%%% I use a conservative matching scheme, +%%% and check to see if full names are identical, +%%% even though we only use initials. +%%% This may mean that you have to correct your .bib database +%%% to ensure consistency. +%%% +%%% sample usage: +%%% search for {format.author} + +INTEGERS {currNum prevNum} + +STRINGS {PrevList CurrList prev.name PrevTemp CurrTemp} + +%%%KCB: Initialize prev.name ot some nonsense string: + +FUNCTION {init.prev.name} +{ +"My puppy Harley" 'prev.name := +} + +%%%KCB: Must EXECUTE {init.prev.name} after READ + +%%%KCB: <CurrList> compare.names <modified name list> +FUNCTION {compare.names} +{ prev.name 'PrevList := + duplicate$ 'prev.name := % make current list the new previous list + 'CurrList := + PrevList num.names$ 'prevNum := + CurrList num.names$ 'currNum := +% + prevNum currNum = %% If prevNum = currNum + { "" 'PrevTemp := %% Then take this branch + "" 'CurrTemp := + #1 'nameptr := %%% start with first name in each list + { nameptr prevNum > not }%% while nameptr <= prevNum +%% Format both lists the same way. +%% Use full names: bib file might need to be corrected + { + PrevList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ PrevTemp * 'PrevTemp := + CurrList nameptr "{ff }{vv~}{ll}{ jj}" format.name$ CurrTemp * 'CurrTemp := + nameptr #1 + 'nameptr := } + while$ +%% Now compare : + PrevTemp CurrTemp = %% If PrevTemp = CurrTemp + { "\BySame{}" } + { CurrList } + if$ + } + { CurrList } %% If not prevNum = currNum + if$ %% If prevNum = currNum +} + +%%% +%%% +%%%KCB: End of new routine. + + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + ", " * + t "others" = + { " et~al." * } + { " {\small and} " * t * } %%%KCB: added \small + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + ", " * + t "others" = + { " et~al." * } + { " {\small and} " * t * } %%%KCB: added \small + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { "\textsc{" author compare.names format.names * "} " * } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "\textsc{" editor compare.names format.names * " }" * + editor num.names$ #1 > + { " (eds.)" * } + { " (ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + "``" swap$ * ",'' " * + } +no.comma 'output.state := %%%KCB: + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "in " } + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + 'skip$ + if$ + " (" swap$ * extra.label * "):" * %%%KCB: added : + before.all 'output.state := %%%KCB: +} + +FUNCTION {format.btitle} +{ title emphasize +no.comma 'output.state := %%%KCB: +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "no." } + { "No." } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chap." } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * ", ed. by " * %%%KCB: abbrv ed. + format.in.editors * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Discussion Paper" } %%%KCB: changed default + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { "vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + format.btitle "title" output.check + mid.sentence 'output.state := %%%KCB: + crossref missing$ + { format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.title "title" output.check + howpublished output + address output + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address output + new.sentence + organization output + publisher output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +%%%KCB: special issue of a journal with a special editor + +FUNCTION {issue} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + format.btitle "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + fin.entry +} + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.btitle "title" output.check + organization output + address output + format.edition output + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + format.title output + howpublished output + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + new.sentence + organization output + publisher output + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + format.title "title" output.check + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%%%KCB: removed computer science journal macros +%%%KCB: added following macros for editions +MACRO {first} {"1st "} +MACRO {second} {"2d "} +MACRO {third} {"3d "} +MACRO {fourth} {"4th "} +MACRO {fifth} {"5th "} +MACRO {sixth} {"6th"} +MACRO {seventh} {"7th "} +MACRO {eighth} {"8th "} +MACRO {ninth} {"9th "} +MACRO {tenth} {"10th "} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + + +%%%KCB: Change format of labels: +FUNCTION {format.lab.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%%%KCB: removed FUNCTION {format.long.lab.names} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +%%%KCB: use entire year field as label + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + type$ "issue" = %%%KCB: need for new entry type + or %%%KCB + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + ", " + * + year field.or.null + * + 'label := +} + +FUNCTION {calc.short.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'label := +} + +%%%KCB: removed FUNCTION {calc.long.label} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + type$ "issue" = %%%KCB: need for new entry type + or %%%KCB + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +EXECUTE {init.prev.name} %%%KCB: needed for replacing repeated authors + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := + calc.short.label +%%%KCB: removed calc.long.label +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ +%%%KCB: add defn of \BySame, can be overridden in document +"\ifx\undefined\BySame" write$ newline$ + "\newcommand{\BySame}{\leavevmode\rule[.5ex]{3em}{.5pt}\ }" + write$ newline$ + "\fi" write$ newline$ +%%% KCB: For those who still cling to LaTeX 2.09 +"\ifx\undefined\textsc" write$ newline$ + "\newcommand{\textsc}[1]{{\sc #1}}" + write$ newline$ + "\newcommand{\emph}[1]{{\em #1\/}}" + write$ newline$ +"\let\tmpsmall\small" write$ newline$ +"\renewcommand{\small}{\tmpsmall\sc}" write$ newline$ + "\fi" write$ newline$ +%%% + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +"Done." top$ %%%KCB: Signal end for NeXTeX's TexView +} + +EXECUTE {end.bib} +%% End of customized bst file diff --git a/Master/texmf-dist/bibtex/bst/economic/ecta.bst b/Master/texmf-dist/bibtex/bst/economic/ecta.bst new file mode 100644 index 00000000000..b1a55208cb8 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/ecta.bst @@ -0,0 +1,1503 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Econometrica bibliography style, +%%% +%%% for use with LaTeX2e and Natbib (or chicago), named style following the +%%% recommendations of Fudenberg and Hodges (1997), +%%% Econometrica Vol. 65, N. 4, pp. 965--975, +%%% found at http://www.econometricsociety.org/manual/manual.html +%%% for submission to Econometrica. +%%% +%%% by Sebastian Perez-Duarte, perez@ensae.fr (2000) +%%% +%%% Based on Makebst by Patrick Daly +%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%% SUMMARY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Compared to the bst file econometrica.bst (by KC Border), the present +%%% style file is closer to the canonical way of presenting the list of +%%% references in Econometrica, a publication of the Econometric Society. +%%% +%%% The main differences are: the format of the address, the absence of number +%%% in articles. +%%%%%%%%%%%%%%%%%%%%%%%%%%%% LICENSE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% This generated file can be redistributed and/or modified under the terms +%%% of the LaTeX Project Public License Distributed from CTAN +%%% archives in directory macros/latex/base/lppl.txt; either +%%% version 1 of the License, or any later version. +%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% This is file `ecta.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,cay,nm-rev1,nmdash,nmft,nmft-sc,keyxyr,dt-beg,yr-par,yrp-col,note-yr,tit-qq,atit-u,thtit-a,vnum-x,volp-com,num-xser,bkpg-x,add-pub,pre-pub,edby,blk-com,ppx,ed,abr,ednx,xedn,nfss') +%% ---------------------------------------- +%% *** Econometrica -- close *** +%% +%% Copyright 1994-2000 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % or: chicago.sty + % The form of the bibitem entries is + % \bibitem[\protect\citeauthoryear{Jones, Baker, and Smith} + % {Jones et al.}{1990}{key}... + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + ":" * + add.blank +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {scaps} +{ duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} +FUNCTION {bib.name.font} +{ scaps } +FUNCTION {bib.fname.font} +{ bib.name.font } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "ed. by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{f.~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, jj}{, f.}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + bib.name.font + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + t "others" = + 'skip$ + { bib.name.font } + if$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + "\enquote{" swap$ * + non.stop + { ",} " * } + { "} " * } + if$ + } + if$ +} +FUNCTION {end.quote.title} +{ title empty$ + 'skip$ + { before.all 'output.state := } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + "\protect\citeauthoryear{" make.full.names * "}{" * write$ + label write$ + "}{" year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * extra.label * "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + format.journal.pages +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +STRINGS {oldname} + +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = +% { "---" } old style + { "---\hspace{-.1pt}---\hspace{-.1pt}---" } +%SPD 2000 + { s 'oldname := s } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.btitle "title" output.check + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + end.quote.title + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title output + end.quote.title + howpublished "howpublished" bibinfo.check output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + end.quote.title + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + name.or.dash + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title + "title" output.check + end.quote.title + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + end.quote.title + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + ", " + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {calc.short.label} +{ calc.short.authors short.list + 'label := +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := + calc.short.label +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\newcommand{\enquote}[1]{``#1''}" + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `econm.bst'. diff --git a/Master/texmf-dist/bibtex/bst/economic/erae.bst b/Master/texmf-dist/bibtex/bst/economic/erae.bst new file mode 100644 index 00000000000..22ca901e583 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/economic/erae.bst @@ -0,0 +1,1488 @@ +%%% European Review of Agricultural Economics (ERAE) +%%% bibliography style for use with LaTeX2e +%%% version: 1.0 (20 August 2006) +%%% license: LaTeX Project Public License (see below) +%%% This file was created with makebst (see below) and modified +%%% by Arne Henningsen. +%%% Note: This is an unofficial style file that may not fully comply +%%% with the ERAE reference guidelines in every detail. +%%% Please report any problems to <ahenningsen@email.uni-kiel.de>. +%%% Further information is available at +%%% http://www.uni-kiel.de/agrarpol/ahenningsen/latex-bibtex.html +%%% +%%% The following line has to be added to the LaTeX preamble: +%%% \usepackage[authoryear]{natbib} +%%% +%% +%% This is file `erae.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `ay,nat,vonx,nm-rev,ed-rev,jnrlst,keyxyr,dt-beg,yr-par,yrp-per,yrpp-xsp,note-yr,jttl-rm,trtit-b,vnum-x,volp-sp,pp-last,num-xser,numser,jnm-x,btit-rm,bt-rm,add-pub,pre-pub,edpar,blk-tit,ppx,ed,abr,ednx,ord,and-xcom,em-x') +%% ---------------------------------------- +%% *** ERAE *** +%% +%% Copyright 1994-2002 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "\hspace{0pt}" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.sentence +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds" } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll}{, f.}{, jj}{ vv}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { series "series" bibinfo.check + volume "volume" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ "" space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +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$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ": " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * "), " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * +new.sentence + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + format.journal.pages + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.sentence + format.number.series output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.edition output + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.number.series output + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.edition output + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.publisher.address output + format.bvolume output + format.chapter.pages output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.bvolume output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.pages "pages" output.check + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + title "title" output.check + new.sentence + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + title "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + title + "title" output.check + new.sentence + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `erae.bst'. diff --git a/Master/texmf-dist/doc/bibtex/economic/README b/Master/texmf-dist/doc/bibtex/economic/README new file mode 100644 index 00000000000..c1ce19a6c9c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/README @@ -0,0 +1,110 @@ +INTRODUCTION + +This file accompanies .CLS, .STY, and .BST files for economics. + +As of today, following styles are available: + +1) American Journal of Agricultural Economics +ajae.bst: BibTeX style +ajae.cls: LaTeX class +ajae-test.tex, ajae-test.bib: LaTeX and BibTeX file for testing +authors: Arne Henningsen <ahenningsen (at) email.uni-kiel.de> and Karsten Heymann +license: LPPL + +2) European Review of Agricultural Economics +erae.bst: BibTeX style +erae.cls: LaTeX class +erae-test.tex, erae-test.bib: LaTeX and BibTeX file for testing +author: Arne Henningsen <ahenningsen (at) email.uni-kiel.de> +license: LPPL + +3) American Economic Review +aer.bst: BibTeX style. It requires the associated style files + aer.sty and harvard.sty +aertt.bst: This reproduces the incredibly crazy way the + AER asks for ``final'' manuscripts to look. It requires the + associated style files aertt.sty and harvard.sty as well as + the LaTeX package ulem.sty (CTAN:macros/latex/contrib/misc/) +author: Peter Williams <peterw (at) archsci.arch.su.oz.au> + +4) Canadian Journal of Economics +cje.bst: BibTeX style. It requires the associated style files + cje.sty and harvard.sty +author: Peter Williams <peterw (at) archsci.arch.su.oz.au> + +5) Econometrica +ecta.bst: BibTeX style. It requires the LaTeX style ``natbib'' (or ``chicago'') +author: Sebastian Perez-Duarte <perez (at) ensae.fr> + OR +econometrica.bst: BibTeX style. It requires the associated style file + harvard.sty +author: KC Border <kcb (at) hss.caltech.edu> + OR +econometrica-fr.bst: BibTeX style. It requires the associated style file + harvard.sty +author: Guillaume Horny <horny (at) cournot.u-strasbg.fr> + +6) ???? +agsm.bst: BibTeX style +harvard.tex, harvard.bib: LaTeX and BibTeX file for testing +author: Peter Williams <peterw (at) archsci.arch.su.oz.au> + +7) Testing aer, aertt, and cje +wigle.tex, wigle.bib: LaTeX and BibTeX file for testing the styles files + aer.bst, aer.sty, aertt.bst, aertt.sty, cje.bst, and cje.sty +author: Randall M. Wigle <rwigle (at) wlu.ca> and + Nelson H. F. Beebe <beebe (at) alfred.math.utah.edu> + + +USAGE + +The usage of ajae.bst, ajae.cls, erae.bst, and erae.cls are explained +inside these files. They use the natbib package (see +CTAN:macros/latex/contrib/natbib/) + +Most other styles permit four forms of citation, which are illustrated +below: + Citation Form Result +\cite{wealth} (Smith 1776) +\citename{wealth} Smith +\citeyear{wealth} (1776) +\citeasnoun{wealth} Smith (1776) + + +CONTRIBUTIONS + +Some of these files have been assembled via cash contributions from interested +economists, since we have yet to run into an economist who is both a +good bib hacker, and not so busy as to have time to take on the +project. + +If you want to contribute please contact Arne Henningsen +<ahenningsen (at) email.uni-kiel.de>. + + +BUG REPORTS + +Bug reports should be sent to the author and to + <ahenningsen (at) agric-econ.uni-kiel.de> + +Arne Henningsen +Department of Agricultural Economics +University of Kiel +Olshausenstr. 40 +D-24098 Kiel (Germany) +Tel: +49-431-880 4445 +Fax: +49-431-880 1397 +http://www.uni-kiel.de/agrarpol/ahenningsen/ + + +ACKNOWLEDGEMENT + +I would like to thank Randall M. Wigle for maintaining these files +from 1993 to 2006 and all authors for preparing and publishing these files. + + +AVAILABILITY + +These files are currently available from +CTAN:biblio/bibtex/contrib/economic/ + diff --git a/Master/texmf-dist/doc/bibtex/economic/ajae-test.bib b/Master/texmf-dist/doc/bibtex/economic/ajae-test.bib new file mode 100644 index 00000000000..fad9c86b06c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/ajae-test.bib @@ -0,0 +1,386 @@ +This file was created with JabRef 2.0.1. +Encoding: ISO8859_1 + +@BOOK{Black29, + title = {Agricultural Reform in the United States}, + publisher = {McGraw Hill Book Co}, + year = {1929}, + author = {John Donald Black}, + address = {New York}, + owner = {suapm095}, +} + +@MISC{Blakley74, + author = {L. Blakley}, + title = {Domestic Food Costs}, + howpublished = {Paper presented at AAEA annual meeting, College Station TX, 4--8 + August}, + year = {1974}, + owner = {suapm095}, +} + +@MANUAL{Brown65, + title = {Increasing World Food Output: Problems and Prospects}, + author = {L. R. Brown}, + organization = {U.S. Department of Agriculture}, + address = {Washington DC}, + month = {April}, + year = {1965}, + note = {ESCS For. Agr. Econ. Rep. 25}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MISC{Bucholz62, + author = {H. E. Bucholz and G. G. Judge and V. I. West}, + title = {A Summary of Estimated Behavior Relations for Agricultural Products + in the United States}, + howpublished = {Dept. Agr. Econ, AERR-57, University of Illionois}, + year = {1962}, + owner = {suapm095}, +} + +@ARTICLE{Calcott00, + author = {P. Calcott and M. Walls}, + title = {Can Downstream Waste Disposal Policies Encourage Upstream 'Design + for Environment'?}, + journal = {American Economic Review: Papers and Proceedings}, + year = {2000}, + volume = {90}, + pages = {233-237}, + number = {2}, + owner = {suapm095}, +} + +@ARTICLE{Ezekiel29, + author = {M. Ezekiel}, + title = {A Statistical Examination of the Problem of Handling Annual Surpluses + of Nonperishable Farm Products}, + journal = {Journal of Farm Economics}, + year = {1929}, + volume = {11}, + pages = {193-226}, + owner = {suapm095}, +} + +@TECHREPORT{Fishbourne74, + author = {N. Fishbourne and B. Geagh}, + title = {Food Policies and Social Supply}, + institution = {Dept. of Agr. Econ., University of California, Davis}, + year = {1974}, + type = {Working paper}, + owner = {suapm095}, +} + +@MANUAL{Ghana61, + title = {Economic Survey, 1961}, + author = {{Ghana, Republic of, Central Bureau of Statistics}}, + organization = {Government Printing Department}, + address = {Accra}, + year = {1962}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@BOOK{Goldberger64, + title = {Economic Theory}, + publisher = {John Wiley and Sons}, + year = {1964}, + author = {A. S. Goldberger}, + address = {New York}, + owner = {suapm095}, +} + +@BOOK{Goldberger59, + title = {Impact of Multiplier and Dynamic Properties of the Klein-Goldberger + Model}, + publisher = {Noth-Holland Publishing}, + year = {1959}, + author = {A. S. Goldberger}, + address = {Amsterdam}, + owner = {suapm095}, +} + +@BOOKLET{Heady55, + title = {Farm Size Adjustments in {Iowa} and Cost Economies in Crop Production + for Farms of Different Sizes}, + author = {E. O. Heady and D. McKee and C. B. Haver}, + howpublished = {Iowa State University Agr. Exp. Sta. Res. Bull. No. 428}, + month = {May}, + year = {1955}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@TECHREPORT{Heady55a, + author = {E. O. Heady and D. McKee and C. B. Haver}, + title = {Farm Size Adjustments}, + institution = {Iowa State University}, + year = {1955}, + type = {Dept. Agr. Econ Bull.}, + number = {428}, + month = {May}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@ARTICLE{Horan04, + author = {R. D. Horan and J. S. Shortle and D. G. Abler}, + title = {The Coordination and Design of Point-Nonpoint Trading Programs and + Agri-Environmental Policies}, + journal = {Agricultural and Resource Economics Review}, + year = {2004}, + volume = {33}, + pages = {61-78}, + owner = {suapm095}, +} + +@ARTICLE{Horan99, + author = {R. D. Horan and J. S. Shortle and D. G. Abler}, + title = {Green Payments for Nonpoint Pollution Control}, + journal = {American Journal of Agricultural Economics}, + year = {1999}, + volume = {81}, + pages = {1210-1215}, + owner = {suapm095}, +} + +@MASTERSTHESIS{Kuranchie71, + author = {P. A. Kuranchie}, + title = {Cost and Returns to Selected Crops in {Ghana}}, + school = {University of Ghana}, + year = {1971}, + owner = {suapm095}, +} + +@ARTICLE{Lambert, + author = {P. Lambert}, + title = {Parameters of Social Disintegration}, + journal = {Political Science Quarterly}, + year = {Forthcoming}, + pages = {in press}, + owner = {suapm095}, +} + +@BOOK{Masters, + title = {Land Grant Colleges Tody}, + publisher = {Macmillan Co}, + year = {Forthcoming}, + author = {H. E. Masters}, + volume = {1}, + address = {New York}, + owner = {suapm095}, +} + +@UNPUBLISHED{Moore60, + author = {P. Moore}, + title = {Academic Development}, + note = {University of Notre Dame}, + year = {1960}, + owner = {suapm095}, +} + +@ARTICLE{Porter04, + author = {M. E. Porter and M. Sakakibara}, + title = {Competition in {Japan}}, + journal = {Journal of Economic Perspectives}, + year = {2004}, + volume = {18}, + pages = {27-50}, + number = {1}, + owner = {suapm095}, +} + +@ARTICLE{Prufer64, + author = {O. Prufer}, + title = {The Hopewell Cult}, + journal = {Scientific American}, + year = {1964}, + pages = {90-102}, + month = {December}, + owner = {suapm095}, +} + +@INCOLLECTION{Sjaastad71, + author = {L. Sjaastad}, + title = {Occupational Structure and Migration Patterns}, + booktitle = {Labor Mobility and Population in Agriculture}, + publisher = {Iowa State University Press}, + year = {1971}, + editor = {E. O. Heady}, + pages = {8-27}, + address = {Ames IA}, + owner = {suapm095}, +} + +@ARTICLE{Swallow, + author = {S. K. Swallow and M. J. Mazotta}, + title = {Assessing Public Priorities for Experiment Station Research: Contingent + Value and Public Preferences for Agricultural Research}, + journal = {American Journal of Agricultural Economics}, + year = {Forthcoming}, + pages = {in press}, + owner = {suapm095}, +} + +@ARTICLE{Swallow04, + author = {S. K. Swallow and M. J. Mazotta}, + title = {Assessing Public Priorities for Experiment Station Research: Contingent + Value and Public Preferences for Agricultural Research}, + journal = {American Journal of Agricultural Economics}, + year = {2004}, + volume = {86}, + pages = {in press}, + owner = {suapm095}, +} + +@BOOK{Timmer75, + title = {The Impact of Price}, + publisher = {Ballinger Press}, + year = {1975}, + editor = {George Tolley}, + author = {C. P. Timmer}, + address = {Chicago}, + owner = {suapm095}, +} + +@MANUAL{USBB63, + title = {The Budget of the {United} {States} Government for the Fiscal Year + Ending June 30, 1964}, + author = {{U.S. Bureau of the Budget}}, + address = {Washington DC}, + year = {1963}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{USCong66, + title = {A Unified National Program for Managing Flod Losses}, + author = {{U.S. Congress, House of Representatives, Task Force on Federal Flood + Control}}, + organization = {House Document 465, 89th Cong., 2nd sess., 10~August}, + address = {Washington DC}, + year = {1966}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{USCong64, + title = {Conversion to the Metric System: Hearings on S1278}, + author = {{U.S. Congress, Senate Commission on Commerce}}, + organization = {88th Cong., 2nd sess., 9~January 1964, p.~58}, + address = {Washington DC}, + year = {1966}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{USDA65, + title = {Changes in Agriculture in 26 Developing Nations, 1948--1963}, + author = {{U.S. Department of Agriculture}}, + address = {Washington DC}, + month = {November}, + year = {1965}, + note = {ESCS For. Agr. Econ. Rep. 27}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{USDC66, + title = {1964 {United} {States} Census of Agriculture, Preliminary Report}, + author = {{U.S. Department of Commerce, Bureau of the Census}}, + address = {Washington DC}, + month = {April}, + year = {1966}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{UNFAO62, + title = {Agricultural Commodities, Projections for 1970}, + author = {{United Nations, Food and Agriculture Organization}}, + address = {Rome}, + year = {1962}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@MANUAL{UN64, + title = {Yearbook of National Accounts Statistics, 1963}, + author = {{United Nations}}, + address = {New York}, + year = {1964}, + owner = {Arne}, + timestamp = {2006.08.23}, +} + +@PHDTHESIS{Wells64, + author = {J. C. Wells}, + title = {An Appraisal of Agricultural Investments in the 1962-63 Nigerian + Development Program}, + school = {University of Michigan}, + year = {1964}, + owner = {suapm095}, +} + +@BOOK{Wold89, + title = {Demand Analysis}, + publisher = {Macmillan Co}, + year = {1989}, + author = {Herman Wold and Lars Jureen}, + address = {New York}, + edition = {3}, + owner = {suapm095}, +} + +@BOOK{Wold, + title = {The Viability \ldots{}~~}, + publisher = {Some Publisher}, + year = {3003}, + author = {Herman Wold and J. Smith and L. Jureen}, + address = {Nowhere}, + owner = {suapm095}, +} + +@BOOK{Wold4, + title = {The Vitality \ldots{}~~}, + publisher = {Some Publisher}, + year = {3004}, + author = {Herman Wold and J. Smith and L. Jureen and John Fourth}, + address = {Nowhere}, + owner = {suapm095}, +} + +@BOOK{Wold5, + title = {The Volatility \ldots{}~~}, + publisher = {Some Publisher}, + year = {3005}, + author = {Herman Wold and J. Smith and L. Jureen and John Fourth and Jim Fifth}, + address = {Nowhere}, + owner = {suapm095}, +} + +@ARTICLE{Yohe95, + author = {G. Yohe and J. Neumann and H. Ameden}, + title = {Assessing the Economic Cost of Greenhouse-Induced Sea Level Rise: + Methods and Application in Support of a National Survey}, + journal = {Journal of Environmental Economics and Management}, + year = {1995}, + volume = {29}, + pages = {S-78-S-97}, + number = {3, Part 2}, + owner = {suapm095}, +} + +@BOOK{Harris75, + title = {The Good Earth of America}, + publisher = {Prentice-Hall}, + year = {1975}, + editor = {C. L. Harris}, + address = {Englewood Cliffs NJ}, + owner = {suapm095}, +} + +@comment{jabref-meta: selector_journal:American Journal of Agricultura +l Economics;} + diff --git a/Master/texmf-dist/doc/bibtex/economic/ajae-test.tex b/Master/texmf-dist/doc/bibtex/economic/ajae-test.tex new file mode 100644 index 00000000000..309ace18e5a --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/ajae-test.tex @@ -0,0 +1,146 @@ +\documentclass{ajae} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} + +\usepackage{hyperref} +\hypersetup{% + colorlinks = {true}, + urlcolor = {blue}, + linkcolor = {black}, + citecolor = {black}, + pdfauthor = {Arne Henningsen}, + pdftitle = {Testing LaTeX class and BibTeX style for the + American Journal of Agricultural Economics (AJAE)}, + pdfkeywords = {AJAE, BibTeX, LaTeX} +} + +\usepackage{multido} + +\title{Testing \LaTeX{} class and Bib\TeX{} style for the + ``American Journal of Agricultural Economics'' (AJAE)} +\keywords{AJAE, BibTeX, LaTeX} +\jelclass{A1, B2, C3} + +\begin{document} + +\maketitle + +\begin{abstract} +\multido{}{15}{This is an abstract. } +\end{abstract} + +\noindent +\multido{}{7}{Do not indent the first paragraph. } + +\multido{}{7}{Do not use a heading for the first section. } + +Type all footnotes on a separate page following the article.% +\footnote{ +\multido{}{5}{This is a footnote that looks like an endnote. } +} +Place each table and figure on a separate page at the end of the paper +(see figure~\ref{fig:dummy} and table~\ref{tab:citations}). + +\begin{figure}[htbp] +\fbox{\parbox{0.6 \textwidth}{\centering + \vspace{0.2 \textwidth} + This is not a figure. + \vspace{0.2 \textwidth} +}} +\caption{Dummy figure} +\label{fig:dummy} +\end{figure} + +\begin{figure}[htbp] +\fbox{\parbox{0.6 \textwidth}{\centering + \vspace{0.2 \textwidth} + This is not a figure, too. + \vspace{0.2 \textwidth} +}} +\caption{Figure with \multido{}{40}{very } long title} +\label{fig:long-title} +\end{figure} + + +\section{Manuscript Formatting} +The manuscript formatting instructions are available at +\url{http://ajae.aem.cornell.edu/formatting.htm}. +A detailed reference guide is available at +\url{http://ajae.aem.cornell.edu/documents/ReferenceGuideMarch2006.pdf}. +All references used as examples in the reference guide are shown in this document +to demonstrate that the AJAE Bib\TeX{} style complies with these guidelines. +Please report any problems to +\url{ahenningsen@email.uni-kiel.de}. + + +\section{Citations} +\subsection{Citations in Text} +\citet{Black29} says A, \citet{Wold89} say B, \citet{Wold} say C, +\citet{Wold4} say D, \citet{Wold5} say E., \citet{Brown65} says F, +and the \citet{USDA65} says G. +An overview is available in table~\ref{tab:citations}. + +\begin{table}[htbp] +\caption{Citations} +\label{tab:citations} +\begin{tabular}{lc} +\hline +Author(s) & Statement\\ +\hline +\citet{Black29} & A\\ +\citet{Wold89} & B\\ +\citet{Wold} & C\\ +\citet{Wold4} & D\\ +\citet{Wold5} & E\\ +\citet{Brown65} & F\\ +\citet{USDA65} & G \\ +\hline +\end{tabular} +\medskip \\ +Note: Do not use vertical lines in tables. +\end{table} + + +\subsection{Citations in Parenthesis} +A equals B \citep{Black29}, B equals C \citep{Wold89}, C equals D \citep{Wold}, +D equals E \citep{Wold4}, E equals F \citep{Wold5}, F equals G \citep{Brown65}, +and G equals A \citep{USDA65}. +Hence, A, B, C, D, E, F, and G are all equal +\citep{Black29, Wold89, Wold, Wold4, Wold5, Brown65, USDA65}. + +%%% This is just to test the compatibility functions \citetPage and \citepPage +% \subsection{Citations with Page Numbers} +% \citetPage{123}{Black29} says A, \citetPage{234}{Wold89} say B, +% \citetPage{345}{Wold} say C, and \citetPage{456}{Wold4} say D. +% A equals B \citepPage{123}{Black29}, B equals C \citepPage{234}{Wold89}, +% C equals D \citepPage{345}{Wold}, and D equals A \citepPage{456}{Wold4}. + + +\section{Equations} +All displayed equations should be left-justified +and numbered consecutively (on the left). +Vectors and matrices should be in bold. +\begin{equation} +\veclatin{ y } = a + \matlatin{ X } \veclatin{ b } +\end{equation} +where $a$ is a scalar, +$\veclatin{ y }$ and $\veclatin{ b }$ are vectors, +and $\matlatin{ X }$ is a matrix. +Of course, the same holds for Greek symbols. +\begin{equation} +\vecgreek{ \theta } = \alpha + \matgreek{ \Psi } \vecgreek{ \beta } +\end{equation} +where $\alpha$ is a scalar, +$\vecgreek{ \theta }$ and $\vecgreek{ \beta }$ are vectors, +and $\matgreek{ \Psi }$ is a matrix. + +\clearpage +\listofendnotes + +\clearpage +\nocite{*} + +\bibliographystyle{ajae} +\bibliography{ajae-test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/economic/erae-test.bib b/Master/texmf-dist/doc/bibtex/economic/erae-test.bib new file mode 100644 index 00000000000..5ac2aec695c --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/erae-test.bib @@ -0,0 +1,42 @@ +This file was created with JabRef 1.7. +Encoding: ISO8859_1 + +@ARTICLE{Monier98, + author = {S. Monier-Dilhan and H. Ossard}, + title = {Producers' Loss due to Asymmetric Information: An Application to a Specific Case}, + journal = {European Review of Agricultural Economics}, + year = {1998}, + volume = {25}, + pages = {155-169}, +} + +@INCOLLECTION{Steenkamp97, + author = {J.-B. E. M. Steenkamp}, + title = {Dynamics in Consumer Behaviour with Respect to Agricultural and Food Products}, + booktitle = {Agricultural Marketing and Consumer Behaviour in a Changing World}, + publisher = {Kluwer Academic Publishers}, + year = {1997}, + editor = {B. Wieringa and A. van Tilburg and K. Grunert and J.-B. E. M. Steenkamp and M. Wedel}, + pages = {143-188}, + address = {Dordrecht}, +} + +@INPROCEEDINGS{Zeller97, + author = {Manfred Zeller and Gertrud Schrieder and Joachim von Braun and Franz Heidhues}, + title = {Rural Finance for Food Security for the Poor: Implications for Research and Policy}, + year = {1997}, + volume = {4}, + series = {Food Policy Review}, + address = {Washington DC}, + organization = {International Food Policy Research Institute (IFPRI)}, + publisher = {IFPRI}, +} + +@BOOK{Swinnen97, + title = {Political Economy of Agrarian Reform in Central and Eastern Europe}, + publisher = {Ashgate}, + year = {1997}, + editor = {Johan F. M. Swinnen}, + address = {Aldershot, UK}, +} + diff --git a/Master/texmf-dist/doc/bibtex/economic/erae-test.tex b/Master/texmf-dist/doc/bibtex/economic/erae-test.tex new file mode 100644 index 00000000000..08ca439b8c0 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/erae-test.tex @@ -0,0 +1,139 @@ +\documentclass{erae} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} + +\usepackage{textcomp} +\usepackage{multido} + +\usepackage{hyperref} +\hypersetup{% + colorlinks = {true}, + urlcolor = {blue}, + linkcolor = {black}, + citecolor = {black}, + pdfauthor = {Arne Henningsen}, + pdftitle = {Testing LaTeX class and BibTeX style for the + European Review of Agricultural Economics (AJAE)}, + pdfkeywords = {ERAE, BibTeX, LaTeX} +} + +\usepackage{multido} + +\title{Testing \LaTeX{} class and Bib\TeX{} style for the + `European Review of Agricultural Economics' (ERAE)} +\keywords{ERAE, BibTeX, LaTeX} +\jelclass{A1, B2, C3} + +\begin{document} + +\maketitle + +\begin{abstract} +\multido{}{15}{This is an abstract. } +\end{abstract} + +\section{Introduction} +\multido{}{7}{This is an introduction. } + +Footnotes should appear at the end of the page in which they are inserted.% +\footnote{ +\multido{}{10}{This is a footnote. } +} +°Single quotation marks° can be conveniently inserted using +the degree symbol (\textdegree). +Collect tables and figures at the end of the manuscript +(see figure~\ref{fig:dummy} and table~\ref{tab:citations}). + +\begin{figure}[htbp] +\fbox{\parbox{0.6 \textwidth}{\centering + \vspace{0.2 \textwidth} + This is not a figure. + \vspace{0.2 \textwidth} +}} +\caption{Dummy figure} +\label{fig:dummy} +\end{figure} + +\begin{figure}[htbp] +\fbox{\parbox{0.6 \textwidth}{\centering + \vspace{0.2 \textwidth} + This is not a figure, too. + \vspace{0.2 \textwidth} +}} +\caption{Figure with \multido{}{40}{very } long title} +\label{fig:long-title} +\end{figure} + +\section{Manuscript Formatting} +Instructions to authors including formatting guidelines are available at +\url{http://www.oxfordjournals.org/erae/for_authors/index.html}. +All references used as examples in these guidelines are shown in this document +to demonstrate that the ERAE Bib\TeX{} style complies with these guidelines. +Please report any problems to +\url{ahenningsen@email.uni-kiel.de}. + + +\section{Citations} +\subsection{Citations in Text} +\citet{Monier98} say A, \citet{Steenkamp97} says B, +\citet{Swinnen97} says C, and \citet{Zeller97} say D. +An overview is available in table~\ref{tab:citations}. + +\begin{table}[htbp] +\caption{Citations} +\label{tab:citations} +\begin{tabular}{lc} +\hline +Author(s) & Statement\\ +\hline +\citet{Monier98} & A\\ +\citet{Steenkamp97} & B\\ +\citet{Swinnen97} & C\\ +\citet{Zeller97} & D\\ +\hline +\end{tabular} +\medskip \\ +Note: Avoid vertical lines. +\end{table} + + +\subsection{Citations in Parenthesis} +A equals B \citep{Monier98}, B equals C \citep{Steenkamp97}, +C equals D \citep{Swinnen97}, and D equals A \citep{Zeller97}. +Hence, A, B, C, and D are all equal +\citep{Monier98, Steenkamp97, Swinnen97, Zeller97}. + +\subsection{Citations with Page Numbers} +Citations with page numbers can be coveniently inserted using the commands +\texttt{$\backslash$citetPage} and \texttt{$\backslash$citepPage}. + +\citetPage{123}{Monier98} say A, \citetPage{234}{Steenkamp97} says B, +\citetPage{345}{Swinnen97} says C, and \citetPage{456}{Zeller97} say D. +A equals B \citepPage{123}{Monier98}, B equals C \citepPage{234}{Steenkamp97}, +C equals D \citepPage{345}{Swinnen97}, and D equals A \citepPage{456}{Zeller97}. + + +\section{Equations} +All displayed equations should be centered +and numbered consecutively (on the right). +\begin{equation} +y = a + X b +\end{equation} +where $a$ is a scalar, +$y$ and $b$ are vectors, +and $X$ is a matrix. +Of course, you may also use Greek symbols. +\begin{equation} +\theta = \alpha + \Psi \beta +\end{equation} +where $\alpha$ is a scalar, +$\theta$ and $\beta$ are vectors, +and $\Psi$ is a matrix. + +\clearpage +\nocite{*} + +\bibliographystyle{erae} +\bibliography{erae-test} + +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/economic/harvard.bib b/Master/texmf-dist/doc/bibtex/economic/harvard.bib new file mode 100644 index 00000000000..ea4d27e3e05 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/harvard.bib @@ -0,0 +1,21 @@ +@BOOK{latex, + author = "Leslie Lamport", + title = "{\LaTeX \rm:} {A} Document Preparation System", + publisher = "Addison-Wesley", + year = 1986 } + +@UNPUBLISHED{btxdoc, + author = "Oren Patashnik", + title = "{{\BibTeX ing}}", + note = "Documentation for general {\BibTeX} users", + month = jan, + year = 1988 } + +@BOOK{agsm, + title = "Style Manual for authors editors and printers of {A}ustralian +government publications", + author = "John Pitson", + publisher = "Australian Government Publishing Service", + address = "Canberra", + edition = "3rd", + year = 1978 } diff --git a/Master/texmf-dist/doc/bibtex/economic/harvard.tex b/Master/texmf-dist/doc/bibtex/economic/harvard.tex new file mode 100644 index 00000000000..0f30f7111cd --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/harvard.tex @@ -0,0 +1,166 @@ +\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\documentstyle[harvard]{article} +\title{The {\em Harvard} Family of Bibliography Styles} +\author{Peter Williams \\ (peterw@archsci.arch.su.oz.au)} +\begin{document} +\bibliographystyle{agsm} +%\citationstyle{agsm} +\maketitle +\section{Introduction} +This document describes the {\em harvard} family of bibliographic styles which +are provided in addition to those described in \citeasnoun{latex} and \citeasnoun{btxdoc}. +This style is primarily intended for use with the \BibTeX\ bibliographic +database management system. +However, provision is also made for hand coding of bibliographies. +\section{Citations} +There are two primary forms of citation in the {\em harvard} style dependent +upon whether the reference is used as a noun or parenthetically. +Additionally, where there are more than two authors, all authors are listed in +the first citation and in subsequent citations just the first author's name +followed by `et al.' is used. +The following example from \citeasnoun{agsm}\ illustrates these points. +\begin{quote} +The major improvement concerns the structure of the interview +(Ulrich~\& Trumbo~1965, p.~112) \ldots . +Later reports (Carlson, Thayer, Mayfield~\& Peterson 1971) record greatly +increased interviewer reliability for structured interviews. +Wright (1969, p.~408) comments that `undoubtedly interviewer skill is +directly related to the validity, quantity and quality of the interview output', +and this would suggest some sort of interviewer training is called for. +Rowe (1960), for example, found that trained interviewers are better able to +evaluate applicants with some measure of reliability. +In addition Wexley, Sanders~\& Yukl (1973) showed that by extensive interviewer +training all significant contrast effects could be eliminated. +The results of the 1971 study (Carlson et al. 1971) are still relevant, but +efforts to~\ldots. +\end{quote} + +To facilitate using a citation as a noun a new command +{\bf $\backslash$citeasnoun} has been created which has the same syntax as the +{\bf $\backslash$cite} command except that multiple citations are {\em not} +permitted. +The effect of this command is that +\begin{verbatim} +As \citeasnoun{btxdoc} and \citeasnoun[Annex~B]{latex} describe \ldots +\end{verbatim} +produces +\begin{quote} +As \citeasnoun{btxdoc} and \citeasnoun[Annex~B]{latex} describe \ldots +\end{quote} +whereas +\begin{verbatim} +The \BibTeX\ \cite{btxdoc} and \LaTeX\ \cite[Annex~B]{latex} manuals \ldots +\end{verbatim} +produces +\begin{quote} +The \BibTeX\ \cite{btxdoc} and \LaTeX\ \cite[Annex~B]{latex} manuals \ldots +\end{quote} + +Where appropriate, citations are abbreviated automatically after the first +reference when bibliographies are produced by \BibTeX. +Provision is also made for this feature to be accessed during manual coding. + +In addition to these primary forms of citation, the citation commands +{\bf $\backslash$citeyear} and {\bf $\backslash$citename} are provided. +{\bf $\backslash$citeyear} behaves like the +{\bf $\backslash$cite} command except that only the year portion of the +citation label is used. +For example, +\begin{verbatim} +\citeyear{btxdoc,latex} +\end{verbatim} +produces \citeyear{btxdoc,latex}. +{\bf $\backslash$citename} behaves like the +{\bf $\backslash$citeasnoun} command except that only the author name(s) +(unabbreviated) portion of the citation label is used. +For example, +\begin{verbatim} +\citename{btxdoc} +\end{verbatim} +produces +\begin{quote} +\citename{btxdoc}. +\end{quote} +The use of this command does not trigger the use of abbreviated citations for +subsequent {\bf $\backslash$citeasnoun} and {\bf $\backslash$cite} +references. + +\section{Styles} +\subsection{Bibliography Styles} +There are four bibliography styles currently available within the +{\em harvard} family, {\bf agsm} (used in this document) which is based on +\citeasnoun[pp.~95--98]{agsm}, {\bf dcu} +which is based upon the conventions in use in the Design Computing Unit, +Department of Architectural and Design Science, University of Sydney, +{\bf kluwer} which aspires to conform to the requirements of Kluwer Academic +Publishers and {\bf nederlands} which conforms to Dutch conventions. +They are invoked by the {\bf $\backslash$bibliographystyle} as described in +\citeasnoun[p.~74]{latex} and effect the layout of the entries in the bibliography. + +\subsection{Citation Styles} +There are two citation styles currently available within the {\em harvard} +family, {\bf agsm} (used in this document) and {\bf dcu} which for the previous +example would produce: +\begin{quote}\citationstyle{dcu} +The \BibTeX\ \cite{btxdoc} and \LaTeX\ \cite[Annex~B]{latex} manuals \ldots +\end{quote} +and for multiple citations such as +\begin{verbatim} + The original documentation \cite{btxdoc,latex} say \ldots +\end{verbatim} +the {\bf agsm} citation style produces +\begin{quote}\citationstyle{agsm} +The original documentation \cite{btxdoc,latex} say \ldots +\end{quote} +and the {\bf dcu} citation style produces +\begin{quote}\citationstyle{dcu} +The original documentation \cite{btxdoc,latex} say \ldots +\end{quote} +The default citation style is {\bf agsm} and both styles have no effect on the +appearance of the {\bf $\backslash$citeasnoun} citation format. + +These styles are invoked by the {\bf $\backslash$citationstyle} command, +for example: +\begin{verbatim} + \citationstyle{agsm}. +\end{verbatim} +Because these styles affect the format of parenthetical citations, this command +should appear before any {\bf $\backslash$cite} commands. + +\section{Doing It By Hand} +Hand coding is accomplished much the same as described in \citeasnoun[p.~73]{latex} +except that the new command {\bf $\backslash$harvarditem} is used in place +of {\bf $\backslash$bibitem}. +The syntax of this command is +\begin{quote} +{\bf $\backslash$harvarditem} [{\em abbr-citation}]\{{\em full-citation}\}\{{\em citation-year}\}\{{\em cite-key}\} +\end{quote} +where +\begin{description} +\item[{\em abbr-citation}] is the (optional) abbreviated citation +(minus the year) to be used in the text +subsequent to the first mention of a particular reference, +\item[{\em full-citation}] is the full citation (minus the year) +to be used in the text +on the first mention of a particular reference, +\item[{\em citation-year}] the year portion of the citation including any +suffices required to disambiguate citations, and +\item[{\em cite-key}] is the key used in the {\bf $\backslash$cite} and +{\bf $\backslash$citeasnoun} commands. +\end{description} + +\section{Acknowledgement} +The motivation for this style came from Fay Sudweeks of the Design Computing +Unit who also originated the formats for the {\bf dcu} style and proofread +their implementation. + +The {\bf nederlands} bibliographic style was implemented by Werenfried Spit +(spit@vm.ci.uv.es). + +The idea for {\bf $\backslash$citeyear} came from Renate Schmidt +(Renate.Schmidt@mpi-sb.mpg.de). + +\bibliography{harvard} +\end{document} diff --git a/Master/texmf-dist/doc/bibtex/economic/wigle.bib b/Master/texmf-dist/doc/bibtex/economic/wigle.bib new file mode 100644 index 00000000000..cec7e6d2cc3 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/wigle.bib @@ -0,0 +1,353 @@ + + +% Journals + +@STRING{AER="{A}merican {E}conomic {R}eview " } +@STRING{CO2="{CO}2"} +@STRING{JPE="Journal of Political Economy"} +@STRING{CJE="Canadian Journal of Economics"} +@STRING{QJE="Quarterly Journal of Economics"} + +% Authors +@STRING{jwrw="John Whalley and Randall M. Wigle"} +@STRING{self= "Randall M. Wigle"} +@STRING{me=self} + + +% Institutions + +@STRING{IIE="{I}nstitute for {I}nternational {E}conomics"} +@STRING{UN="{U}nited {N}ations"} +@STRING{FAO="{F}ood {a}nd {A}griculture {O}rganization {o}f {t}he {U}nited +{N}ations"} +@STRING{IBRD="{I}nternational {B}ank {f}or {R}econstruction {a}nd +{D}evelopment"} +@STRING{USDA="{U}nited {S}tates {D}epartment {o}f {A}griculture"} +@STRING{OECD="{O}rganization {f}or {E}conomic {C}ooperation {a}nd +{D}evelopment"} +@STRING{GATT="{G}eneral {A}greement on {T}ariffs and {T}rade"} +@STRING{StatCan="{Statistics Canada}"} +% INTERNATIONAL TRADE BIBLIOGRAPHY + +@BOOK{ES, + author="Harold C. Eastman and Stefan Stykolt", + title="The Tariff and Competition in Canada", + place="Toronto", publisher="McMillan",year= 1967} +@INCOLLECTION{markusenc1, + author="James R. Markusen", + title="Canadian Gains From Trade in the + Presence of Scale Economies and Imperfect Competition.", + editor="John Whalley and Roderick Hill", year=1985, + pages="113--156",booktitle="Canada-{U}nited {S}tates Free Trade", + address="Toronto",publisher="University of Toronto Press", + number=11, series="Research Volumes for the {M}c{D}onald + Commission"} +@ARTICLE{melvintrans, + author="James R. Melvin",title="The regional economic + consequences of tariffs and domestic transportation costs.", + journal="Canadian Journal of Economics", volume="XVIII", + number="2", month="May",year=1985,pages="237--257"} +@ARTICLE{porter, + author="Robert H. Porter", title="Tariff policies in a small + open spatial economy", journal="Canadian Journal of Economics", + volume="XVII",number=2,month="May",year=1984, pages="270--282"} +@BOOK{trela-whalley, + author="Irene Trela and John Whalley", + title="Regional Aspects of Confederation", place="Toronto", + publisher="University of Toronto Press", + year=1986, volume=68, series="Mc{D}onald Commission Research + Volumes"} +@BOOK{hill-whalley, + author="John Whalley and Roderick Hill", + title="Canada-United States Free Trade", + place="Toronto",publisher="University of Toronto Press", + year=1985, volume=11, series="Mc{D}onald Commission Research + Volumes"} +@BOOK{ww, + author="Ronald J. Wonnacott and Paul Wonnacott", + title="Free Trade Between the United States and Canada: The + Potential Economic Effects",place="Cambridge Mass.", + publisher="The Harvard University Press", year=1967} +@ARTICLE{waters, + title="Transport Costs and the Static Welfare Costs of + Tariffs", author="Waters {II}, W. G.", journal="American + Economic Review", Volume=64, Number=4, pages="730--732", + year=1974} +@BOOK{cameron, + title="The Free Trade Papers", editor="Duncan Cameron", + place="Toronto", publisher="Lorimer Press", year=1986} +@BOOK{m-m84, + title="The Theory of International Trade and Its Canadian + Applications", author="James R. Markusen and James R. Melvin", + year=1984,publisher="Butterworths",place="Toronto"} +@MISC{focus, + title="{GATT} {F}ocus", author="{GATT}", note="Various issues" } +@ARTICLE{jpe89, + author="James R. Markusen and Randall M. Wigle", journal="Journal + of Political Economy", year=1989, title="Nash Equilibrium + Tariffs for the {U}nited {S}tates and {C}anada: The roles of country + size, scale economies, and capital mobility", + volume=97,number=2} +@BOOK{quest, + title="The {U}nited {S}tates and {C}anada: The quest for free + trade.",author="Paul Wonnacott", publisher="Institute for + International Economics",year=1987,month="March", + series="Policy Analyses in International Economics", + number=16,place="Washington {D.C.}"} +@BOOK{CAFT, + editor="A. R. Riggs and Tom Velk", + title="Canadian--{A}merican Free Trade: Historical, Political + and Economic Dimensions", publisher="The Institute for + Research on Public Policy", year=1987,place="Halifax {N.S.}"} + +@ARTICLE{north-south, + title="Explaining the Volume of {N}orth-{S}outh Trade", + author="James R. Markusen and Randall M. Wigle", + journal="The Economic Journal", volume=100, + month="December", pages="1206--1215",year=1990} + +@INCOLLECTION{oecd-ibrd, + title="Terms of Trade Effects, Trade Liberalization and + Developing Countries",author=jwrw,year=1990, + booktitle="Agricultural Trade Liberalization: + Implications for Developing Countries",editor="K. Odin", + publisher="Organization for Economic Cooperation and Development", + place="Paris"} + +@INCOLLECTION{ag-wars, + author="Glenn W. Harrison and Lisa Rutstrom and Randall M. Wigle", + year=1989,title="The Costs of an Agricultural Trade + War",booktitle="Macroeconomic Consequences of Farm-Support Policies", + editor="Stoeckel, Andrew B. and David Vincent and Sandy Cuthbertson", + place="Durham, N.C.", publisher="Duke University Press", + pages="330--367"} + +@INCOLLECTION{qualifications, + author=me,title="The Received Wisdom of {C}anada-{U.S}. Free Trade: + Qualifications",editor="Riggs, Alvin R. and Tom Velk", + booktitle="Canadian-American Free Trade: Historical, + Political and Economic Dimensions",publisher="Institute for + Research on Public Policy",place="Halifax, N.S.",year=1987, + pages="105--114"} + +@INCOLLECTION{columbia-discussion, + author=me,year=1986,title="Summary of the Panel and Floor + Discussion",editor="T. N. Srinivasan and John Whalley", + booktitle="General Equilibrium Trade Policy Modelling", + publisher="M.I.T. Press",pages="323--354"} + +@ARTICLE{rock-hard, + author=me,year=1988, title="Between a Rock and a Hard Place: The + Economics of {C}anada-{U.S}. Free Trade",journal="Canadian Public + Policy",volume="XIV",number=1,month="March",pages="104--108"} + +@BOOK{hathaway, + author="Dale Hathaway", title="Agriculture in the {GATT}: + Rewriting the Rules", publisher=IIE, place="Washington, D.C.", + year=1985} + +@ARTICLE{trela-whalley-MFA, + author="Irene Trela and John Whalley", title="Global Effects of + Devloped Country Trade Restrictions on Textiles and Apparel", + journal="Economic Journal", volume="100", number="403", + year=1990, month="December", pages="1190--1205"} + +@PHDTHESIS{rwt, + author="Robert Waschik", title="International Trade with + Variable Factor Supply", year=1990, school="University of + {W}estern {O}ntario", place="London {O}ntario, {C}anada"} + +@BOOK{completing-ur, + title="Completing the {U}ruguay Round: A Results-Oriented + Approach to the GATT Negotiations", editor="Jeffrey J. Schott", + publisher="Institute for International Economics", year=1990, + place="Washington, D.C."} + +@UNPUBLISHED{rmd, + title="Transportation Costs in Regional Models of International + Trade: An Application to {C}anada-{U.S}. Trade", author=me, + year=1990, type="Wilfrid Laurier University Working Paper + \#90242", month="December"} + +@BOOK{FTA, + title="The Canada-U.S. Free Trade Agreement [{C}opy 10-12-87]", + author="{External Affairs Canada}", + year=1987,publisher="International Trade Communications Group", + place="Ottawa"} + +@BOOK{GATT, + author="{General Agreement on Tariffs and Trade}", + title="{GATT:} What it is, What it does", + place="Geneva", publisher="{ General Agreement on + Tariffs and Trade}", year=1990 } + +@BOOK{IIE-ur, + author="Gary C. Hufbauer and Jeffrey Schott", + title="Trading for growth: The Next Round of Trade Negotiations", + series="Analyses in International Economics", number=11, + place="Washington", publisher="Institute for International + Economics",year=1985} + +@ARTICLE{markusen-venables, + author="Anthony J. Venables and James R. Markusen", + title="Trade Policy with Increasing Returns and Imperfect + Competition: Contradictory Results from Competing Assumptions", + journal="Journal of International Economics", + year=1988,volume=24, pages="299--316"} + +@ARTICLE{harris-84, + author="Richard G. Harris", title="Applied General Equilibrium + Analysis of Small Open Economies with Scale Economies and + Imperfect Competition", journal=AER, volume=74, + pages="1016--1032",year=1984} +% CGE References for Data Paper + +@BOOK{DS86, + author="Deardorff, Alan V. and Robert M. Stern", + title="The {M}ichigan Model of World Production and Trade: Theory + and Applications", + Address="Cambridge, Mass.", year=1986, + publisher="{M}{I}{T} Press"} + +@TECHREPORT{DS89, + author="Deardorff, Alan V. and Robert M. Stern", + title="A Computational Analysis of Alternative Scenarios for + Multilateral Trade Liberalization", + institution="Economic Council of {C}anada", + year=1989, type="Working Paper", number=363, month="August"} + +@BOOK{GAMS, + author="Brooke, Anthony and David Kendrick and Alexander + Meeraus", + title="{GAMS} A User's Guide", + publisher="The Scientific Press", address="Redwood City, CA", + year=1988} + +@ARTICLE{JMCB, + author="Dewald, William G. and Jerry G. Thursby and Richard G. + Anderson", + title="Replication in Empirical Economics: The {J}ournal of + {M}oney, {C}redit and {B}anking {P}roject", + journal="American Economic Review", year=1986, volume=76, + number=4, pages="587-603", month="Sept."} + +@TECHREPORT{ECDATA, + author=" Glenn Harrison and Thomas F. Rutherford and Ian Wooton", + title="An Empirical Database for A General Equilibrium Model of + the European Communities", year=1989, institution="University of + {W}estern {O}ntario", type="Working Paper", number="8901C" } + +@BOOK{PRCIO, + author="{East-West Institute}", + title="An Input-Output Table for China, 1980", + publisher="Pergammon Press", year=1986, address="Honolulu"} + +@TECHREPORT{UNtrade, + author="James K. Binkley and Thomas W. Hertel and Marinos Tsigas", + title="The {UN} Trade Data: Can it be Saved?", + type="Working Paper", + institution="Purdue University", month="August", year=1990} + +@BOOK{UNva, + author=UN , + title="Industrial Statistics Yearbook, 1986", + publisher=UN , year=1987} + +@BOOK{FAOfish, + author=FAO, + title="yearbook of fishery statistics, 1986", + volume=63, year=1988, publisher=UN} + +@ARTICLE{comparisons, + author="Robert Summers and Alan Heston", + title="A new set of international comparisons of real product and + price level estimates for 130 countries 1950--1985", + journal="Review of Income and Wealth", year=1988, + pages="1--25",volume=34,number=1,month="March"} + +@BOOK{FAOwood, + author=FAO, title="Forest Products 1976--1987", + number=22, year=1989, place="Rome", publisher=UN} + +@BOOK{world-tables, + title="The World Tables, 1987",publisher=IBRD, + author=IBRD,place="Washington",year=1988} + +@BOOK{WDR-89, + title="World Development Report", author=IBRD, + year=1989, publisher="Oxford University Press", place="London"} + +@BOOK{USDA-pse, + title="Estimates of Producer and Consumer Subsidy Equivalents: + Government Intervention in Agriculture, 1982--1986", author=USDA, + year=1988, publisher=USDA, month="April", place="Washington D.C."} + +@BOOK{OECD-pse, + title="National policies and agricultural trade",author=OECD, + year=1987, publisher=OECD, place="Paris"} + +@BOOK{io-EC80, + title="National Accounts ESA: Input-Output Tables, 1980", + author="{e}urostat",year=1986,publisher="Offices {d}es publications + officielles des {C}ommunaut\'es europ\'eenes", + note="Cat.: CA-46-86-743-2A-C",place="Luxembourg"} + +@BOOK{io-CAN82, + title="System of National Accounts: The input-output structure + of the {C}anadian economy 1981--1984", author="{S}tatistics + {C}anada", place="Ottawa",year=1988,publisher="Supply and + Services {C}anada",number="Cat.: 15-201"} + +@BOOK{io-LDC, + title="Input-Output Tables for Developing Countries",volume="I", + author=UN,publisher=UN,year=1975, + note="Pages 57--82",place="New York"} + +@BOOK{io-JPN80, + author="{Statistics Bureau, Prime Minister's Office}", + title="Japan Statistical Yearbook, 1987", + publisher="Japan Statistical Association",year=1987, + note=" Pages 566--570, Table 16-13",place="Tokyo"} + +@article{io-USA82, + journal="Survey of Current Business", volume=68, number=4, + title="Annual Input-Output Accounts of the U.S. Economy, 1982", + author="{Bureau of Economic Analysis of the U.S. Department of + Commerce}", month="April",year=1988, note="Table 1, pages + 32--39", place="Washington"} + +@BOOK{tablas, + title="Tablas de insumo-producto an Am\'erica + Latina",author="{Economic Commission for Latin + America}",publisher=UN, year=1983,place="New York"} + +@MISC{io-OZ82, + author="unknown",title="Industry by Industry Flow Matrix + 1982--1983",howpublished="Photocopy",note="Table for Australia + --- Table~11 pages~62--64"} + +@BOOK{WDR-90, + title="World Development Report", author=IBRD, + year=1990, publisher="Oxford University Press", place="London"} + +@MISC{BCR, + title="Bank of {C}anada Review", author="{Bank of Canada}", + address="Ottawa",year="Various issues", + note="Monthly publication"} + +@BOOK{CAN-86, + title="Input Output Tables for Canada ???", author=StatCan, + year="1991 ?", publisher="Supply and Services Canada",note="See + Tables ??? and ???"} + +@ARTICLE{PWT5, + title="The {PENN} World Table (Mark~5): An EXPANDED SET OF + INTERNATIONAL COMPARISONS, 1950--1988", author="Robert Summers + and Alan Heston", journal=QJE, + year=1991,month="May",pages="327--368",number=2, volume="?"} + +@TECHREPORT{ussr72, + title="Input-Output Structure of the {S}oviet Economy: 1972", + author="Dimitri Gallik and Barry L. Kostinsky and Vladimir Treml", + institution="{U.S.} Department of Commerce: Bureau of the + Census", year=1983, type="Foreign Economic Report", number=18} diff --git a/Master/texmf-dist/doc/bibtex/economic/wigle.tex b/Master/texmf-dist/doc/bibtex/economic/wigle.tex new file mode 100644 index 00000000000..dc23f1e2394 --- /dev/null +++ b/Master/texmf-dist/doc/bibtex/economic/wigle.tex @@ -0,0 +1,40 @@ +% -*-latex-*- +% Document name: /usr/local/lib/tex/bibtex/xampl.ltx +% Creator: Nelson H. F. Beebe [beebe@alfred.math.utah.edu] +% Creation Date: Mon Jun 8 08:42:49 1992 + +%\def\mode{aertt} +%\def\mode{aer} +\def\mode{cje} + +\documentstyle[harvard,\mode]{article} + +\author{A. U. Thor} + +\date{} + +\title{Bibliography Style: {\tt {\mode}}} + +\pagestyle{myheadings} + +\markboth{Bibliography Style: {\tt {\mode}}}{Bibliography Style: {\tt {\mode}}} + +\begin{document} + + \bibliographystyle{\mode} + + \maketitle + +The old \verb|\cite| gives \cite{ww} and \cite{ww,waters} + +\verb|\citeasnoun| gives \citeasnoun{ww} + +\verb|\citeyear| gives \citeyear{ww} and \citeyear{ww,waters} + +\verb|\citename| gives \citename{ww} + + \nocite{*} + + \bibliography{wigle} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/economic/aer.sty b/Master/texmf-dist/tex/latex/economic/aer.sty new file mode 100644 index 00000000000..52cefdc2eca --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/aer.sty @@ -0,0 +1,20 @@ +\message{Document style option `aer.sty' (29 May 1993) for LaTeX 2.09.} +\textwidth=28pc +\textheight=46pc + +\def\bysame{\leavevmode\hbox to\leftmargin{\leaders\hrule height 3pt depth -2.5pt\hfill\,\,}} + +\def\thebibliography#1{\section*{\refname\@mkboth + {\uppercase{\refname}}{\uppercase{\refname}}}\list + {\@biblabel{\arabic{enumiv}}}{\labelwidth=12pt + \labelsep=0pt + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep=0pt\parsep=0pt + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \raggedright + \sfcode`\.=1000\relax} diff --git a/Master/texmf-dist/tex/latex/economic/aertt.sty b/Master/texmf-dist/tex/latex/economic/aertt.sty new file mode 100644 index 00000000000..a1371a883c9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/aertt.sty @@ -0,0 +1,23 @@ +\message{Document style option `aertt.sty' (29 May 1993) for LaTeX 2.09.} +\textwidth=28pc +\textheight=46pc + +\input ulem.sty + +\def\bysame{\leavevmode\uline{\hskip\leftmargin}\,\,} + +\def\thebibliography#1{\section*{\refname\@mkboth + {\uppercase{\refname}}{\uppercase{\refname}}}\list + {\@biblabel{\arabic{enumiv}}}{\labelwidth=12pt + \labelsep=0pt + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep=0pt\parsep=0pt + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \raggedright + \sfcode`\.=1000\relax} + diff --git a/Master/texmf-dist/tex/latex/economic/ajae.cls b/Master/texmf-dist/tex/latex/economic/ajae.cls new file mode 100644 index 00000000000..e26b6fb40d7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/ajae.cls @@ -0,0 +1,171 @@ +%%% LaTeX class for manuscripts submitted to the +%%% American Journal of Agricultural Economics (AJAE) +%%% +%%% author: Arne Henningsen +%%% version: 1.0 (22 August 2006) +%%% license: LaTeX Project Public License +%%% +%%% Note: This is an unofficial style file that may not fully comply +%%% with the AJAE Formatting Instructions in every detail. +%%% Please report any problems to <ahenningsen@email.uni-kiel.de>. +%%% Further information is available at +%%% http://www.uni-kiel.de/agrarpol/ahenningsen/latex-bibtex.html +%%% +%%% This document class is based on the "scrartcl" class +%%% from the KOMA script bundle. +%%% Following additional packages are required: +%%% amsmath, babel, bm, courier, endfloat, endnotes, geometry, +%%% helvet, mathptmx, natbib, setspace, titlesec, url +%%% +%%% The corresponding BibTeX style file "ajae.bst" should be used +%%% for the bibliography: \bibliographystyle{ajae} +%%% +%%% This document class provides 6 new commands: +%%% \keywords can be use to show keywors below the abstract +%%% \jelclass can be use to show JEL classifications below the abstract +%%% \veclatin should be used for latin symbols that denote vectors +%%% \matlatin should be used for latin symbols that denote matrices +%%% \vecgreek should be used for greek symbols that denote vectors +%%% \matgreek should be used for greek symbols that denote matrices +%%% +%%% If you use footnotes, add following lines before the reference section: +%%% \clearpage +%%% \listofendnotes + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ajae}[2006/08/22 LaTeX class for the American Journal of Agricultural Economics] + +% pass any options on to the scrartcl class and load this class with some options +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax +\LoadClass[12pt,english,tablecaptionabove]{scrartcl} +% tablecaptionabove = use \captionabove for tables + +% page format, margins +\RequirePackage{geometry} +\geometry{letterpaper, tmargin=1.0in, bmargin=1.1in, lmargin=1.25in, + rmargin=1.25in, headheight=0in, headsep=0in, footskip=0.5in } + +% double spacing +\RequirePackage{setspace} +\doublespacing + +% spacing around (sub)section headers +\RequirePackage{titlesec} +\titlespacing*{\section}{0pt}{1em}{0.25em} +\titlespacing*{\subsection}{0pt}{0.85em}{0.15em} + +% spacing around formulas +\AtBeginDocument{ +\setlength{\abovedisplayshortskip}{6pt} +\setlength{\belowdisplayshortskip}{6pt} +\setlength{\abovedisplayskip}{6pt} +\setlength{\belowdisplayskip}{6pt} +\allowdisplaybreaks +} + +% spacing around captions and floats +\setlength{\abovecaptionskip}{6pt} +\setlength{\belowcaptionskip}{3pt} +\setlength{\floatsep}{0pt} +\setlength{\textfloatsep}{20pt} +\setlength{\intextsep}{5pt} + +% font families: times/helvetica/courier +\RequirePackage{mathptmx} +\RequirePackage[scaled=.90]{helvet} +\RequirePackage{courier} + +% font for section headers +\setkomafont{section}{\normalfont\bfseries} + +% font for subsection headers +\setkomafont{subsection}{\normalfont\itshape} + +% fonts for math +\RequirePackage[leqno,fleqn]{amsmath} +\RequirePackage{bm} +% latin symbols for vectors and matrices +\newcommand{\veclatin}[1]{\bm{#1}} +\newcommand{\matlatin}[1]{\bm{#1}} +% greek symbols for vectors and matrices +\newcommand{\vecgreek}[1]{\pmb{#1}} +\newcommand{\matgreek}[1]{\pmb{#1}} + +% font for URLs +\RequirePackage{url} +\def\UrlFont{\rmfamily} + +% citations and bibliography +\RequirePackage[authoryear]{natbib} +\bibpunct{(}{)}{;}{a}{}{,} +\setlength{\bibsep}{0pt} + +% captions of figures and tables +\setcapwidth[l]{\textwidth} +\setcapindent{0pt} +\setkomafont{captionlabel}{\normalfont\bfseries} +\setkomafont{caption}{\normalfont\bfseries} +\renewcommand{\captionformat}{.\ } + +% section and subsections are not numbered +\setcounter{secnumdepth}{0} + +% titlepage without author and date +\renewcommand{\maketitle}{ + \begin{spacing}{1.5} + \centering + \LARGE{\textbf{\@title}}% + \end{spacing} +} + +% abstract, keywords, JEL classification +\newcommand{\keywords}[1]{\newcommand{\@keywords}{#1}} +\newcommand{\jelclass}[1]{\newcommand{\@jelclass}{#1}} +\renewenvironment{abstract}{% +\begin{center} +\begin{minipage}{0.9 \textwidth} +\small +\begin{center} +\textbf{Abstract} +\end{center} +}{% +\smallskip\\ \noindent +Key words: \@keywords +\smallskip\\ \noindent +JEL classification: \@jelclass +\end{minipage} +\end{center}% +\noindent% +} + +% use babel package and set language to english +\RequirePackage[english]{babel} + +% avoid clubs and widows +\clubpenalty=10000 +\widowpenalty=10000 +% \displaywidowpenalty=10000 + +% increase stretchability of the spaces (avoid overful hboxes) +\setlength{\emergencystretch}{3em} + +% use endnotes in place of footnotes +\RequirePackage{endnotes} +\let\footnote=\endnote +\newcommand{\listofendnotes}{ + \begingroup + \parindent 0pt + \parskip 2ex + \def\enotesize{\normalsize} + \theendnotes + \endgroup +} + +% move floats to the end of the paper +\RequirePackage[tabhead,fighead,nomarkers,nolists]{endfloat} + +% for compatibility with erae.cls +\newcommand{\citetPage}[2]{\citeauthor{#2} (\citeyear{#2}, p.~#1)} +\newcommand{\citepPage}[2]{\citetext{\citealp{#2}, p.~#1}} diff --git a/Master/texmf-dist/tex/latex/economic/cje.sty b/Master/texmf-dist/tex/latex/economic/cje.sty new file mode 100644 index 00000000000..356c9de5d91 --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/cje.sty @@ -0,0 +1,21 @@ +\message{Document style option `cje.sty' (29 May 1993) for LaTeX 2.09.} +\textwidth=28pc +\textheight=46pc + +\def\bysame{\leavevmode\hbox to\leftmargin{\leaders\hrule height 3pt depth -2.5pt\hfill\,\,}} + +\def\thebibliography#1{\section*{\refname\@mkboth + {\uppercase{\refname}}{\uppercase{\refname}}}\list + {\@biblabel{\arabic{enumiv}}}{\labelwidth=12pt + \labelsep=0pt + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep=0pt\parsep=0pt + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \raggedright + \sfcode`\.=1000\relax} + diff --git a/Master/texmf-dist/tex/latex/economic/erae.cls b/Master/texmf-dist/tex/latex/economic/erae.cls new file mode 100644 index 00000000000..16446cd51e2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/erae.cls @@ -0,0 +1,146 @@ +%%% LaTeX class for manuscripts submitted to the +%%% European Review of Agricultural Economics (ERAE) +%%% +%%% author: Arne Henningsen +%%% version: 1.0.1 (28 August 2006) +%%% license: LaTeX Project Public License +%%% +%%% Note: This is an unofficial style file that may not fully comply +%%% with the ERAE Formatting Instructions in every detail. +%%% Please report any problems to <ahenningsen@email.uni-kiel.de>. +%%% Further information is available at +%%% http://www.uni-kiel.de/agrarpol/ahenningsen/latex-bibtex.html +%%% +%%% This document class is based on the "scrartcl" class +%%% from the KOMA script bundle. +%%% Following additional packages are required: +%%% amsmath, babel, courier, endfloat, geometry, +%%% helvet, mathptmx, natbib, setspace, titlesec, url +%%% +%%% The corresponding BibTeX style file "erae.bst" should be used +%%% for the bibliography: \bibliographystyle{erae} +%%% +%%% This document class provides 4 new commands: +%%% \keywords can be use to show keywors below the abstract +%%% \jelclass can be use to show JEL classifications below the abstract +%%% \citetPage{page}{key} for citations like Author (Year: page) +%%% \citepPage{page}{key} for citations like (Author, year: page) +%%% + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{erae}[2006/08/22 LaTeX class for the European Review of Agricultural Economics] + +% pass any options on to the scrartcl class and load this class with some options +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax +\LoadClass[12pt,english,pointednumbers,tablecaptionabove]{scrartcl} +% pointednumbers = add final dot after ordinary section numbers +% tablecaptionabove = use \captionabove for tables + +% page format, margins +\RequirePackage{geometry} +\geometry{a4paper, tmargin=2.5cm, bmargin=2.8cm, lmargin=2.5cm, + rmargin=2.5cm, headheight=0cm, headsep=0cm, footskip=1.2cm } + +% one half spacing +\RequirePackage{setspace} +\onehalfspacing + +% spacing around (sub)section headers +\RequirePackage{titlesec} +\titlespacing*{\section}{0pt}{1em}{0.25em} +\titlespacing*{\subsection}{0pt}{0.85em}{0.15em} + +% spacing around formulas +\AtBeginDocument{ +\setlength{\abovedisplayshortskip}{6pt} +\setlength{\belowdisplayshortskip}{6pt} +\setlength{\abovedisplayskip}{6pt} +\setlength{\belowdisplayskip}{6pt} +\allowdisplaybreaks +} + +% spacing around captions and floats +\setlength{\abovecaptionskip}{6pt} +\setlength{\belowcaptionskip}{3pt} +\setlength{\floatsep}{0pt} +\setlength{\textfloatsep}{20pt} +\setlength{\intextsep}{5pt} + +% font families: times/helvetica/courier +\RequirePackage{mathptmx} +\RequirePackage[scaled=.90]{helvet} +\RequirePackage{courier} + +% amsmath +\RequirePackage{amsmath} +% for compatibility with ajae.cls +\newcommand{\veclatin}[1]{#1} +\newcommand{\matlatin}[1]{#1} +\newcommand{\vecgreek}[1]{#1} +\newcommand{\matgreek}[1]{#1} + +% font for URLs +\RequirePackage{url} +\def\UrlFont{\rmfamily} + +% citations and bibliography +\RequirePackage[authoryear]{natbib} +\setlength{\bibsep}{0pt} + +% captions of figures and tables +\setcapwidth[l]{\textwidth} +\setcapindent{0pt} +\setkomafont{captionlabel}{\normalfont\bfseries} +\renewcommand{\captionformat}{.\ } + +% titlepage without author and date +\renewcommand{\maketitle}{ + \begin{spacing}{1.5} + \centering + \LARGE{\textbf{\@title}}% + \end{spacing} +} + +% abstract, keywords, JEL classification +\newcommand{\keywords}[1]{\newcommand{\@keywords}{#1}} +\newcommand{\jelclass}[1]{\newcommand{\@jelclass}{#1}} +\renewenvironment{abstract}{% +\begin{center} +\begin{minipage}{0.9 \textwidth} +\small +\begin{center} +\textbf{Abstract} +\end{center} +}{% +\smallskip\\ \noindent +Key words: \@keywords +\smallskip\\ \noindent +JEL classification: \@jelclass +\end{minipage} +\end{center}% +\noindent% +} + +% use babel package and set language to english +\RequirePackage[english]{babel} + +% avoid clubs and widows +\clubpenalty=10000 +\widowpenalty=10000 +% \displaywidowpenalty=10000 + +% increase stretchability of the spaces (avoid overful hboxes) +\setlength{\emergencystretch}{3em} + +% move floats to the end of the paper +\RequirePackage[heads,tablesfirst,nolists]{endfloat} + +% use single quotes +\RequirePackage{csquotes} +\MakeInnerQuote{°} + +% cite page numbers after colon +\newcommand{\citetPage}[2]{\citeauthor{#2} (\citeyear{#2}: #1)} +\newcommand{\citepPage}[2]{\citetext{\citealp{#2}: #1}} diff --git a/Master/texmf-dist/tex/latex/economic/harvard.sty b/Master/texmf-dist/tex/latex/economic/harvard.sty new file mode 100644 index 00000000000..32eecb689c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/economic/harvard.sty @@ -0,0 +1,104 @@ +\message{harvard bibliography,} + +\def\@hiteml[#1]#2#3#4{\item[]\if@filesw% + { \def\protect##1{\string ##1\space}\immediate% +\write\@auxout{\string\harvardcite{#4}{#2}{#1}{#3}}}\fi% +\protect\hspace*{-\labelwidth}\protect\hspace*{-\labelsep}\ignorespaces} + +\def\@hitem#1#2#3{\item[]\if@filesw% + { \def\protect##1{\string ##1\space}\immediate% +\write\@auxout{\string\harvardcite{#3}{#1}{#1}{#2}}}\fi% +\protect\hspace*{-\labelwidth}\protect\hspace*{-\labelsep}\ignorespaces} + +\def\harvarditem{\@ifnextchar [{\@hiteml}{\@hitem}} + +\def\harvardcite#1#2#3#4{ + \global\@namedef{bhf@#1}{#2} + \global\@namedef{bha@#1}{#3} + \global\@namedef{bhy@#1}{#4}\global\@namedef{b@#1}{\csname bhf@#1\endcsname} +} + +\def\cite{\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} +\def\citeasnoun{\@ifnextchar [{\@tempswatrue\@citexasnoun} + {\@tempswafalse\@citexasnoun[]} +} +\def\citeyear{\@ifnextchar [{\@tempswatrue\@citexyear} + {\@tempswafalse\@citexyear[]} +} +\def\citename{\@ifnextchar [{\@tempswatrue\@citexname} + {\@tempswafalse\@citexname[]} +} + +% \def\@enamedef#1{\expandafter\edef\csname #1\endcsname} +% Previous line should be replaced by the following to prevent +% problems with the NFSS. Solution by Bernd Raichle. +\def\@enamedef#1{\expandafter\def\csname #1\expandafter\endcsname\expandafter} + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{\@hisep\penalty\@m\ }\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{{\csname b@\@citeb\endcsname\@hysep\csname bhy@\@citeb\endcsname}% +\global\@enamedef{b@\@citeb}{\csname bha@\@citeb\endcsname}}% +}}{#1}} + +\def\@citexasnoun[#1]#2{% +\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi% +\@citeasnoun{{\@ifundefined% +{b@#2}% +{{\bf ?}\@warning{Citation `#2' on page \thepage \space undefined}}% +{{\csname b@#2\endcsname\ (\csname bhy@#2\endcsname}% +\global\@namedef{b@#2}{\csname bha@#2\endcsname}}% +}}{#1}} + +\def\@citexname[#1]#2{% +\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi% +\@citename{{\@ifundefined% +{b@#2}% +{{\bf ?}\@warning{Citation `#2' on page \thepage \space undefined}}% +{{\csname bhf@#2\endcsname}}% +}}{#1}} + +\def\@citexyear[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citeayear{}\@cite{\@for\@citebyear:=#2\do + {\@citeayear\def\@citeayear{\@hisep\penalty\@m\ }\@ifundefined + {b@\@citebyear}{{\bf ?}\@warning + {Citation `\@citebyear' on page \thepage \space undefined}}% +{{\csname bhy@\@citebyear\endcsname}% +}% +}}{#1}} + +\gdef\hysep@agsm{\ }\gdef\hisep@agsm{,}% +\gdef\hysep@dcu{, }\gdef\hisep@dcu{;}% +\let\@hysep\hysep@agsm \let\@hisep\hisep@agsm +\def\citationstyle#1{% +\global\@namedef{@hysep}{\csname hysep@#1\endcsname}% +\global\@namedef{@hisep}{\csname hisep@#1\endcsname}} + +%DEFAULT DEFINITIONS +\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@citeasnoun#1#2{{#1\if@tempswa , #2\fi)}} +\def\@citename#1#2{{#1\if@tempswa \ (#2)\fi}} + +% CHANGE \end{document} - to handle double definitions +\def\enddocument{\@checkend{document}\clearpage\begingroup +\if@filesw \immediate\closeout\@mainaux +\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% +\def\bibcite{\@testdef b}% +\def\harvardcite{\@testbibh}\@tempswafalse \makeatletter\input \jobname.aux +\if@tempswa \@warning{Label(s) may have changed. Rerun to get +cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} + +\def\@testbibh #1#2#3{ + \def\@tempa{#2}\expandafter + \ifx \csname bhf@#1\endcsname \@tempa + \def\@tempa{#3}\expandafter + \ifx \csname bha@#1\endcsname \@tempa + \else \@tempswatrue + \fi + \else + \@tempswatrue + \fi +} + diff --git a/Master/texmf-dist/tpm/economic.tpm b/Master/texmf-dist/tpm/economic.tpm new file mode 100644 index 00000000000..de43aa9781d --- /dev/null +++ b/Master/texmf-dist/tpm/economic.tpm @@ -0,0 +1,46 @@ +<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd"> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/"> + <rdf:Description about="http://texlive.dante.de/texlive/Package/economic.zip"> + <TPM:Name>economic</TPM:Name> + <TPM:Type>Package</TPM:Type> + <TPM:Date>2006/09/25 19:21:00</TPM:Date> + <TPM:Version></TPM:Version> + <TPM:Creator>karl</TPM:Creator> + <TPM:Title>The economic package.</TPM:Title> + <TPM:Description></TPM:Description> + <TPM:Author></TPM:Author> + <TPM:Size>311753</TPM:Size> + <TPM:Build/> + <TPM:RunFiles size="267904"> +texmf-dist/bibtex/bst/economic/aer.bst +texmf-dist/bibtex/bst/economic/aertt.bst +texmf-dist/bibtex/bst/economic/agsm.bst +texmf-dist/bibtex/bst/economic/ajae.bst +texmf-dist/bibtex/bst/economic/cje.bst +texmf-dist/bibtex/bst/economic/econometrica-fr.bst +texmf-dist/bibtex/bst/economic/econometrica.bst +texmf-dist/bibtex/bst/economic/ecta.bst +texmf-dist/bibtex/bst/economic/erae.bst +texmf-dist/tex/latex/economic/aer.sty +texmf-dist/tex/latex/economic/aertt.sty +texmf-dist/tex/latex/economic/ajae.cls +texmf-dist/tex/latex/economic/cje.sty +texmf-dist/tex/latex/economic/erae.cls +texmf-dist/tex/latex/economic/harvard.sty +texmf-dist/tpm/economic.tpm + </TPM:RunFiles> + <TPM:DocFiles size="45616"> +texmf-dist/doc/bibtex/economic/README +texmf-dist/doc/bibtex/economic/ajae-test.bib +texmf-dist/doc/bibtex/economic/ajae-test.tex +texmf-dist/doc/bibtex/economic/erae-test.bib +texmf-dist/doc/bibtex/economic/erae-test.tex +texmf-dist/doc/bibtex/economic/harvard.bib +texmf-dist/doc/bibtex/economic/harvard.tex +texmf-dist/doc/bibtex/economic/wigle.bib +texmf-dist/doc/bibtex/economic/wigle.tex + </TPM:DocFiles> + <TPM:Provides>Package/economic</TPM:Provides> + </rdf:Description> +</rdf:RDF> + diff --git a/Master/texmf/lists/economic b/Master/texmf/lists/economic new file mode 100644 index 00000000000..517d82a6550 --- /dev/null +++ b/Master/texmf/lists/economic @@ -0,0 +1,28 @@ +texmf-dist/doc/bibtex/economic/README +texmf-dist/doc/bibtex/economic/ajae-test.bib +texmf-dist/doc/bibtex/economic/ajae-test.tex +texmf-dist/doc/bibtex/economic/erae-test.bib +texmf-dist/doc/bibtex/economic/erae-test.tex +texmf-dist/doc/bibtex/economic/harvard.bib +texmf-dist/doc/bibtex/economic/harvard.tex +texmf-dist/doc/bibtex/economic/wigle.bib +texmf-dist/doc/bibtex/economic/wigle.tex + +texmf-dist/bibtex/bst/economic/aer.bst +texmf-dist/bibtex/bst/economic/aertt.bst +texmf-dist/bibtex/bst/economic/agsm.bst +texmf-dist/bibtex/bst/economic/ajae.bst +texmf-dist/bibtex/bst/economic/cje.bst +texmf-dist/bibtex/bst/economic/econometrica-fr.bst +texmf-dist/bibtex/bst/economic/econometrica.bst +texmf-dist/bibtex/bst/economic/ecta.bst +texmf-dist/bibtex/bst/economic/erae.bst +texmf-dist/tex/latex/economic/aer.sty +texmf-dist/tex/latex/economic/aertt.sty +texmf-dist/tex/latex/economic/ajae.cls +texmf-dist/tex/latex/economic/cje.sty +texmf-dist/tex/latex/economic/erae.cls +texmf-dist/tex/latex/economic/harvard.sty +texmf-dist/tpm/economic.tpm + +texmf/lists/economic diff --git a/Master/texmf/tpm/collection-publishers.tpm b/Master/texmf/tpm/collection-publishers.tpm index 02898f0c59e..57aa56e1ddb 100644 --- a/Master/texmf/tpm/collection-publishers.tpm +++ b/Master/texmf/tpm/collection-publishers.tpm @@ -28,6 +28,7 @@ <TPM:Package name="ascelike"/> <TPM:Package name="chem-journal"/> <TPM:Package name="ebsthesis"/> + <TPM:Package name="economic"/> <TPM:Package name="elsevier"/> <TPM:Package name="gatech-thesis"/> <TPM:Package name="icsv"/> |