PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Tabellen



kaumGott
12-03-2008, 01:21
Hallo geehrte Gemeinde..
Ich sitze schon seit Stunden an einer Tabelle und hab auch nach längerem googlen keine (gute) Lösung für meine Probleme gefunden:

Erstmal grob: Ich möchte mir eine 5-zeilige Tabelle basteln, in denen verschiedene Hintergrundfarben auftreten und die ein mehrzeiliges Feld mit einer Matrix enthält.
Probleme:
1. Das mehrzeilige Feld erhält nicht komplett die gewünschte Farbe
2. Der Inhalt (Text/Matrix) des mehrzeiligen Feldes (multirow) wird durch die Hintergrundfarben (rowcolor) übermalt.
3. \cline's werden durch Hintergrundfarben (rowcolor/cellcolor) übermalt.
4. in der Matrix ist die erste Zeile komplett schwarz.

Hier ist mein Quelltext:

\documentclass{scrartcl}

\usepackage{color,colortbl,array,amsmath,multirow}

\definecolor{hellgrau}{rgb}{0.8,0.8,0.8}
\definecolor{mittelgrau}{RGB}{162,181,205}
\definecolor{rot}{RGB}{255,0,0}

\begin{document}
\begin{tabular}[h]{|p{4cm}|p{4cm}|p{2.5cm}|p{2cm}|p{3cm}|}
\rowcolor{hellgrau}
\multirow{4}{4cm}{%
\begin{minipage}{.35\linewidth}die Matrix\end{minipage}%
\begin{minipage}{.59\linewidth}
$\begin{Bmatrix}%
A\\
B\times C\\
D\times E\\
F\times G\times H
\end{Bmatrix}$\end{minipage}} &
$A_1(B^2)\text{, }D_e$ &
\cellcolor{mittelgrau}mittelgrau &
F(3) &
wieder einmal hellgrau\\
\cline{2-5}
\rowcolor{hellgrau}
& $A_{1}(B^2\times C^3)\text{, }D_4$ &
\cellcolor{rot}rot &
E(5) &
hellgrau\\
\cline{2-5}
& \cellcolor{hellgrau}$A_{1}(B^2\times C^3)$ &
\ &
\ &
\ \\
\cline{2-5}
& \cellcolor{hellgrau}$D_{4}(E^5\times F^6\times G^7)$ &
\ &
\ &
\ \\
\hline
\end{tabular}
\end{document}


Das Layout der Tabelle, wie es mal werden soll, hab ich angefügt (noch ohne Text).

Ich hoffe, dass ihr mir helfen könnt. Danke schon mal im voraus fürs Gedanken machen.

MfG

sofa-surfer
12-03-2008, 08:13
3. \cline's werden durch Hintergrundfarben (rowcolor/cellcolor) übermalt.

Das ist ein altbekanntes Problem ... Eine einfache Lösung habe ich nicht parat. Ich hab hier mal ein bisschen mit \hhline rumgespielt.



\documentclass{scrartcl}
\usepackage{color,colortbl,array,amsmath,multirow, ragged2e,hhline}

\definecolor{hellgrau}{rgb}{0.8,0.8,0.8}
\definecolor{mittelgrau}{RGB}{162,181,205}
\definecolor{rot}{RGB}{255,0,0}

\begin{document}
\begin{tabular}{{|>{\columncolor{hellgrau}}p{4cm}|>{\columncolor{hellgrau}}p{4cm}|p{2.5cm}|p{2cm}|p{3 cm}|}}
\hline
%erste Zeile
& $A_1(B^2)\text{, }D_e$ &
\cellcolor{mittelgrau}mittelgrau &
F(3) &
wieder einmal hellgrau \\

%zweite Zeile
\hhline{|>{\arrayrulecolor{hellgrau}}->{\arrayrulecolor{black}}|----}
\rowcolor{hellgrau}
& $A_{1}(B^2\times C^3)\text{, }D_4$ &
\cellcolor{rot}rot &
E(5) &
hellgrau\\

%dritte Zeile
\hhline{|>{\arrayrulecolor{hellgrau}}->{\arrayrulecolor{black}}|----}
& $A_{1}(B^2\times C^3)$ &
\ &
\ &
\ \\
\hhline{|>{\arrayrulecolor{hellgrau}}->{\arrayrulecolor{black}}|----}

%vierte Zeile
\multirow{-5}{4cm}{%
\parbox{.35\linewidth}{\RaggedRight die Matrix}\hfill
\parbox{.59\linewidth}{%
$\begin{Bmatrix}%
A\\
B\times C\\
D\times E\\
F\times G\times H
\end{Bmatrix}$
}}
& $D_{4}(E^5\times F^6\times G^7)$ &&\\
\hline
\end{tabular}

\end{document}


Matthias

kaumGott
12-03-2008, 16:19
Hey, die Idee ist sehr gut. Funktioniert auch super. Werde ich mal einbauen. Vielen Dank!
Damit haben sich (warum auch immer) die anderen Probleme auch gleich gelöst. Nicht schlecht.. Bin sehr erleichtert! Danke nochmal.

sofa-surfer
12-03-2008, 16:45
Hey, die Idee ist sehr gut. Funktioniert auch super. Werde ich mal einbauen. Vielen Dank!
Damit haben sich (warum auch immer) die anderen Probleme auch gleich gelöst. Nicht schlecht.. Bin sehr erleichtert! Danke nochmal.

Naja, die anderen Probleme habe ich schon auch 'aktiv' angegangen. Das Hauptproblem bzw. der Knackpunkt war folgender:
Wenn man \multirow in farbigen Tabellen einsetzen will, dann muss man die \multirow in die unterste Tabellenzeile schreiben und nicht (wie es bei dir war) in die oberste. Auf diese Weise verhindert man, dass die Farbe den Inhalt überdeckt. Wenn ich mich recht erinnere steht das auch in der Anleitung zum Paket.

Matthias

kaumGott
12-03-2008, 20:46
Ja, beim einbauen habe ich dann auch gesehen, dass du noch mehr geändert hattest. Hatte nur das gequotete Problem im Auge und beim testen einfach den kompletten Quelltext kopiert. Nochmachs danke..