# Disambiguation: changes to test fixtures

**URL:** <https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031>\
**Category:** CSL Development\
**Created:** [July 31, 2011, 2:36am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031 "2011-07-31T02:36:34Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [July 31, 2011, 2:36am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/1 "2011-07-31T02:36:34Z")

</div>

Andrea, Sylvester:

Quite some time ago, Andrea raised an objection to the spec  
description of disambiguation behavior, which I should have addressed,  
but didn’t:

[http://xbiblio-devel.2463403.n2.nabble.com/disambiguation-one-more-tt5131926.html#a5133985](http://xbiblio-devel.2463403.n2.nabble.com/disambiguation-one-more-tt5131926.html#a5133985)

Rintze has proposed a revision that clarifies the behavior:

[https://github.com/citation-style-language/documentation/pull/16](https://github.com/citation-style-language/documentation/pull/16)

Reviewing the amendments, I was reminded of a flaw in citeproc-js,  
which in some situations was failing to drop names that do not  
contribute to disambiguation. The failure is reflected in some of the  
fixtures in the test suite. I took another look at my code, and  
managed to clean up the behavior. The effect can be seen in the  
following changeset:

[https://bitbucket.org/bdarcus/citeproc-test/changeset/e4225e251798](https://bitbucket.org/bdarcus/citeproc-test/changeset/e4225e251798)

The affected fixtures are linked below. Please take a look at them,  
and let us know whether you approve of the new behavior. The effect on  
the specification is outlined in comments to Rintze’s github pull  
request, linked above.

[https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AddNamesFailure.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AddNamesFailure.txt)  
[https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AddNamesFailureWithAddGivenname.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AddNamesFailureWithAddGivenname.txt)  
[https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AndreaEg1.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AndreaEg1.txt)  
[https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt)

Many thanks,  
Frank

---

<div class="post-metadata">

**Author:** ![Sylvester\_Keil](https://avatars.discourse-cdn.com/v4/letter/s/85e7bf/32.png) [@Sylvester\_Keil](https://discourse.citationstyles.org/u/Sylvester_Keil)\
**Post date:** [August 2, 2011, 6:25am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/2 "2011-08-02T06:25:06Z")

</div>

Frank,

bibtex-ruby does not implement any disambiguation support yet, so everything is fine by me.

In unrelated news, I am currently working on a wrapper around citeproc-js for the csl-test environment (to make it possible to access different citeproc engines through a single API) but have run into several issues with different JavaScript interpreters (using xml4e for Rhino and SpiderMonkey and xmldom for everything else). Right now the wrapper is designed to work with any of the common interpreters (V8, Rhino, SpiderMonkey, node, JavaScriptCore, or the JScript) so I wanted to ask if you were aware of any major obstacles in getting citeproc-js to work in any of them?

Many thanks  
Sylvester

---

<div class="post-metadata">

**Author:** ![andrea\_rossato2](https://avatars.discourse-cdn.com/v4/letter/a/e99b99/32.png) [@andrea\_rossato2](https://discourse.citationstyles.org/u/andrea_rossato2)\
**Post date:** [October 31, 2011, 2:19am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/3 "2011-10-31T02:19:17Z")

</div>

Hi Frank,

sorry I’m so slow in catching up… as usual.

Frank Bennett \<@Frank\_Bennett\> writes:

> Andrea, Sylvester:
> 
> Quite some time ago, Andrea raised an objection to the spec  
> description of disambiguation behavior, which I should have addressed,  
> but didn’t:
> 
> [http://xbiblio-devel.2463403.n2.nabble.com/disambiguation-one-more-tt5131926.html#a5133985](http://xbiblio-devel.2463403.n2.nabble.com/disambiguation-one-more-tt5131926.html#a5133985)
> 
> Rintze has proposed a revision that clarifies the behavior:
> 
> [Rewrite of Disambiguation section by rmzelle · Pull Request #16 · citation-style-language/documentation · GitHub](https://github.com/citation-style-language/documentation/pull/16)
> 
> Reviewing the amendments, I was reminded of a flaw in citeproc-js,  
> which in some situations was failing to drop names that do not  
> contribute to disambiguation. The failure is reflected in some of the  
> fixtures in the test suite. I took another look at my code, and  
> managed to clean up the behavior. The effect can be seen in the  
> following changeset:
> 
> [https://bitbucket.org/bdarcus/citeproc-test/changeset/e4225e251798](https://bitbucket.org/bdarcus/citeproc-test/changeset/e4225e251798)
> 
> The affected fixtures are linked below. Please take a look at them,  
> and let us know whether you approve of the new behavior. The effect on  
> the specification is outlined in comments to Rintze’s github pull  
> request, linked above.
> 
> [https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AddNamesFailure.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AddNamesFailure.txt)  
> [https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AddNamesFailureWithAddGivenname.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AddNamesFailureWithAddGivenname.txt)  
> [https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_AndreaEg1.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_AndreaEg1.txt)

Yes, I agree.

> [https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt](https://bitbucket.org/bdarcus/citeproc-test/src/beda343d95bc/processor-tests/humans/disambiguate_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt)

I’m not so sure, here. I think that instead of:

```
Asthma et al. (1990); Asthma et al. (1990);
Dropsy, Enteritis, X. Fever (2000); Dropsy, Enteritis, Y. Fever (2000)

```

it should be:

```
Asthma, Bosworth Bronchitis, et al. (1990); Asthma, Beauregarde Bronchitis, et al. (1990);
Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)

```

When disambiguate-add-names fails to disambiguate a cite, while in the  
1.0 specification all names should be shown regardless “et-al”  
limitations, the amendments now require the minimum effort to be used:

```
If cites cannot be (fully) disambiguated by expanding the rendered names,
and if ``disambiguate-add-names`` is set to "true", then the names still
hidden as a result of et-al abbreviation after the disambiguation attempt of
``disambiguate-add-names`` are added one by one to all members of a set of
ambiguous cites, until no more cites in the set can be disambiguated by
adding *expanded* names.

```

This applies also to:

1. disambiguate\_ByCiteBaseNameCountOnFailureIfYearSuffixAvailable  
Not: Asthma, Bronchitis, Cold (1990a); Asthma, Bronchitis, Cold (1990b);  
Dropsy, Enteritis, X. Fever (2000); Dropsy, Enteritis, Y. Fever (2000)

2. disambiguate\_ByCiteGivennameExpandCrossNestedNames  
Not: J. Doe, Jane Roe, Robert Jones; J. Doe, Josephine Roe, R. Jones; J. Doe, Jane Roe, Richard Jones  
But: J. Doe, Jane Roe, Robert Jones; J. Doe, Josephine Roe, et al.; J. Doe, Jane Roe, Richard Jones

3. disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable  
Not: Asthma et al. (1990); Asthma et al. (1990);  
Dropsy, Enteritis, X. Fever (2000); Dropsy, Enteritis, Y. Fever (2000)

4. disambiguate\_AllNamesBaseNameCountOnFailureIfYearSuffixAvailable: the  
first part is not correct (this is the old behavior).  
Not: Asthma, Bronchitis, Cold (1990a); Asthma, Bronchitis, Cold (1990b);  
But: Asthma et al. (1990a); Asthma et al. (1990b);

5. disambiguate\_YearSuffixAtTwoLevels: I’m not entirely sure, here.  
Not: Smith, Jones & Brown (1986a); Smith, Jones & Brown (1986b);  
Smith, Jones, Brown, et al. (1986a); Smith, Jones, Brown, et al. (1986b)  
But: Smith et al. (1986a); Smith et al. (1986b);  
Smith et al. (1986c); Smith et al. (1986d)

Other problematic tests:

- disambiguate\_ByCiteGivennameShortFormInitializeWith: initialize-with  
is set and so the full name (Smith) should be shown. And so:  
Not: Roe  
J Doe; A Doe  
Smith; Smith  
But: Roe  
J Doe; A Doe  
Thomas Smith; Ted Smith

- disambiguate\_ByCiteDisambiguateCondition: “disambiguate” condition  
should be applied _afetr_ year-suffix if the year suffix is not enough:

I would also like to address the problem of those tests implying a  
stateful processor. We could move them in a different sub-directory,  
maybe. These are the ones I remember in the disambiguate group:

disambiguate\_AllNamesSimpleSequence  
disambiguate\_DisambiguateWithThree  
disambiguate\_DisambiguateWithThree2  
disambiguate\_YearSuffixFiftyTwoEntries  
disambiguate\_YearSuffixAtTwoLevels

Thanks,–  
andrea

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [October 31, 2011, 3:10am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/4 "2011-10-31T03:10:49Z")

</div>

Andrea,

Thanks for looking carefully.

One issue is very clear. In the  
disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable test,  
by-cite disambiguation should cycle through name expansions after  
adding names to see if anything helps. The processor currently only  
attempts one “step” of name expansion with this disambiguation rule,  
which is why disambiguation doesn’t occur on the second full name in  
that pairing. It’s a known limitation at the moment, which may be a  
hangover from days before the disambiguation code was cleaned up and  
made easier to comprehend and control. I’ll look into improving on  
that when time permits. I agree that it should be possible – and if  
you have a running implementation with better behavior, the spec can  
certainly be amended to that effect.

One the last point raised (concerning  
disambiguate\_ByCiteDisambiguateCondition), applying the disambiguation  
condition after year-suffix is applied would have the same effect as  
disabling it altogether, since year-suffix always succeeds. I think  
the current behavior there is probably correct, although there must be  
very few styles that apply those rules.

Frank

---

<div class="post-metadata">

**Author:** ![andrea\_rossato2](https://avatars.discourse-cdn.com/v4/letter/a/e99b99/32.png) [@andrea\_rossato2](https://discourse.citationstyles.org/u/andrea_rossato2)\
**Post date:** [October 31, 2011, 11:21am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/5 "2011-10-31T11:21:10Z")

</div>

Frank Bennett \<@Frank\_Bennett\> writes:

> Andrea,
> 
> Thanks for looking carefully.
> 
> One issue is very clear. In the  
> disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable test,  
> by-cite disambiguation should cycle through name expansions after  
> adding names to see if anything helps. The processor currently only  
> attempts one “step” of name expansion with this disambiguation rule,  
> which is why disambiguation doesn’t occur on the second full name in  
> that pairing. It’s a known limitation at the moment, which may be a  
> hangover from days before the disambiguation code was cleaned up and  
> made easier to comprehend and control. I’ll look into improving on  
> that when time permits. I agree that it should be possible – and if  
> you have a running implementation with better behavior, the spec can  
> certainly be amended to that effect.

If I understand correctly you agree that expanding rendered names with  
initials and, if needed, given-names should be done before adding new  
names. This is the way I’m interpreting the spec and this is also the  
way citeproc-hs is coded to do.

Another way to intend disambiguation is first to try to add names one by  
one, then to try with names plus initials one by one, and then to try  
with names plus given-names one by one. This is the way citeproc-js  
seems to work. But this is not the way I interpret the spec. So the spec  
should be amended only if we think this second disambiguation algorithm  
is to be preferred.

> One the last point raised (concerning  
> disambiguate\_ByCiteDisambiguateCondition), applying the disambiguation  
> condition after year-suffix is applied would have the same effect as  
> disabling it altogether, since year-suffix always succeeds. I think  
> the current behavior there is probably correct, although there must be  
> very few styles that apply those rules.

Actually year-suffix always succeeds because you add a suffix even when  
there is no year. See:

date\_YearSuffixWithNoDate  
date\_YearSuffixImplicitWithNoDate

which produce:

```
(John Doe n.d.-a [Accessed: June 01, 1965]; John Doe n.d.-b [Accessed: June 01, 2065])

```

I must confess that I do not like this solution very much. Actually I  
think that the last disambiguation step (evaluating the style with the  
disambiguate condition set to true) was intended exactly to deal with  
cases where there is not a year to add a suffix to.

On the other hand I understand there may be use cases I’m not aware of  
(which means nothing, BTW) that dictate for such a behavior. If this is  
true the spec should be amended so that the fifth step becomes the  
fourth and the year-suffix is also to be applied to the “no date” term  
when it is used. Still, what happens when it is not used?

Andrea

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [October 31, 2011, 11:36am UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/6 "2011-10-31T11:36:00Z")

</div>

> Frank Bennett \<@Frank\_Bennett\> writes:
> 
> > Andrea,
> > 
> > Thanks for looking carefully.
> > 
> > One issue is very clear. In the  
> > disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable test,  
> > by-cite disambiguation should cycle through name expansions after  
> > adding names to see if anything helps. The processor currently only  
> > attempts one “step” of name expansion with this disambiguation rule,  
> > which is why disambiguation doesn’t occur on the second full name in  
> > that pairing. It’s a known limitation at the moment, which may be a  
> > hangover from days before the disambiguation code was cleaned up and  
> > made easier to comprehend and control. I’ll look into improving on  
> > that when time permits. I agree that it should be possible – and if  
> > you have a running implementation with better behavior, the spec can  
> > certainly be amended to that effect.
> 
> If I understand correctly you agree that expanding rendered names with  
> initials and, if needed, given-names should be done before adding new  
> names. This is the way I’m interpreting the spec and this is also the  
> way citeproc-hs is coded to do.
> 
> Another way to intend disambiguation is first to try to add names one by  
> one, then to try with names plus initials one by one, and then to try  
> with names plus given-names one by one. This is the way citeproc-js  
> seems to work. But this is not the way I interpret the spec. So the spec  
> should be amended only if we think this second disambiguation algorithm  
> is to be preferred.

I can see how it would result in an earlier termination in some cases.  
I’m not sure when I’d find the time for the revisions to the  
processor. What do you think, do you prefer that method (i.e. running  
the full add/expand cycle on each name as it is added)?

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [October 31, 2011, 1:37pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/7 "2011-10-31T13:37:59Z")

</div>

By the way, it is probably better to look at

> <https://github.com/citation-style-language/documentation/blob/master/specification.txt>

  
for  
the most recent version of the description for disambiguation. I rewrote  
some stuff after the pull request Frank linked to. In rendered form (pulled  
straight from the repo):

[http://rst.projectfondue.com/api/v1/rst2html/?rst\_url=https%3A%2F%2Fraw.github.com%2Fcitation-style-language%2Fdocumentation%2Fmaster%2Fspecification.txt&css\_url=http%3A%2F%2Fcitation-style-language.github.com%2Fstyles%2Fcss%2Fscreen.css&output\_type=html&callback=&document\_output=whole&highlight\_style=manni](http://rst.projectfondue.com/api/v1/rst2html/?rst_url=https%3A%2F%2Fraw.github.com%2Fcitation-style-language%2Fdocumentation%2Fmaster%2Fspecification.txt&css_url=http%3A%2F%2Fcitation-style-language.github.com%2Fstyles%2Fcss%2Fscreen.css&output_type=html&callback=&document_output=whole&highlight_style=manni)

RintzeOn Mon, Oct 31, 2011 at 7:36 AM, Frank Bennett \<@Frank\_Bennett\>wrote:

---

<div class="post-metadata">

**Author:** ![andrea\_rossato2](https://avatars.discourse-cdn.com/v4/letter/a/e99b99/32.png) [@andrea\_rossato2](https://discourse.citationstyles.org/u/andrea_rossato2)\
**Post date:** [October 31, 2011, 1:50pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/8 "2011-10-31T13:50:07Z")

</div>

Rintze Zelle \<@Rintze\_Zelle\> writes:

> By the way, it is probably better to look  
> at [GitHub - citation-style-language/documentation: Citation Style Language documentation](https://github.com/citation-style-language/documentation/blob/master/)  
> specification.txt for the most recent version of the description for  
> disambiguation. I rewrote some stuff after the pull request Frank  
> linked to. In rendered form (pulled straight from the repo):

the discussion is indeed about the impact of this version of the spec  
(and on the fact that when add-names fails to disambiguate now the added  
names are not retained anymore as we used to in the 1.0 specification).

Andrea

---

<div class="post-metadata">

**Author:** ![andrea\_rossato2](https://avatars.discourse-cdn.com/v4/letter/a/e99b99/32.png) [@andrea\_rossato2](https://discourse.citationstyles.org/u/andrea_rossato2)\
**Post date:** [October 31, 2011, 1:53pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/9 "2011-10-31T13:53:08Z")

</div>

Frank Bennett \<@Frank\_Bennett\> writes:\> On Mon, Oct 31, 2011 at 11:21 AM, andrea rossato \> \<@andrea\_rossato2\> wrote:

> > Frank Bennett \<@Frank\_Bennett\> writes:
> > 
> > > Andrea,
> > > 
> > > Thanks for looking carefully.
> > > 
> > > One issue is very clear. In the  
> > > disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable test,  
> > > by-cite disambiguation should cycle through name expansions after  
> > > adding names to see if anything helps. The processor currently only  
> > > attempts one “step” of name expansion with this disambiguation rule,  
> > > which is why disambiguation doesn’t occur on the second full name in  
> > > that pairing. It’s a known limitation at the moment, which may be a  
> > > hangover from days before the disambiguation code was cleaned up and  
> > > made easier to comprehend and control. I’ll look into improving on  
> > > that when time permits. I agree that it should be possible – and if  
> > > you have a running implementation with better behavior, the spec can  
> > > certainly be amended to that effect.
> > 
> > If I understand correctly you agree that expanding rendered names with  
> > initials and, if needed, given-names should be done before adding new  
> > names. This is the way I’m interpreting the spec and this is also the  
> > way citeproc-hs is coded to do.
> > 
> > Another way to intend disambiguation is first to try to add names one by  
> > one, then to try with names plus initials one by one, and then to try  
> > with names plus given-names one by one. This is the way citeproc-js  
> > seems to work. But this is not the way I interpret the spec. So the spec  
> > should be amended only if we think this second disambiguation algorithm  
> > is to be preferred.
> 
> I can see how it would result in an earlier termination in some cases.  
> I’m not sure when I’d find the time for the revisions to the  
> processor. What do you think, do you prefer that method (i.e. running  
> the full add/expand cycle on each name as it is added)?

I’m not sure but I think running the full add/expand cycle on each name  
as it is added permits to have fewer names and thus a smaller impact on  
the “et-al” settings. For me it is also easier to code – but I’m not  
sure, since I didn’t try the other method.

Andrea

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [October 31, 2011, 2:20pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/10 "2011-10-31T14:20:34Z")

</div>

> Frank Bennett \<@Frank\_Bennett\> writes:
> 
> > > Frank Bennett \<@Frank\_Bennett\> writes:
> > > 
> > > > Andrea,
> > > > 
> > > > Thanks for looking carefully.
> > > > 
> > > > One issue is very clear. In the  
> > > > disambiguate\_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable test,  
> > > > by-cite disambiguation should cycle through name expansions after  
> > > > adding names to see if anything helps. The processor currently only  
> > > > attempts one “step” of name expansion with this disambiguation rule,  
> > > > which is why disambiguation doesn’t occur on the second full name in  
> > > > that pairing. It’s a known limitation at the moment, which may be a  
> > > > hangover from days before the disambiguation code was cleaned up and  
> > > > made easier to comprehend and control. I’ll look into improving on  
> > > > that when time permits. I agree that it should be possible – and if  
> > > > you have a running implementation with better behavior, the spec can  
> > > > certainly be amended to that effect.
> > > 
> > > If I understand correctly you agree that expanding rendered names with  
> > > initials and, if needed, given-names should be done before adding new  
> > > names. This is the way I’m interpreting the spec and this is also the  
> > > way citeproc-hs is coded to do.
> > > 
> > > Another way to intend disambiguation is first to try to add names one by  
> > > one, then to try with names plus initials one by one, and then to try  
> > > with names plus given-names one by one. This is the way citeproc-js  
> > > seems to work. But this is not the way I interpret the spec. So the spec  
> > > should be amended only if we think this second disambiguation algorithm  
> > > is to be preferred.
> > 
> > I can see how it would result in an earlier termination in some cases.  
> > I’m not sure when I’d find the time for the revisions to the  
> > processor. What do you think, do you prefer that method (i.e. running  
> > the full add/expand cycle on each name as it is added)?
> 
> I’m not sure but I think running the full add/expand cycle on each name  
> as it is added permits to have fewer names and thus a smaller impact on  
> the “et-al” settings. For me it is also easier to code – but I’m not  
> sure, since I didn’t try the other method.

That sounds right to me.

Rintze: If the discussion here is clear, would any change to spec be  
needed to specify clearly the behavior Andrea has implemented, or did  
I just misread (or mis-write) the docs?

---

<div class="post-metadata">

**Author:** ![Rintze\_Zelle](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/rintze_zelle/32/175_2.png) [@Rintze\_Zelle](https://discourse.citationstyles.org/u/Rintze_Zelle)\
**Post date:** [October 31, 2011, 3:07pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/11 "2011-10-31T15:07:26Z")

</div>

@Frank: we had a chat about this very topic on August 2nd, where we seemed  
to agree to add the minimum number of names.

In my reading of the spec, this is what is required ( **emphasis mine** ):On Mon, Oct 31, 2011 at 10:20 AM, Frank Bennett \<@Frank\_Bennett\>wrote:

> > I’m not sure but I think running the full add/expand cycle on each name  
> > as it is added permits to have fewer names and thus a smaller impact on  
> > the “et-al” settings. For me it is also easier to code – but I’m not  
> > sure, since I didn’t try the other method.
> 
> That sounds right to me.
> 
> Rintze: If the discussion here is clear, would any change to spec be  
> needed to specify clearly the behavior Andrea has implemented, or did  
> I just misread (or mis-write) the docs?

* * *

“all-names”  
Name expansion has the dual purpose of disambiguating cites and names. All  
rendered ambiguous names, in both ambiguous and umambiguous cites, are  
subject to disambiguation. **Each name is progressively transformed until  
it is disambiguated.** Names that can not be disambiguated remain in their  
original form.

“by-cite”  
Default. As “all-names”, but the goal of name expansion is limited to  
disambiguating cites. Only ambiguous names in ambiguous cites are affected,  
and **disambiguation stops after the first name that eliminates cite  
ambiguity**.

* * *

Rintze

---

<div class="post-metadata">

**Author:** ![Frank\_Bennett](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.citationstyles.org/frank_bennett/32/198_2.png) [@Frank\_Bennett](https://discourse.citationstyles.org/u/Frank_Bennett)\
**Post date:** [October 31, 2011, 8:46pm UTC](https://discourse.citationstyles.org/t/disambiguation-changes-to-test-fixtures/1031/12 "2011-10-31T20:46:35Z")

</div>

> > > I’m not sure but I think running the full add/expand cycle on each name  
> > > as it is added permits to have fewer names and thus a smaller impact on  
> > > the “et-al” settings. For me it is also easier to code – but I’m not  
> > > sure, since I didn’t try the other method.
> > 
> > That sounds right to me.
> > 
> > Rintze: If the discussion here is clear, would any change to spec be  
> > needed to specify clearly the behavior Andrea has implemented, or did  
> > I just misread (or mis-write) the docs?
> 
> ## @Frank: we had a chat about this very topic on August 2nd, where we seemed to agree to add the minimum number of names. In my reading of the spec, this is what is required ( **emphasis mine** ):
> 
> “all-names”  
> Name expansion has the dual purpose of disambiguating cites and names. All  
> rendered ambiguous names, in both ambiguous and umambiguous cites, are  
> subject to disambiguation. **Each name is progressively transformed until it  
> is disambiguated.** Names that can not be disambiguated remain in their  
> original form.  
> “by-cite”  
> Default. As “all-names”, but the goal of name expansion is limited to  
> disambiguating cites. Only ambiguous names in ambiguous cites are affected,  
> and **disambiguation stops after the first name that eliminates cite  
> ambiguity**.

Yup, that’s clear. Sorry for being lazy; I was about to doze off.
