A note on some fresh developments in citeproc-js land that affect the CSL
test suite.
In response to feedback on the MLZ Bluebook style, I put in some work in
citeproc-js to get backreference glosses working. The form implemented for
Bluebook support looks like this:
Smith, His Very Long Book Title (2000) [hereinafter Smith, His Book]
The tricky bits are that (a) the gloss should be applied only if there are
subsequent back-references; and (b) the note number should be included for
disambiguation purposes. A test that captures the behaviour is here:
A question for the list is whether first-reference-note-number should
always be included for disambiguation purposes, or whether it should be
discretionary. In the current implementation, it is included only if
givenname-disambiguation-rule=“by-cite” (the default). When another rule is
used, the cite to Roe in the test fixture linked above would have the
gloss, and the backreference would show the title.
While the name of givenname-disambiguation-rule suggests that it affects
only given names, the general effect of the “by-cite” rule is to make
citations as compact as possible; and dropping the gloss where is is not
strictly necessary has that effect.
While testing the implementation, I found it necessary, in styles that use
disambiguate=“true”, to force a rerun of disambiguation for first
references that are moved in the document, together with all
back-references that point to it, to assure that the document reflects the
actual disambiguation state of each reference in the set. This change in
behaviour affected three tests in the test suite:
Finally, to control the appearance of the gloss on first references, I had
to introduce a test condition (which I’ve added to the CSL-m schema) that
returns true only if there are subsequent references to the item:
A condition that tests for subsequent back-references is needed to
implement back-reference glosses, regardless of whether note numbers are
included for disambiguation purposes.
Frank