Disambiguate by year, not (short) title

Hello all,

I'm writing a chapter MLA style and I would like to disambiguate different works by the same author by year rather than the default (short title).

So I'd like (Butler 1990: 64) and (Butler 1996: 47) instead of (Butler Gender Trouble: 64) and (Butler Bodies that Matter: 47).

How do I go about changing this?

Also, sometimes I write about one author's work primarily and may cite another work by them just once. It is annoying to have disambiguation everywhere even if it is clear from the context which work I am referred to. How can I change this?

As you may notice, I am new to Zotero. I love to the programme, but would love to find a way around this.

Thank you kindly,
Lucy
  • For the first question you need to change the style -
    here are some general instructions
    http://www.zotero.org/support/dev/citation_styles/style_editing_step-by-step
    Specifically, you want to find this:
    <if variable="author editor translator" match="any">
    <group delimiter=", ">
    <text macro="author-short"/>
    <choose>
    <if disambiguate="true">
    <text macro="title-short"/>
    </if>

    and change it to:
    <if variable="author editor translator" match="any">
    <group delimiter=", ">
    <text macro="author-short"/>
    <choose>
    <if disambiguate="true">
    <date variable="issued">
    <date-part name="year"/>
    </date>
    </if>

    It's not possible to manually toggle disambiguation for individual citations, so your 2nd request can't be done.
  • Dear Adam,

    thank you for your comment.

    I fiddled around with your suggestion a bit:

    <if variable="author editor translator" match="any">
    <text macro="author-short"/>
    <choose>
    <if disambiguate="true">
    <group delimiter=": ">
    <date variable="issued">
    <date-part name="year"/>
    </date>
    </group>
    </if>
    </choose>

    --

    Now I get (Wilbush, 1980 260)

    But I'd like (Wilbush 1980: 260).

    What should I change?

    Thank you ever so much for your help.
  • <layout prefix="(" suffix=")" delimiter="; ">
    <group delimiter=": ">
    <choose>
    <if variable="author editor translator" match="any">
    <group delimiter=" ">
    <text macro="author-short"/>
    <choose>
    <if disambiguate="true">
    <date variable="issued">
    <date-part name="year"/>
    </date>
    </if>
    </choose>
    </group>
    </if>
    <else>
    <text macro="title-short"/>
    </else>
    </choose>
    <text variable="locator"/>
    </group>
    </layout>
  • this will always put a colon before the locator (i.e. the page number in most cases) - avoiding that is possible, but would be more cumbersome.
  • Hi Adam,

    I copied your suggestion and tried it twice, but I still get

    (Wilbush 1980 260)

    no colon..

    Any ideas?
  • edited April 27, 2012
    adamsmith's code should work. The most likely explanation is a error in the CSL syntax somewhere else in the style. If you paste the full code for the style to http://gist.github.com, save it as a "Public Gist", and post the URL from the address bar back here, we'll take a look.
  • I tested this & it works. Are you trying this in the test panel? The key part is in the second line:
    <group delimiter=": ">
  • Hi fbennett here's the github: git://gist.github.com/2513368.git

    I tried the test panel, but it only shows the uncomplicated (nondisambiguous) citation and for a normal citation with a page number without the year, it includes : before the page (Wilbush: 90)

    I was interested in a colon only after the year in cases of disambiguation.

    Thank you both for your help.
  • edited April 27, 2012
    edit: nevermind, misread your post.

    You can test the whole thing in the test panel by selecting two disambiguating references in Zotero. This will almost certainly also work in a document - to make sure Zotero updates the style after installing switch to a different style and back. But as I said, this will always add the colon.

    What do you need this style for? I don't have the time to provide the code for the colon just for disambiguation if this is just an ideosyncratic (and imho odd - either you want a colon before pages or you don't) preference.
  • edited April 27, 2012
    This should do the colon-only-after-disambiguating-year thing, and add the year to an ambiguous title as well. I haven't tested; when testing in a word processor document, note adamsmith's advice about switching away to another style and then back after updating the style (edited to address the flaw adamsmith notes below):
    <layout prefix="(" suffix=")" delimiter="; ">
    <group delimiter=" ">
    <choose>
    <if variable="author editor translator" match="any">
    <text macro="author-short"/>
    </if>
    <else>
    <text macro="title-short"/>
    </else>
    </choose>
    <choose>
    <if disambiguate="true" variable="locator" match="all">
    <date variable="issued" form="text" date-parts="year"
    suffix=":"/>
    </if>
    <else-if disambiguate="true">
    <date variable="issued" form="text" date-parts="year"/>
    </else-if>
    </choose>
    <text variable="locator"/>
    </group>
    </layout>
  • Frank - this will put a colon after the year even if there is no locator
  • edited April 27, 2012
    Oops. Will fix that.

    (edit: That should be a little better now.)
Sign In or Register to comment.