PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit Bookstabs - 4 Zeilen sollen drei Zeilen gegenüberstehen



Special.Guest
27-10-2012, 16:31
Hallo Zusammen,

ich versuche diese etwas ausgefallene Tabelle zu verwirklichen:



\documentclass[12pt, a4paper, titlepage]{scrartcl}

\usepackage{booktabs}
\usepackage{multirow}

\begin{document}
\begin{table}[h]

\begin{tabular}{p{0.49\textwidth} p{0.02\textwidth} p{0.49\textwidth} }

\toprule

\multicolumn{3}{c}{\textbf{Uberschrift}} \\

\midrule
Zeile 1A & & \multirow{5}{0.5\textwidth}{Zeile 1B \\[6pt] Zeile 2B \\[6pt] Zeile 3B}\\
\cmidrule{1-1}
Zeile 2A & & \\
\cmidrule{1-1}
Zeile 3A & & \\
\cmidrule{1-1}
Zeile 4A & & \\

\midrule


\end{tabular}
\caption{Tabellentitel}
\label{tab:Tabelle_zu_breit}
\end{table}
\end{document}

Es sollen sich also vier Zeilen auf der linken Seite und drei Zeilen auf der rechten Seite gegenüberstehen. Ich habe es jetzt behelfsmäßig so gelöst, dass ich in der mir \multirow zusammengefügten Zelle mit \\[6pt] Platz zwischen den Zeilen eingefügt habe. Allerdings kann ich nun in der \multirow keine \cmidrule{3-3} mehr einfügen, um zwischen Zeile 1B und Zeile 2B und Zeile 3B ebenfalls einen Strich zu erhalten.

Diese Striche zwischen Zeile 1B und Zeile 2B und Zeile 3B bräuchte ich aber. Ich müsste also \multirow wieder dreiteilen ...

Weiß hier vielleicht jemand, wie ich das lösen könnte ... ? Freue mich über jeden Hinweis :)

Lilliane
27-10-2012, 16:57
Hallo Special.Guest,

Ich kann Deine Idee verstehen und hab leider auch keine Lösung zu Deinem Problem, aber dafür eine Frage: Bist Du Dir sicher, dass Du diese horizontalen Linien tatsächlich brauchst? Für mich wäre an dieser Stelle weniger mehr, sprich ich würd die horizontalen Linien weglassen und ggf. zur optischen Abgrenzung mehr Platz zwischen den Einträgen lassen (z. B. mit \addlinespace).

VG

Lilly

Special.Guest
27-10-2012, 17:16
Hallo Lilly,

vielen Dank für Deinen Hinweis. Ja, so könnte ich es machen. Allerdings wird später in den Zellen nicht nur "Zeile XY" stehen, sondern ein mehrzeiliger Text ... da würden die horizontalen Linien schon zur optischen Abgrenzung helfen.

rstuby
27-10-2012, 17:31
Ich habe es mal mit verschachtelten Tabellen versucht, aber da hast du in der rechten den Text zu weit oben und ich weiß auch nicht, ob das "schön" ist, das so zu machen.


\documentclass[12pt, a4paper, titlepage]{scrartcl}

\usepackage{booktabs}
\usepackage{multirow}

\begin{document}
\begin{table}[h]

\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}

\toprule

\multicolumn{3}{c}{\textbf{Uberschrift}} \\

\midrule

\begin{tabular}{@{}p{0.49\textwidth}@{}}
Zeile 1A \\
\cmidrule{1-1}
Zeile 2A \\
\cmidrule{1-1}
Zeile 3A \\
\cmidrule{1-1}
Zeile 4A
\end{tabular}
& &
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Zeile 1B \\[6pt]
\cmidrule{1-1}
Zeile 2B \\[6pt]
\cmidrule{1-1}
Zeile 3B \\[6pt]
\end{tabular}
\\
\midrule

Special.Guest
27-10-2012, 17:43
Super rstuby, vielen Dank. Das bringt schonmal ein ganzes Stück weiter.

Jetzt muss ich es nur noch schaffen, dass der Zelleninhalt auf der rechten Seite zentriert wird, dann wäre das meines Erachtens schön :)

hakaze
27-10-2012, 18:54
Wenn du nur lokal arrastretch vergrößerst, statt den Durchschuss zu erhöhen, sieht die "Zentrierung" besser aus:

\documentclass[12pt, a4paper, titlepage]{scrartcl}

\usepackage{booktabs}
\usepackage{multirow}

\begin{document}
\begin{table}[h]

\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}

\toprule

\multicolumn{3}{c}{\textbf{Uberschrift}} \\

\midrule

\begin{tabular}{@{}p{0.49\textwidth}@{}}
Zeile 1A \\
\cmidrule{1-1}
Zeile 2A \\
\cmidrule{1-1}
Zeile 3A \\
\cmidrule{1-1}
Zeile 4A
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}

Zeile 1B \\
\cmidrule{1-1}
Zeile 2B \\
\cmidrule{1-1}
Zeile 3B \\
\end{tabular}}
\\
\midrule

\end{tabular}
\caption{Tabellentitel}
\label{tab:Tabelle_zu_breit}
\end{table}
\end{document}

Special.Guest
28-10-2012, 10:57
Super :) ... so klappt es! Vielen Dank hakaze.

Ich hab jetzt schon einige Daten auf diese Weise eingepflegt und es sieht super aus! Nun hab ich das Ende der Seite erreicht und bräuchte einen Seitenumbruch. Leider funktioniert es nicht, wenn ich einfach den äußersten table durch einen longtable ersetze ...

Lilliane
28-10-2012, 11:13
Hi Special.Guest,

was genau heißt "es funktioiniert nicht"? Kannst Du uns ein Minimalbeispiel machen (\usepackage{blindtext} und \blindtext können Beispieltext generieren).

Nochmal: Ich halte diese Art der Tabelle für nicht schön und wenn Du das auch noch auf mehr als 1 Seite verteilst, wird es imho völlig unübersichtlich.

VG

Lilly

Special.Guest
28-10-2012, 11:39
... es lag wohl an der \caption in der vierten Zeile von unten Die hab ich jetzt auskommentiert, und so funktioniert der longtable. Leider wird nicht umgebrochen. Hier das Minimalbeispiel:


\documentclass[12pt, a4paper, titlepage]{scrartcl}

\usepackage{booktabs}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{blindtext}

\begin{document}

\begin{longtable}[h]{@{}p{1\textwidth}}

\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\toprule
\multicolumn{3}{c}{\textbf{Sektion 1}} \\
\midrule
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \\
\end{tabular}}
\\
\midrule
\end{tabular}


\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \\
\end{tabular}}
\\
\midrule
\end{tabular}



\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\end{tabular}}
\end{tabular}

%%% Sektion 2 %%%

\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\toprule
\multicolumn{3}{c}{\textbf{Sektion 2}} \\
\midrule
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
\end{tabular}}
\\
\midrule
\end{tabular}


\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
\end{tabular}
& & {\renewcommand{\arraystretch}{1.5}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
\end{tabular}}
\end{tabular}


%%% Sektion 3 %%%

\begin{tabular}{@{}p{0.49\textwidth}@{}p{0.02\text width}@{}p{0.49\textwidth}@{}}
\toprule
\multicolumn{3}{c}{\textbf{Sektion 3}} \\
\midrule
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\end{tabular}
& & {\renewcommand{\arraystretch}{4}
\begin{tabular}{@{}p{0.49\textwidth}@{}}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\cmidrule{1-1}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\\
\end{tabular}}
\\
\midrule
\end{tabular}


%\caption{Tabellentitel}
\label{tab:Tabelle_zu_breit}
\end{longtable}



\end{document}


Das ist nach langem Ausprobieren die "schönste Tabelle" die ich generieren konnte. Wenn Du noch einen Vorschlag hast, wie ich das Ganze noch schöner bekommen könnte würde ich mich darüber freuen!

Special.Guest
28-10-2012, 12:06
... hmmm du hast recht. Wenn ich den \cmidrule durch \addlinespace ersetze sieht es schon schöner aus.

Lilliane
28-10-2012, 12:13
Hab gerade nochmal ein bisschen in Mr.Unix gesucht und bin auf einen ähnlichen Thread zu Tabellenformatierungen gestoßen: Longtable: Seitenumbruch innerhalb einer Zeile (http://www.mrunix.de/forums/showthread.php?t=65672). In dem wird u. a. das Paket tabu (http://www.ctan.org/pkg/tabu) für Tabellenformatierungen empfohlen (hat nix mit l2tabu zu tun, tabu ist nur die Abkürzung für tabular).

Wenn Du in die tabu-Doku auf Seite 5 schaust, sieht die Tabelle schon so ähnlich aus wie Deine Section 2.

Hilft Dir das vielleicht?

VG

Lilly

Special.Guest
28-10-2012, 12:31
Vielen Dank für Deine Mühe Liliane,
Ich finde die Tabelle aus der Tabu-Doku allerdings nicht schöner als die Lösung mit booktabs. Oder wo siehst du den Vorteil dabei?

Allerdings werde ich wirklich \addlinespace statt \cmidrule verwenden ... das sieht tatsächlich besser aus.

Den Seitenumbruch hab ich mittlerweile auch hinbekommen. Überall wird zwar behauptet, \pagebreak würde in der longtable-umgebung funktionieren ... bei mir kommt aber eine Fehlermeldung. Wenn ich \\ an der gewünschten Stelle einfüge, bekomme ich den gewünschten Seitenumbruch.

Lilliane
28-10-2012, 13:19
Hallo Special.Guest,

tabu scheint einfach flexibler zu sein und ein paar nette Features zu haben. Wenn Deine Tabelle jetzt so aussieht, wie Du sie haben willst, ist das nebensächlich.

Freut mich, dass es jetzt auch mit dem Seitenumbruch funktioniert.

VG

Lilly