Removing the et-al text

Hello,

I am trying to modify a numeric citation style to an author-date style. In particular, I want only the first authors family name and the year, nothing else (no et al):

E.g. [Hartmann 2011]

I got the short names list by defining a new macro and using that to generate the short names list:

<macro name="author-short">
<names variable="author">
<name et-al-min="2" form="short"/>
<et-al term="and others"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
</substitute>
</names>
</macro>

My problem is getting rid of the et al. I tried using the non-default <et-al/> term "and others" and defining a locale term for it:

<locale>
<terms>
<term name="and others"> </term>
</terms>
</locale>

But this does nothing. The complete setting for <et-al/> seems to be ignored (it doesn't change to "and others", either. If I define a local version of the et-al term, this also does not change the text (neither in the citation nor in the bibliography)..

I am using Zotero 2.1.1.

Any suggestions? I tried reading the zotero.jar!/content/zotero/xpcom/citeproc.js file, but this is a bit above me at the moment.

Thank you for your time!
  • edited March 29, 2011
    I think what's happening is that the alternative term (term="and others") only takes effect if it has a value. I'll make the setting more robust to support your intended usage, but meanwhile you should be able to get the desired effect by setting the main et-al term to an empty string in the locale, setting the "and others" term to "et al.", and using term="and others" on any name elements where you actually do want et al. to appear.
  • This is a nice idea, tried it, but doesn't do anything. I removed all <et-al/> from the file, configured the locale like this:

    <locale>
    <terms>
    <term name="and others">et al.</term>
    <term name="et-al"> </term>
    </terms>
    </locale>

    and the output stayed the same (with "et al."). I explicitly configured <et-al term="et-al"/> and still nothing. It seems the only influence I have on the et al. text is the default-locale I define for the <style> tag. Any idea where I can start in trying to understand the citeproc.js file?

    I am using the chrome://zotero/content/tools/csledit.xul to try all this, but there is no observed difference to editing the CSL file on the disc and then reloading.
  • fbennett made a comment relevant to this in http://forums.zotero.org/discussion/17197/problems-with-yearsuffixdelimiter.

    I removed the complete <locale> tag, all <et-al/> tags and set

    <name et-al-min="1" et-al-use-first="1" form="short"/>

    Still: the exact same "et al." text remains. I do like dirty hacks (somewhat), though. If it had worked, I definitely would have used it ;-)
  • I'll test this out as well, and give you a definite answer soon.
  • Your original approach to this should have worked; the processor tests out just fine when redefining either of the "et-al" or the "and others" terms to an empty string. Likely there is a syntax error in your style that is preventing your changes to the terms from taking effect.

    Here is one of the miniature styles used for testing:<style
    xmlns="http://purl.org/net/xbiblio/csl"
    class="note"
    version="1.0">
    <info>
    <id />
    <title />
    <updated>2009-08-10T04:49:00+09:00</updated>
    </info>
    <locale>
    <terms>
    <term name="and others"></term>
    </terms>
    </locale>
    <citation et-al-min="3" et-al-use-first="1">
    <layout>
    <names variable="author">
    <name />
    <et-al term="and others"/>
    </names>
    </layout>
    </citation>
    </style>
  • Thank you: with your example, I found it: I did not have the version="1.0" attribute in the style tag. Without that, I was using a mixture of 0.8.1 and 1.0, that the processor somehow accepted without complaining, but that didn't work, of course.
  • edited March 30, 2011
    Good to hear!
Sign In or Register to comment.