PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Probleme mit Tabelle



Transmitter
13-04-2007, 10:08
Hi,

habe mit einer Tabelle größere Probleme:


\documentclass[%
ngerman,%
tablecaptionabove,
pdftex,% PDFTex verwenden
a4paper,% A4 Papier
oneside,% Einseitig
bibtotocnumbered,% Literaturverzeichnis nummeriert einfgen
liststotoc,%
idxtotoc,% Index ins Verzeichnis einfgen
halfparskip,% Europischer Satz mit abstand zwischen Abstzen
chapterprefix,% Kapitel anschreiben als Kapitel
% headsepline,% Linie nach Kopfzeile
% footsepline,% Linie vor Fusszeile
12pt% Grssere Schrift, besser lesbar am bildschrim
]{scrbook}

\usepackage{ngerman}
\usepackage{array}
\usepackage{babel}
\usepackage[format=hang,tableposition=above]{caption}

\addto\captionsngerman{
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}

\begin{document}
\begin{table*}[ht]
\centering
\begin{tabular}{|>{\centering}p{3cm}|>{\centering}p{3cm}|>{\centering}p{3cm}|p{3cm}|}
\hline
Test Tabelle & Test 1 (8.12.2006) [s] & Test 2 (26.1.2007) [s] & Geschlecht \\
\hline
S 1 & 22 & 22 & w \\

S 2 & 27 & 23 & w \\

S 3 & 20 & 20 & w \\

S 4 & 20 & 18 & w \\

S 5 & 21 & 23 & w \\

S 6 & 22 & 23 & w \\

S 7 & 21 & 23 & m \\

S 8 & 22 & 21 & m \\

S 9 & 19 & 19 & m \\

S 10 & 26 & 21 & w \\

S 11 & 21 & 19 & w \\

S 12 & 21 & 20 & w \\

S 13 & 24 & 24 & m \\

S 14 & 23 & 24 & m \\

S 15 & 26 & 19 & m \\

S 16 & 25 & 21 & m \\

S 17 & 27 & 23 & m \\

S 18 & 20 & 19 & w \\

S 19 & 21 & 21 & w \\

S 20 & 23 & 22 & m \\

S 21 & 20 & 19 & m \\

S 22 & 21 & 21 & m \\
\hline
*Legende: w = weiblich; m = maennlich \\


\end{tabular}
\caption{Testtabelle}
\label{Testtabelle}
\end{table*}
\end{document}

1. Ich hätte gerne die caption über der Tabelle stehen, das funktioniert nicht, obwohl ich es in der Präambel definiert habe.

2. *Legende: w = weiblich; m = maennlich soll in der letzten Teile kein

3. Wenn ich in die letzte Spalte noch >{\centering} einfüge, bekomme ich lauter Fehler - wieso dies?

4. Ich hätte gerne, dass "Tab 0.1 Überschrift" linksbündig an der Tabelle steht und nicht zentriert. Ist das auch möglich?

Klappt bei mir irgendwie nicht so :(

countbela666
13-04-2007, 10:44
1. Ich hätte gerne die caption über der Tabelle stehen, das funktioniert nicht, obwohl ich es in der Präambel definiert habe.Dann musst du den caption-Befehl schon auch noch VOR der tabular-Umgebung aufrufen. Die Klassenoption tablecaptionabove sorgt nur für den richtigen Abstand unter der caption.

2. *Legende: w = weiblich; m = maennlich soll in der letzten Teile keinWenn ich das richtig interpretiere, soll die Legende über alle Spalten in der letzten Zeile verteilt sein? Dann nutze den Befehl multicolumn (\multicolumn{1}{l}{*Legende...})

3. Wenn ich in die letzte Spalte noch >{\centering} einfüge, bekomme ich lauter Fehler - wieso dies?Weil \\ ein mehrfach überladener Befehl ist, der in Tabellen eine andere Bedeutung hat als außerhalb. Wenn jetzt die letzte Spalte, die ja immer mit \\ abgeschlossen wird, umdefiniert wird, kommt sich die neue Spaltendefinition mit dem \\-Befehl in die Quere. Abhilfe: >{\centering\arraybackslash} für die letzte Spalte nutzen.

4. Ich hätte gerne, dass "Tab 0.1 Überschrift" linksbündig an der Tabelle steht und nicht zentriert. Ist das auch möglich?Ja, das geht. Am besten nutzt du dazu aber die von deiner KOMA-Script-Klasse bereitgestellten Befehle und verzichtest auf das Einbinden des caption-Pakets, damit sich die Befehle beider Pakete nicht stören. Das ist auch die Vorgehensweise, die Axel Sommerfeldt, Autor des caption-Pakets an anderer Stelle vorgeschlagen hat.

Folgender Code sollte so tun:

...
%\usepackage[format=hang,tableposition=above]{caption}

\setcapwidth[l]{\textwidth}
\setcaphanging
...Noch ein zwei weitere Punkte:
- lass das Paket ngerman weg. Du bindest bereits babel mit der Klassenoption ngerman ein, was genau den selben Effekt hat.
- sieh dir mal das Dokument tabsatz an; dort wird beschrieben wie du... ähm, ästhetischere Tabellen setzen kannst, als es dir in deinem Beispiel gelungen ist (Stichwort vertikale Linien...)

Grüße
Marcel

Transmitter
13-04-2007, 12:49
Ah .. super, vielen Dank für deine Hilfe. :)

Bin schon mal froh, dass das jetzt fast funktioniert, aber tabsatz sieht auch nicht schlecht aus, stimmt schon :)

Noch eine Frage:

\documentclass[%
ngerman,%
tablecaptionabove,
pdftex,% PDFTex verwenden
a4paper,% A4 Papier
oneside,% Einseitig
bibtotocnumbered,% Literaturverzeichnis nummeriert einfgen
liststotoc,%
idxtotoc,% Index ins Verzeichnis einfgen
halfparskip,% Europischer Satz mit abstand zwischen Abstzen
chapterprefix,% Kapitel anschreiben als Kapitel
12pt% Grssere Schrift, besser lesbar am bildschrim
]{scrbook}

\usepackage{ngerman}
\usepackage{array}
\usepackage{babel}
%\usepackage[format=hang,tableposition=above]{caption}

\addto\captionsngerman{
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
}

\begin{document}
\begin{table*}[ht]
\centering
\setcapwidth[l]{12cm}
\setcaphanging
\caption{Testtabelle}

\begin{tabular}{|>{\centering}p{3cm}|>{\centering}p{3cm}|>{\centering}p{3cm}|>{\centering\arraybackslash}p{3cm}|}
\hline
Test Tabelle & Test 1 (8.12.2006) [s] & Test 2 (26.1.2007) [s] & Geschlecht \\
\hline
S 1 & 22 & 22 & w \\

S 2 & 27 & 23 & w \\

S 3 & 20 & 20 & w \\
\hline
\multicolumn{4}{|l|}{*Legende... asdöf aösdlfk aösdlf kaösdf } \\
\hline

\end{tabular}
\label{Testtabelle}
\end{table*}
\end{document}

Habe ja jetzt die 12cm Tabelle und für die Überschrift auch 12cm angegeben, wieso ist die Überschrift denn jetzt trotzdem linksbündig mit textwidth?

countbela666
13-04-2007, 13:14
Habe ja jetzt die 12cm Tabelle und für die Überschrift auch 12cm angegeben, wieso ist die Überschrift denn jetzt trotzdem linksbündig mit textwidth?Asche auf mein Haupt. Zuerst muss die Option aktiviert werden, dass einzeilige Unter-/Überschriften wie mehrzeilige behandelt (also nicht IMMER zentriert) werden, und zum anderen muss das optionale Argument von \setcapwidth natürlich [c] lauten.

Ein kleiner Irrtum deinerseits liegt aber auch vor: deine Tabelle ist nicht 3cm+3cm+3cm+3cm=12cm, sondern \tabcolsep+3cm+2*\tabcolsep+3cm+2*\tabcolsep+3cm+2 *\tabcolsep+3cm+\tabcolsep=12cm+8*\tabcolsep breit.

\documentclass[%
ngerman,%
tablecaptionabove,
noonelinecaption,
pdftex,% PDFTex verwenden
a4paper,% A4 Papier
oneside,% Einseitig
bibtotocnumbered,% Literaturverzeichnis nummeriert einfgen
liststotoc,%
idxtotoc,% Index ins Verzeichnis einfgen
halfparskip,% Europischer Satz mit abstand zwischen Abstzen
chapterprefix,% Kapitel anschreiben als Kapitel
12pt% Grssere Schrift, besser lesbar am bildschrim
]{scrbook}

\usepackage{ngerman,calc}

...

\setcapwidth[c]{12cm+8\tabcolsep}
\setcaphanging
\caption{Testtabelle}

\begin{tabular}{|>{\centering}p{3cm}|>{\centering}p{3cm}|>{\centering}p{3cm}|>{\centering\arraybackslash}p{3cm}|}
...Grüße
Marcel

Transmitter
14-04-2007, 18:26
Ja, super .. soll ich dich am besten namentlich in meinem Dokument erwähnen? :)