# The multi-letter initial trick {\relax Ch}arles doesn't work in biblatex with biber anymore

The code below used to trick biblatex into assuming that the name Charles should be abbreviated as Ch (and not as one letter C.). It still happily works if I replace the backend from biber to bibtex, but emits C. if it's used as it is.

I've tested it on more or less up-to date TeXLive 2020. On the latest TeXLive 2019 it segfaults biber (!). On fairly old TeXLive 2015 it works as supposed to.

Is there any way to create multi-letter initials using the currrent TeXLive and biber?

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{key,
author={Doe, {\relax Ch}arles},
title={Some Article Title},
journal={Some Journal},
volume={1},
year={2020}
}
\end{filecontents}
\usepackage[backend=biber,style=authoryear,firstinits=true]{biblatex}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

• See also tex.stackexchange.com/q/422938/35864. This hasn't worked for a long time. – moewe Sep 1 at 17:23
• Right! I've overlooked that question. So, I can create a sourcemap which would process {\relax Ch}arles by biber, and it'll be happily ignored by bibtex. Thank you! – Sergei Golovan Sep 1 at 17:37

You can use the extended input method:

\documentclass{article}

\begin{filecontents}[overwrite]{ch-init.bib}
@article{key,
author={given=Charles, given-i={Ch}, family=Doe},
title={Some Article Title},
journal={Some Journal},
volume={1},
year={2020}
}
\end{filecontents}
\usepackage[backend=biber,style=authoryear,uniquename=init,giveninits=true]{biblatex}

• \usepackage{filecontents} is redundant; also uniquename=init is needed to avoid a warning (biblatex will set it anyway). – egreg Sep 1 at 17:02