PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstand caption <-> table, geomety problem!?



J0Sch
02-05-2014, 16:27
Hallo,

ich will einige Tabellen nicht in eine Gleitumgebung setzen. Um dennoch nicht auf Tabellenüberschrift und Referenzierung zu verzichten, pack ich die Tabelle in eine \center Umgebung und setzte die Tabellenüberschrift mit \captionof{table}{}. Leider ist der Abstand zwischen Überschrift und Tabelle dann zu groß. Sobald ich geometry auskommentiere ist der Abstand wieder richtig. Der Fehler tritt bei Tabellen in einer Gleitumgebung (siehe 2. Tabelle im Minimalbeispiel) nicht auf.


\documentclass[a4paper,11pt,oneside]{scrbook}

\usepackage[left=3cm, right=2.5cm, top=3cm, bottom=2cm]{geometry} % Ränder
\usepackage[utf8]{inputenc} % Umlaute
\usepackage[ngerman]{babel} % Sprache
\usepackage[small, hang, nooneline]{caption} % Bildunterschriften (noonelin = Linksbündig)
\usepackage[table]{xcolor} % Tabellen farbig hinterlegen
\usepackage{array}
\usepackage{tabu} % schöne Tabellen

\definecolor{blau}{RGB}{2,66,144}
\renewcommand\familydefault{\sfdefault}

\begin{document}

\begin{center}
\captionof{table}{Überschrift}
\label{tab:03}
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\textbf{Volu menströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{center}

\begin{table}[htbp]
\caption{Überschrift in table umgebung mit richtigem Abstand}
\label{tab:03}
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\textbf{Volu menströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{table}

\end{document}

Kann mir da jemand weiterhelfen? Und wenn jemand spontan eine Lösung hat wie ich die Zeilenhöhe meiner ersten (blau hinterlegte) Zeile vergrößern kann ohne dass der Text dabei vertikal vertuscht, würde ich mich ebenfalls freuen ;)

Viele Grüße,
Josch

klops
02-05-2014, 18:02
Da Du keine Tabellenunterschriften (Voreinstellung), sondern Tabellenüberschriften verwendest, solltest Du \captionabove und \captionaboveof bzw. verwenden. Du kannst für \caption in table-Umgebungen auch die Voreinstellung mit der KOMA-Script-Option captions=tableabove ändern. Für \captionof ändert das AFAIK aber nichts. Dort musst Du explizit \captionaboveof verwenden.

Derzeit ist der Abstand bei table jedenfalls zu gering!

J0Sch
03-05-2014, 11:29
moin moin,

danke klops für die Hinweise. Jetzt lässt sich der Abstand der \captionaboveof{} über skip=6pt einstellen.
Allerdings zeigt sich meine Tabellenüberschrift in der Gleitumgebung von \captionsetup[table]{position=top,skip=6pt} unbeeindruckt :( was übersehe ich hier?
Viele Grüße,
Josch

\documentclass[a4paper,11pt,oneside]{scrbook}

\usepackage[left=3cm, right=2.5cm, top=3cm, bottom=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{caption}[2013/02/03]
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{tabu}
\usepackage{blindtext}

\captionsetup{font={small,sf},labelfont={bf},forma t={hang},singlelinecheck=off}
\captionsetup[table]{position=top,skip=6pt}

\definecolor{blau}{RGB}{2,66,144}

\begin{document}

\blindtext

\begin{center}
\captionaboveof{table}{Überschrift, Abstand lässt sich jetzt über skip=xypt einstellen}
\label{tab:03}
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\textbf{Volu menströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{center}

\blindtext

\begin{table}[htbp]
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\caption{Überschrift in table Umgebung... absolut unbeeindruckt von skip=6pt}
\label{tab:03}
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\textbf{Volu menströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{table}

\end{document}

esdd
03-05-2014, 12:27
Du kannst das caption Paket einfach weglassen und alle Einstellungen über KOMA-Script vornehmen. Mit der Option captions=tableheading wird davon ausgegangen, dass alle captions bei Tabellen als Überschriften gesetzt werden und es werden die dafür richtigen Abstände eingefügt. Mit dieser Klassenoption liefern dann \captionaboveof und \captionof sowie \capitonabove und \caption die gleichen Abstände der Tabellenüberschriften zu den Tabellen. Die KOMA-Script Klassen setzen die Beschriftungen übrigens standardmäßig hängend.

Die caption und die nicht gleitende Tabelle gehören in eine minipage, damit ein Seitenumbruch zwischen beiden ausgeschlossen wird.


\documentclass[oneside,
captions=nooneline,% auch einzeilige captions linksbündig
captions=tableheading,% Tabellenüberschriften (richtiger Abstand)
]{scrbook}
\addtokomafont{caption}{\small}% Schrifteinstellung für caption
\addtokomafont{captionlabel}{\bfseries}% zusätzlich für captionlabel

\usepackage[left=3cm, right=2.5cm, top=3cm, bottom=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%\usepackage[small, hang, nooneline]{caption}% nicht nötig
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{tabu}

\definecolor{blau}{RGB}{2,66,144}
\renewcommand\familydefault{\sfdefault}

\begin{document}

\begin{center}
\begin{minipage}{\linewidth}
\centering
\captionof{table}{Überschrift}
\label{tab:01}
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\rule{0pt}{1 .5em}\textbf{Volumenströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{minipage}
\end{center}

\begin{table}[htbp]
\caption{Überschrift in table umgebung mit richtigem Abstand}
\label{tab:02}
\def\arraystretch{1.4}
\tabulinesep=0.8ex
\begin{tabu}to\textwidth{X[3]X[1]X[3]X[1]X[3]X[1]}
\tabucline[0.8pt]{1-6}
\multicolumn{2}{>{\columncolor{blau}{\textcolor{white}{\textbf{Volu menströme}}}}c}{}&\multicolumn{4}{>{\columncolor{blau}{\textcolor{white}{\textbf{Temp eraturen}}}}c}{}\\[2mm]
\tabucline[0.6pt]{1-6}
\taburowcolors 1{white .. black!10!white}
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
test&10&test&10&test&10\\
\tabucline[0.8pt]{1-26}
\end{tabu}
\end{table}

\end{document}

Gruß
Elke

PS: In der oberen Tabelle habe ich mit \rule{0pt}{1.5em} eine unsichtbare "Stütze" eingebaut, die die Zeilenhöhe vergrößert

esdd
03-05-2014, 15:31
Du kannst für \caption in table-Umgebungen auch die Voreinstellung mit der KOMA-Script-Option captions=tableabove ändern. Für \captionof ändert das AFAIK aber nichts. Dort musst Du explizit \captionaboveof verwenden.

Wenn keine weiteren Pakete geladen werden, die Einfluss auf die Beschriftungen von Gleitumgebungen nehmen, berücksichtigt \captionof laut KOMA-Script Anleitung (http://www.ctan.org/pkg/koma-script) die gesetzte Option capitons=tableheading oder alternativ mit gleicher Wirkung captions=tableabove.

Auf das caption Paket kann man in dem angegebenen Beispiel zwar eigentlich verzichten, aber wenn ich es trotzdem lädt, funktioniert bei mir die Kombination von captions=tableheading und \captionof. Das entspricht auch den Angaben in der Dokumentation des Paketes caption .

Gruß
Elke

J0Sch
03-05-2014, 17:10
Hallo Elke,
vielen Dank für die Hilfe, wenn ich caption auskommentiere und deine KOMA-Einstellung verwende klappt alles wunderbar :)

allerdings scheint es in meinem Beispiel ein Problem mit caption zu geben, denn die Einstellung (\captionsetup) werden, zumindest in der Gleitumgebung, ignoriert.

Naja ich kann auch ohne das caption packet auskommen ;)

Grüße,
Josch

u_fischer
03-05-2014, 18:53
Du musst nicht auf \caption verzichten, aber du musst zusätzlich noch captions=tableabove bei der Dokumentenklasse angeben.

J0Sch
05-05-2014, 18:19
Hallo,

@ Ulrike: super damit kann ich dann meine caption Optionen wie gewohnt setzen :)

@ Elke: Das mit der \rule{0pt}{1.5em} hab ich ganz übersehen, damit kann ich mit
\\[xmm] die Zeilenhöhe vergrößern und die Schrift einigermaßen zentriert lassen.

Vielen Dank für eure Hilfe!

Grüße,
Josch