Seite 1 von 1

caption für eigene Dokumentenklasse

Verfasst: Sa 7. Sep 2019, 17:49
von TinTin82
Hi,

ich würde gerne die caption Umgebung für meine eigene dokumentenklasse einbinden. Wenn ich folgendes eingebe:
\documentclass[twoside]{StdFachbuch}

\usepackage{newfloat}
\usepackage{caption}

\DeclareFloatingEnvironment{table}

\begin{minipage}[c]{0.5\textwidth}
\captionof{table}{Meine Super Tabelle}
\begin{tabular}{|l|r|}
...
bekomme ich folgende Ausgabe:
(d:/0000_Tools/02_Latech/00_TechLive/2018/texlive/texmf-dist/tex/latex/caption/
caption3.sty)

Package caption Warning: Unsupported document class (or package) detected,
(caption) usage of the caption package is not recommended.
See the caption package documentation for explanation.

)
! Undefined control sequence.
\newfloat@setwithin ...apter}\@chapterlistsgap@on
{#1}\newfloat@@setwithin {...
l.18 \DeclareFloatingEnvironment{table}

?

Process has been terminated ...
Leider kann ich mit der Fehlermeldung nur wenig anfangen.
Viele Grüße,
TinTin

Verfasst: Sa 7. Sep 2019, 18:01
von Bartman
Du wurdest schon in anderen Themen um ein vollständiges Minimalbeispiel gebeten.
\DeclareFloatingEnvironment{table}
Damit versuchst Du, eine Gleitumgebung zu bestimmen, die es schon gibt. Auch das müsste eine Fehlermeldung erzeugen.

Verfasst: Sa 7. Sep 2019, 18:57
von TinTin82
Hi Bartman,

danke für die schnelle Hilfe.

Wenn ich:
\documentclass[twoside]{StdFachbuch}

%\usepackage{newfloat}
\usepackage{caption}

%\DeclareFloatingEnvironment{table}

\begin{minipage}[c]{0.5\textwidth}
\captionof{table}{Meine Super Tabelle}
\begin{tabular}{|l|r|}
...
Bekomme ich die Fehlermeldung:
! Package caption Error: No float type 'table' defined.

See the caption package documentation for explanation.
Type H <return> for immediate help.
...

l.71 \captionof{table}{
Meine Super Tabelle}
?
Daraus habe ich geschlossen, dass tabular erst definiert werden muss.
Und aus der Dokumentation konnte ich entnehmen, dass man das mit
\DeclareFloatingEnvironment{table}
machen könnte.
Wo genau muss ich denn nach der Definition von table suchen ??
Also in welcher LatexDatei ??
Viele Grüße,
TinTin

Verfasst: Sa 7. Sep 2019, 19:33
von TinTin82
Okay, die Lösung war recht simpel.
Beim Nachlesen in meinem Latex Buch habe ich einfach das Gleitobjekt wie folgt erzeugt.
\usepackage{float}
\usepackage{caption}
\newfloat{table}{tbh}{table}

Bessere Variante

Verfasst: So 8. Sep 2019, 11:10
von Ratgeber
Statt »float« solltest Du »newfloat« (aus dem Paketbündel »caption«) verwenden.

Verfasst: So 8. Sep 2019, 12:26
von Gast
Falls die ominöse StdFachbuch-Klasse KOMA-Script basiert ist oder auf sonstige Weise tocbasic verwendet (was viele Vorteile bei der Verwaltung von Gleitumgebungsverzeichnissen bietet), kann auch einfach \DeclareNewTOC verwendet werden. Damit hat man dann nebenbei Features wie optionale Aufnahme des Verzeichnisses nummeriert oder nicht nummeriert ins Inhaltsverzeichnis, die Möglichkeit zur Codeausführung zwischen Verzeichnisüberschrift und eigentlichem Verzeichnis, Konfigurierbare Verzeichniseinträge etc. Außerdem kann man optional auch eine nicht gleitende Version der Gleitumgebung mit definieren.

Die Verwendung von float hat dagegen auch einen Nachteil: Man kann in einer Gleitumgebung nicht mehr mehrere \caption haben.

Um dir besser helfen zu können, wäre übrigens sinnvoll, immer ein vollständiges Minimalbeispiel anzugeben. Aber das wurde dir ja schon mehrfach gesagt.