plk/biblatex-apa

Avoiding ambiguity when the second-to-last author is different

Closed this issue · 12 comments

Please consider the following MWE:

\documentclass{article}
\usepackage[style=apa]{biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}[force]{\jobname.bib}
@BOOK{One,
        AUTHOR = {Author Red and Author Green and Author Black and Author Blue},
        TITLE = {Title One},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
@BOOK{Two,
        AUTHOR = {Author Red and Author Green and Author White and Author Blue},
        TITLE = {Title Two},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
@BOOK{Three,
        AUTHOR = {Author Red and Author Green and Author Blue},
        TITLE = {Title Three},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
\end{filecontents}

\begin{document}
\parencite{One,Two,Three}
\printbibliography
\end{document}

This code results in the citation (Red, Green, Black, et al., 2022; Red, Green, & Blue, 2022; Red, Green, White, et al., 2022). I believe this should be (Red, Green, Black, & Blue, 2022; Red, Green, & Blue, 2022; Red, Green, White, & Blue, 2022), since the Publication Manual (Section 8.18) says: Because “et al.” is plural (meaning “and others”), it cannot stand for only one name.

plk commented

Which version of the style are you using? I get the results you expect when I run this MWE. This case is explicitly mentioned with other additions too in the examples file distributed with the style.

FWIW I get

(Red, Green, Black, et al., 2022; Red, Green, & Blue, 2022; Red, Green, White, et al., 2022)

(which I take is not the expected output) with the current release version, on Overleaf and with the current GitHub versions of biblatex and biblatex-apa.

plk commented

I think some wrinkle in this was fixed since the last release and so I am using the DEV versions ...

Very odd. I just grabbed biblatex-apa from master, biblatex from dev and the Biber binary from Sourceforge and got

(Red, Green, Black, et al., 2022; Red, Green, & Blue, 2022; Red, Green, White, et al., 2022)

The SF Biber binary is from April. Is yours more recent?

Just like moewew I get

(Red, Green, Black, et al., 2022; Red, Green, & Blue, 2022; Red, Green, White, et al., 2022)

Please note the comma before "et al.", which is odd, too. I'm using biber development version (Linux 64bit binary) from sourceforge, biblatex development version from sourceforge and the latest biblatex-apa files from Github.

Edit: Sorry, I'm wrong. Comma before "et al." is correct in case two or more authors precede it.

plk commented

My mistake - I do get the wrong results but the regression testing doc is still fine - let me have a look at this.

Sorry about my late reply. I should have mentioned I was compiling the MWE using an up-to-date TeX Live 2022.

plk commented

Should be fixed in git - @moewew, I think I retired the code for this from the APA style a while ago as it was integrated into biblatex but it seems that the generic \blx@namesetup doesn't actually handle the case when uniquelist is one less than listtotal. For the fix I've overridden \blx@namesetup in the APA style but I wonder if this shouldn't be a biblatex fix as the plurality of "et al" is probably a general given. However, people might not expect this change, even though it's not a particularly common case?

The issue was that the regression testing test doc only had a test where the uniquelist value was equal to the listcount but the MWE above has it one less than the listtotal counter and this was a case the generic macro wasn't handling.

I agree that in principle "et al." should really be plural. But I tested

\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{filecontents}{\jobname.bib}
@BOOK{One,
        AUTHOR = {Author Red and Author Green and Author Black and Author Blue},
        TITLE = {Title One},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
@BOOK{Two,
        AUTHOR = {Author Red and Author Green and Author White and Author Blue},
        TITLE = {Title Two},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
@BOOK{Three,
        AUTHOR = {Author Red and Author Green and Author Blue},
        TITLE = {Title Three},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
\end{filecontents}

\begin{document}
\parencite{One,Two,Three,companion,aksin}

\parencite{One,Two,Three,companion,aksin}

\printbibliography
\end{document}

with the standard authoryear style as far back as Overleaf would allow me and it always "et al."d the single author Blue.

So if something changed here, it must have been a very long time ago.

I'm all for a change on the biblatex side (even more so because I find it unfortunate that a style such as biblatex-apa has to hack internal macros like this), but then we should give people an option to switch back to the old behaviour. (Or if we want to be more careful, have an option to turn on the new behaviour.)

plk commented

Have a look at biblatex dev and biblatex-apa latest master branch commit. Moved this into core with a new "pluralothers" option, default false to retain backwards compat.

Looks good so far, but I was wondering if this might not need support on the Biber side. Consider the following example

\documentclass{article}
\usepackage[style=authoryear, uniquelist=false, minnames=3, pluralothers=true]{biblatex}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{filecontents}{\jobname.bib}
@BOOK{One,
        AUTHOR = {Author Red and Author Green and Author Blue and Author Black},
        TITLE = {Title One},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
@BOOK{Two,
        AUTHOR = {Author Red and Author Green and Author Blue and Author White},
        TITLE = {Title Two},
        DATE = {2022},
        PUBLISHER = {Publisher},
}
\end{filecontents}

\begin{document}
\parencite{One,Two}

\parencite{One,Two}

\printbibliography
\end{document}

(Red, Green, Blue, and Black 2022a; Red, Green, Blue, and White 2022b)

the disambiguation letters make sense from Biber's point of view, where the output would be

(Red, Green, Blue, et al. 2022a; Red, Green, Blue, et al. 2022b)

but if we pluralothers=true we actually show the name that would disambiguate the name lists.

plk commented

Just updated biber DEV - should cope with this now - well spotted