PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bug in float-Package?



Special_K
12-09-2005, 14:50
Ich habe eine "infobox"-Umgebung definiert (siehe <a href="http://www.mrunix.de/forums/showthread.php?t=40751">hier</a>, vielen Dank hier nochmals an edico für den Tip mit der Tabelle) und diese mit Hilfe des float-Pakets als Fließumgebung definiert:


% Definition der Float-Umgebung für die Infobox
\floatstyle{plain}
\newfloat{infoboxfloat}{H}{loi}[chapter]
\floatname{infoboxfloat}{Infobox}

% Definition der Infobox
\newenvironment{infobox}[1][InfoBox]{
\begin{infoboxfloat}
\small
\centering
\begin{tabular}{p{.9\textwidth}}
\rowcolor{darkgray}\color{white}\large\textsc{#1}\ \
\rowcolor{gray}\vfill
\begin{minipage}{.9\textwidth}
}
{
\end{minipage}
\end{tabular}
\end{infoboxfloat}
}


Eigentlich funktioniert das ganz gut, nur bekomme ich dann immer die Fehlermeldung "Undefined control sequence: <argument> infoboxfloat.theHinfoboxfloat" und zwar für jede Umgebung die ich mit \begin{infobox}...\end{infobox} einbinde und dann nochmals wenn ich darauf im Text verweise.

Warum bekomme ich diese Fehlermeldung? Weiß jemand Rat?

countbela666
12-09-2005, 15:17
Kann den Fehler nicht reproduzieren, liefer doch mal ein Minimalbeispiel.

Grüße,
Marcel

Special_K
12-09-2005, 15:36
Hier ein kleines Beispiel. Was anscheinend Probleme macht ist der \caption-Befehl. Ohne \caption in der Umgebung taucht das Problem nicht auf.


\begin{infobox}[Minimalbeispiel]
Dies ist ein Beispiel einer Infobox.
\caption{Beispiel einer Infobox}
\label{beispiel}
\end{infobox}

countbela666
12-09-2005, 15:42
Keine Ahnung was du anders machst (ein richtiges Minimalbeispiel willst du ja scheinbar nicht schicken ;) ), aber folgendes funktioniert ohne Probleme:

\documentclass{scrbook}
\usepackage{float,colortbl}

\definecolor{gray}{rgb}{.7,.7,.7}
\definecolor{darkgray}{rgb}{.2,.2,.2}

% Definition der Float-Umgebung für die Infobox
\floatstyle{plain}
\newfloat{infoboxfloat}{H}{loi}[chapter]
\floatname{infoboxfloat}{Infobox}
% Definition der Infobox
\newenvironment{infobox}[1][InfoBox]{
\begin{infoboxfloat}
\small
\centering
\begin{tabular}{p{.9\textwidth}}
\rowcolor{darkgray}\color{white}\large\textsc{#1}\ \
\rowcolor{gray}\vfill
\begin{minipage}{.9\textwidth}
}
{
\end{minipage}
\end{tabular}
\end{infoboxfloat}
}

\begin{document}
\chapter{kap1}
\begin{infobox}[Minimalbeispiel]
Dies ist ein Beispiel einer Infobox.
\caption{Beispiel einer Infobox}
\label{beispiel}
\end{infobox}siehe \ref{beispiel}
\end{document}Grüße,
Marcel

Special_K
12-09-2005, 16:24
Sorry wegen des miserablen/fehlenden Minimalbeispiels. Ich habe den Kern des Problems mittlererweile ermitteln können, es handelt sich anscheinend um ein Problem des float-Pakets mit dem hyperref-Paket. Wenn ich das hyperref-Paket herausnehme, funktioniert es.

rais
12-09-2005, 17:19
Ich weiß ja nicht, was Du noch so an Paketen zu laden versuchst, aber bei Marcel's Minibeispiel funzt auch mit hyperref.
Lediglich eine Warnung:
Package hyperref warning: bookmark level for unknown infoboxfloat defaults to 0.
wird dann ausgegeben...
MfG,

Special_K
13-09-2005, 07:55
Ich weiß, ganz schräge Sache ... das Minibeispiel funktionierte auch bei mir auf anhieb - hyperref reingenommen und die Fehlermeldung kam wieder. Schließlich habe ich das float-Paket nach hyperref geladen und es funktionierte (auch bei meinem Hauptdokument) - mittlererweile kann ich den Fehler aber selbst nicht mehr rekonstruieren, selbst nach Vertauschen der Reihenfolge, in der die Pakete geladen werden.

Wie auch immer, jetzt funktioniert's, keine Ahnung was da los war...

edico
14-09-2005, 09:22
Schraeg? Naja ...
Float und hyperref streiten sich darum, wer 'caption' definieren darf.
Grundsaetzlich gilt: Einige Pakete duerfen erst nach hyperref eingebunden werden. Das ist aber im manual 'hyperref' dokumentiert. Sollte man schon mal gelesen haben.
edico