\ref neu definieren, sodass auch die Seitenzahl angezeigt wird?

\ref neu definieren, sodass auch die Seitenzahl angezeigt wird?

ich habe mich gewundert, anstatt see Section \ref{labelname}Produkte zu haben

siehe Abschnitt 4.1.1

ich könnte es so machen, see Section \ref{labelname}dass

siehe Abschnitt 4.1.1(Seite 65)

ist das möglich? Würde die Verwendung hyperrefdas durcheinander bringen?

Antwort1

Sie können einen Befehl definieren, wie \myref

\newcommand{\myref}[1]{\ref{#1} (p\pageref{#1})}

Dann können Sie verwenden\myref{xxx}

Antwort2

Der sauberere Weg wäre ein neues Makro wie in der Antwort von goodluck. \refKann aber auch neu definiert werden. Dies sollte so spät wie möglich erfolgen, da viele Pakete es neu definieren. In der Lösung erfolgt dies \AtBeginDocumentam Ende der Präambel, insbesondere nachdem das Paket hyperrefgeladen wurde.

Das Paket unterstützt auch hyperrefeine Sternform, die die Referenz ohne den Link generiert. Dies ist beispielsweise nützlich, wenn die Referenz Teil einer anderen Referenz ist, um verschachtelte Links zu vermeiden.

\documentclass{article}
\usepackage{hyperref}

\makeatletter
\AtBeginDocument{%
  \newcommand*{\original@ref}{}%
  \let\original@ref\ref
  \@ifpackageloaded{hyperref}{%
    \renewcommand*{\ref}{%
      \@ifstar\newrefstar\newref
    }%
    \newcommand*{\newrefstar}[1]{%
      \original@ref*{#1} \textbf{(p\pageref*{#1})}%
    }%
    \newcommand*{\newref}[1]{%
      \hyperref[#1]{\newrefstar{#1}}%
    }%
  }{%
    \renewcommand*{\ref}[1]{%
      \original@ref{#1} \textbf{(p\pageref{#1})}%
    }%
  }%
}
\makeatother

\begin{document}
\section{Introduction}
\section{Foo bar}
\subsection{Hello World}
\label{sec:hello}
This is subsection \ref{sec:hello}.
\end{document}

Referenzlink mit Seite

Antwort3

Vielleicht möchten Sie einen Blick auf dievariorefPaket mit seinem Befehl \vref. Dadurch wird die gewünschte Ausgabe generiert. Darüber hinaus hat dies keine Auswirkungen auf Ihre hyperrefEinstellungen.

verwandte Informationen