Multiple citation separators

Is in the csl 1.0 a possibility to have different separators in a multiple citation like "(Berard 1999; Silk 1992, 1993, 1993, 1994)". One between different authors and one between different references from the same author. I search between the citation styles but I found not that what I want. I would be very happy for any help.Thanks.
  • edited April 6, 2011
    This will be fixed soon in an upcoming processor upgrade. With the upgrade, a comma will be used as the separator between cites by the same author, producing the result in your example. There is no option in CSL to control this delimiter at present, but an option to allow greater flexibility is being discussed for the future.
  • Thanks for your answer Frank. Ok than I have to find a workaround at this time, because I need it really immediately.
  • edited April 7, 2011
    If you can wait a day or so, your best bet would be to install the Zotero branch XPI when version 1.0.147 of the citeproc-js is merged to the branch. You can watch for news of that here. You'll want to switch back to 2.1.6 when it is released, so that your client will continue to update automatically to the current stable release.

    If immediate means within the next few hours, you could set up a separate Firefox profile, install the multilingual version there, move your Zotero database into it, and give it a try. The multilingual client has the latest processor installed, and it should work, although it hasn't been extensively tested. (Just to be on the safe side, you should probably plan on discarding the profile and database copy after producing your output, to avoid any possible issues in your data from exposure to the multilingual branch -- it's an experimental project at this point -- reasonably stable, but experimental just the same.)
  • Hi Frank, thanks a lot for your answer. With immediately I mean the middle of next week So the first suggestion i will try. The second: I installed it already for testing and I like it very much and I hope it will be a official version as fast as possible. But don’t want to use it for the database used for the manuscript, because a lot of people are working with the DB.

    So I will wait for the incorporation of the new citeproc-js. And try it. Please can you tell than what the appropriate code is for using my requested feature.
    Thanks!
  • Commas will be used for the comma joins in your example; you won't need to change anything in your style.
  • Great! Im looking forward for the citeproc update. Thanks!
  • Oh Frank i have two more question regarding my Style. There are no guidlines for it so I have to go case by case. Now I found two new issues.

    1. I have to sort my multiple citations like this: (Walter 2002, 2007; Zunn 2005; Silk et al. 2007; van Schaik et al. 2007; Walter et al. 2007).
    First sort after year than author, but if the first author is twice times in this citation his citation will be grouped (regardless the first sort order). Is this possible?

    2. you will see that also above. Particles in the surnames should be included in the surname and considered when alphabetizing the references and that also on the Bibliography. It should be working like mentioned http://forums.zotero.org/discussion/16456/asm-citation-styles. But it did not work with your code (https://gist.github.com/909537 ).

    I’m looking forward for any hints.
    Thanks a lot
  • Re 1, CSL 1.0 doesn't support this. The Zotero 2.1 plugin interface provides up/down arrows to adjust the order of items; you'll need to use that to get the order you want. When cites by the same author are adjacent (as for Walter, in your example), the cites will collapse.

    Re 2, in CSL 1.0 the handling of particles when sorting can be controlled, using appropriate options.
  • Thank you for your fast answer. It works. I hope there are no more surprises with this style.
  • No unpleasant ones, anyway. :)
  • @fbennett:
    Re 1, CSL 1.0 doesn't support this.
    Doesn't support what? Sorting an author group by date of first publication? So ...

    (Smith, 2000, 2010; Doe, 2005)
    ...?

    So if one sorted by date, you're saying the groups would get flattened, and hence you'd end up with ...

    (Smith, 2000; Doe, 2005; Smith, 2010)
    ...?

    If yes, I have a feeling we have some work to do on the spec around these issues.
  • edited April 12, 2011
    (Edited to correct a logical error)

    @bdarcus: The example you give would sort as: (Doe, 2005; Smith, 2000, 2010), if both primary and secondary sort keys are set for an ascending sort. In a group-and-sort algorithm, the "Doe" cite would be in the third position (because 2005 is greater than 2000). That's what the OP is looking for, and CSL 1.0, at least, doesn't support it.

    Grouping and cascading key sorts are two different things. CSL 1.0 supports the latter, but not the former. The schema doesn't currently offer a means of specifying grouping behavior. If that were added to the schema, it could be implemented.
  • edited April 12, 2011
    @fbennett - the key part of my question was "if one sorted by date"; your example sorts first by author.
  • edited April 12, 2011
    Yes. But there is no way in CSL 1.0 to specify that cites should be grouped by author (or any other field or macro output). The closest approximation is to sort by author first. If bare grouping is needed, the schema needs to provide a way of specifying it.
  • I think we're talking past each other :-)

    I'm asking, what happens now, with my example citation, if one has a style that specifies to sort the citation references by date?

    Is the #2 example I presented how citeproc-js handles it?

    If it is, this is why I say we need to discuss it on xbib-dev and/or github, because I think it would indicate some confusion and ambiguity in the spec, where this is just one example of the consequence (the other being the delimiter thing we discussed last week).
  • If the only sort key given is the date, then the cites will be sorted by date, yes. We can continue on github.
  • I wouldn't call the CSL specification confusing or ambiguous in this respect; it simply doesn't discuss the current case.

    So for the example "(Smith, 2000, 2010; Brown, 2005; Doe 2005)", perhaps we could extend CSL with something like:

    <sort>
    <key macro="issued"/>
    <key macro="author" group-matches="true"/>
    </sort>

    I.e., cites are first sorted by year of issue, e.g. "(Smith, 2000; Doe, 2005; Brown 2005; Smith 2010)", then by the rendered contributor name list "(Smith, 2000; Brown, 2005; Doe 2005; Smith 2010)", and finally cites with a matching second sort key are grouped, "(Smith, 2000, 2010; Brown, 2005; Doe 2005)".
  • oh, an interesting discussion has been developed. I wish i could contribute something more than just the desire of exactly this pattern. Thank you for the effort.
  • While the delimiter issue and the sorting issue in this thread affect the same category of citations, the sorting thing is separate from the headline issue of the thread. Further discussion should be taken up elsewhere, or in a fresh thread. In passing, though, discussions on how to resolve it are in progress within the CSL group.
  • edited April 23, 2011
    I've gone ahead and implemented grouped sorting in author-date styles in a fresh release of the citeproc-js CSL processor. It's automatic: no change to styles is required, it will just sort in that mode if citation collapsing is enabled. A simple sort on the variable "issued" will produce the result described above in this thread.

    This is a significant change to sorting behavior, but after discussions here and on the CSL list, it seems safe to just impose it on this category of styles. It will be up to the developers whether to adopt the processor in this form for the next release. If it does go forward, we'll see how accurate my intuition is.
  • (If there is to be further discussion of this sorting behavior, it should probably take place on a separate thread, since this one started off of a different issue, although a related one.)
  • edited June 29, 2011
    Hi frank,
    I have a problem with your code you wrote for me, which was working very good but now i have to change something in the document and in one reference an error occurs: (Smith 2001, 2002, [CSL STYLE ERROR: reference with no printed form.], 2006a). Normally it should look like: (see Smith et al. 2001; Smith 2002; Smith et al. 2002, 2006a). I was searching for this error in the forum but i found nothing.
    I'm working with word 2010 firefox 5.0 and zotero 2.1.8..
    Thank you for any hint.

    Update:
    May it is not really helpful! but i played a little bit around: if I update (via "Zotero refresh") my old document version now the same error occurs. but if i do this in a complete new word file and add only the four references the error is not there.
  • Your best bet would be to go through the steps for debugging broken documents, and see if that will clear up the error.
  • edited June 29, 2011
    Hi Frank,
    thank you very much for your answer. After checking the debugging steps nothing was changed. So I took a look in the code and made one change in "citation et-al-min="3"" from 1 to 3 and then it worked fine. I don’t know why it was not a problem in my previous version.

    But now i have one more question. It is about the here discussed sorting style and different separators together. Is it possible to have something like this: (Bichson 1994; Birstein 1997; 1998a,b) the same name but different years separated by semicolon and inside of one year separated by comma? Now it is like this (Bichson 1994; Birstein 1997, 1998a,b) the semicolon between the two years is missing. But if there is only one reference per year it should be like (Bichson 1994; Birstein 1997, 1999). The years are separated by comma. I think it is tricky but maybe CSL is able to do things like this.
  • This isn't possible at present: the comma + space after 1997 in your example is supplied directly by the processor, and is hard-wired. There is a development ticket for allowing this delimiter to be specified in CSL styles, but the approach hasn't been settled yet. When a solution is reached, it will feature in the next upgrade to the CSL formatting language (1.0.1).
  • Too bad, but thank you very much for the info! I will keep a look at this ticket.
Sign In or Register to comment.