Seite 1 von 1

Package varioref: Texte verändern

Verfasst: Mi 2. Sep 2015, 00:18
von Eyli
Hallo,

ich habe ein Problem mit dem varioref Package. Ich möchte Marken von Bildern, Überschriften und Tabellen mit \vref aufrufen. Falls die Marke auf einer anderen Seite steht als der, auf der \vref aufgegerufen wird, soll zusätzlich zur Nummer der Marke auch noch die Seitennummer in Klammern stehen -> (S. x)
Ich habe es mit folgendem Code versucht:
\documentclass[12pt,ngerman]{article}
\usepackage{blindtext}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{varioref}
\addto\extrasngerman{%
	\renewcommand{\reftextfaraway}[1]{(S.~\pageref{#1})}
	\renewcommand{\reftextbefore}[1]{(S.~\pageref{#1})}
	\renewcommand{\reftextafter}[1]{(S.~\pageref{#1})}
	\renewcommand{\reftextcurrent}{}
	}
\begin{document}
	\section{Test before}\label{sec:test}
	\newpage
	\section{Test current}\label{sec:test2}
	\textbf{Verweis Test before}: Kapitel \vref{sec:test}\\
	\textbf{Verweis Test current}: Kapitel \vref{sec:test2}\\
	\textbf{Verweis Test after}: Kapitel \vref{sec:test3}\\
	\textbf{Verweis Test faraway}: Kapitel \vref{sec:test4}
	\newpage
	\section{Test after}\label{sec:test3}
	\newpage
	\section{Test faraway}\label{sec:test4}
\end{document}
current und faraway funktionieren wie gewünscht, bei before und after hingegen entstehen Fehler. Verwendet werden TeX live 2014 und TeXstudio.
Ich hoffe, es kann mir jemand weiter helfen.

Mfg Eyli

Verfasst: Mi 2. Sep 2015, 00:59
von esdd
Wenn ich die Doku richtig verstehe, erwarten \reftextbefore und \reftextafter. Du könntest aber etwas wie
\renewcommand{\reftextbefore}{(siehe vorhergehende Seite)} 
\renewcommand{\reftextafter}{(siehe nächste Seite)}


Gruß
Elke

Verfasst: Mi 2. Sep 2015, 01:09
von Eyli
Hallo Elke,
danke für deine Antwort. Leider hilft mir das nicht weiter.
Es soll in der PDF dann z.B. stehen:

In Abbildung 15 (S. 23) ist [...] zu sehen.

Und zwar auch dann, wenn das Bild auf die nächste Seite gerutscht ist. Nur wenn es auf der gleichen Seite steht, darf keinen Seitenangabe gesetzt werden.

MfG Eyli

Verfasst: Mi 2. Sep 2015, 01:13
von esdd
Dann nimm
\renewcommand\reftextafter {S.~\thevpagerefnum}
\renewcommand\reftextbefore {S.~\thevpagerefnum}
Gruß
Elke

Verfasst: Mi 2. Sep 2015, 01:18
von Eyli
Vielen Dank, so funktioniert es. :D