[Tex/LaTex] biblatex: Putting thin spaces between initials

biblatexspacing

This question led to a new feature in a package:
biblatex

Robert Bringhurst, The Elements of Typographic Style, rule 2.1.5 states "Add little or no space within strings of initials."

If biblatex's firstinits option is enabled, "all first and middle names will be rendered as initials" (p. 54 of the manual). This, however, will put ties (~), i.e. non-breakable interword spaces between the initials. (See the .bbl-file of my compiled example.) How can I replace these ties with thin spaces (\,) and thus follow Bringhurst?

\documentclass{article}

\usepackage[firstinits=true]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{Knu86,
  author = {Knuth, Donald E.},
  year = {1986},
  title = {The \TeX book},
}
\end{filecontents}

\bibliography{\jobname}

\begin{document}

\nocite{*}

\printbibliography

\end{document}

Best Answer

[update for biber 0.9+, April 2011]

You can customise this with \bibinitdelim:

\renewrobustcmd*{\bibinitdelim}{\,}

See the biblatex manual section 3.12.4 for a list of all name spacing macros.


Old answer:

Just to update this - biber 0.8.3/biblatex 1.3 have just been released and they address this issue. Biber no longer hard codes any typsetting in names---it only uses macros which can be changed from biblatex. See section 3.11.4 of the new biblatex manual.

[removed misleading biber 0.8.2 comments which are now obsolete]

Actually, thinking about this a little more coherently, what we're going to do soon is just make this a macro in biblatex so you can redefine any initials separators in biblatex. Probably in 1.3/0.8.3