Tabellen und Grafiken erstellen und anordnen
Malte
Forum-Anfänger
Beiträge: 23 Registriert: Mo 30. Mär 2015, 23:10
Beitrag
von Malte » Fr 8. Mai 2015, 15:08
Hey,
ich habe in einer Tabelle multirow-Felder mit einer Farbe hintelegt. Diese liegen auf einer Zeile. Ich möchte zwischen den beiden multirow-Feldern einen kleinen weißen Zwischenplatz erzeugen. Ich könnte dafür auch eine leere Spalte einfügen, allerdings ist meine Tabelle so groß, dass ich das umgehen möchte.
Hier ein Beispiel:
\documentclass{article}
\usepackage{mathptmx}
\usepackage[ngerman]{babel}
\usepackage{helvet}
\usepackage{courier}
\usepackage{booktabs}
\usepackage{type1cm}
\usepackage{t1enc}
\usepackage{subeqnarray}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{float}
\usepackage{multicol}
\usepackage[bottom]{footmisc}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{lscape}
\usepackage{ragged2e}
\usepackage{relsize}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{colortbl}
\begin{document}
\begin{tabular}{*{5}{>{\centering\arraybackslash}m{2cm}}} \toprule
1&Text&Text&Text\\
2&\cellcolor{green}&\cellcolor{green}&Text\\
3&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}&Text\\
4&Text&Text&Text\\ \bottomrule
\end{tabular}
\end{document}
Zwischen Spalte 2 und Spalte 3 soll ein Zwischenraum sein, sodass die grünen Felder nicht "zusammenhängen".
Gruß
Malte
Danke und Gruß
Malte
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Fr 8. Mai 2015, 17:31
Hier ist ein Vorschlag, bei dem alle Zellen einen weißen Hintergrund mit einem Überhang von nur .75 \tabcolsep erhalten. Dieser Überhang wird von \cellcolor übernommen, weshalb zwischen den beiden grünen Flächen ein Abstand von (2-2*.75)=.5 \tabcolsep ist. Die Breite der Tabelle ändert sich dabei nicht.
\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{*{4}{>{\centering\arraybackslash}m{2cm}}} \toprule
1&Text&Text&Text\\
2&\cellcolor{green}&\cellcolor{green}&Text\\
3&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}
&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}&Text\\
4&Text&Text&Text\\
\bottomrule
\end{tabular}
\begin{tabular}{*{4}{
>{\centering\arraybackslash\columncolor{white}[.75\tabcolsep]}m{2cm}
}}
\toprule
1&Text&Text&Text\\
2&\cellcolor{green}&\cellcolor{green}&Text\\
3&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}
&\cellcolor{green}\multirow{-2}{2cm}{\centering Text}&Text\\
4&Text&Text&Text\\
\bottomrule
\end{tabular}
\end{document}
Gruß
Elke
Malte
Forum-Anfänger
Beiträge: 23 Registriert: Mo 30. Mär 2015, 23:10
Beitrag
von Malte » Fr 8. Mai 2015, 17:51
Super, das hat schon einmal geholfen! Allerdings hab ich jetzt nur noch das Problem, dass ich zwischen zwei multirow-Feldern horizontal noch einen Freiraum benötige. D.h. zwischen den Feldern Text1 und Text3 und Text2 und Text4:
\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{*{4}{
>{\centering\arraybackslash\columncolor{white}[.75\tabcolsep]}m{2cm}
}}
\toprule
1&Text&Text&Text\\
2&\cellcolor{green}&\cellcolor{green}&Text\\
3&\cellcolor{green}\multirow{-2}{2cm}{\centering Text1}
&\cellcolor{green}\multirow{-2}{2cm}{\centering Text2}&Text\\
4&\cellcolor{green}\multirow{-2}{2cm}{\centering Text3}
&\cellcolor{green}\multirow{-2}{2cm}{\centering Text4}&Text\\
5&Text&Text&Text\\
\bottomrule
\end{tabular}
\end{document}
Danke und Gruß
Malte
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Fr 8. Mai 2015, 22:42
Vielleicht kannst Du multirow irgendwie vermeiden?
\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}% lädt auch array
%\usepackage{multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{tabular}{*{4}{
>{\centering\arraybackslash\columncolor{white}[0pt]}m{2cm}
}}
\toprule
1&Text&Text&Text\\
2\linebreak3\linebreak4
&\cellcolor{green}
\begin{tabularx}{\linewidth}{@{}>{\centering\arraybackslash}X@{}}
Text1\\
\arrayrulecolor{white}\midrule[.25\tabcolsep]
Text3
\end{tabularx}
&\cellcolor{green}
\begin{tabularx}{\linewidth}{@{}>{\centering\arraybackslash}X@{}}
Text2\\
\arrayrulecolor{white}\midrule[.25\tabcolsep]
Text4
\end{tabularx}
&Text\linebreak Text\linebreak Text\\
5&Text&Text&Text\\
\bottomrule
\end{tabular}
\end{document}