
Estoy bloqueado para crear un comando (llamado \pref{<cross-reference>}
) para referencias cruzadas usando cleveref
y varioref
. Me gustaría que pudiera adaptarse al contexto:
Primero, me gustaría poder eliminar la coma cuando la referencia esté en la misma página que el objeto al que se hace referencia. Esto es lo que tengo actualmente:
En segundo lugar, me hubiera gustado saber si era posible agregar el nombre del capítulo o sección al que se hace referencia sin invocar
\crefformat
y así poder utilizar el comando\cref
con su comportamiento predeterminado en otros contextos.
Esto es lo que tengo actualmente:
Esto es lo que me gustaría poder publicar:
\documentclass{article}
\usepackage{varioref, hyperref, cleveref}
\setlength{\parindent}{0pt}
\def\reftextcurrent{}
\def\reftextfaraway#1{p.~\pageref{#1}}
\crefformat{figure}{#2\textsc{Fig.}~#1#3}
\crefformat{section}{#2\textsc{Sec.}~#1#3}
\newcommand{\pref}[1]{(\cref{#1}, \vpageref{#1})}
\begin{document}
\pref{fig1}\qquad\pref{sec1}
\clearpage
\pref{fig1}\qquad\pref{sec1}\\
(\cref{sec1} : \textit{\nameref{sec1}}, \vpageref{sec1})% desired behaviour
\clearpage
\section{My section}\label{sec1}
\begin{figure}
\centering\Huge Figure
\caption{Bla bla.}
\label{fig1}
\end{figure}
\pref{fig1}\qquad\pref{sec1}\\
(\cref{fig1})\qquad(\cref{sec1} : \textit{\nameref{sec1}})% desired behaviour
\clearpage
\pref{fig1}\qquad\pref{sec1}
\clearpage
\pref{fig1}\qquad\pref{sec1}
\end{document}