Seite 1 von 1

Variable Definition von newcommand zur Tabellenreferenz

Verfasst: Mi 18. Sep 2013, 17:27
von AndyBrown
Hi zusammen,

ich möchte mir ein newcommand zur Referenzierung definieren, welches auf eine Tabelle verweist UND die Seite nennt, auf der diese Tabelle steht.

An sich einfach:
\newcommand{\sieheTab}[1]{siehe Tab. \ref{#1}, S. \pageref{#1}}
Das sieht allerdings besch****n aus, wenn die Tabelle auf genau DER Seite steht, von der aus \sieheTab aufgerufen wird, oder auf der nächsten.

Darum möchte ich ein Kommando, welches

1. die Seitenangabe weglässt, wenn Kommandoaufruf und Tabelle auf der selben Seite sind.

2. sagt "siehe nächste Seite", wenn die Tabelle auf der nachfolgenden Seite steht.

3. ansonsten eben die Seite angibt.

Ein Minimalbeispiel
\documentclass[openany]{book}

\newcommand{\sieheTab}[1]{siehe Tab. \ref{#1}, S. \pageref{#1}}


\begin{document}
\chapter{Blablabla}
Es gibt eine tolle Tabelle \sieheTab{tolletab} [HIER SOLLTE STEHEN: SIEHE TAB. 3, S.3]
\chapter{Blebleble}
Es gibt eine tolle Tabelle \sieheTab{tolletab} [HIER SOLLTE STEHEN: SIEHE TAB. 3, naechste Seite]
\chapter{Blobloblo}
Es gibt eine tolle Tabelle \sieheTab{tolletab} [HIER SOLLTE STEHEN: SIEHE TAB. 3]
\begin{table}
\centering
\begin{tabular}{ l c r }
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tabular}
\label{tolletab}
\caption{Das ist eine tolle Tabelle}
\end{table}
\end{document}

Vermutlich ziemlich einfach. Ich komme aber nicht drauf. Hat da jemand ne Idee?

Verfasst: Mi 18. Sep 2013, 17:36
von LuPi
Das gibt es schon, schau mal in das Paket fancyref.

http://www.ctan.org/tex-archive/macros/ ... /fancyref/

Verfasst: Mi 18. Sep 2013, 20:59
von sudo
Er gibt auch noch das varioref-Paket.