www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "LaTeX" - kontextsensitiv referenzieren
kontextsensitiv referenzieren < LaTeX < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

kontextsensitiv referenzieren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 01:18 Mo 17.09.2007
Autor: lustiger_seth

gudn tach!

um die von latex irgendwohin gesetzten bilder gescheit referenzieren zu koennen, habe ich mir was gebastelt, was abhaengig von der seitenzahl entscheidet, wie ein bild referenziert wird; und zwar ist die idee dahinter, dass die seitenzahlen der bilder nur angegeben werden sollen, wenn sie nicht auf der aktuellen doppelseite zu sehen sind.

bisher dachte ich, es wuerde alles funktionieren. aber heute ist mir ein fall untergekommen, bei dem es nicht mehr 100%ig funzt. auf einer seite wird ein bild zwei mal referenziert. aber obwohl eigentlich dasselbe an den jeweiligen stellen stehen sollte, wird beim zweiten mal "auf der vorigen seite" dazugeschrieben und beim ersten mal nicht.
wenn ich den text zwischen den beiden referenzierungen kuerze, verhaelt sich seltsamerweise das zweite wie das erste. es scheint geradezu so zu sein, dass die seitenzahl \pageref nicht gescheit mit der realen seitenzahl synchronisiert wird.

am beispiel wird's klarer...

in muehevoller arbeit habe ich ein minimalbeispiel konstruiert und finde trotzdem den fehler nicht. vielleicht kann mir hier wieder jemand helfen.

das minimalbeispiel habe ich hochgeladen:
[]als pdf (auf der zweiten seite sieht man den fehler)
[]als tex
[]als tex mit syntaxhighlighting (html-format)

den code fuer die referenzierungsfunktion kann ich ja auch hier mal posten (da ich die hochgeladenen dateien vermutlich in ein wenigen wochen wieder loeschen werde):

1: \newcounter{prevpage}
2: \newcounter{nextpage}
3: \newcommand\FigDiff[1]{Abb.~\ref*{#1} auf Seite~\pageref*{#1}}%
4: \newcommand\FigPrev[1]{Abb.~\ref*{#1} auf der vorigen Seite}%
5: \newcommand\FigNext[1]{Abb.~\ref*{#1} auf der nächsten Seite}%
6: \newcommand\FigSame[1]{Abb.~\ref*{#1}}%
7: \newcommand\Figref[1]{%                  mit Figref kann man bilder referenzieren, wobei die seite, auf denen
8: \setcounter{prevpage}{\value{page}-1}% ein bild steht, nur angegeben wird, falls es sich nicht auf der ak-
9: \setcounter{nextpage}{\value{page}+1}% tuellen doppelseite befindet.
10: \ifthenelse{\value{page}=\pageref{#1}}{%
11: \FigSame{#1}%
12: }{%
13: \ifthenelse{\value{nextpage}=\pageref{#1}}{%
14: \ifthenelse{\isodd{\pageref{#1}}}{%
15: \FigSame{#1}%
16: }{%
17: \FigNext{#1}%
18: }%
19: }{%
20: \ifthenelse{\value{prevpage}=\pageref{#1}}{%
21: \ifthenelse{\isodd{\pageref{#1}}}{%
22: \FigPrev{#1}%
23: }{%
24: \FigSame{#1}%
25: }%
26: }{%
27: \FigDiff{#1}%
28: }%
29: }%
30: }%
31: }%


prost
seth

        
Bezug
kontextsensitiv referenzieren: Antwort
Status: (Antwort) fertig Status 
Datum: 10:11 Mo 17.09.2007
Autor: rainerS

Hallo,

hast du dir schonmal das Paket []varioref angeschaut?

Dein Problem ist die Benutzung des page Counters. Der wird asynchron hochgezählt, nämlich dann, wenn eine vollständige Seite rausgeschrieben wird. Das passiert in der Regel erst dann, wenn bereits ein Teil des Textes der nächsten Seite eingelesen und verarbeitet wurde.

Viele Grüße
   Rainer

Bezug
                
Bezug
kontextsensitiv referenzieren: Korrekturmitteilung
Status: (Korrektur) richtig (detailiert geprüft) Status 
Datum: 18:23 Mo 17.09.2007
Autor: lustiger_seth

gudn tach Rainer!

varioref kannte ich noch nicht. klasse tipp!

hab zwar ne weile gebraucht, bis ich merkte, dass man das hyperref-package erst danach einbinden darf, aber jetzt klappt's.

als code verwende ich jetzt:
1: \RequirePackage{varioref}
2: \renewcommand\reftextfaceafter {\!\!}
3: \renewcommand\reftextfacebefore{\!\!}
4: \renewcommand\reftextafter     {auf der \reftextvario{nächsten}{folgenden} Seite}
5: \renewcommand\reftextbefore    {auf der vorigen Seite}
6: \renewcommand\reftextfaraway[1]{auf Seite~\pageref{#1}}
7: \newcommand\Figref[1]{Abb.~\vref{#1}}%


prost
seth

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]