PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit subfig-Paket und label



Nanunana
21-09-2008, 17:40
Hallo,
ich habe ein kleines "subfigure" Problem:
Folgener Code:



...
\begin{figure}
\caption{Bildunterschrift}%
\label{fig:test}%
\centering%
\subfloat[test]{\includegraphics[width=0.7\linewidth]{test/test.ps}}%
\hspace{.1\linewidth}%
\subfloat[test]{%
\includegraphics[width=0.1\linewidth]{test/test.ps}\label{sfig:test}%
}%
\caption{test}%
\end{figure}%
...



verabschiedet sich mit diesem Fehler



! Undefined control sequence.
<argument> ...sub\@captype }}}{\caption@subreffmt
{\@nameuse {p@sub\@captype...
l.51 ...test/test.ps}}}
%
?


Alles läuft wunderbar, wenn ich das Label \label{sfig:test} weglasse.
Als Minimalbeispiel funktionierts komischerweise auch.



\documentclass[10pt,twoside,a4paper]{book}
\RequirePackage{subfig}

\RequirePackage{caption}
\RequirePackage{graphicx}

\DeclareGraphicsExtensions{.eps,.ps,.bmp,.tif,.tif f,.tga}
\DeclareGraphicsRule{*}{mps}{*}{}

\begin{document}%
\begin{figure}%
\caption{Bildunterschrift}%
\label{fig:lab}%
\centering%
%
\subfloat[bunterschrift]{%
\includegraphics{test.ps}%
\label{sfig:eins}}%
%
\hspace{.1\linewidth}%
%
\subfloat[bunterschrift\label{sfig:zwei}]{%
\includegraphics{test.ps}%
}%
\label{fig:main_figure}%
\end{figure}%


\end{document}


Hat jemand eine Idee woran das liegen kann?
"Beisst sich "subfig" mit irgentwelchen anderen Paketen?

bobmalaria
21-09-2008, 18:20
hi,

du benutzt caption mehrfach in der figure umgebung. das kann doch irgendwie nicht gehen. so sollte es keine probleme geben


\begin{figure}
\centering%
\subfloat[test \label{fig:unterbild1}]{\includegraphics[width=0.7\linewidth]{test/test.ps}}%
\hspace{.1\linewidth}%
\subfloat[test\label{fig:unterbild2}]{%
\includegraphics[width=0.1\linewidth]{test/test.ps}%
}%
\caption{test}%
\label{fig:bildAllgemein}
\end{figure}%

Stefan_K
21-09-2008, 18:21
Hallo,

versuche evtl. einmal, Deinen Code, der das Problem aufweist, Schritt für Schritt auf ein Minimalbeispiel zu reduzieren, wenn dieses neu erstellte Beispiel den Fehler gar nicht zeigt.

Warum benutzt Du \RequirePackage? Wenn Du nicht gerade eine Klasse oder ein Paket erstellst, verwende lieber \usepackage.
Evtl. lässt sich obiges Problem beheben, indem man direkt ein subrefformat angibt, z.B.:

\usepackage[subrefformat=subsimple]{subfig}

Stefan

Nanunana
21-09-2008, 20:34
Vielen Dank für die Antworten!
Nach langem rumprobieren hab ich herausgefunden das es an einem
\clearcaptionsetup lag, daß sich irgendwo im (Quell)text verirrt hatte.
Trotzdem sollte das doch eigentlich keine Auswirkungen haben, oder?

sommerfee
21-09-2008, 21:07
Nach langem rumprobieren hab ich herausgefunden das es an einem \clearcaptionsetup lag, daß sich irgendwo im (Quell)text verirrt hatte.

Ist bei mir nachvollziehbar, mit einem \clearcaptionsetup{subfloat} bekomme ich den Fehler nachgestellt:



\documentclass{book}
\usepackage[demo]{graphicx}
\usepackage{subfig}

\begin{document}%
\clearcaptionsetup{subfloat}

\begin{figure}
\centering%
\subfloat[test]{\includegraphics[width=0.7\linewidth]{test/test.ps}}%
\hspace{.1\linewidth}%
\subfloat[test]{\includegraphics[width=0.1\linewidth]{test/test.ps}%
\label{sfig:test}}%
\caption{test}%
\end{figure}%

\end{document}



Trotzdem sollte das doch eigentlich keine Auswirkungen haben, oder?

Ich würde es vielleicht nicht als Bug, aber als Unschönheit im subfig-Paket bezeichnen. Wenn man das \clearcaptionsetup braucht, dann läßt sich die Unschönheit mit einem \captionsetup{subrefformat=subsimple} direkt nach dem Laden des subfig-Paketes umgehen.

Gruß,
Axel