\pageref{xyz} nur anzeigen, wenn Bild auf anderer Seite?

Tabellen und Grafiken erstellen und anordnen


eFCiKay
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Di 26. Jan 2010, 00:04

\pageref{xyz} nur anzeigen, wenn Bild auf anderer Seite?

Beitrag von eFCiKay »

Hallo,

ich würde gerne einen Verweis auf eine Abbildung machen, die so aussehen soll:
Siehe dazu auch Abbildung \ref{xyz} auf Seite \pageref{xyz}.
Jedoch wäre es schön, wenn der Zusatz "auf Seite X" nur erscheinen würde, wenn die Abbildung auf einer anderen Seite als der Verweis selbst platziert ist.

Das kann man doch bestimmt mittels
\if
...
\else
...
\fi
einfügen, oder?

Ich hätte mir das so vorgestellt:
\ifnum\pagemark=\pageref{xyz}
Siehe dazu auch Abbildung \ref{xyz}.
\else
Siehe dazu auch Abbildung \ref{xyz} auf Seite \pageref{xyz}.
\fi
Aber das bringt den Fehler "Missing Number, treated as zero"

Muss ich das doch anders machen?

cliffhanger
Forum-Century
Forum-Century
Beiträge: 137
Registriert: Di 25. Aug 2009, 11:25
Wohnort: Regensburg

Beitrag von cliffhanger »

Hi eFCiKay,

versuchs doch mal mit dem Paket fancyref, das macht genau das was du willst. Wenn der Verweis auf die vorhergehende oder nächste Seite verweist, schreibt es sogar statt der Seitenzahl "auf der vorhergehenden/nächsten Seite".

Gruß
Benedikt

eFCiKay
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Di 26. Jan 2010, 00:04

Beitrag von eFCiKay »

Ich habe mir dank Google nun doch schon selbst helfen können, hier noch die Lösung für andere vielleicht:
\usepackage{ifthen} 

\ifthenelse    {\equal{\pageref{xyz}}{\thepage}}    {Siehe dazu auch Abbildung \ref{xyz}.}    {Siehe dazu auch Abbildung \ref{xyz} auf Seite \pageref{xyz}.}

eFCiKay
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Di 26. Jan 2010, 00:04

Beitrag von eFCiKay »

oh, da hat ja nun auch schon jemand geantwortet :)
cliffhanger hat geschrieben:Hi eFCiKay,

versuchs doch mal mit dem Paket fancyref, das macht genau das was du willst. Wenn der Verweis auf die vorhergehende oder nächste Seite verweist, schreibt es sogar statt der Seitenzahl "auf der vorhergehenden/nächsten Seite".

Gruß
Benedikt
Das werde ich mir mal anschauen, klingt interessant. Vielen Dank.
Wobei ich mit meiner jetzigen Lösung eigentlich auch schon zufrieden bin ;)

skater
Forum-Guru
Forum-Guru
Beiträge: 356
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

varioref

Beitrag von skater »

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage[german]{varioref}
\begin{document}
\chapter{Eins}
\label{eins}
Siehe dazu auch Kapitel~\vref{zwei}. Oder Kapitel~\vref{drei}.
\chapter{Zwei}
\label{zwei}
Siehe dazu auch Kapitel~\vref{eins}. Oder Kapitel~\vref{drei}.
\chapter{Drei}
\label{drei}
Siehe dazu auch Kapitel~\vref{zwei}. Oder Kapitel~\vref{eins}.
\end{document}
Weiteres dazu in der Paket-Dokumentation.

Hagen

Beitrag von Hagen »

Hallöchen!
eFCiKay hat geschrieben:
\usepackage{ifthen} 

\ifthenelse    {\equal{\pageref{xyz}}{\thepage}}    {Siehe dazu auch Abbildung \ref{xyz}.}    {Siehe dazu auch Abbildung \ref{xyz} auf Seite \pageref{xyz}.}
Diesen Code habe ich kopier und ewas verwurstet:
\newcommand{\reffig}[1]{\ifthenelse{\equal{\pageref{#1}}{\thepage}}{\figurename\ \ref{#1}}{\figurename\ \ref{#1} auf Seite \pageref{#1}}}
Leider funktioniert das nicht, ich bekomme (entsprechend meiner Dokumentlänge) 100 Fehlermeldungen:
Illegal parameter number in definition of \reserved@a
Kann mir da jemand weiterhelfen? (ifthen habe ich eingebunden)

Gruß
Hagen

Antworten