Hallo,
ich schreibe zur Zeit meine Bachelorarbeit in Latex, und verwende zum Referenzieren das Paket fancyref. Dabei stört mich allerdings die Verwendung von "auf der nächsten Seite", bzw. "auf der vorherigen Seite".
Kurz: die Referenzierung soll die Seiten immer mit der Seitenzahl angeben, außer wenn das referenzierte Objekt auf der aktuellen Seite ist. Dann soll die Seitenangabe gänzlich entfallen.
Kann ich das irgendwie mit fancyref hinkriegen, oder muss ich ein anderes Paket verwenden?
Gruß,
ierdsebulli
Fancy Ref ohne "auf der nächsten Seite" etc.
-
- Forum-Newbie
- Beiträge: 2
- Registriert: Sa 3. Jul 2010, 14:53
Wenn ich richtig verstehe, was Du willst, dann geht das mit Hilfe des Pakets zref:
Es sei darauf hingewiesen, dass bei dieser Lösung für jeden Aufruf von \xpageref ein Label angelegt wird. Außerdem werden ggf. mehrere LaTeX-Läufe benötigt, bis sich das ganze stabilisiert, weil ja jeder Aufruf von \xpageref den Text und damit den Umbruch und damit ggf. das Ergebnis anderer \xpageref-Anweisungen verändern kann. Das kann im Extremfall auch zu einer nie terminierenden Suche werden.
\documentclass{article} \usepackage[abspage,user]{zref} \usepackage[ngerman]{babel} \usepackage{blindtext} \newcounter{samepage} \makeatletter % Note: Alle hier verwendeten zref-Befehle und Module sind in der % zref-Anleitung dokumentiert! Es werden die Module abspage % und user benötigt, die oben per Option geladen werden. \newcommand*{\ifsamepage}[1]{% \stepcounter{samepage}\zlabel{samepage.\arabic{samepage}}% \zref@refused{#1}% zref mitteilen, dass das Label benutzt wurde \zref@refused{samepage.\arabic{samepage}}% dito \edef\samepageA{\zref@extract{#1}{abspage}}% \edef\samepageB{\zref@extract{samepage.\arabic{samepage}}{abspage}}% \ifnum \zref@extract{#1}{abspage} = \zref@extract{samepage.\arabic{samepage}}{abspage} \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi } \makeatother \newcommand*{\xpageref}[2][\ignorespaces]{% \ifsamepage{#2}{#1}{Seite~\zpageref{#2}}% } \begin{document} Hier ein Label\zlabel{LabelA}. Siehe auch \xpageref[auf dieser Seite]{LabelA} und \xpageref{LabelB}. Labels auf anderen Seiten: \xpageref{LabelA} \xpageref{LabelB}. \blinddocument\zlabel{LabelB}. \end{document}
goLaTeX-Knigge (mit Minimalbeispiel und »So stellst Du Deine Frage richtig«)
Wie kann ich Code in meinem Beitrag hervorheben?
Wie hänge ich ein Bild an meine Frage?
KOMA-Script
Wie kann ich Code in meinem Beitrag hervorheben?
Wie hänge ich ein Bild an meine Frage?
KOMA-Script