
Ich bin daran gehindert, einen Befehl (genannt \pref{<cross-reference>}
) für Querverweise mit cleveref
und zu erstellen varioref
. Ich möchte, dass er sich an den Kontext anpassen kann:
Erstens möchte ich das Komma entfernen können, wenn sich der Verweis auf derselben Seite befindet wie das referenzierte Objekt. Das habe ich derzeit:
Zweitens hätte ich gerne gewusst, ob es möglich ist, den Namen des Kapitels oder Abschnitts, auf den verwiesen wird, ohne Aufruf hinzuzufügen und so den Befehl mit seinem Standardverhalten in anderen Kontexten
\crefformat
verwenden zu können .\cref
Folgendes möchte ich posten können:
\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}