0

I need to modify my .bst file to remove the comma after the year in parenthesis and replace it with a blank (in the bibliography).

Currently, I have:

Newey, W. K. and West, K. D. (1987), A simple, positive semi-definite, heteroskedasticity and autocorrelation consistent covariance matrix, Econometrica 55, 703–708.

But I need to remove the comma after "(1987)", that is:

Newey, W. K. and West, K. D. (1987) A simple, positive semi-definite, heteroskedasticity and autocorrelation consistent covariance matrix, Econometrica 55, 703–708.

I cannot find where to do it and what to change in the .bst file. My .bst file is titled bsttest.bst. The entire code can be find below:

%%
%% This is file `jfe.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs  (with options: `,ay,nat,nm-rev,ed-rev,dt-beg,yr-com,yrp-per,note-yr,jttl-rm,vnum-x,volp-com,jnm-x,btit-rm,pre-pub,edpar,blk-tit,in-col,pp,ed,abr,ednx,xand')
%% ----------------------------------------
%% *** Journal of Financial Economics ***
%% 
 %-------------------------------------------------------------------
 % The original source file contains the following version information:
 % \ProvidesFile{merlin.mbs}[1998/08/17 3.87 (PWD)]
 %
 % 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-98 Patrick W. Daly
 %-------------------------------------------------------------------
 %   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 = { ", " * write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { ", " * 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} { 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 {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} { "Tech. Rep." }

FUNCTION {bbl.mthesis} { "Master's thesis" }

FUNCTION {bbl.phdthesis} { "Ph.D. thesis" }

FUNCTION {bbl.first} { "First" }

FUNCTION {bbl.second} { "Second" }

FUNCTION {bbl.third} { "Third" }

FUNCTION {bbl.fourth} { "Fourth" }

FUNCTION {bbl.fifth} { "Fifth" }

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"}

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 "{vv~}{ll}{, f.}{, jj}" format.name$ bibinfo bibinfo.check 't := nameptr #1 > { namesleft #1 > { ", " * t * } { s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ numnames #2 > { "," * } 'skip$ 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 empty$ { "" } { author format.names } if$ }

FUNCTION {format.editors} { editor empty$ { "" } { editor format.names editor num.names$ #1 > { " (" * bbl.editors * ")" * } { " (" * bbl.editor * ")" * } if$ } if$ }

FUNCTION {format.in.editors} { editor empty$ { "" } { editor format.names.ed editor num.names$ #1 > { " (" * bbl.editors * ")" * } { " (" * bbl.editor * ")" * } if$ } 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$ * } if$ }

FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ } if$ }

FUNCTION {format.full.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$ 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 empty$ { "" } { year " (" swap$ * extra.label * ")" *} if$ before.all 'output.state := }

FUNCTION {format.btitle} { title }

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$ { "" } { bbl.volume volume tie.or.space.connect series empty$ 'skip$ { bbl.of space.word * 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 = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.connect series empty$ { "there's a number but no series in " cite$ * warning$ } { bbl.in space.word * series * } 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} { 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 empty$ { "" } { output.state mid.sentence = { convert.edition "l" change.case$ " " * bbl.edition * } { convert.edition "t" change.case$ " " * bbl.edition * } 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 { bbl.pages pages n.dashify tie.or.space.connect } { bbl.page pages tie.or.space.connect } if$ } if$ }

FUNCTION {format.journal.pages} { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", " * pages n.dashify * } if$ } if$ }

FUNCTION {format.vol.num.pages} { volume field.or.null format.journal.pages }

FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { bbl.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$ { word.in booktitle emphasize * } { word.in format.in.editors * ", " * booktitle emphasize * } if$ } if$ }

FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ }

FUNCTION {format.tr.number} { type empty$ { bbl.techrep } '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 } { bbl.volume capitalize volume tie.or.space.connect bbl.of space.word * } if$ " \cite{" * crossref * "}" * }

FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * }

FUNCTION {format.publisher} { publisher empty$ { "empty publisher in " cite$ * warning$ } 'skip$ if$ "" address empty$ publisher empty$ and 'skip$ { publisher empty$ { address empty$ 'skip$ { address * } if$ } { publisher * address empty$ 'skip$ { ", " * address * } if$ } if$ } if$ output }

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" output.check "\emph{" swap$ * "}" * add.blank 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 } { 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 } { 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 output address 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.publisher 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.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.publisher 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 format.date "year" output.check date.block format.title "title" output.check new.sentence crossref missing$ { format.in.ed.booktitle "booktitle" output.check publisher empty$ { organization output address output } { organization output format.publisher } 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 format.date "year" output.check date.block format.btitle "title" output.check new.sentence organization output address 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 format.btitle "title" output.check new.sentence bbl.mthesis format.thesis.type output.nonnull school "school" output.check address 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 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 format.btitle "title" output.check new.sentence bbl.phdthesis format.thesis.type output.nonnull school "school" output.check address output format.note output fin.entry }

FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check format.bvolume output format.number.series output address output organization output publisher output 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 format.title "title" output.check new.sentence format.tr.number output.nonnull institution "institution" output.check address 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 := 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$ { 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 " "

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 `jfe.bst'.

Could you please help me?

Thank you

Mico
  • 506,678
Dadoo
  • 1
  • 1
    Which .bst file? Is it a standard one? – lhf Jul 06 '22 at 15:14
  • Welcome to TeX.se. How can we help you if you don’t even tell us what .bst file you want to change? – Alan Munn Jul 06 '22 at 15:15
  • 1
    Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Jul 06 '22 at 15:16
  • Thanks for your reply. I clarified my request in the post. – Dadoo Jul 06 '22 at 15:40
  • 1
    I see no clarification. What's the .bst you're using? – egreg Jul 06 '22 at 15:43
  • I have added the code of the .bst file. I hope this helps. Many thanks. – Dadoo Jul 06 '22 at 15:58
  • Please also add a small document and a .bib entry that uses this .bst file and produces the output you show. Is this a .bst file you created from scratch, or are you trying to modify an existing file? If you're trying to modify an existing style, please tell us what it is. Because the posted .bst file simply doesn't work. – Alan Munn Jul 06 '22 at 16:25
  • Actually, since you've cosen to omit the preamble of the bst file, it's next to impossible to tell how the file is organized. Why won't you just tell us the name of the bst file and where it may be found online? – Mico Jul 06 '22 at 16:31
  • Okay, I now created a shared dropbox folder with simplified files and the .bst file. Many thanks for your help. – Dadoo Jul 06 '22 at 16:36
  • No, that's not the way things work on the site. Please edit your question with the relevant code included. And four different people have asked you the name of the original .bst file, but you haven't yet told us. – Alan Munn Jul 06 '22 at 16:39
  • Ok, I have amended the post. I have given the name of the .bst file and posted the entire code of the .bst file. Is there anything else missing? – Dadoo Jul 06 '22 at 16:43
  • The posted .bst file does not work without errors. Do you have a link to the original source of it? – Alan Munn Jul 06 '22 at 17:37
  • The posted file (which is the one I copied) works on my computer... – Dadoo Jul 06 '22 at 17:54
  • Can anyone help me? – Dadoo Jul 06 '22 at 20:26
  • The .bst file you are working with is simply broken. It produces output if you push through and ignore the errors, but it does not make sense to modify a broken file. See the .blg file for proof. So your best solution is probably to use makebst to generate a new .bst that does work, or use a different base .bst file to start from, or use biblatex (if the journal will allow it) which is somewhat easier to customize than hacking .bst files. – Alan Munn Jul 06 '22 at 21:52

0 Answers0