managing both "et al", and "full names" in the bibliography

Hi,

For a conference, I'm trying to modify a CSL style to obtain that kind of citation and bibliography:

Citation: [Alexander et al., 1977]

Bibliography:

[Alexander et al., 1977] Alexander C., Ishikawa S., Silverstein M. A pattern language. [s.l.] : Oxford University Press US, 1977. 1217 p. ISBN : 0195019199, 9780195019193.

I am not very comfortable with CSL and I can't manage to have both "[Alexander et al., 1977]" and "Alexander C., Ishikawa S., Silverstein M." (all authors) in the bibliography.

When I use:

<option name="et-al-min" value="3"/>
<option name="et-al-use-first" value="1"/>
<option name="et-al-subsequent-min" value="3"/>

in the section <bibliography></bibliography> the result is:

[Alexander et al., 1977] Alexander C. et al. A pattern language. [s.l.] : Oxford University Press US, 1977. 1217 p. ISBN : 0195019199, 9780195019193.

("et al" is shown instead of the whole authors names)

If I remove the options concerning "et-al" from bibliography section I obtain:

[Alexander, Ishikawa, Silverstein, 1977] Alexander C., Ishikawa S., Silverstein M. A pattern language. [s.l.] : Oxford University Press US, 1977. 1217 p. ISBN : 0195019199, 9780195019193.

(And so, the reference to citation is not correct).

How can I manage to have both correct citation and extended names in bibliography?
  • You can't do that: have different et al rules in the same context (the bibliography proper, AND the label for that entry).

    What you have here is a rather odd "label" style, where you want a special algorithm for generating that label. CSL only has support now for a simple text label. I don't recall how you specify the label in Zotero. Anyone else know?
  • Thanks for your answer... It is too bad that we could not manage this multiple rules simply!

    So, I will modify the bibliography by hand just before sending it...

    But these kinds of bibliographic style are often used in France... So Zotero and CSL software, will fail on every of these cases. For insatnce, I tried to make this one: http://w3a.umons.ac.be/~eiah2011/eiah2011.doc
  • Note that CSL 1.0 supports multiple et-al rules within a bibliographic entry: http://citationstyles.org/downloads/specification.html#inheritable-name-options

    This requires Zotero 2.1 though.
  • edited December 30, 2010
    @Rintze: Ah, OK. Would that work for this case? I assume yes ...

    Aside: there's an interesting implementation question here. In my python code, I essentially assume a variable can only print once. So once something gets printed, the variable goes away. This happens to be very convenient for handling common issues like substitutions. But it wouldn't work here.
  • edited December 30, 2010
    I would have to dig into my archives, but I think Frank's citeproc-js only prevents a variable from being printed twice when it has been substituted through cs:substitute.

    edit: confirmed, see https://groups.google.com/d/topic/citeproc-js/n7aqhB-ORPE/discussion
  • Thanks for these tips. Unfortunately I don't have time to try Zotero 2.1 & CSL 1.0 before the submission date (in a week). So I will fall back to manual edition.

    No luck for my first attempt to edit a Zotero style...
  • @Beurt - yes, sometimes it's easier to edit things manually. But I hope you'll check back and figure out how to get what you need with Zotero 2.1 and CSL 1.0 when you find some time. People here will be happy to help you.
  • edited December 31, 2010
    Can confirm that citeproc-js only prevents subsequent rendering of variables that are rendered through a cs:substitute node.

    I started with more aggressive behavior (allowing all variables to render only once), then dialed back to suppressing only repeated rendering of name variables, and then (fairly recently) restricted suppression to variables rendered through cs:substitute, for compatibility with the original Zotero processor (and, as Rintze notes below, to conform to the letter of the CSL specification).
  • @fbennett: we probably ought to standardize this behavior, however we settle on the best approach, in the CSL spec.
  • The behavior implemented in citeproc-js is already in the CSL 1.0 spec (again see the link I provided above): "Substituted variables are repressed in the rest of the output to prevent duplication."
  • Since Zotero 2.1 with CSL 1.0 is out, I'm wondering how to obtain the behavior I was looking for:

    Citation: [Alexander et al., 1977]

    Bibliography:

    [Alexander et al., 1977] Alexander C., Ishikawa S., Silverstein M. A pattern language. [s.l.] : Oxford University Press US, 1977. 1217 p. ISBN : 0195019199, 9780195019193.

    As I'm not very comfortable with XML, I don't know how to deal with this case (having different rules for 'et-al' in the same context: label & bibliography)
  • just set the attributes with the desired values on the name element nested within each of the relevant names elements. It's pretty straightforward. Take a look at the specification and the upgrade notes first, but if you get stuck feel free to post your style on http://gist.github.com/, post the link here, and ask for advice.
  • i.e. you'd have something like this in the macro section
    <macro name="author-short">
    <names variable="author">
    <name et-al-min="3" et-al-use-first="1" form="short" and="symbol" delimiter=", " initialize-with=". "/>
    <substitute>
    <names variable="editor"/>
    <names variable="translator"/>
    </substitute>
    </names>
    </macro>

    and then you call this first thing in the bibliography, with the brackets
    <text macro="author-short" prefix="[" suffix="]"/>
Sign In or Register to comment.