PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit \clearcaptionsetup (funktioniert nicht)



kays_girl
06-05-2008, 18:22
Hallo,
für meine Tabellen- und Abbildungscaptions habe ich eine eigene captionsetup geschrieben, was auch super geklappt hat. Gerade bei den Bildern würde ich diese caption gerne ab und zu ausschalten (wenn zwei nebeneinander sitzen und gemeinsam eine caption haben).
Ich nehme hier aber der Einfachheit halber mal eine x-beliebige Tabelle, müsste ja analog funktionieren:

\documentclass[11pt, a4paper, bibtotocnumbered]{scrbook}
\usepackage[left=30mm,right=30mm,top=25mm,bottom=25mm,footskip =10mm]{geometry}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{caption}
\captionsetup{figurewithin=chapter}
\captionsetup[table]{format=plain,labelsep=newline,singlelinecheck=fal se,font=small}

\begin{document}

\begin{table}[!htb]
\clearcaptionsetup{table}
\caption{bla}
\label{bla}
\begin{tabular}{c c}
x & y\\
3 & 2\\
\end{tabular}
\end{table}

\end{document}

Also, er ändert die Überschrift nicht in die Voreinstellungen zurück, gibt aber auch keine Fehlermeldung. In der Caption-Erläuterung hatte ich das so verstanden, dass das \clearcaptionsetup an die Position gehört. Anscheinend aber nicht.
Ich habe auch schon versucht, das \clearcaptionsetup an alle möglichen Positionen in die \caption mit reinzusetzen, oder es mit geschweiften Klammern zu verbinden. Bei allen Versuchen gibts dann Fehlermeldungen.
Er sagt dann immer, er hätte eine { zuviel.

Weiß einer, wo mein Fehler liegt?
Ich danke euch für die Hilfe.

Mfg,
Christina

sommerfee
06-05-2008, 18:48
\begin{table}[!htb]
\clearcaptionsetup{table}

Das \clearcaptionsetup kommt hier eine Zeile zu spät, denn bei \begin{table} sind die "table" Optionen schon angewandt worden. (Sie werden bereits hier und nicht erst bei \caption angewandt, damit sie auch für sub-tables gelten, ggf. mit \captionsetup erneut überschrieben werden können etc.)

Eine so richtig elegante Möglichkeit fällt mir im Moment nicht dafür ein, man könnte es entweder so:


\begingroup
\clearcaptionsetup{table}
\begin{table}[!htb]
...
\end{table}
\endgroup


oder so lösen:


\begin{table}[!htb]
\captionsetup{format=default,labelsep=default,sing lelinecheck=true}
...
\end{table}


Letzteres würde ich persönlich in diesem speziellen Fall auch bevorzugen, weil ja mit \clearcaptionsetup auch das "font=small" aufgehoben wird, was zu inkonsistenten Zeichensatzgrößen bei Tabellen-Beschriftungen führen würde.

Und wenn ich das richtig verstehe, möchtest du das \clearcaptionsetup in diesem Falle gerne haben, weil der durch das \captionsetup[table]{...} eingestellte Stil bei kürzeren Beschriftungen unschön aussieht? Wenn das der Fall ist, könnte man das auch über \DeclareCaptionStyle{...}{...} + \captionsetup[table]{style=...} automatisiert lösen, wo man mit Hilfe des optionalen Argumentes bei \DeclareCaptionStyle für die einzeiligen und mehrzeiligen Beschriftungen unterschiedliche Einstellungen vorgibt.

Liebe Grüße,
Axel

kays_girl
06-05-2008, 19:01
Hallo Axel.
Danke für die superschnelle Antwort.
Das funktioniert, für die Abbildungen genauso (mein Beispiel):

\begingroup
\clearcaptionsetup{figure}
\begin{figure}[!htb]
\centering
\subfloat[Blick von Norden auf die Kfz-Bereitschaft (Gebäude 29 und weitere, Karte 1 im Anhang)]{\includegraphics[width=0.40\textwidth]{Abbildungen/Gebietsfotos/DSC_5044.JPG}}
\hspace{.1\linewidth}
\subfloat[Hubschrauberlandeplatz westlich des Krankenhauses (Nr. 56, Karte 1 im Anhang)]{\includegraphics[width=0.40\textwidth]{Abbildungen/Gebietsfotos/DSC_5833.JPG}}

\caption{Zwei Beispielbilder des bebauten Bereichs}

\end{figure}
\endgroup

LG,
Christina