PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit nicht durchgehenden Linien



Arno
09-12-2009, 09:04
Hallo,
ich kämpfe zur Zeit mit einer Tabelle und hoffe das sich hier jemand findet der/die helfen kann.
Ich habe eine Tabelle mit 9 Zeilen und 10 Spalten. Dabei ist die Zeilenhöhe der obersten Zeile größer als die der restlichen Zeilen. Außerdem sind in den Spalten 2 und 10 die Zellen doppelt so hoch wie in den restlichen Spalten.
Nun möchte ich die Zellen der Zeilen 2 bis 9 durch horizontale Linien getrennt haben. Dabei sollen die Trennlinien alle Spalten außer denen der Spalte 2 und 20 erfassen (da Spalte 2 und 10 größere Zellen haben und ort die Trennlinien auch schon korrekt sind).
Dann möchte ich die Spalten 3/4, 4/5, 6/7 und 8/9 nochdurch vertikale Linien trennen. Diese sollen auch nicht durchgehen sein, sondern in der dritten Zeile der Überschrift (in der die Zahl steht) beginnen.
Außerdem sollen die Einträge der Spalten 2 und 10 nicht nur vertikal, sondern auch horizontal in der jeweiligen Zelle zentriert sein.
Ich habe mir bereits die Tabsatz Dokumentation angesehen. In ihr wird für die horizontalen Trennlinien der Befehl \cline empfohlen. Das habe ich bei meinem Beispiel versucht, blieb aber leider wirkungslos...


Ich hänge mal ein Minimalbeispiel zur Verdeutlichung an



\documentclass[12pt,a4paper,oneside,bibtotoc,liststotoc,headlines =2.1]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{tocloft}
\usepackage{listings}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{|c|c|ccc|cr|cr|c|}\hline
{\bf } & {\bf } & {\bf } & {\bf Überschrift 3} & {\bf } & {\bf Überschrift 4} & {\bf } & {\bf Überschrift 5} & {\bf} & {\bf } \\
{\bf Überschrift} & {\bf Uberschrift} & {\bf } & {\bf } & {\bf } & \multicolumn{ 2}{|c}{{\bf }} & \multicolumn{ 2}{|c}{{\bf }} & {\bf Überschrift 6} \\
{\bf 1} & {\bf 2} & {\bf 3} & {\bf 3} & {\bf 3} & {\bf 4} & {\bf 4} & {\bf 5} & {\bf 5} & {\bf } \\
{\bf } & {\bf } & {\bf 1} & {\bf 2} & {\bf 3} & {\bf 1} & {\bf 2} & {\bf 1} & {\bf 2} & {\bf } \\\hline
Feld 1.1 & \multicolumn{ 1}{|c|}{Feld 2.1} & Feld 3.1.1 & Feld 3.1.2 & Feld 3.1.3 & Feld 4.1.1 & Feld 4.1.2 & Feld 5.1.1 & Feld 5.1.2 & \multicolumn{ 1}{|c|}{Feld 6.1}\cline{1-1} \\
Feld 1.2 & \multicolumn{ 1}{|c|}{} & Feld 3.2.1 & Feld 3.2.2 & Feld 3.2.3 & Feld 4.2.1 & Feld 4.2.2 & Feld 5.2.1 & Feld 5.2.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.3 & \multicolumn{ 1}{|c|}{Feld 2.2} & Feld 3.3.1 & Feld 3.3.2 & Feld 3.3.3 & Feld 4.3.1 & Feld 4.3.2 & Feld 5.3.1 & Feld 5.3.2 & \multicolumn{ 1}{|c|}{Feld 6.2} \\
Feld 1.4 & \multicolumn{ 1}{|c|}{} & Feld 3.4.1 & Feld 3.4.2 & Feld 3.4.3 & Feld 4.4.1 & Feld 4.4.2 & Feld 5.4.1 & Feld 5.4.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.5 & \multicolumn{ 1}{|c|}{Feld 2.3} & Feld 3.5.1 & Feld 3.5.2 & Feld 3.5.3 & Feld 4.5.1 & Feld 4.5.2 & Feld 5.5.1 & Feld 5.5.2 & \multicolumn{ 1}{|c|}{Feld 6.3} \\
Feld 1.6 & \multicolumn{ 1}{|c|}{} & Feld 3.6.1 & Feld 3.6.2 & Feld 3.6.3 & Feld 4.6.1 & Feld 4.6.2 & Feld 5.6.1 & Feld 5.6.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.7 & \multicolumn{ 1}{|c|}{Feld 2.4} & Feld 3.7.1 & Feld 3.7.2 & Feld 3.7.3 & Feld 4.7.1 & Feld 4.7.2 & Feld 5.7.1 & Feld 5.7.2 & \multicolumn{ 1}{|c|}{Feld 6.4} \\
Feld 1.8 & \multicolumn{ 1}{|c|}{} & Feld 3.8.1 & Feld 3.8.2 & Feld 3.8.3 & Feld 4.8.1 & Feld 4.8.2 & Feld 5.8.1 & Feld 5.8.2 & \multicolumn{ 1}{|c|}{} \\
\hline
\end{tabular}
\end{document}

mechanicus
09-12-2009, 09:11
Hallo,

du hast cline falsch angesetz. Erst nach der Anweisung \\ soll das cline kommen.

Ich habe zu dem die Tabelle mal aufs "Papier gepresst"


\documentclass[12pt,a4paper,oneside,bibtotoc,liststotoc,headlines =2.1]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{tocloft}
\usepackage{listings}
\usepackage{booktabs}
\usepackage{rotating}
\begin{document}
\begin{sidewaystable}\footnotesize
\begin{tabular}{|c|c|ccc|cr|cr|c|}\hline
{\bf } & {\bf } & {\bf } & {\bf Überschrift 3} & {\bf } & {\bf Überschrift 4} & {\bf } & {\bf Überschrift 5} & {\bf} & {\bf } \\
{\bf Überschrift} & {\bf Uberschrift} & {\bf } & {\bf } & {\bf } & \multicolumn{ 2}{|c}{{\bf }} & \multicolumn{ 2}{|c}{{\bf }} & {\bf Überschrift 6} \\
{\bf 1} & {\bf 2} & {\bf 3} & {\bf 3} & {\bf 3} & {\bf 4} & {\bf 4} & {\bf 5} & {\bf 5} & {\bf } \\
{\bf } & {\bf } & {\bf 1} & {\bf 2} & {\bf 3} & {\bf 1} & {\bf 2} & {\bf 1} & {\bf 2} & {\bf } \\\hline
Feld 1.1 & \multicolumn{ 1}{|c|}{Feld 2.1} & Feld 3.1.1 & Feld 3.1.2 & Feld 3.1.3 & Feld 4.1.1 & Feld 4.1.2 & Feld 5.1.1 & Feld 5.1.2 & \multicolumn{ 1}{|c|}{Feld 6.1} \\\cline{1-1}
Feld 1.2 & \multicolumn{ 1}{|c|}{} & Feld 3.2.1 & Feld 3.2.2 & Feld 3.2.3 & Feld 4.2.1 & Feld 4.2.2 & Feld 5.2.1 & Feld 5.2.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.3 & \multicolumn{ 1}{|c|}{Feld 2.2} & Feld 3.3.1 & Feld 3.3.2 & Feld 3.3.3 & Feld 4.3.1 & Feld 4.3.2 & Feld 5.3.1 & Feld 5.3.2 & \multicolumn{ 1}{|c|}{Feld 6.2} \\
Feld 1.4 & \multicolumn{ 1}{|c|}{} & Feld 3.4.1 & Feld 3.4.2 & Feld 3.4.3 & Feld 4.4.1 & Feld 4.4.2 & Feld 5.4.1 & Feld 5.4.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.5 & \multicolumn{ 1}{|c|}{Feld 2.3} & Feld 3.5.1 & Feld 3.5.2 & Feld 3.5.3 & Feld 4.5.1 & Feld 4.5.2 & Feld 5.5.1 & Feld 5.5.2 & \multicolumn{ 1}{|c|}{Feld 6.3} \\
Feld 1.6 & \multicolumn{ 1}{|c|}{} & Feld 3.6.1 & Feld 3.6.2 & Feld 3.6.3 & Feld 4.6.1 & Feld 4.6.2 & Feld 5.6.1 & Feld 5.6.2 & \multicolumn{ 1}{|c|}{} \\\hline
Feld 1.7 & \multicolumn{ 1}{|c|}{Feld 2.4} & Feld 3.7.1 & Feld 3.7.2 & Feld 3.7.3 & Feld 4.7.1 & Feld 4.7.2 & Feld 5.7.1 & Feld 5.7.2 & \multicolumn{ 1}{|c|}{Feld 6.4} \\
Feld 1.8 & \multicolumn{ 1}{|c|}{} & Feld 3.8.1 & Feld 3.8.2 & Feld 3.8.3 & Feld 4.8.1 & Feld 4.8.2 & Feld 5.8.1 & Feld 5.8.2 & \multicolumn{ 1}{|c|}{} \\
\hline
\end{tabular}
\end{sidewaystable}
\end{document}

Gruß
Marco

Arno
14-12-2009, 12:08
Vielen Dank für den Hinweis. Ich habs jetzt geändert, so daß ich die horizontalen Linien in der Tabelle wie gewünscht habe. Allerdings habe ich noch das Problem der vertiklen Linien. solange in den Feldern/Zellen die Bezeichnungen Feld 3.3 (Zahl beliebig) standen konnte ich mit /vline Linien "einziehen" so daß es auch mit den Überschriften der einzelnen (Zwischen-) Kolumnen passte. Jetzt habe ich aber in den Feldern nur Zahlen stehen und da passen Überschriften und Felder/Zellen nicht mehr. Durch einfügen eines (größeren) Abstands zwischen Zahl und \vline hat sich leider nichts geändert. Am besten wäre es natürlich wenn die vertikalen Trennlinien
schon auf Höhe der Überschriften der Zwischenkolumnen (Höhe, Breite etc.) beginnen.
Es wäre schön wenn du oder ein anderer Latex Tabellenspezialist mir da weiterhelfen könnte.




\documentclass[12pt,a4paper,oneside,bibtotoc,liststotoc,headlines =2.1]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{tocloft}
\usepackage{listings}
\usepackage{booktabs}
\usepackage{rotating}
\begin{document}
\begin{sidewaystable}
\footnotesize
\begin{tabular}{|c|c|ccc|cc|cr|r|}\hline
{\bf } & {\bf } & {\bf } & {\bf Kolumne 3} & {\bf } & {\bf Kolumne 4} & {\bf } & {\bf Kolumne 5} & {\bf} & {\bf } \\
{\bf Probe-} & {\bf Versuch} & {\bf } & {\bf } & {\bf } & \multicolumn{ 2}{|c}{{\bf }} & \multicolumn{ 2}{|c}{{\bf }} & {\bf Kolumne 6} \\
{\bf körper} & {\bf Nr.} & {\bf Länge} & {\bf Höhe} & {\bf Dicke} & {\bf Breite} & {\bf Höhe} & {\bf Ø} & {\bf Abstand} & {\bf } \\
{\bf } & {\bf } & {\bf [mm]} & {\bf [mm]} & {\bf [mm]} & {\bf [mm]} & {\bf [mm]} & {\bf [mm]} & {\bf [mm]} & {\bf } \\\hline
1 & \multicolumn{1}{|c|}{2/7} & 5000 \vline & 400 \vline & 5 & 50 \vline & 50 & 8 \vline & 150 & \multicolumn{1}{|c|}{Feld 6.1}\\\cline{1-1}\cline{3-9}
2 & \multicolumn{1}{|c|}{} & 5000 \vline & 400 \vline & 5 & 50 \vline & 50 & 8 \vline & 150 & \multicolumn{1}{|c|}{} \\\hline
5 & \multicolumn{1}{|c|}{8/9} & 5000 \vline & 400 \vline & 10 & 50 \vline & 60 & 8 \vline & 150 & \multicolumn{ 1}{|c|}{Feld 6.2} \\\cline{1-1}\cline{3-9}
6 & \multicolumn{1}{|c|}{} & 5000 \vline & 400 \vline & 10 & 50 \vline & 60 & 8 \vline & 150 & \multicolumn{1}{|c|}{} \\\hline
7 & \multicolumn{1}{|c|}{3/4} & 5000 \vline & 400 \vline & 10 & 60 \vline & 60 & 8 \vline & 1000 & \multicolumn{ 1}{|c|}{Feld 6.3} \\\cline{1-1}\cline{3-9}
8 & \multicolumn{1}{|c|}{} & 5000 \vline & 400 \vline & 10 & 60 \vline & 60 & 8 \vline & 1000 & \multicolumn{1}{|c|}{} \\\hline
9 & \multicolumn{1}{|c|}{1/10} & 5000 \vline & 250 \vline & 10 & 60 \vline & 60 & 8 \vline & 150 & \multicolumn{ 1}{|c|}{Feld 6.4} \\\cline{1-1}\cline{3-9}
10 & \multicolumn{1}{|c|}{} & 5000 \vline & 250 \vline & 10 & 60 \vline & 60 & 8 \vline & 150 & \multicolumn{1}{|c|}{} \\
\hline
\end{tabular}
\end{sidewaystable}
\end{document}

deidre_ann
15-12-2009, 15:01
Hi Arno,

eigentlich heißt es ja immer in den ganzen Ratgebern, man solle völlig auf vertikale Linien verzichten (siehe z.B. booktabs-Dokumentation).

Nichtsdestrotrotz: Nachdem ich mir dein Minimalbeispiel angeschaut habe, finde ich, dass du die Tabelle doch recht kompliziert aufgebaut hast. Wenn du schon unbedingt vertikale Linien innerhalb deiner Kolumnen 3,4 und 5 haben möchtest, dann solltest du auch folgendes machen:


\begin{tabular}{|c|c|c|c|c|c|c|c|r|r|}

und dann nicht den Tabellenkörper umgestalten mit \vline, sondern nur den Tabellenkopf. Das würde es wahrscheinlich einfacher machen. :)

ciao, Ann


PS. In deinem "Minimal"beispiel sind etliche Befehle zu viel: %\usepackage{csquotes, tocloft, istings, booktabs}
PPS. Schaue dir wirklich mal die Booktabs-Dokumentation an.