[tex-live] clash between babel (french), hyperref and \cite on keys with a colon character

Zdenek Wagner zdenek.wagner at gmail.com
Mon Sep 22 16:05:20 CEST 2014

2014-09-22 15:44 GMT+02:00 Vincent Lefevre <vincent at vinc17.net>:
> There's a clash between babel (french), hyperref and \cite on keys
> with a colon character. This can be seen on:
This is not a TeX Live issue but babel issue. The problem is that
double punctuation (colon, semicolon, question mark, exclamation mark)
need different spacing in French than in other languages, therefore
these characters are active. Once you load the french module, they
remain active even if you switch to another language. I am afraid that
it is not an easy tast to change it and it is considered rather a
feature, not a bug. You will have the same problems with other
characters in other languages.

> ----------------------------------------------------------------------
> \documentclass{article}
> \usepackage[french,english]{babel}
> \usepackage{hyperref}
> \begin{document}
> The following link does not work due to the space before the colon,
> added by babel in French:
> \selectlanguage{french}
> \cite{foo:bar} (foo:bar)
> The following link works:
> \selectlanguage{english}
> \cite{foo:bar} (foo:bar)
> \newpage
> \selectlanguage{english}
> \begin{thebibliography}{1}
> \bibitem{foo:bar} Foo bar.
> \end{thebibliography}
> \end{document}
> ----------------------------------------------------------------------
> This should really be fixed without requiring the user to use some
> workaround. For instance, couldn't babel redefine \cite to locally
> make the behavior like in English?
> This bug is particularly annoying since using colons in bib keys
> seems to be common.
> --
> Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Zdeněk Wagner

More information about the tex-live mailing list