What I have done is to create another citation form to cater for et al citations on the second mention of a multi-author source. This is enabled by a variation made to the ‘Suppress’ feature in the ‘Edit Citation’ box.
First you need to create another subsection for an et al citation in the <citation> section of the stylesheet. You also have to identify the ordinary, full form citation and the et al form of citation. For example, in the <source type="Book"> subsection:
<format type="EtAl">{%CitationPrefix%}{%Author:20|Editor:20|Title%}{, %Year%{%YearSuffix%}}{, %CitationVolume%}{, %CitationPages:p.:pp.%}{%CitationSuffix%}</format>
<list name="shortauthor" id="20">
Additional code can then be inserted to allow for up to 8 permutations of citations by using different combinations of the suppression items. (This can get complicated and it took me months to sort out.)
For the present exercise to allow for et al citations:
Insert the following at Line 775, replacing existing code up to <!-- Else display error message. -->:
<!-- Get the version. This allows for additional citation forms by using the suppression feature. -->
I hope this may help.
Lionel Crator,
Tau Editing.
Professional Language Practitioner.
BL (Hons)(Rhod) LL.B (Rhod).
Member of The Professional Editors Group.
Working with words since 1981.
First you need to create another subsection for an et al citation in the <citation> section of the stylesheet. You also have to identify the ordinary, full form citation and the et al form of citation. For example, in the <source type="Book"> subsection:
<source type="Book">
<format type="full">{%CitationPrefix%}{%Author:1|Editor:1|Title%}{, %Year%{%YearSuffix%}}{, %CitationVolume%}{, %CitationPages:p.:pp.%}{%CitationSuffix%}</format><format type="EtAl">{%CitationPrefix%}{%Author:20|Editor:20|Title%}{, %Year%{%YearSuffix%}}{, %CitationVolume%}{, %CitationPages:p.:pp.%}{%CitationSuffix%}</format>
</source>
You then need to add another subsection in the <namelists> section to use in the et al form citation. I happened to use “shortauthor”, ‘Author:20’. In this subsection, you will have to set up your required style for the ‘et al’ output.
<list name="shortauthor" id="20">
<!-- Used for et al. citations, set to show 1. -->
<single_prefix></single_prefix>
<multi_prefix></multi_prefix>
<corporate>{%Corporate%}</corporate>
<first_person>{%Last%}</first_person>
<other_persons>{%Last%}</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>
<max_number_of_persons_to_display>1</max_number_of_persons_to_display>
<number_of_persons_to_display_if_more_than_max>1</number_of_persons_to_display_if_more_than_max><overflow> et al.</overflow>
<single_suffix></single_suffix>
<multi_suffix></multi_suffix>
</list>
To make this work, you have to add code in the non-variable section which starts at line 659. The subsection that formats the citations starts at line 751: <!-- Formats the citation. -->Additional code can then be inserted to allow for up to 8 permutations of citations by using different combinations of the suppression items. (This can get complicated and it took me months to sort out.)
For the present exercise to allow for et al citations:
Insert the following at Line 775, replacing existing code up to <!-- Else display error message. -->:
<!-- Get the version. This allows for additional citation forms by using the suppression feature. -->
<xsl:variable name="version">
<xsl:choose>
<!-- If only Title is suppressed, show the Et Al version. Used to output et al, with 'Author 20' --><xsl:when test="/b:Citation/b:NoTitle and not(/b:Citation/b:NoAuthor) and not(/b:Citation/b:NoYear)">
<xsl:text>EtAl</xsl:text>
</xsl:when>
<!-- Otherwise, show the full version. --><xsl:otherwise>
<xsl:text>full</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<!-- Go for the type element if available. -->
<xsl:when test="string-length($type) > 0 and string-length(msxsl:node-set($data)/citation/source[@type = $type]/format[@type = $version]) > 0 ">
<xsl:value-of select="msxsl:node-set($data)/citation/source[@type = $type]/format[@type = $version]"/>
</xsl:when>
<!-- Else go for the source type element if available. -->
<xsl:when test="string-length(msxsl:node-set($data)/citation/source[@type = $sourcetype]/format[@type = $version]) > 0 ">
<xsl:value-of select="msxsl:node-set($data)/citation/source[@type = $sourcetype]/format[@type = $version]"/>
</xsl:when>
<!-- This is a placeholder. -->
<xsl:when test ="string-length($sourcetype) = 0 and string-length(msxsl:node-set($data)/citation/source[@type = 'Placeholder']/format[@type = $version]) > 0">
<xsl:value-of select="msxsl:node-set($data)/citation/source[@type = 'Placeholder']/format[@type = $version]"/>
</xsl:when>
<!-- Else display error message. -->
This setup will output the et al form of citation, after the citation has been inserted in the normal way, by suppressing ‘Title’ in the Edit Citation box.
I hope this may help.
Lionel Crator,
Tau Editing.
Professional Language Practitioner.
BL (Hons)(Rhod) LL.B (Rhod).
Member of The Professional Editors Group.
Working with words since 1981.