Extending disambiguate-add-givenname

From komrade’s survey of major styles, it’s clear that the given name
options need to be extended. There are two possible modes
(disambiguate by cite, disambiguate by name), and two levels (use
initials, use full name). Here are the combinations that might come
up (The behavior of current Zotero is (a), if I’m not mistaken):

(a) Disambiguate all names, by initial, then by full name if necessary
(Chicago?)
(b) Disambiguate all names, by initial (–)
© Disambiguate all names, by full name (MLA)

(d) Disambiguate primary authors, by initial, then by full name if
necessary (Chicago?)
(e) Disambiguate primary authors, by initial (APA, CSE)
(f) Disambiguate primary authors, by full name (–)

(g) Disambiguate minimally by cite.

Bruce has suggested making disambiguate-add-givenname a list of
options. Here’s an initial proposal for option combinations:

(a) (a) (b) (c) (d) (e) (f) (g)

Frank

From komrade’s survey of major styles, it’s clear that the given name
options need to be extended. There are two possible modes
(disambiguate by cite, disambiguate by name), and two levels (use
initials, use full name). Here are the combinations that might come
up (The behavior of current Zotero is (a), if I’m not mistaken):

(a) Disambiguate all names, by initial, then by full name if necessary
(Chicago?)
(b) Disambiguate all names, by initial (–)
© Disambiguate all names, by full name (MLA)

(d) Disambiguate primary authors, by initial, then by full name if
necessary (Chicago?)
(e) Disambiguate primary authors, by initial (APA, CSE)
(f) Disambiguate primary authors, by full name (–)

(g) Disambiguate minimally by cite.

Might not matter, but …

Question: is the initial/full distinction specific to this option, or
general to a style?

E.g. if a style initializes given names, would there ever be a case
where the disambiguation would use the full name; or vice versa?

Bruce has suggested making disambiguate-add-givenname a list of
options. Here’s an initial proposal for option combinations:

(a)

I take you’re proposing the above to maintain compatibility?

From komrade’s survey of major styles, it’s clear that the given name
options need to be extended. There are two possible modes
(disambiguate by cite, disambiguate by name), and two levels (use
initials, use full name). Here are the combinations that might come
up (The behavior of current Zotero is (a), if I’m not mistaken):

(a) Disambiguate all names, by initial, then by full name if necessary
(Chicago?)
(b) Disambiguate all names, by initial (–)
© Disambiguate all names, by full name (MLA)

(d) Disambiguate primary authors, by initial, then by full name if
necessary (Chicago?)
(e) Disambiguate primary authors, by initial (APA, CSE)
(f) Disambiguate primary authors, by full name (–)

(g) Disambiguate minimally by cite.

Might not matter, but …

Question: is the initial/full distinction specific to this option, or
general to a style?

E.g. if a style initializes given names, would there ever be a case
where the disambiguation would use the full name; or vice versa?

Vice-versa loses information, so it would not be implemented. With
initialization, the name would be attempted with the initial, and the
full name would be attempted if the style asks for it.

I’ve checked in three tests to illustrate the interaction of
initialize-with and disambiguation in the current implementation (i.e.
option (g)). As the tests show, only one level of expansion is
performed in this case, on the assumption that a style using this
option is trying to keep things compact and tidy, and will therefore
also use year-suffix as a fallback.

Tests:

http://xbiblio.svn.sourceforge.net/viewvc/xbiblio/csl/data/std/humans/disambiguate_GivennameShortFormNoInitializeWith.txt?revision=998&view=markup
http://xbiblio.svn.sourceforge.net/viewvc/xbiblio/csl/data/std/humans/disambiguate_GivennameShortFormInitializeWith.txt?revision=998&view=markup
http://xbiblio.svn.sourceforge.net/viewvc/xbiblio/csl/data/std/humans/disambiguate_GivennameNoShortFormInitializeWith.txt?revision=998&view=markup

Frank

Dear all,

I would be most grateful if the following, or something like them,
could be added to the spec, preserving the existing option
disambiguate-add-givenname=“true”.

Many thanks,
FB

Am out of town. Will get back to you later in the week.

In the meantime, it’d be good if others could look at these two
proposals.

I’m worried about an option with a true boolean default, and then
other specific choices. It’s potentially confusing.

What if we were to move these to a new option; something like
"name-disambiguation-rule"?

That retains backward compatibility, but keeps things clear.

Bruce

Dear all,

I would be most grateful if the following, or something like them,
could be added to the spec, preserving the existing option
disambiguate-add-givenname=“true”.

I’m worried about an option with a true boolean default, and then
other specific choices. It’s potentially confusing.

You’re right.

What if we were to move these to a new option; something like
"name-disambiguation-rule"?

That retains backward compatibility, but keeps things clear.

Will change things to work this way.

Dear all,

I would be most grateful if the following, or something like them,
could be added to the spec, preserving the existing option
disambiguate-add-givenname=“true”.

I’m worried about an option with a true boolean default, and then
other specific choices. It’s potentially confusing.

You’re right.

What if we were to move these to a new option; something like
"name-disambiguation-rule"?

That retains backward compatibility, but keeps things clear.

Will change things to work this way.

Tests and code have been adjusted as recommended.