Thread View: net.bugs.4bsd
1 messages
1 total messages
Started by Col. G. L. Sicherman
Wed, 05 Nov 1986 21:23
bib - disambiguating references
Author: Col. G. L. Sicherman
Date: Wed, 05 Nov 1986 21:23
Date: Wed, 05 Nov 1986 21:23
58 lines
2375 bytes
2375 bytes
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@buffalo-cs
BI: colonel@sunybcs, csdsiche@sunyabvc
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads