Problem statement
After my recent upgrade to TeXLive 2018 (and hence to Biblatex version 3.11), the presence of a \textsc command inside a double-braced author field of a bibliography entry causes a compilation error due to an extra } in the .bbl file
This error did not occur in previous versions of Biblatex. I am looking for a workaround to this problem, ideally without having to change a significant number of entries in my .bib file.
Minimal (non-)working example (MWE)
.tex file
Save the following to my.tex:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\addbibresource{my.bib}
\begin{document}
\cite{Foo}
\printbibliography
\end{document}
.bib file
Save the following to my.bib:
@misc{Foo,
author = {{\textsc{Foo} bla}},
title = {Bla},
date = {1901},
}
Compilation and error message
Compile via
pdflatex my
biber my
pdflatex my
which yields the following error message:
(./my.bbl
! Extra }, or forgotten \endgroup.
Upon inspection, the offending code in the .bbl file seems to indeed feature one } too many:
[...]
\name{author}{1}{}{%
{{uniquename=0,uniquepart=base,hash=4e64a6262beef2c23e5c3d6f48023844}{%
family={{\textsc{Foo} bla}},
familyi={\textsc{Foo} bla}\bibinitperiod}}}%
}
[...]
Conditions under which error occurs
The error only occurs
- If the
authorfield is enclosed by double braces:author = {{...}}, - In the presence of a
\textsc{}(or\scshape) command within such anauthorfield - In Biblatex 3.11 (it did not occur before the recent upgrade)
\textsccompany names in author fields, e.g.,author = {{\textsc{Akg} Acoustics}}as opposed toauthor = {{AKG Acoustics}}. I have a hard time thinking about a way to entirely prevent the macro in this case - how else would one be able to define which part of the company name\textscapplies to? – Florian H. May 20 '18 at 20:04author = {{\textsc{Elk}, Anne}}. Or used the macro in ways where they could be removed as inauthor = {{\textsc{NASA}}}(you could use a name annotation to tell us that we are dealing with an acronym and act accordingly). – moewe May 20 '18 at 20:14author = {family={\textsc{Akg} Acoustics}},works as a workaround (as you suggested at https://tex.stackexchange.com/a/425950/38212) – Florian H. May 20 '18 at 20:19