PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausgabe von \ref je nach Abstand zwischen \ref und \label



lhiapgpeonk
08-08-2011, 19:49
Hallöchen!

Ich habe mir Befehle geschrieben um beim Referenzieren von Abbildungen, Tabellen und Anhängen immer den gleichen Text zu haben.


\newcommand{\reffig}[1]{\figurename\ \ref{#1}}
\newcommand{\refapp}[1]{\appendixname\ \ref{#1}}
\newcommand{\reftab}[1]{\tablename\ \ref{#1}}

Dieser Code funktioniert auch formidabelst. Jetzt würde ich aber gerne eine Abfrage einbauen, ob das referenzierte Objekt (außer Anhang) auf der selben Seite wie der Verweis ist, oder halt nicht. Sollte das nicht der Fall sein, so soll die Angabe lauten "Abbildung X.Y auf Seite ZZ".
Das Naheliegendste war für mich die Verwendung des Paketes ifthen. In einem anderen Forum fand ich sogar eine Definition eines solchen Befehls, den ich leicht für mich modifiziert habe.


\newcommand{\reffig}[1]{\ifthenelse{\equal{\pageref{#1}}{\thepage}}{\figu rename\ \ref{#1}}{\figurename\ \ref{#1} auf Seite \pageref{#1}}}

Wenn ich mit diesem Befehl erstelle, so produziert LaTeX einen ganzen Haufen Fehler. Der Prominenteste ist:

Illegal parameter number in definition of \reversed@a

könnt ihr mir auf die Schnelle sagen, ob das was ich vorhabe überhaupt funktioniert, und wenn ja, wie ich das bewerkstelligen muss?

Vorab schon mal vielen Dank,

Gruß
Hagen

mechanicus
08-08-2011, 20:25
Hi,

schaue dir mal das Paket hyperref an. Es bietet den Befehl autoref.

Marco

LuPi
09-08-2011, 06:19
Alternativ ist hier auch das schon etwas ältere fancyref zu erwähnen.

Xenara
09-08-2011, 07:14
Varioref kann das auch.