Anzeige:
Ergebnis 1 bis 6 von 6

Thema: subfig und Referenzen im Text

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.11.2007
    Beiträge
    47

    subfig und Referenzen im Text

    Hallo alle,

    ich habe nur ein kleinen Problemchen mit dem Referenzieren von Bildern und subfig, denn im Text werden subfigs nicht richtig referenziert, denn die Bilder haben die Bezeichnung 1.1a und 1.1b, aber im Text werden diese als 1.0a und als 1.0b bezeichnet bzw. referenziert. Witzigerweise kann man im PDF (nicht im Minimalbeispiel) "richtig" anklicken, dh. es wird zur richtigen Stelle gesprungen.

    In der beigefügten ZIP-Datei ist die DVI und die PS Datei enthalten.

    Code:
    \documentclass[%
    	fontsize=11pt,
    	paper=a4,
    	BCOR5mm,						
    	DIVcalc,						
    	DIV=13,							
    	headinclude,				
    	footinclude=false,		
    	pagesize,
    ]{scrreprt}
    %-------------------------------------------------------------------------
    
    \usepackage[latin1]{inputenc}
    
    \usepackage{pstricks}
    \usepackage{pst-plot, pst-node, pst-coil, pst-eps, pst-circ,pstricks-add,multido}
    
    \usepackage{subfig}
    
    
    \usepackage{caption}
    % Aussehen der Captions
    \captionsetup{
       margin = 10pt,
       font = {small,rm},
       labelfont = {small,bf},
       format = hang, % oder 'hang'
       indention = 0em,  % Einruecken der Beschriftung
       labelsep = colon, %period, space, quad, newline
       justification = RaggedRight, % justified, centering
       singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren)
       position = top %top
    }
    %%% Bugfix Workaround
    \DeclareCaptionOption{parskip}[]{}
    \DeclareCaptionOption{parindent}[]{}
    
    
    % Aussehen der Captions fuer subfigures (subfig-Paket)
    \captionsetup*[subfloat]{%
       margin = 10pt,
       font = {small,rm},
       labelfont = {small,bf},
       format = hang, % oder 'hang'
       indention = 0em,  % Einruecken der Beschriftung
       labelsep = space, %period, space, quad, newline
       justification = RaggedRight, % justified, centering
       singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren)
       position = bottom, %top
       labelformat = parens, % simple, empty % Wie die Bezeichnung gesetzt wird
       listofformat = simple
     }
    
    \begin{document}
    
    \chapter{Ein Problem}
    
    \section{Blödsinn}
    fkghjfkh
    fdkbhlgkf
    klkgdh
    
    \section{Blablabal}
    
    defbhdrbg fduhugd (Abbildung \ref{fig:A}) ruih urztg uutrhzu (Abbildung \ref{fig:B}) tjhijfgjh hzduegh eutuirh uertgh udefzure ezfgre
    \begin{figure}[!ht]
    	\hfill
    	\subfloat[AAAA\label{fig:A}]{
    	\begin{pspicture}(-0.5,-0.3)(6,5)
    	\psline(0,0)(5,0)(5,5)(0,5)(0,0)
    	\end{pspicture}
    	}
    	\hfill
    	\subfloat[BBBB\label{fig:B}]{
    	\begin{pspicture}(-0.5,-0.3)(6,5)
    	\psline(0,0)(5,0)(5,5)(0,5)(0,0)
    	\end{pspicture}
    	}
    	\hfill
    	\mbox{}
    	\caption{CCCCC}
    	\label{C}
    \end{figure}
    
    \begin{figure}[!ht]
    	\centering
    	\begin{pspicture}(-0.5,1)(6.5,9.5)
    	\psline(0,0)(6,0)(6,9)(0,9)(0,0)
    	\end{pspicture}
    	\caption{DDDDD}
    	\label{fig:D}
    \end{figure}
    
    Aus der Abbildung \ref{fig:D}  dughurh hguith hfiughtir hfdjgfd bhfdhgj ufrhug ....
    
    \end{document}
    Es macht keinen unterschied ob ich per \subref oder per \ref auf die Bilder referenzieren.

    Früher hat es ohne Probleme funktioniert und jetzt referenziert es nicht mehr richtig????

    Liebe Grüße und Danke,
    NewAtair

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Code scheint auf den ersten Blick ok zu sein. Lösch einmal alle nicht selbst erstellten Dateien und kompilier 3 mal neu. Problem gelöst?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Das subfig-Paket ist sehr davon abhängig, daß die Positionshinweise, die mit "position=" abgegeben worden sind, auch mit der Realität übereinstimmen. Wird z.B. wie bei dir der Hinweis "position=top" gegeben, die \caption steht aber unter dem Bild, so kommt das subfig-Paket durcheinander.

    Abhilfe ist also in deinem Falle,
    Code:
    % Aussehen der Captions
    \captionsetup{
       margin = 10pt,
       font = {small,rm},
       labelfont = {small,bf},
       format = hang, % oder 'hang'
       indention = 0em,  % Einruecken der Beschriftung
       labelsep = colon, %period, space, quad, newline
       justification = RaggedRight, % justified, centering
       singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren)
       position = top %top
    }
    nach
    Code:
    % Aussehen der Captions
    \captionsetup{
       margin = 10pt,
       font = {small,rm},
       labelfont = {small,bf},
       format = hang, % oder 'hang'
       indention = 0em,  % Einruecken der Beschriftung
       labelsep = colon, %period, space, quad, newline
       justification = RaggedRight, % justified, centering
       singlelinecheck = true, % false (true=bei einer Zeile immer zentrieren)
       position = bottom
    }
    zu ändern.

    Gruß,
    Axel

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.11.2007
    Beiträge
    47
    @bischi
    Das war leider nicht ...

    @sommerfee
    Bingo! Das war es!

    Aber mich wundert es nur, da ich ja für die subfloats eigene Einstellungen der Captions habe ...

    Danke an alle! *virtuelles Bier reichend*
    Cheers,
    NewAtair

  5. #5
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von NewAtair Beitrag anzeigen
    Aber mich wundert es nur, da ich ja für die subfloats eigene Einstellungen der Captions habe ...
    \caption erhöht ja den Abbildungszähler (und nicht \begin{figure}), daher ist das subfig-paket darauf angewiesen, auch zu wissen, wo die Hauptbeschriftung steht. Denn wenn die Hauptbeschriftung unten steht, dann muß in \subfloat so getan werden, als ob der Hauptzähler um einen erhöht wird.

    Wenn du jetzt die \caption unten setzt, aber das subfig-Paket denkt, sie ist oben (weil du "position=top" für die Hauptbeschriftung gesetzt hast), dann erhöht es intern nicht den Zähler (weil es denkt, dies habe \caption bereits getan) und hat dann bei der ersten Abbildung als Hauptzähler 0 statt 1. Daher die falsche Bezeichnung "1.0" statt "1.1" in den Referenzen.

    Das ganze steht auch in Abschnitt 3.1.4 "The Caption Position Option" der subfig-Dokumentation.

    Gruß,
    Axel
    Geändert von sommerfee (21-09-2008 um 11:48 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.11.2007
    Beiträge
    47
    Danke an alle!

Lesezeichen

Berechtigungen

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