3

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}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
  • See also https://tex.stackexchange.com/q/422938/35864. This hasn't worked for a long time. – moewe Sep 01 '20 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 01 '20 at 17:37

1 Answers1

6

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} \addbibresource{ch-init.bib} \begin{document} \nocite{*} \printbibliography \end{document}

enter image description here

Ulrike Fischer
  • 327,261