[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