%META:TOPICINFO{author=“MarkusKohm” date=“1276248748” format=“1.1” reprev=“1.3” version=“1.3”}% %META:TOPICPARENT{name=“Gleitumgebungen”}%

newfloat

Wie kann man neue Typen von Gleitumgebungen (,floats`) z.B. für weitere Arten von Tafeln oder Programm-Code erzeugen?

Prinzipiell muß man für einen neuen Typ von Gleitumgebung einige Makros definieren. Beispielsweise sind für die zu definierenden Umgebungen ,faqtable` und ,faqtable*` im Stil der Gleitumgebungen der article-Klasse die folgenden Anweisungen (in eine .sty-Datei schreiben, da interne Anweisungen) notwendig,

<verbatim>\newcounter{faqtable}% Zähler faqtable und dessen Ausgabe \thefaqtable
\newcommand{\fps@faqtable}{tbp}% die voreingestellte Platzierung
\newcommand{\ftype@faqtable}{4}% ist i. d. R. eine Potenz von 2
\newcommand{\ext@faqtable}{loq}% Endung der Hilfsdatei
\newcommand{\fnum@faqtable}{FAQ-Tabelle~\thefaqtable}% Nummerierung bei \caption
\newenvironment{faqtable}{\@float{faqtable}}{\end@float}% Gleitumgebung faqtable
\newenvironment{faqtable*}{\@dblfloat{faqtable}}{\end@dblfloat}% Gleitumgebung faqtable*</verbatim>

wobei damit noch keine Anpassungen des Inhaltsverzeichnisses, ein eigenes Inhaltsverzeichnis oder sonstige Anpassungen des Layouts durchgeführt sind. Gleitumgebungen, bei denen im ftype keine gleichen Bits gesetzt sind, können von LaTeX umsortiert wird. So können sich beispielsweise figure, table und obige faqtable überholen. Mehr Informationen findet man im Buch ,Der LaTeX-Begleiter`.

Sehr viel einfacher geht dies mit dem Paket ,float`, mit dem z.B. obiges auch der normale LaTeX-Benutzer mit den simplen Anweisungen

<verbatim>\newfloat{faqtable}{tbp}{loq}
\floatname{faqtable}{FAQ-Tabelle}</verbatim>

definieren kann. Dabei ist dann mit Hilfe von <pre><verbatim>\listof{faqtable}{Verzeichnis der FAQ-Tabelle}</verbatim></pre>auch gleich ein Verzeichnis verfügbar. Daneben sind auch schon einige ,float`-Layouts vordefiniert und können ebenso einfach verwendet werden.

Eine weitere Alternative bietet das Paket ,caption` seit Version 3.1f, mit dem z. B. obiges durch die Anweisung

<verbatim>\DeclareCaptionType[fileext=loq]{faqtable}[FAQ-Tabelle][Verzeichnis der FAQ-Tabellen]</verbatim>

erreicht werden kann. Dabei steht dann für das Verzeichnis der FAQ-Tabellen die Anweisung <verbatim>\listoffaqtables</verbatim>

zur Verfügung.

Als dritte Möglichkeit kann das KOMA-Script-Paket ,tocbasic' ab Version 3.06 verwendet werden. Hier lautet die entsprechende Anweisung:

<verbatim>\DeclareNewTOC[%
type=faqtable,%
float,%
name=FAQ-Tabelle,%
listname={Verzeichnis der FAQ-Tabellen}%
]{loq}</verbatim>

wobei auch hier eine Anweisung <verbatim>\listoffaqtables</verbatim> gleich mit definiert wird.

float:	macros/latex/contrib/float	caption	macros/latex/contrib/capion	tocbasic	macros/latex/contrib/koma-script

– Main.HerbertVoss - 08 Mar 2009<br />– Main.MarkusKohm - 11 Jun 2010