UPDATE: I've posted a patch file as well as a patched merlin.mbs that fixes this problem. If you prefer the patch option, executepatch < merlin-fix-nm-rvvc.patchin the same directory as your old merlin.mbs file. Be sure you're using the 4.20 (2007/04/24) version of merlin.mbs to start with (search through the file for the ProvidesFile line.
I just sent this to Patrick W. Daly. I think I've found two small bugs in merlin.mbs (from custom-bib), the master bibliography style used to generate many common BST files. They both involve adding an nm-rvvc near some existing nm-rvv lines.
I am referring to the 4.20 version of merlin.mbs. I think this is the latest version of the MBS file.
% \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]The bugs:
- In FUNCTION {sort.format.names} (lines 8394--8401)
I think this should be:%<*!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv>
%<!vonx> "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}"
%<vonx> "{ll{ }}{ ff{ }}{ jj{ }}"
%</!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv>
%<*nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv>
%<!vonx> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
%<vonx> "{ll{ }}{ f{ }}{ jj{ }}"
%</nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv>
Otherwise, I think this would cause problems sorting when authors might share last names and first initial.%<*!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc>
%<!vonx> "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}"
%<vonx> "{ll{ }}{ ff{ }}{ jj{ }}"
%</!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc>
%<*nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc>
%<!vonx> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
%<vonx> "{ll{ }}{ f{ }}{ jj{ }}"
%</nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc> - In FUNCTION {format.names.ed} (lines 4908--4929)
I think this should be:%<*nm-rvv>
"{f{.}.}" format.name$ duplicate$ empty$ 'skip$
{ tie.or.space.prefix bib.fname.font swap$ * }
if$
s nameptr
"{vv~}{ll}" format.name$ bib.name.font *
s nameptr
"{jj}" format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font " " swap$ * }
if$
%</nm-rvv>
%<*!nm-rvv>
"{ff}" format.name$ duplicate$ empty$ 'skip$
{ tie.or.space.prefix bib.fname.font swap$ * }
if$
s nameptr
"{vv~}{ll}" format.name$ bib.name.font *
s nameptr
"{jj}" format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font ", " swap$ * }
if$
%</!nm-rvv>
That actually looks like it will give a formatting error on output!%<*nm-rvv|nm-rvvc>
"{f{.}.}" format.name$ duplicate$ empty$ 'skip$
{ tie.or.space.prefix bib.fname.font swap$ * }
if$
s nameptr
"{vv~}{ll}" format.name$ bib.name.font *
s nameptr
"{jj}" format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font " " swap$ * }
if$
%</nm-rvv|nm-rvvc>
%<*!nm-rvv&!nm-rvvc>
"{ff}" format.name$ duplicate$ empty$ 'skip$
{ tie.or.space.prefix bib.fname.font swap$ * }
if$
s nameptr
"{vv~}{ll}" format.name$ bib.name.font *
s nameptr
"{jj}" format.name$ duplicate$ empty$ 'skip$
{ bib.fname.font ", " swap$ * }
if$
%</!nm-rvv&!nm-rvvc>
No comments:
Post a Comment