How to add "et al." to authors name in ACS

Sep 12, 2009 at 1:16 PM


    I'm helping my wife with her chemistry thesis. We're using the ACSCitSeq2 stylesheet, which has been really great so far. We do, however, encounter a problem when trying to add "et al." to the list of author names. Is there a way/hack to get Word to display this correctly?




Sep 12, 2009 at 6:38 PM
Edited Sep 12, 2009 at 6:39 PM

When you enter a source in Word, you should enter all the names. The responsibility to only show a number of names followed by "et al." is up to the stylesheet.

When you check the format strings for authors in the stylesheet, you will see something like "%Author:2%". This means that authors are formatted using the information in list 2. A bit further down you will find list 2:

      <list name="author" id="2">
        <first_person>{%Last|First|Middle%{, %First:adps|Middle:adps%{ %Middle:adps%}}}</first_person>
        <other_persons>{%Last|First|Middle%{, %First:adps|Middle:adps%{ %Middle:adps%}}}</other_persons>
        <separator_between_if_two>; </separator_between_if_two>
        <separator_between_if_more_than_two>; </separator_between_if_more_than_two>
        <separator_before_last>; </separator_before_last>
        <overflow>, et al.</overflow>

What is important in your case is max_number_of_persons_to_display, number_of_persons_to_display_if_more_than_max, and overflow.

The elements are pretty much self-explaining:

  • max_number_of_persons_to_display: how many authors can be displayed maximally. If the source has less authors than this number, then all authors will be displayed.
  • number_of_persons_to_display_if_more_than_max: if there are more authors than the number specified in the previous variable, how many should be displayed.
  • overflow: if not all the authors are displayed, what should be added after the last author is displayed.

So you will probably have to change the values of max_number_of_persons_to_display and number_of_persons_to_display_if_more_than_max to suit your needs. overflow is probably already defined as you want it. As ACS requires you to cite all authors, I did set them to 100 to be on the safe side and never have to get past those limits.

In the rare case you don't know all the authors when you enter the source, you can add "; et al." after the last author you know (I strongly advice against this). So the entry in your source could look like "Dhondt, Yves; et al.". This will result in a display like "Dhondt, Y.; et al.". This is because your "et al." will be considered the last name of a person of who you have no first name.

Sep 13, 2009 at 7:24 PM

Is it possible to do something similar in the APA style sheet? I've been trying to find similar variables to change, but without luck.



Sep 13, 2009 at 9:48 PM

The APA style is provided by Microsoft and has no connection to BibWord. As it is XSL, you can still edit it to fit your needs. It will just be a lot harder to find what you are looking for though.

For in-text citations look where the variable "cAuthors" is defined. Just beneath it you will see a loop for formatting the authors. In it, the number 6 is hardcoded. So you will probably have to play around with that number.

For bibliographies, you probably should check out the following templates

  • formatPersonsAuthor
  • formatPersonsAuthor2
  • formatPersons
  • formatPersons2

All of them contain similar code with the hardcoded number 6. I haven't checked which one does what though. So I can't comment on which one to change or not.

Sep 14, 2009 at 9:10 PM

I only wanted to change the inline citations and that was very easy with your help with the cauthors variable.

But then I noticed that Word puts a comma before et al. , so it becomes for example "Bates, et al. ".

This was also the case before I changed 6 to 2 but I hadn't noticed that, so it looks like word handles "et al" as a new author?

Can you give me any tips on how to handle that?

Sep 15, 2009 at 6:44 AM

Without testing, just below it, there is a code section looking like this:

<xsl:when test="(position() = 1 and $cAuthors > 6)">
  <xsl:call-template name="templ_prop_ListSeparator"/>
  <xsl:call-template name="templ_str_AndOthersUnCap"/>

If I'm not mistaken, this indicates that the separtor should be shown (",") followed by the string for others ("et al."). So you could try removing the line:

<xsl:call-template name="templ_prop_ListSeparator"/>

and see what you get.