SOLVED!
The error came come the cls template i’ve used. It turns out that the the custom \DeclareFieldFormat{title}
is the culprit – by wrapping the title in \hyperref[#1]{#1}
it was telling BibLaTeX to try and create a link to a label named exactly the title text, which
• generates a spurious \let
and
• ends up with an unmatched “}”
every time it formats a title
field.
I changed:
\DeclareFieldFormat{title}{\mkbibitalic{\hyperref[#1]{#1}}}
into:
\DeclareFieldFormat{title}{\mkbibitalic{#1}}
Thanks for all the suggestions by everyone!
Debugging method:
One of the perks of setting up LaTeX in VS Code as a student is the ability to integrate GitHub Copilot, which can fetch relevant web pages and access the codebase. Using this setup, o4-mini was able to identify the mistake.