# Colon in bibliography keys incompatible with babel, biblatex and tex4ht

Keys are labeled as author:year in my BibTeX file. For example, @article{John:2000, author={John}, year={2000}, ...}. This scheme works well with pdftex, biblatex and mk4ht oolatex.

But if in addition babel is loaded with the french option, then mk4ht oolatex cannot find any BibTeX key.

In the example below it looks for John:{}2000 instead of John:2000:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french, american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=verbose]{biblatex}
\bibliography{sample.bib}

\usepackage{filecontents}
\begin{filecontents}{sample.bib}
@article{John:2000,
author={John},
title={Title},
journal={Journal},
year={2000}}
\end{filecontents}

\begin{document}
La première phrase \autocite [100] {John:2000}.
\end{document}


By running:

$latex foo$ biber foo
\$ mk4ht oolatex foo


I get this warning:

LaTeX Warning: Citation 'John:{}2000' on page 1 undefined on input line 19.


My question is: whose bug is this: tex4ht or babel? Any ideas as to how to avoid it without changing my BibTeX keys?

-

This is because french babel makes colon active, it inserts space before the colon. You can switch of this behaviour with command \shorthandoff{:} placed at the beginning of the document. Of course, it will suppress automatic inserting of spaces before colon in the whole document.
Yeah, I think I will file a bug report against it. I wish I could help the oolatex branch of tex4ht developers somehow. –  nicolai.rostov Jan 3 at 10:35