bib - disambiguating references
Col. G. L. Sicherman
colonel at sunybcs.UUCP
Thu Nov 6 07:23:53 AEST 1986
Bib disambiguates only successive references. Thus if your citation
template differs from your sort template, references may not be dis-
ambiguated properly. Example:
bibl %A Abel Abel .\" bib -c3\ D | ditroff -ms
%T All about Aardvarks Much has been written about
%I Aeolipile Press aardvarks [. abel aardvarks .].
%D 1986 Some regard them as a sort
of behemoth [. abel baker behemoths .];
%A Abel Abel others consider them superior to
%A Baker Baker cats [. abel cats .].
%T Beset by Behemoths
%I Basilisk Press REFERENCES.
%D 1986
[Abel 1986]
%A Abel Abel A. Abel, _All about Aardvarks,_
%T Cats Can't Count Aeolipile Press, 1986.
%I Cat-O-Print Co.
%D 1986 [Abel and Baker 1986]
A. Abel and B. Baker, _Beset
by Behemoths,_ Basilisk Press, 1986.
[Abel 1986]
A. Abel, _Cats Can't Count,_
Cat-O-Print Co., 1986.
Here's a quick, ugly fix. The source file is bibargs.c.
-------------------------
994a995,999
> /*
> * Bug fix: if sort template != citation template, equal citation
> * strings may not be adjacent. Quick kluge is to compare all
> * strings (yuk). --the Colonel, 5 Nov 1986
> */
999,1000c1004,1006
< for (i = 0; i < numrefs-1; i = j) {
< j = i + 1;
---
> for (i = 0; i < numrefs-1; i++) {
> adstr = 'a';
> for (j = i + 1; j < numrefs; j++)
1002,1009c1008,1009
< adstr = 'a';
< for(j = i+1;
< j<numrefs && strcmp(refinfo[i].ri_cite,refinfo[j].ri_cite) == 0;
< j++) {
< adstr = 'a' + (j-i);
< refinfo[j].ri_disambig[0] = adstr;
< }
< refinfo[i].ri_disambig[0] = 'a';
---
> refinfo[i].ri_disambig[0] = 'a';
> refinfo[j].ri_disambig[0] = ++adstr;
--
Col. G. L. Sicherman
UU: ...{rocksvax|decvax}!sunybcs!colonel
CS: colonel at buffalo-cs
BI: colonel at sunybcs, csdsiche at sunyabvc
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list