% Quelle: http://blog.craue.de/christian/2010/08/15/referenzen-in-latex-mit-automatischer-objektbezeichnung-und-seitenzahl-durch-kombination-von-varioref-und-cleveref/
% Christian Raue, 2010
\documentclass[parskip=half,DIV12]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[autostyle,german=quotes]{csquotes}

% intelligente Verweise mit optionaler Seitenreferenz
% (muss vor hyperref geladen werden)
\usepackage[ngerman]{varioref}
% Textblöcke für das gewünschte Ergebnis anpassen
\addto\extrasngerman{
 	\renewcommand{\reftextfaceafter}{\unskip}
	\renewcommand{\reftextfacebefore}{\unskip}
 	\renewcommand{\reftextafter}{\unskip}% ohne \unskip würde im zweiten Satz in Abschnitt "Beispiele" ein zusätzliches Leerzeichen entstehen
	\renewcommand{\reftextbefore}{\unskip}
	\renewcommand{\reftextcurrent}{\unskip}
	\renewcommand{\reftextfaraway}[1]{auf S.\,\pageref{#1}}
}

\usepackage[bookmarks=false]{hyperref}
\usepackage[figure]{hypcap}

% automatische Bezeichnungen für Referenzen wie Kapitel, Abschnitt, Tabelle usw.
% (muss nach hyperref geladen werden)
\usepackage[ngerman]{cleveref}

\newcommand{\textcmd}[1]{\textbackslash{}#1\{\}}

\begin{document}

\chapter{Referenzen}
\section{Erklärung}
\Cref{bild1} befindet sich auf dieser, \cref{bild2} auf der nächsten und \cref{bild3} auf der übernächsten Seite.

Die Befehle \textcmd{Cref} und \textcmd{cref} stammen aus dem \textsl{cleveref}-Paket. Sie erkennen den Typ des
referenzierten Objekts und stellen der numerischen Referenz die entsprechende Bezeichnung wie \enquote{Abbildung},
\enquote{Kapitel}, \enquote{Abschnitt}, \enquote{Tabelle} usw. voran.

Die Befehle \textcmd{Vref} und \textcmd{vref} stammen aus dem \textsl{varioref}-Paket. Sie ergänzen die numerische
Referenz um eine Seitenangabe (wie \enquote{auf dieser Seite}, \enquote{auf der nächsten Seite} oder \enquote{auf
Seite~23}). In Kombination mit dem \textsl{cleveref}-Paket geben diese Befehle ebenfalls die zuvor beschriebene
Bezeichnung an. \textbf{Deren Funktionsweise habe ich für meinen Zweck so angepasst, dass eine Seitenzahl nur dann
angegeben wird, wenn Objekt und Referenz mindestens zwei Seiten voneinander entfernt sind.}

Die jeweils großgeschriebene Variante sollte an Satzanfängen verwendet werden. Im Deutschen ergibt sich aufgrund der
generellen Großschreibung von Nomen zwar kein Unterschied, im Englischen z.\,B. wäre jedoch relevant, ob dort
\enquote{Figure} oder \enquote{figure} steht.

\section{Beispiele mit dem vref-Befehl}
In \vref{bild1} ist ein Vektor dargestellt.

In \vref{bild2} gibt es nichts zu sehen.

In \vref{bild3} wird ein abstraktes Gesicht gezeigt.

\section{Objekt auf selber Seite}
\begin{figure}[h]
	\centering
	\fbox{
		\begin{picture}(100,50)
			\put(3,3){\vector(3,2){50}}
		\end{picture}
	}
	\caption{Dieses Bild befindet sich auf derselben Seite wie die referenzierende Textstelle.}
	\label{bild1}
\end{figure}

\newpage
\section{Objekt auf nächster Seite}
\begin{figure}[h]
	\centering
	\fboxsep=100px
	\fbox{}
	\caption{Dieses Bild ist eine Seite von der Textstelle entfernt, an der auf es verwiesen wird.}
	\label{bild2}
\end{figure}

\newpage
\section{Objekt auf übernächster Seite}
\begin{figure}[h]
	\centering
	\fboxsep=100px
	\fbox{
		\Huge
		$\ddot\smile$
	}
	\caption{Dieses Bild ist zwei Seiten von der Textstelle entfernt, an der auf es verwiesen wird.}
	\label{bild3}
\end{figure}

\end{document}
