PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 Tabellen mit gleicher Gesamtbreite => 2. Tabelle nicht breit genug



trashmrrrc
26-09-2008, 11:10
Hallo,

ich hab hier ein Problem,

Ich hab untereinander 2 Tabellen definiert die gleich breit sein sollen und letztendlich ineinander übergreifen. Es müssen auch 2 Tabellen sein.

Die 1. ist so definiert:


\begin{tabular}{|p{5cm}|p{2cm}|p{9cm}|p{2cm}|

und die 2. so :


\begin{tabular}{|p{4cm}|p{14cm|}


Die Gesamtbreiten sind ja gleich. Jetzt wüsste ich gerne wieso es nicht passt und die 2. Tabelle nicht so breit ist?

mehlvogel
26-09-2008, 13:16
Ausm Buch raus: Wegen den vertikalen Linien die auch ihren Platz brauchen (und im Zweifel vermieden werden sollten).

Stefan_K
26-09-2008, 13:25
Zudem wird jeweils \tabcolsep (http://weinelt.de/latex/tabcolsep.html) eingefügt, weshalb sich bei verschiedener Spaltenzahl eine andere Gesamtlänge ergeben muss.

Stefan

trashmrrrc
26-09-2008, 13:28
Ok! Danke soweit.

Wie würde sich das Problem denn lösen lassen? Wie gesagt muss ich es bei 2 Tabellen belassen.

AndiU
26-09-2008, 13:39
Wenn Du den Wert von tabcolsep herausfindest (oder selbst definierst), kannst Du die Spaltenbreiten entsprechend anpassen. Du hast in der ersten Tabelle die Breite Deiner Spalten plus drei Spaltenzwischenräume und in der zweiten Tabelle die Breite Deiner Spalten plus einen Spaltenzwischenraum. Du musst also die Breite der Spalten der zweiten Tabelle jeweils um die Breite eines Spaltenzwischenraumes vergrößern, dann sollte es schick aussehen.

Stefan_K
26-09-2008, 13:40
Mit calc-Paket beispielsweise:

\usepackage{calc}
...
\begin{tabular}{|p{4cm+2\tabcolsep}|p{14cm+2\tabco lsep}|}
...

Stefan

voss
26-09-2008, 13:41
Hallo,

ich hab hier ein Problem,

Ich hab untereinander 2 Tabellen definiert die gleich breit sein sollen und letztendlich ineinander übergreifen. Es müssen auch 2 Tabellen sein.

Die 1. ist so definiert:


\begin{tabular}{|p{5cm}|p{2cm}|p{9cm}|p{2cm}|

und die 2. so :


\begin{tabular}{|p{4cm}|p{14cm|}


Die Gesamtbreiten sind ja gleich. Jetzt wüsste ich gerne wieso es nicht passt und die 2. Tabelle nicht so breit ist?

die erste hat eine Breite von 18cm+8\tabcolsep
die zweite von 18cm+4\tabcolsep

und jeweils die vertikale Liniedicke dazu, je nachdem ob du array verwendest
oder nicht.

Die zweite muss also mindestens:


\begin{tabular}{|p{4cm+2\tabcolsep}|p{14cm2\tabcol sep|}

sein. Braucht Paket calc.

Herbert

Xenara
26-09-2008, 14:02
Wäre in diesem Fall tabularx auch eine Lösung?
Für die erste etwa
\begin{tabularx}{|\textwidth}{0.3\textwidth|X|.6\t extwidth|X}
und für die Zweite z.B.
\begin{tabularx}{|\textwidth}{0.4\textwidth|X|}

Stefan_K
26-09-2008, 14:12
Hallo Xenara,

es sind kleine Fehler in der Syntax, Du meinst es vmtl. so:

\begin{tabularx}{\textwidth}{|p{0.4\textwidth}|X|}
...

Stefan

Xenara
26-09-2008, 14:17
Ups, zu schnell getippt. Sorry, natürlich hat Stefan recht, dass der senkrechte Strich in die zweite geschweifte Klammer gehört und nix in der ersten zu suchen hat.
Also


...
\usepackage{tabularx}
...
\begin{tabularx}{\textwidth}{|p{0.4\textwidth}|X|}
Spalte 1 & Spalte 2 \\
\end{tabularx}

\begin{tabularx}{\textwidth}{|p{0.2\textwidth}|X|p {.5\textwidth}|X|}
Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\
\end{tabularx}