MWE and test file that shows the problem, if compiled without LuaTeX/XeTeX:
\documentclass{article}
\usepackage{ifluatex,ifxetex}
\ifluatex
\usepackage{fontspec}
\else
\ifxetex
\usepackage{fontspec}
\else
\usepackage[utf8]{inputenc}
\fi
\fi
\usepackage[
backend=biber,
]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{foobar,
author = {Kru\u{z}kov and Kru\v{z}kov},
title = {About foobar},
year = {1970},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{foobar}
\printbibliography
\end{document}
The program biber
normalizes the data input to NFD UTF-8, where all accented characters are decomposed. From its documentation:
3.2 Unicode
Biber uses NFD UTF-8 internally. All data is converted to NFD UTF-8 when read.
If UTF-8 output is requested (to .bbl for example), the UTF-8 will always be > NFC.
In the final file \jobname.bib
, the decompositions are replaced by equivalent precomposed characters, if these exist.
LaTeX → internal biber (NFD UTF-8) → output of biber (NFC UTF-8)
\v{z}
→ U+007A
(z) U+030C
(combining caron) → U+017E
(latin small letter z with caron)
\u{z}
→ U+007A
(z) U+0306
(combining breve) → U+007A
U+0306
Thus \u{z}
remains decomposed and this is a serious problem, because
TeX cannot handle combining accents easyly, if they are following the symbol.
At this time the accent is seen, the symbol is usually already set and the accent cannot modify the base symbol any more. Even worse, it does not even know
the base symbol.
Package ucs
can handle combining accents to some degree by looking ahead for combining accents. But this package is not compatible with package biblatex
.
Also it could get \u{z}
working, probably because a precomposed character does not exist for it.
LaTeX's utf8.def
for package inputenc
cannot handle them.
The following options remain:
Using \v{z}
instead of \u{z}
, probably the correct spelling anyway according to the comments.
The example runs with LuaTeX and XeTeX that can handle the Unicode combining accents.
Option safeinputenc
for package biblatex
, see pst's answer.
Using bibtex
instead of biber
as backend.
The evil characters still reside in the .bbl
file (which is read by TeX when it prints the bibliography) even after the .bib
was updated. A Biber run is required for these changes to propagate to the .bbl
.
The Biber run, however, can only succeed if the .bcf
file (which biblatex
uses to communicate with Biber) is well-formed. If the LaTeX run had to be aborted due to an error, often the .bcf
is malformed.
This can leave you in a vicious circle of malformed files. (The handling of those has changed recently, so you might be fine after a few runs if you plough on ignoring the errors).
To make sure the problem does not appear you have to remove the .bbl
and .bcf
files and recompile.
In ShareLaTeX just press the Logs & Other Files button next to Recompile and then the little dustbin at the bottom of the rightmost pane, you will be asked to confirm that you want to delete the temporary files. See also Obtaining .bbl file from sharelatex output
Best Answer
Just type in the name using UTF-8 characters: