Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm using biblatex and wanted to add the author Kruzhkov into my Bibliography. As far as I see he is written Kru\u{z}kov

Writing him that way leads to an error as here: inputenc Error: Unicode char \u8: not set up for use with LaTeX

If I write Kru\v{z}kov instead everything works fine. I'm using the inputenc package with [utf8] option. Any ideas?

share|improve this question
    
Could you please post a minimal working example (MWE) that shows the issue. It might also be important to know, if you use bibtex or biber to compile your bibliography. –  Benedikt Bauer Apr 9 at 15:24
1  
Breve and caron are different diacritics and should not be confused. –  egreg Apr 9 at 15:27
    
as far as i am aware, unicode does not contain a character consisting of a breve over a "z". however, there is definitely a character caron (or hacek) over "z", as used in czech and some other slavic languages written in the latin alphabet. the only consonant i can thing of that has a breve over it is "g", used in (i believe) turkish. –  barbara beeton Apr 9 at 15:28
    
Hey, sorry I'm not able to provide a minimal working example. The simplest of cases doesn't work. Maybe, one of the packages I loaded has an side effect. So if both should be treated the same, I think I need to look for another way and probably use unicode or stick to the zh. Edit: And I'm using biber –  Quickbeam2k1 Apr 9 at 15:37
    
@barbarabeeton Yes, ğ is used in Turkish, while ǧ is used in the Latin Berber alphabet and in Lakota. The letter ă is used in Romanian, while ǎ is used in romanization of Chinese. –  egreg Apr 9 at 15:39

3 Answers 3

up vote 5 down vote accepted

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.

Result

share|improve this answer

The problem

Here is the needed MWE:

\begin{filecontents}{\jobname.bib}
@book{withbreve,
  author = {Kru\u{z}kov},
  title = {With Breve},
  year = 2014}
@book{withcaron,
  author = {Kru\v{z}kov},
  title = {With Caron},
  year = 2014}
\end{filecontents}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

This yields ! Package inputenc Error: Unicode char \u8:̆ not set up for use with LaTeX. The reason is that biber converts everything to Unicode, and sends the converted version back to LaTeX (in the bbl file). The difference between Caron and Breve here is that there is a precomposed Unicode character LATIN SMALL LETTER Z WITH CARON, and that can be handled by LaTeX. For the breve case instead a decomposed form is sent back, and LaTeX can't handle that.

The Fix

A fix to this example is to use \usepackage[safeinputenc]{biblatex}.

Biber needs to do conversions for lots of things, like sorting and for identifying several occurences of the same name. I think it would be better if this was an internal form used only by Biber and not something it sent back. I've reported this as an issue for biber. Even though plk disagreed he has added some more related options in the development version. (See that issue for details.)

share|improve this answer

The error is in having the breve in the first place. No language uses and this is witnessed by the fact that Unicode doesn't have a slot for it. See also Breve (Wikipedia). The glyph can only be obtained with

U+007A (LATIN SMALL LETTER Z) U+0306 (COMBINING BREVE)

and not as a precomposed character.

If the “American” transliteration of this author's name is Kruzhkov, then the correct diacritic to use is the caron: Kružkov. The error can descend bad interpretation either by a typist or by OCR software. All slavic languages written with the Latin alphabet or transliteration thereof use the caron.

In any case, the only solution is to fix the source to have \v{z}.


I believe that the author you're citing is (in American transliteration) Stanislav Nikolaevich Kruzhkov; his name is written in Russian as Станислав Николаевич Кружков (see this entry in mathru.net and the corresponding one in English). The “scientific” transliteration, better called ISO 9, of the name is

Stanislav Nikolaevič Kružkov

and it's not possible to have a breve instead of the caron. See the relevant Wikipedia page.

share|improve this answer
    
Note that, if the author is indeed from a country which uses Cyrillic as the primary alphabet, the citizens of this country will not recognize a transliteration using the caron as more correct than a transliteration using "zh". It may be written down in an ISO standard, but it is probably not the standard used by the authorities in the author's country when issuing identity documents in both scripts, for example. So the most "correct" way is to find a publication by the same author in an international journal and use the transliteration from that source, if available. –  rumtscho Apr 9 at 23:07
    
@rumtscho I'm not sure about this; I find the “American” transliteration quite imprecise. It's fairly common, I agree, but this doesn't make it “correct”. What I meant, however, is that if a diacritic is used, it must be the caron. –  egreg Apr 9 at 23:12
    
I have no knowledge about diacritics, so I will just accept that the caron is better than the breve. As for the "correct" part, I meant that there will be a spelling which the person him/herself identifies with, however poorly it represents the name from a phonetical point of view. (Actually, it is impossible to pronounce a Slavic name 100% correctly when using the sounds present in American English, but that's a different topic). This is the name written in the scientist's passport, the name he signs his mails with. This form is probably more acceptable to the person cited than the ISO one. –  rumtscho Apr 9 at 23:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.