Disambiguate by adding title


I'm trying to edit the "Society for Biblical Literature" style (based on chicago) for the rules that my theological college uses.

For citations after the first citation (which is a fullnote) subsequent citations are simply "author, page(s)" (without the quotes!), unless the author has multiple entries in the bibliography in which case it is "author, title, page(s)".

I've seen in the documentation entries like disambiguate-add-names, but I was wondering if there was a way to to disambiguate with the "title" in the <citation> part of the csl file.

  • edited April 15, 2008
    I don't think such an option exists. According to SBL style guide subsequent citations should always include short title: http://www.sbl-site.org/assets/pdfs/SBLHS.pdf
  • Thanks eraz, unfortunately my college's style guide breaks with the SBL style guide at a number of points.

    I'm sure that it'll be okay if I use the published SBL style, I was just hoping that this style of disambiguation was able to be specified.

    Is there a way in the CSL specification to describe and implement this citation format?
  • You may want to suggest adding this feature on the CSL development list:

    To view existing CSL specifications you can download svn:

    More at http://dev.zotero.org/creating_citation_styles
  • Looks like there is a <disambiguate-add-title> feature already in existence (or at least being talked about on the mailing list).


    Anyway, I'll keep playing with this - it's great to having something that is so close to what I need.
  • Okay, it's not in CSL schema but it is in Zotero, so if you add it it should work already.
  • I know this has been not discussed for a while, but I was wondering, with the upcoming release of 2.0, whether the ability to disambiguate by title has been included?

    Zotero usage is growing at my theological college and this is the one thing that doesn't work which normal undergraduate students need.

  • funkydan2,

    The bad news is that the disambiguate-add-title option was removed from the CSL schema earlier this year.

    The good news is that it is now possible to test for a "disambiguate" value (i.e. "needs more disambiguation") that can be used to do the same thing, but with greater flexibility. So this use case can definitely be covered, it's just a matter of defining it in a CSL style file.
  • edited July 22, 2009
    Thanks, that sounds really useful.

    I'm not very experience with writing XML, do you know where I might see an example where someone has written this kind of thing? (I assume that this - http://www.zotero.org/support/dev/csl_syntax_summary#conditionals - is the documentation, but it's not detailed enough for my knowledge of XML.)

    What the style for my college needs is (it's a note based style, based on the SBL style).
    (1) First reference to a work is printed out in full.
    (2) Subsequent references are referred to by Author (and page) UNLESS this is ambiguous, then you disambiguate by using short (or long) title.

  • That's a good link for the basic syntax of conditions. You can find a worked example of the disambiguate="true" condition in the MLA style.

    If you make your own style based on another one, it's a good idea to give it a distinctive name, and to change the "id" string in the header (for the MLA style, it's "http://www.zotero.org/styles/mla"). That way it won't be overwritten when you update your Zotero styles.
  • That's great. Thanks heaps, particularly for the quick response.

    I'm pretty sure that I'll still have questions (which I'll post here), but that should push me in the right direction.

  • Thanks fbennett,

    I've just had a play, based on the MLA style, but I can't seem to get it to work.

    I'm wondering if the problem is the same as this thread http://forums.zotero.org/discussion/5944/proper-use-of-disambiguate/.

    My style also calls for a full bibliographic entry to be displayed the first time a work is referenced, and then for subsequent references the Author Name (+ Title if ambiguous) is necessary. If <if disambiguate="true"> is comparing the form of the first reference, then it will rarely find a 'true' case. However if it tested the subsequent form, it would work.

  • From the code of the current Zotero processor, it looks like disambiguation is based exclusively on the year of publication and the names used in the cite, without reference to the title. That suggests that cites that match in their short form (without the title) should raise disambiguate="true". But the proof is in the pudding. I'm busy with some other things and the moment, but when I get a chance I'll give the MLA style a whirl with some likely looking entries and see what happens.
  • Thanks for that

    Just to clarify, the current code is something like:

    if authors1==authors2 or year1==year2 then

    If that's the case then it should work for me. However if the condition is an 'AND' rather than an 'OR' then for my requirements it won't work.
  • I guess we should confirm the style rule first then. Suppose there are the following full-length entries in the bibliography:

    1. John Doe, My Anonymous Life (2000).
    2. John Doe, Her Anonymous Life (2000).
    3. John Doe, His Anonymous Life (2001).

    From what you say above, this would be the correct form for an in-text citation of sources (1) and (3):

    ... Blah bitty blah (Doe, My Anonyous Life 2000; Doe, His Anonymous Life 2001).

    But the following form for (1) and (3) would NOT be correct:

    ... Blah bitty blah blah (Doe, My Anonymous Life 2000; Doe 2001).

    Is that a correct understanding of the style rule?
  • Yep, that's spot on - the first option would be closer to correct (the difference is that the date is not needed).


    (The other difference, though I don't know how relevant it is for this discussion is that this is a note style, where the first in-text citation is a full bibliographic record, and any further citations are 'short' with just Author (+ Short-title if needed).)
  • Got it. In fact, an article of my own just went through proofs with a style (Bluebook, unsupported as yet by Zotero) that has exactly the same requirement -- if same author, then always add the title in subsequent references. It looks like both the existing CSL processor and my new one fall down on this -- the existing one looks at the names and the year, while mine looks at the short form of the citation, which in most cases amounts to the same thing.

    This is going to require some change in the way CSL works. It's a design decision, I'll raise it in the forum that controls these things.
  • That's fine. I was just hoping that it might work, but for my usage it isn't a 'deal breaker'. It's not too hard to put use the Editor to insert the short title manually.

    I might keep the code in my stylesheet and look forward to the time when the processor makes it work.
  • Daniel,
    For citations after the first citation (which is a fullnote) subsequent citations are simply "author, page(s)" (without the quotes!), unless the author has multiple entries in the bibliography in which case it is "author, title, page(s)".
    I should have been a wee bit more methodical in my reading of the thread. This will not require an extension to the CSL syntax, disambiguate="true" should produce the result you're after. If it doesn't, it's a glitch in the current processor that will go away when the new one is deployed.

    What I missed is that your subsequent-form citations (and those in the Bluebook style that I mentioned) do not include the date, so the citations themselves are ambiguous, if the subsequent form of the citation is used as the basis of comparison. That's what the new processor does, so it will just work in your case (and in mine).

    Sorry for the back-and-forth over this.
  • Don't worry about the back and forth, I'm just glad for your help and effort.

    If the processor should work (and by your description it should) then the problem must be in my stylesheet. Currently (with the newest beta of Zotero) when I put in references of two different books from the same author the first reference from each book is a full note reference (as expected) but subsequent references just display AuthorName.

    This is the relevant part of the style sheet:
    <option name="et-al-min" value="4"/>
    <option name="et-al-use-first" value="1"/>
    <option name="et-al-subsequent-min" value="4"/>
    <option name="et-al-subsequent-use-first" value="1"/>
    <layout prefix="" suffix="." delimiter="; ">
    <if position="subsequent">
    <group delimiter=", ">
    <text macro="contributors-short"/>
    <if disambiguate="true">
    <text macro="title-short"/>
    <text macro="point-locators-subsequent"/>
    (Sorry I don't know how to get indenting preserved on this forum.)

    I've uploaded my current version of the full styleshee http://files.getdropbox.com/u/1477131/mtc v1.5.csl

    Your help is greatly appreciated. My college (moore.edu.au) is considering whether or not to review its license for a competitors product at the end of the year and I'd love to be able to show them how well Zotero will work for their needs.
  • I think the current processor always includes the year of publication in the comparison, even if it doesn't print in the short form. But there is an explicit test for a case similar to ours in the test suite for the new processor, which shows that the machinery does what you would expect.

    The test layout is a cluttered thing in computer code, but I think you can see what it's doing. Don't know whether it will be relevant to the decision made in your university, but we'll have hundreds of these fixtures before the job is done. Test submissions that highlight glitches or needed extensions are always welcome.
  • Yes, I've looked at that test case and it appears that the current processor should do what we expect. Since it doesn't, what can I do or send to you to help this bug get fixed up?

    re the college. I don't think that this problem will be a deal breaker. The slight annoyance of needing to manually disambiguate is (in my opinion) well outweighed by the ease of use of Zotero (as well as its OSS ethic and corresponding purchase price).
  • The current processor is slated to be replaced in due course (there's no fixed timetable, but within the calendar year seems a likely horizon). Disambiguation code is extremely complex and tricky to manage, and because programmer time is limited, this is most likely to get fixed when the new processor goes live. That will take awhile, but it's definitely on its way.
  • fantastic. Thanks for your help.
  • So now it's hard-coded in the processor that disambiguate="true" if an author has more than one works cited, correct? (Seems so from my own experimentation.) Is it possible to make this user-customizable?

    I would prefer disambiguate="true" only when more than one works from the same author have been cited in the same footnote (Bluebook rule 4.2(b)).

    ps. a side question: what's the preferred behavior here: resurrecting an old thread like this, or opening a new discussion?
  • So now it's hard-coded in the processor that disambiguate="true" if an author has more than one works cited
    Not quite. It's "true" if citations would otherwise look the same. So for author-date citations it's only true when author _and_ date are the same _and_ add-year-suffix is set to false

    For your case, it may be possible to use
    and setting note-distance to 0 or 1, but I haven't tried this and if you need the near-note distances at a different value for something else
    this won't work.
  • Thanks for the prompt reply. I'm afraid using near-note position test is not a good workaround, however, as the bluebook is very specific about near note distance (5).

    I guess testing the existence of "hereinafter" variable should work, as the bluebook (the same rule cited above, 4.2(b)) requires using hereinafter to set up a short title in such situations. But I can't seem to get hereinafter to work.
  • that would be csl-m only - start a new thread or e-mail Frank directly.
  • Understood. Will do that. Thanks.
Sign In or Register to comment.