Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Probleme mit caption-Paket: undefined references

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.08.2008
    Beiträge
    44

    Probleme mit caption-Paket: undefined references

    Hallo,

    bei der Verwendung des caption-Pakets habe ich das Problem, dass alle z. B. per \ref{} gesetzten Verweise kein entsprechendes label finden, obwohl ich diese definiert habe. Wenn ich das ältere caption2-Paket verwende, funktioniert alles.

    Kann dies mit Inkompatibilitäten zwischen dem caption-Paket und anderen Paketen liegen? Folgende weitere Pakete verwende ich:

    - hyperref
    - hypcap
    - float
    - makeidx
    - vmargin
    - fancyhdr
    - array
    - colortbl
    - longtable
    - color
    - thumbpdf
    - amsmath
    - listings

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.05.2008
    Ort
    Bremen
    Beiträge
    479
    Bist du sicher, dass du das Dokument oft genug kompiliert hast und es nicht nur daran liegt. Und hast du bei den \ref-Befehlen daran gedacht die Art des Labels anzugeben, z.B.
    Code:
    \ref{fig:...}
    , daran könnts auch liegen.

    Andernfalls kann ich dir nur sagen, bei mir arbeitet \caption mit hyperref, float, index (als modernere Alternative zu makeidx), color und amsmath problemlos zusammen, an den Paketen wird es also nicht liegen. Hast du schon mal versucht alle nicht unbedingt nötigen Pakete rauszunehmen und ein Minimalbeispiel zu kompilieren?

    Gruß, Festus

  3. #3
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Arrow Beispielcode

    Hallo,

    zeig doch einmal anhand eines Beispiels, wie Du caption und label definierst. Evtl. lässt sich in dem konkreten Code die Ursache finden.

    Stefan

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.08.2008
    Beiträge
    44
    Hallo,

    ich wusste zwar nicht, dass die Art des Labels obligatorisch ist, aber ich habe mir eh angewöhnt, labels derart zu verwenden. Danke für den Hinweis!

    Also z. B. folgende Referenz bleibt bei mir undefiniert:

    Code:
    bla bla bla \ref{fig:einbild} bla bla bla ...
    
    \begin{figure}
    \centering
    \includegraphics[scale=0.6]{einbild}
    \label{fig:einbild}
    \caption{Ein herrliches Bild.}
    \end{figure}
    Es bleibt mir wohl nichts anderes übrig, als nach und nach Packages wegzulassen und zu testen ...

  5. #5
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    \label

    Hallo,

    verwende \label direkt nach \caption, d.h. ändere die Reihenfolge.

    Stefan

  6. #6
    Registrierter Benutzer
    Registriert seit
    15.08.2008
    Beiträge
    44
    Oh Weh, die Reihenfolge ... Tatsächlich, das löste fast alle meine Probleme! Fast alle: Was ist denn die Art des Labels bei selbstdefinierten floating-Umgebungen? Einfach der Name der Umgebung?
    Und ich kann definitiv nicht auf Kapitel oder Unterkapitel verweisen, indem ich Label der Form \label{kapitelname} und \ref{kapitelname} verwende?

    Schon mal vielen Dank für den Tipp mit der Reihenfolge!
    Geändert von Mithrandir (15-08-2008 um 13:34 Uhr)

  7. #7
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    doch das geht. du kannst (fast) jedes beliebige label vergeben. somit kannst du sehr wohl

    \chaper{einleitung}
    \label{kapitel1}

    \ref{kapitel1}

    benutzen. die bezeichnung mit fig: tab: sec: eq: dient nur zu deiner eigenen besseren orientierung und zuordnung "was ist denn eigentlich was"
    Mein Ball ist umgefallen

  8. #8
    Registrierter Benutzer
    Registriert seit
    15.08.2008
    Beiträge
    44
    Ah, ok, also doch nicht obligatorisch. Allerdings scheinen die Labels bei mit Hilfe des float-Pakets selbstdefinierten float-Umgebungen nicht zu funktionieren. Ich habe z. B. folgende Umgebung definiert:

    Code:
    \usepackage{float}
    \floatstyle{boxed}
    \newfloat{Aussage}{H}{loaus}[chapter]
    ...
    \begin{Aussage}
    \centering
    	Bla bla bla
    \caption{Eine gewaltige Aussage}
    \label{Aussage:aussage1}
    \end{Aussage}
    Wenn ich dann per
    Code:
    \ref{Aussage:aussage1}
    darauf verweise, springt er an den Anfang des Dokuments.

    Was muss ich hier noch beachten?

  9. #9
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Reihenfolge der Pakete

    Zitat Zitat von Mithrandir Beitrag anzeigen
    […]

    - hyperref
    - hypcap
    - float
    - makeidx
    - vmargin
    - fancyhdr
    - array
    - colortbl
    - longtable
    - color
    - thumbpdf
    - amsmath
    - listings
    Wenn Du die Pakete in dieser Reihenfolge lädst, entstehen schon mal Schwierigkeiten durch hyperref. Dieses Paket muss (bis auf wenige Ausnahmen, von denen hypcap eine ist,) zuletzt geladen werden.


    MfG
    Thorsten¹
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  10. #10
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von localghost Beitrag anzeigen
    Wenn Du die Pakete in dieser Reihenfolge lädst, entstehen schon mal Schwierigkeiten durch hyperref. Dieses Paket muss (bis auf wenige Ausnahmen, von denen hypcap eine ist,) zuletzt geladen werden.
    ...und erst danach darf dann \newfloat etc. zum Einsatz kommen.

    Gruß,
    Axel

  11. #11
    Registrierter Benutzer
    Registriert seit
    15.08.2008
    Beiträge
    44
    Ja, tatsächlich, daran (hyperref-Paket am Ende einbinden) hats gelegen. Jetzt klappts. Ich danke euch! Worauf man so achten muss ...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •