Seite 1 von 1

Fehler bei \captionof in Verbindung mit neuem float

Verfasst: Fr 18. Jul 2008, 18:33
von steve
Hallo zusammen,

ich habe ein Problem bei der Verwendung von \captionof in Verbindung mit einem neuen float-Objekt, welches von folgendem MB gezeigt wird:
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{float}
\floatstyle{plain}
\newfloat{txts}{tbph}{lotxt}
\floatname{txts}{txt-File}

\usepackage{capt-of}

\listfiles

\begin{document}
	\begin{txts}
		\texttt{Ein kleiner Test!}
		\caption{Test1}
	\end{txts}

	\begin{center}
		\texttt{Noch ein Test}
		\captionof{txts}{Noch ein kleiner Test!}
	\end{center}

	\begin{center}
		\texttt{Und noch ein Test}
		\captionof{figure}{Ein weiterer Test!}
	\end{center}

\end{document}
*File List* hat geschrieben: scrartcl.cls 2007/12/24 v2.98 KOMA-Script document class (article)
scrkbase.sty 2007/12/24 v2.98 KOMA-Script package (basics and keyval use)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2007/12/18 v2.98 KOMA-Script package (loading files)
size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
typearea.sty 2007/12/24 v2.98 KOMA-Script package (type area)
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
float.sty 2001/11/08 v1.3d Float enhancements (AL)
capt-of.sty
t1cmtt.fd 1999/05/25 v2.5h Standard LaTeX font definitions
***********
Und zwar wird bei mir der Fehler
! Undefined control sequence.
\@tempf ... \@parboxrestore \normalsize \@fs@capt
{\@nameuse {fnum@#1}}{\ign...
l.22 \captionof{txts}{Noch ein kleiner Test!}
angezeigt. Wie zu sehen ist, wird die Caption bei figure richtig angezeigt, nur bei dem selbstdefinierten "Float-Objekt" nicht...

Kann evtl. jemand den Fehler nachvollziehen oder mir einen Hinweis geben woran es liegen könnte, denn ich weiß nicht mehr weiter, nachdem ich mich an die Anleitung der float.sty-Dokumentation gehalten habe :roll:

Ich verwende MiKTeX 2.7 und TeXnicCenter unter WinXP.

Vielen Dank!

Gruß
Alex

Re: Fehler bei \captionof in Verbindung mit neuem float

Verfasst: Sa 19. Jul 2008, 06:58
von sommerfee
Das capt-of-Paket funktioniert nicht mit Gleitumgebungen, die mit dem float-Paket definiert wurden. Der \captionof-Befehl des caption-Paketes sollte aber hier funktionieren.

Und wenn man eh' die Möglichkeiten des float-Pakets nicht braucht (also keine Gleitumgebungen mit anderem Layout definieren möchte), und das caption-Paket eh' lädt, dann könnte man auch gleich \DeclareCaptionType statt \newfloat nehmen:
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{caption}[2008/01/01]
\DeclareCaptionType{txts}[txt-File]

\listfiles

\begin{document}
   \begin{txts}
      \texttt{Ein kleiner Test!}
      \caption{Test1}
   \end{txts}

   \begin{center}
      \texttt{Noch ein Test}
      \captionof{txts}{Noch ein kleiner Test!}
   \end{center}

   \begin{center}
      \texttt{Und noch ein Test}
      \captionof{figure}{Ein weiterer Test!}
   \end{center}

\end{document}
Gruß,
Axel

Verfasst: Sa 19. Jul 2008, 07:15
von steve
Moin Axel,

danke für die Antwort, ich werd es dann Montag gleich mal probieren.

Was mich nur wundert, in capt-of.sty steht ja extra drin, dass man es mit den mit float.sty definierten Umgebungen nutzen kann!?
Aber egal, ich denke mit deinem Paket wird es dann schon funktionieren...

Danke!

Gruß
Alex

Verfasst: Sa 19. Jul 2008, 07:26
von sommerfee
steve hat geschrieben: Was mich nur wundert, in capt-of.sty steht ja extra drin, dass man es mit den mit float.sty definierten Umgebungen nutzen kann!?
Ja, das wundert mich auch, denn es kann nicht funktionieren. Das float-Paket bringt eine eigene Definition von \caption mit, die abprüft, ob es sich um eine "eigene" \caption handelt oder nicht. Wenn ja, kommt Code zum Einsatz, der voraussetzt, daß man sich auch in einer "eigenen" (also mit float.sty definierten) Gleitumgebung befindet - was ja bei \captionof (welches intern \caption verwendet) nicht der Fall ist.

(Im caption-Paket habe ich deswegen eine extra Anpassung diesbezüglich implementieren müssen.)

Ich werde mal den Autor des capt-of-Paketes darauf ansprechen.

Liebe Grüße,
Axel

Verfasst: Sa 19. Jul 2008, 07:33
von steve
Aha, daher weht also der Wind...

Eine kleine Verständnisfrage noch: Warum funktioniert aber die Zuordnung der Caption zu der entsprechenden List of?

Dazu in meinem Beispiel einfach im Dokumentteil
\listof{txts}{tst-Files}
einfügen.

Danke nochmal.

Gruß
Alex

Verfasst: Sa 19. Jul 2008, 08:02
von sommerfee
steve hat geschrieben:Eine kleine Verständnisfrage noch: Warum funktioniert aber die Zuordnung der Caption zu der entsprechenden List of?
\caption besteht ja aus quasi 2 Funktionalitäten:
1. Einen Eintrag in die Liste tätigen
2. Die Beschriftung tätigen

Es ist lediglich der zweite Teil, der in der Kombination float+capt-of Probleme macht, nicht der erste Teil.

Liebe Grüße,
Axel

Status eines Threads im LaTeX Forum

Verfasst: Mo 21. Jul 2008, 13:37
von TrigTeX

Problem gelöst?? Dann bitte den Status ändern.


Statusänderung direkt bei Erstellung einer Antwort in dieser Woche noch möglich. *hoffentlich* :lol:

Gruß
TrigTex

Re: Fehler bei \captionof in Verbindung mit neuem float

Verfasst: Mo 21. Jul 2008, 13:56
von steve
sommerfee hat geschrieben: Und wenn man eh' die Möglichkeiten des float-Pakets nicht braucht (also keine Gleitumgebungen mit anderem Layout definieren möchte), und das caption-Paket eh' lädt, dann könnte man auch gleich \DeclareCaptionType statt \newfloat nehmen:
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{caption}[2008/01/01]
\DeclareCaptionType{txts}[txt-File]

\listfiles

\begin{document}
   \begin{txts}
      \texttt{Ein kleiner Test!}
      \caption{Test1}
   \end{txts}

   \begin{center}
      \texttt{Noch ein Test}
      \captionof{txts}{Noch ein kleiner Test!}
   \end{center}

   \begin{center}
      \texttt{Und noch ein Test}
      \captionof{figure}{Ein weiterer Test!}
   \end{center}

\end{document}
Das hatte ich am Samstag glatt noch überlesen, ist aber eine sehr schöne Sache.

Gruß
Alex