Yesterday I updated my biblatex from version >= 3.8 to the most recent version, 3.11. I've been experiencing problems with a command that I use in my .bib file ever since; in particular, the 'familyi' field is different from before and has a problem with parentheses. Let's make this precise.
I have the following piece of code:
\documentclass{article}
\usepackage[backend=biber,style=authoryear,natbib=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{feuerstein,
title={Minimizing worst-case and average-case makespan over scenarios},
author={Feuerstein, Esteban and
Marchetti-Spaccamela, Alberto and
Schalekamp, Frans and Sitters, Ren{\'e} and
{\NLprefix{Ster}{Van der}{van der} Ster}, Suzanne and
Stougie, Leen and
{\NLprefix{Zuylen}{Van}{van} Zuylen}, Anke},
journal={Journal of Scheduling},
volume={20},
number={6},
pages={545--555},
year={2017},
publisher={Springer}
}
\end{filecontents*}
\bibliography{\jobname.bib}
\DeclareRobustCommand{\NLprefix}[3]{#2}
\begin{document}
\citet*{feuerstein}
\DeclareRobustCommand{\NLprefix}[3]{#3}
\printbibliography
\end{document}
The NLprefix construction is copied from https://tex.stackexchange.com/a/40750, and is meant to produce upper-case prefixes in-text, lower-case prefixes in bibliography and sort the bibliography as if there were no prefixes.
Unfortunately, the .bbl file produces
\name{author}{7}{}{%
{{uniquename=0,uniquepart=base,hash=4953fff041fab521558f23ee7cebc660}{%
family={Feuerstein},
familyi={F\bibinitperiod},
given={Esteban},
giveni={E\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=0a32a40115a59553203cbd569e19218d}{%
family={Marchetti-Spaccamela},
familyi={M\bibinithyphendelim S\bibinitperiod},
given={Alberto},
giveni={A\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=ebf8a33f26ae8d2e36a88d025f5bed8f}{%
family={Schalekamp},
familyi={S\bibinitperiod},
given={Frans},
giveni={F\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=9227ccf92c7d0a1e1a4407861c0aec33}{%
family={Sitters},
familyi={S\bibinitperiod},
given={Ren{é}},
giveni={R\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=a0f3d39e72c04ec9e4bdf2ba7c3bf780}{%
family={{\NLprefix{Ster}{Van\bibnamedelimb der}{van\bibnamedelimb der}\bibnamedelimb Ster}},
familyi={\NLprefix{Ster}{Van der}{van der} Ster}\bibinitperiod},
given={Suzanne},
giveni={S\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=b019a127d1d2c18d86097ec004f705c9}{%
family={Stougie},
familyi={S\bibinitperiod},
given={Leen},
giveni={L\bibinitperiod},
givenun=0}}%
{{uniquename=0,uniquepart=base,hash=b1a1f58dee7dc25f75d617c0f951e3ad}{%
family={{\NLprefix{Zuylen}{Van}{van}\bibnamedelimb Zuylen}},
familyi={\NLprefix{Zuylen}{Van}{van} Zuylen}\bibinitperiod},
given={Anke},
giveni={A\bibinitperiod},
givenun=0}}%
}
\list{publisher}{1}{%
{Springer}%
}
\strng{namehash}{693edd208f8c731c7a02d4978b474a99}
\strng{fullhash}{e7769ddba46ba7f649ff19ad8606ecca}
\strng{bibnamehash}{693edd208f8c731c7a02d4978b474a99}
\strng{authorbibnamehash}{693edd208f8c731c7a02d4978b474a99}
\strng{authornamehash}{693edd208f8c731c7a02d4978b474a99}
\strng{authorfullhash}{e7769ddba46ba7f649ff19ad8606ecca}
\field{sortinit}{F}
\field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72}
\field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{journaltitle}{Journal of Scheduling}
\field{number}{6}
\field{title}{Minimizing worst-case and average-case makespan over scenarios}
\field{volume}{20}
\field{year}{2017}
\field{pages}{545\bibrangedash 555}
\range{pages}{11}
\endentry
Note here the mismatch of parentheses in the familyi-field whenever \NLprefix is used. Before updating my biblatex (and all other packages), a similar piece of code (I now isolated the problem) produced the following .bbl:
\entry{feuerstein2017minimizing}{article}{}
\name{author}{7}{}{%
{{hash=4953fff041fab521558f23ee7cebc660}{%
family={Feuerstein},
familyi={F\bibinitperiod},
given={Esteban},
giveni={E\bibinitperiod}}}%
{{hash=0a32a40115a59553203cbd569e19218d}{%
family={Marchetti-Spaccamela},
familyi={M\bibinithyphendelim S\bibinitperiod},
given={Alberto},
giveni={A\bibinitperiod}}}%
{{hash=ebf8a33f26ae8d2e36a88d025f5bed8f}{%
family={Schalekamp},
familyi={S\bibinitperiod},
given={Frans},
giveni={F\bibinitperiod}}}%
{{hash=9227ccf92c7d0a1e1a4407861c0aec33}{%
family={Sitters},
familyi={S\bibinitperiod},
given={Ren{é}},
giveni={R\bibinitperiod}}}%
{{hash=a0f3d39e72c04ec9e4bdf2ba7c3bf780}{%
family={{\NLprefix{Ster}{Van\bibnamedelimb der}{van\bibnamedelimb der}\bibnamedelimb Ster}},
familyi={{\NLprefix{Ster}{Van der}{van der} Ster}\bibinitperiod},
given={Suzanne},
giveni={S\bibinitperiod}}}%
{{hash=b019a127d1d2c18d86097ec004f705c9}{%
family={Stougie},
familyi={S\bibinitperiod},
given={Leen},
giveni={L\bibinitperiod}}}%
{{hash=b1a1f58dee7dc25f75d617c0f951e3ad}{%
family={{\NLprefix{Zuylen}{Van}{van}\bibnamedelimb Zuylen}},
familyi={{\NLprefix{Zuylen}{Van}{van} Zuylen}\bibinitperiod},
given={Anke},
giveni={A\bibinitperiod}}}%
}
\list{publisher}{1}{%
{Springer}%
}
\strng{namehash}{693edd208f8c731c7a02d4978b474a99}
\strng{fullhash}{e7769ddba46ba7f649ff19ad8606ecca}
\strng{bibnamehash}{e7769ddba46ba7f649ff19ad8606ecca}
\strng{authorbibnamehash}{e7769ddba46ba7f649ff19ad8606ecca}
\strng{authornamehash}{693edd208f8c731c7a02d4978b474a99}
\strng{authorfullhash}{e7769ddba46ba7f649ff19ad8606ecca}
\field{sortinit}{F}
\field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72}
\field{extradatescope}{labelyear}
\field{labeldatesource}{year}
\field{labelprefix}{S}
\true{uniqueprimaryauthor}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{journaltitle}{Journal of Scheduling}
\field{number}{6}
\field{title}{Minimizing worst-case and average-case makespan over scenarios}
\field{volume}{20}
\field{year}{2017}
\field{pages}{545\bibrangedash 555}
\range{pages}{11}
\endentry
I'd be really happy to know why I get the mismatch in parentheses, and even happier if you can help me with a fix :)
biblatexthere are more elegant ways to achieve this. – moewe Apr 13 '18 at 09:13@UlrikeFischer: My "solution" originated from when I still used bibtex, and I hadn't figured out how to fix the upper case / lower case prefixes from the solution that you refer to. Especially the \renewbibmacro*{begentry}{\midsentence} part gave me a headache. Somehow I never got to https://tex.stackexchange.com/a/23397/160671, which solves my problem.
I appreciate all the quick replies!
– Bart Apr 13 '18 at 11:10