Unexpected interaction between biber and a special form of the given-name component of an author's "full" name
With Biber you can use the 'extended name format'. There you can specify the abbreviated form of a name part explicitly if you don't like default.
You would use
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
And would get
Sir Isaac Newton
in full, or
Sir I. Newton
in abbreviated form.
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{IsaacNewton,
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
title = {Opticks},
year = 1730,
edition = {4},
}
@misc{xyz,
author = {Zoe Zwicky},
title = {Thoughts},
year = 3001,
}
\end{filecontents*}
\documentclass{article}
\usepackage[giveninits=true,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Prompted by comments by @moewe below his great answer -- and especially by the allusion to how biber
treats material in so-called "brace groups" (any material encased in an extra pair of curly braces) -- I've come up with another working solution. It's not as thorough as the one given by @moewe, but it's quite simple, in that it requires the use of just one extra brace group to help biber
figure out what's the given-name component of the full name. Specifically, all that needs to be done is to replace
author = "{\relax Sir I}saac Newton",
with
author = "{{\relax Sir I}saac} Newton",
With the extra brace group in place, biber
does not get around to inserting a \bibnamedelimb
directive either between \relax
and Sir
or between "Sir" and the Initial "I". As a result, ordinary interword spaces get inserted. I suppose this could cause a new issue if, for some reason, \bibnamedelimb
were to be set to something that's materially different from \space
; fortunately, this doesn't appear to be the case here.
A full MWE:
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@misc{SIN0,
author = "{\relax Sir I}saac Newton",
title = "Opticks", note = "Not correct"
}
@misc{SIN1,
author = {family={Newton}, given={Sir Isaac}, given-i={Sir I}},
title = {Opticks}, note = "Correct"
}
@misc{SIN2,
author = "{{\relax Sir I}saac} Newton",
title = "Opticks", note = "Also correct"
}
\end{filecontents*}
\documentclass{article}
\usepackage[giveninits=false,backend=biber]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}