- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 10 mesi fa da .
-
Topic
-
Stavo cercando di definire un comando che mi consenta di riferirmi alle etichette usando numeri ordinali, anziché i cardinali. Ho pensato di “patchare” i comandi definiti da hyperref:
`
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{etoolbox}
\usepackage[colorlinks,linkcolor=blue]{hyperref}
\usepackage{itnumpar}\makeatletter
\def\@ordref#1#2{%
\begingroup
$\rightarrow$\patchcmd{\T@ref}{\@firstoffive}{{\expandafter#1\@firstoffive}}\relax\relax$\leftarrow$%
\ref{#2}%
\endgroup}
\newcommand\ordreff{%
\@ordref\printordinalef}
\newcommand\ordrefm{%
\@ordref\printordinalem}
\makeatletter\begin{document}
\section{Primo paragrafo}
\label{cap:primo}
\centering\fboxsep=0pt
\fbox{\ordreff{cap:primo}} \quad \fbox{\ordrefm{cap:primo}}
\end{document}`Il problema è che vengono inseriti degli spazi spuri:

Il comando \T@ref è definito in questo modo:
`
\def\T@ref#1{%
\Hy@safe@activestrue
\expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
\Hy@safe@activesfalse
}%`A chi sono dovuti gli spazi spuri? Come si risolve?
Esiste un modo migliore per fare quello che sto cercando di fare?Grazie,
Antonio
- Devi essere connesso per rispondere a questo topic.