[XeTeX] Inactive citation links with hyperref and natbib
Heiko Oberdiek
heiko.oberdiek at googlemail.com
Thu Sep 16 15:47:57 CEST 2010
On Thu, Sep 16, 2010 at 10:50:55AM +0200, Pierre Morel wrote:
> - Babel when set to French does something to the colon character (spacing
> around colon is different in French), which interferes with the colon
> separator used for in my references
The next hyperref version 6.81p will address this issue and
sanitze all anchor names for \hyper at anchor and \hyper at anchorstart.
> - When using pdftex, it produces an error, stopping at the first reference
> of the first French part
With my test file I don't get an error message:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{natbib}
\usepackage[debug]{hyperref}
\begin{document}
\cite{au:yp}
\begin{thebibliography}{}
\bibitem[Mustermann, 2010]{au:yp}
Mustermann, H. (2010).
\newblock Test.
\end{thebibliography}
\end{document}
> - With Xetex, it doesn't say anything, it just messes with hyperref
All drivers should be fixed in 6.81p.
> My quick and dirty fix is to deactivate what babel does with the colon
> with \shorthandoff{:}, but I get incorrect spacing around the colon (not
> that bad).
Babel has \@safe at activestrue and \@safe at activesfalse to switch
the behaviour of shorthands. Hyperref 6.81p uses \@safe at activestrue
inside a group to sanitize the anchor names only.
> Switching to polyglossia makes things worse: xetex stops at the
> first reference of the first French part.
I can't reproduce it using
hyperref 6.81m and polyglossia 2010/07/27 v1.2.0a
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{natbib}
\usepackage[debug]{hyperref}
\begin{document}
\cite{au:yp}
\begin{thebibliography}{}
\tracingmacros=1
\bibitem[Mustermann, 2010]{au:yp}
Mustermann, H. (2010).
\newblock Test.
\end{thebibliography}
\end{document}
Yours sincerely
Heiko Oberdiek
More information about the XeTeX
mailing list