PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neues Caption Paket verträgt sich nicht mit Koma Klassen?



Pavlov
13-09-2007, 10:51
Hallo
Seit ich das neuste Caption Paket v3.1 mit den KOMA-Script package v.2.97a benutze, bekomme ich die Fehlermeldung:

"Something's wrong -- perhaps a missing \item"

Dies nur dann, wenn ich beim Caption Paket die Optionen justification=centering,labelsep=newline kombiniere und die Caption so lange ist, dass sie automatisch auf mehrere Zeilen umbricht.

Hier mal ein Minimalbeispiel:

\documentclass[12pt, nochapterprefix, BCOR0mm]{scrreprt}
\usepackage[justification=centering,labelsep=newline]{caption}
\begin{document}
test
\begin{figure}
\caption{sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text}
\end{figure}
\end{document}

Weiter scheint es so, dass beim Weglassen der Option justification=centering zwar keine Fehlermeldung mehr erscheint, die Option labelsep=newline aber unwirksam ist.

Ich möchte nun aber, dass das Label der Beschriftung auf einer Zeile steht und darunter (im Idealfall zentriert) die Beschreibung.
Kann mir jemand weiterhelfen?

Besten Dank!

sommerfee
13-09-2007, 11:28
Danke für das schöne Minimalbeispiel! :)

Das Problem lies sich damit sehr schön untersuchen; die Optionskombination "format=hang,justification=centering,labelsep=newli ne" funktioniert nicht, auch mit dem alten caption-Paket v3.0 nicht, egal ob KOMA oder nicht. Beispiel:


\documentclass[12pt]{article}
\usepackage[format=hang,justification=centering,labelsep=newli ne]{caption}
\begin{document}
test
\begin{figure}
\caption{sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text}
\end{figure}
\end{document}


Selbst wenn man auf das caption-Paket verzichtet und das ganze mit KOMA-Bordmitteln einstellt, bekommt man die gleiche Fehlermeldung:


\documentclass[12pt, nochapterprefix, BCOR0mm]{scrreprt}
\setkomafont{caption}{\centering}
\renewcommand\captionformat{\\}
\begin{document}
test
\begin{figure}
\caption{sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text}
\end{figure}
\end{document}


Nichtsdestotrotz werde ich versuchen, in diesem Falle in Zukunft eine sinnvollere Fehlermeldung auszugeben.

Was du aber vermutlich haben möchtest, ist was anderes, nämlich dies hier:


\usepackage[format=plain,justification=centering,labelsep=newl ine]{caption}

bzw. ohne caption-Paket, sondern mit KOMA-Bordmitteln:


\setcapindent{0pt}
\setkomafont{caption}{\centering}
\renewcommand\captionformat{\\}

(Die KOMA-Lösung liefert aber hier den gleichen Fehler, werde gleich mal Markus Kohm eine E-Mail diesbezüglich schicken...)

Mit dem caption-Paket v3.0 ging dein Beispiel nur deswegen gut, weil caption v3.0 inkompatibel zu KOMA-Script war. Nun aber ist es kompatibel und übernimmt auch die KOMA-Grundeinstellungen, die nunmal \setcaphanging bzw. "format=hang" sind. (siehe auch caption-Doku, Abschnitt über die Dokumentenklassen)

Sind jetzt noch Fragen oder Probleme offen?

Liebe Grüße,
Axel

Pavlov
13-09-2007, 13:25
Hi Axel
Das ging ja schnell! Dies hier führt zum Resultat, das ich brauche:

\usepackage[format=plain,justification=centering,labelsep=newl ine]{caption}
Obwohl noch immer diesselbe Fehlermeldung erscheint, stimmt die Ausgabe zum Schluss, besten Dank dafür!

Thomas

sommerfee
13-09-2007, 13:29
Hallo Thomas,

welche Fehlermeldung kommt bei dir wenn du


\usepackage[format=plain,justification=centering,labelsep=newl ine]{caption}
\begin{document}
test
\begin{figure}
\caption{sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text}
\end{figure}
\end{document}

übersetzt? Das sollte keine Fehlermeldung geben. (Bei mir kommt auch keine.)

Gruß,
Axel

Pavlov
13-09-2007, 13:59
Sorry Axel, dein Minimalbeispiel läuft natürlich perfekt.

Ich hab dein Code in das ursprüngliche Dokument eingesetzt, wo noch mehr Pakete eingebunden sind und dort erhalte ich wiederum dieselbe Fehlermeldung. Ich werde das bei Gelegenheit analysieren, aber jetzt bin ich gerade so schön im Schreibfluss, da will ich den mal nicht gerade unterbrechen...

Grüsse

Thomas

sommerfee
13-09-2007, 17:59
Nichtsdestotrotz werde ich versuchen, in diesem Falle in Zukunft eine sinnvollere Fehlermeldung auszugeben.

Ich habe es jetzt so bei mir geändert, daß in diesem Falle die Fehlermeldung


The option `labelsep=newline' does not work
with \setcaphanging (which is set by default).

ausgegeben wird. (Diese Fehlermeldung kommt dann auch bei selbstdefinierten Trennern, die ein \\ beinhalten.)

Die Änderung wird dann ab caption v3.1a drin sein, welches spätestens in der ersten Oktoberwoche auf CTAN frei verfügbar sein wird.



Ich hab dein Code in das ursprüngliche Dokument eingesetzt, wo noch mehr Pakete eingebunden sind und dort erhalte ich wiederum dieselbe Fehlermeldung. Ich werde das bei Gelegenheit analysieren

Das wäre schön, wenn du noch dazu kommst.

Liebe Grüße,
Axel

sommerfee
14-09-2007, 06:29
Ich habe mal eine neue Version 3.1a nach http://www.sommerfee.de/tmp/caption-31a-070914.zip gepackt. Würde mich freuen, wenn du die mal ausprobieren könntest!

Liebe Grüße,
Axel

sommerfee
16-09-2007, 11:55
Die Version 3.1a des caption-Paketes liegt jetzt auf CTAN.

Gruß,
Axel

Pavlov
17-09-2007, 11:12
Hi Axel
Hab zwar caption 3.1a noch nicht drauf, aber ich hab rausgefunden, woran es vorher lag. Anscheinend verursacht \centering innerhalb der figure Umgebung den Fehler. Hier ein Minimalbeispiel:

\documentclass{scrreprt}
\usepackage[format=plain,labelsep=newline]{caption}
\begin{document}
test
\begin{figure}
\centering
\caption{sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text sehr langer text}
\end{figure}
\end{document}

Werde jetzt dann dein neues Packet drauf tun und schauen, ob sich was tut.

Grüsse

Thomas

sommerfee
17-09-2007, 11:43
Hallo Thomas,

Danke, das du nochmal nachgeforscht hast!

Workaround: Nach \usepackage[...]{caption} bitte einfügen:



\makeatletter
\g@addto@macro\caption@boxrestore{\let\\\@normalcr }
\makeatother


Der Fehler wird dann in caption v3.1b behoben sein.

Gruß,
Axel

Pavlov
17-09-2007, 14:50
Wunderbar Axel! Mit dem Workaround läuft alles reibungslos.

Besten Dank

Thomas

sommerfee
22-09-2007, 17:08
Die Version 3.1b des caption-Paketes liegt jetzt auf CTAN, ist hoffentlich auch bald als MikTeX-Update verfügbar. Damit braucht man dann den Workaround natürlich nicht mehr. (Er schadet aber auch nicht.)

Gruß,
Axel

sommerfee
03-10-2007, 17:04
Die Version 3.1b des caption-Paketes liegt jetzt auf CTAN, ist hoffentlich auch bald als MikTeX-Update verfügbar.

Gibt's jetzt auch als MikTeX-Update.

Gruß,
Axel