3

I am using the hack given here as accepted solution to refer to a description list item by name instead of number. It works nicely, except when one of the words in the name ends with a non-ascii character, in which case it kills the space after it (only in the reference). Why is that? Is there a way to modify the hack that avoids this problem? I am using pdflatex with hyperref and inputenc.

A MWE:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
  \makeatletter
  \let\orgdescriptionlabel\descriptionlabel
  \renewcommand*{\descriptionlabel}[1]{%
    \let\orglabel\label
    \let\label\@gobble
    \phantomsection
    \edef\@currentlabel{#1}%
    \let\label\orglabel
    \orgdescriptionlabel{#1}%
  }
  \makeatother
\begin{document}
  \begin{description}
    \item[Arzelà and Volterra\label{av}] Reference: \ref{av}.
    \item[Arzel{à} and Volterra\label{av2}] Reference: \ref{av2}.
    \item[Arzel\`a and Volterra\label{av3}] Reference: \ref{av3}.
  \end{description}
\end{document}

An even worse problem arises with ß, which I don't need (try Weierstraß and Kummer).

quim
  • 177

1 Answers1

3

Use \protected@edef\@currentlabel{#1}%

Ulrike Fischer
  • 327,261