& al. instead of et al.

Hi,

I want to use the csl style for this journal: http://www.myrmecologicalnews.org/.
The problem here is that this style uses "& al." I saw that it was possible to use "and others" instead of "et al.", but apparently it is not possible to specify "& al." . I guess it shouldn't be hard to implement, as there is already an option to use "and others". Is it really not possible to specify & al. or did I miss something ? Is this changed planned in a near future ?

Another problem with this style is the use of hyphen instead of n-dash...

thanks for your help.

Tim
  • you can define both as terms in the beginning of the style.
    <locale>
    <terms>
    <term name="page-range-delimiter">-</term>
    <term name="et-al">& al.</term>
    </terms>
    </locale>

    http://citationstyles.org/downloads/specification.html#locale
  • Hi Adam,
    thanks for your reply. Unfortunately this command works fine for any command I tested except "& al." ! It seems there is a problem with the & character. When I test it, at least with Papers in Word, I get ERROR_TEXT_MESSAGE instead of the citation.
  • edited April 29, 2013
    I think adamsmith meant to type "&amp;amp; al." but it got automatically converted to ampersand. Try that and it should work

    Edit: @zotero devs, interestingly, to get this to show up correctly, I had to use & amp;amp;amp; (minus the space). For whatever reason, the forum chews up one of the "amp;"s. It shows up as a double amp; in the ATOM feed. It would be quite confusing to tibr if it showed up as a double amp; in the email as well. Hopefully it doesn't.
  • Thanks a lot aurimas, it works !

    There is still one more "problem": the author names are in capitals (as they should be), but the "AL." is also in capitals but il should not. eg: I have (SMITH & AL. 2008) but would like to have (SMITH & al. 2008). is there a way to have only the "al." not in capitals ?

    thanks again !

    Tim
  • You have two options, or should do. One would be to set the text-case attribute on the et-al term to "normal". I'm not sure if this would work out, but I think it's within the specification.

    http://citationstyles.org/downloads/specification.html#et-al

    The "right way" is to use name-part subnodes. There is an example here:

    http://citationstyles.org/downloads/specification.html#name-part-formatting
  • Scratch the first suggestion I made above: text-case is not available on the et-al element.
  • Thanks Frank, I used the first option and it worked perfectly !
    I'll try to add the style to the repository... : )
  • It won't be accepted to the repository with the first option, unfortunately. The processor handles text-case on the et-al element, but that's just an accident: it's not permitted in the formal CSL grammar. The second option is just as easy, though.
  • Sorry, I didn't read carefully and thought you said I should use the first option.
    I tried the second one, but I'm not sure how to use it... I tried font-variant and font-style, but nothing seems to have any effect...Do I place it right ?

    <macro name="author-short">
    <names variable="author">
    <name form="short" font-variant="small-caps" and="symbol" delimiter-precedes-last="never" et-al-min="3" et-al-use-first="1" initialize-with=". "/>
    <name-part name="family" font-variant="normal"/>
    <substitute>
    <names variable="editor"/>
    <names variable="translator"/>
    <text macro="anon"/>
    </substitute>
    </names>
    </macro>
  • Something like this should do the trick:

    <macro name="author-short">
    <names variable="author">
    <name form="short" font-variant="small-caps"
    and="symbol" delimiter-precedes-last="never"
    et-al-min="3" et-al-use-first="1" initialize-with=". ">
    <name-part name="family" text-case="uppercase"/>
    <name-part name="given" text-case="uppercase"/>
    </name>
    <substitute>
    <names variable="editor"/>
    <names variable="translator"/>
    <text macro="anon"/>
    </substitute>/>
    </names>
    </macro>
  • no, this didn't work...
    the only way to get exactly what I want is like this:

    </macro>
    <macro name="author">
    <names variable="author">
    <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>
    <label form="short" prefix=" " suffix="." text-case="lowercase"/>
    <substitute>
    <names variable="editor"/>
    <text macro="anon"/>
    </substitute>
    </names>
    </macro>
    <macro name="author-short">
    <names variable="author">
    <name form="short" font-variant="small-caps" and="symbol" delimiter-precedes-last="never" et-al-min="3" et-al-use-first="1" initialize-with=". "/>
    <et-al term="& al." />
    <substitute>
    <names variable="editor"/>
    <names variable="translator"/>
    <text macro="anon"/>
    </substitute>/>
    </names>
    </macro>

    I guess it's ok even if it is not accepted in the repository... maybe I can still send it to the journal so that they can replace what they now have on their webpage, because it doesn't work properly...(http://www.myrmecologicalnews.org/cms/zotero/Myrmecological News.csl) at least other will be able to benefit from it, as it seems to work well...
  • edited April 29, 2013
    If you like, paste your style to http://gist.github.com, save it as a public gist, and post the url back here, and I'll take a look.

    (You really do want to be sure the style is valid CSL. Invalid code that works with my processor may break in a later version, or when run in other programs. If it's valid CSL, it will work everywhere.)
  • Thanks Frank, that's really nice of you...

    here it is: https://gist.github.com/tibr81/5481492
  • start with this:
    https://gist.github.com/adam3smith/5482092
    your style had a good chunk of problems (i.e. it didn't validate), so I'm not surprised it did weird things
  • Thanks Adam for cleaning it !
    so, i re-tried fbennett's suggestion, to use
    <name-part name="family" text-case="uppercase"/>
    <name-part name="given" text-case="uppercase"/>

    but all this does is putting author names in capitals (which I do not want, as I want "minicaps") and leaves the AL in minicaps, where I would want lowercase "& al."

    Again the only way to make it work is to use this command : <et-al term="& al." />
    but of course I tried to validate it (http://simonster.github.io/csl-validator.js/) and it doesn't work...
  • You wrote that you wanted capitals, but to get small-caps, replace:text-case="uppercase"
    with:
    font-variant="small-caps"
  • Sorry, maybe I wasn't clear, but what I want is to have "& al." in lowercase, but the author names in small-caps...
    the command <name-part ...> will apparently change the author name, but not the "al"
    the command <et-al term="& al." /> changes only the "&al." and works, but then it's not allowed for validation...
  • edited April 30, 2013
    Yes, exactly. The name-part element will change the typeface of the names only, leaving the "al" in lowercase. Obviously, after setting that up, you would remove the small-caps from the name element (the parent), since it is no longer needed there, and not wanted there either, because it affects the "al" portion.

    Your use case is not unusual, and CSL will satisfy your requirements. You just have to stay within the terms of the specification (linked above).
  • Alright, I understand... I'll make the modifications accordingly !
    thanks again for your great help !

    Tim
  • edited April 30, 2013
    you should first remove the font-variant="small-caps" from all the name elements as e.g. here
    <name form="short" font-variant="small-caps" and="symbol" delimiter-precedes-last="never" et-al-min="3" et-al-use-first="1" initialize-with=". "/>
    That's why it currently gets applied to et-all, too.
  • Yes, that's what I did, and it now works! thanks a lot ! : )

    now, just one last thing before this style is 100% correct:
    the journal requires a hyphen and not an n-dash, but the command you suggested before doesn't work:
    <term name="page-range-delimiter">-</term>
    I still get an n-dash when I test it...
  • works for me with the version of your style that I posted above. Where/how are you testing this?
  • I'm testing it with the latest version of Papers2, on Word for mac 2011, mac os 10.8.3.
    I also tested it with text edit, but nothing changes... Whatever the sign I put in page-range delimiter, it always gives an n-dash...
  • you have to ask Papers about that. It's valid and works in Zotero, if it doesn't in papers that's their bug.
  • Ok, I'll check with them...
    Thanks again for your great help! That gave me a small introduction to csl, I'll try to get more into it and maybe contribute to other styles : )
Sign In or Register to comment.