multicolumn und unsymmetrischer Spalten-Abstand
Verfasst: Do 7. Feb 2019, 19:04
Hallo zusammen,
ich möchte gerne eine Tabelle setzen, in der für zwei Lösungansätze jeweils 3 Konzepte verglichen werden, in Form einer Punkte-Bewertung. Zusätzlich wird eine Ideal-Bewertung angegeben. Zum Vermeiden der Verwendung von vertikalen Linien möchte ich die entsprechenden Blöcke gerne mit etwas größerem Spaltenabstand setzten. Das klappt alles, auch die Anpassung der Trimmung von \cmidrule.
Letzeres erwähne ich aufgrund des Verhaltens von Latex, diese sonst bis an die nächste Spalte zu ziehen. Das erkläre ich mir mit dem Verhalten, dass bei Verwendung von @{} das Einfügen von \tabcolsep unterdrückt wird und das Argument von @{} an den natürlichen Inhalt der Spalte angehangen wird. Dann folgt die nächste Spalte, vor deren Inhalt wieder \tabcolsep eingefügt wird. Habe ich das richtig verstanden?
Hieraus resultiert mein Problem: Über den entsprechenden Blöcken möchte ich zentriert eine Benennung, FS1 (Funktionsstruktur 1 etc.), setzen. Da ich aber @{} nur auf EINER Seite der entsprechenden Blöcke verwende, sind die Benennungen verschoben.
Ich habe schon ein paar Sachen versucht, das war aber offen gesagt Gemurkse mit table in einer \multicolumn.
Wie kann ich das ganze bewerkstelligen? Kann ich \multicolumn sagen den selbst eingefügten Spaltenraum wieder zu entfernen und nicht zu berücksichtigen? Oder gibt es einen besseren Weg die Gruppierung zu erreichen? Einfügen des halben Abstandes vor und hinter den Blöcken hatte auch nicht den gewünschten Effekt....
Im folgenden ein MM:
Im MM habe ich die Koorektur der Breite der \cmidrule nur über dem zweiten Block angewendet, um den Unterschied zu zeigen.
ich möchte gerne eine Tabelle setzen, in der für zwei Lösungansätze jeweils 3 Konzepte verglichen werden, in Form einer Punkte-Bewertung. Zusätzlich wird eine Ideal-Bewertung angegeben. Zum Vermeiden der Verwendung von vertikalen Linien möchte ich die entsprechenden Blöcke gerne mit etwas größerem Spaltenabstand setzten. Das klappt alles, auch die Anpassung der Trimmung von \cmidrule.
Letzeres erwähne ich aufgrund des Verhaltens von Latex, diese sonst bis an die nächste Spalte zu ziehen. Das erkläre ich mir mit dem Verhalten, dass bei Verwendung von @{} das Einfügen von \tabcolsep unterdrückt wird und das Argument von @{} an den natürlichen Inhalt der Spalte angehangen wird. Dann folgt die nächste Spalte, vor deren Inhalt wieder \tabcolsep eingefügt wird. Habe ich das richtig verstanden?
Hieraus resultiert mein Problem: Über den entsprechenden Blöcken möchte ich zentriert eine Benennung, FS1 (Funktionsstruktur 1 etc.), setzen. Da ich aber @{} nur auf EINER Seite der entsprechenden Blöcke verwende, sind die Benennungen verschoben.
Ich habe schon ein paar Sachen versucht, das war aber offen gesagt Gemurkse mit table in einer \multicolumn.
Wie kann ich das ganze bewerkstelligen? Kann ich \multicolumn sagen den selbst eingefügten Spaltenraum wieder zu entfernen und nicht zu berücksichtigen? Oder gibt es einen besseren Weg die Gruppierung zu erreichen? Einfügen des halben Abstandes vor und hinter den Blöcken hatte auch nicht den gewünschten Effekt....
Im folgenden ein MM:
\documentclass[12pt]{article} \usepackage{tabularx,booktabs,calc} \usepackage{showframe} \begin{document} \newlength{\colgroup} % Länge, um Spalten zu Gruppieren (höherer Abstand zwischen den Blöcken) \setlength\colgroup{3\tabcolsep} \newlength{\cgcmidrule} % Länge zur Korrektur der Trimmung von \cmidrule \setlength\cgcmidrule{\cmidrulekern+\colgroup} \begin{table} \small \begin{tabularx}{\textwidth}{p{2em} >{\raggedright\arraybackslash}X c c c @{\hspace{\colgroup}} c c c @{\hspace{\colgroup}} c} \toprule \# & Kriterium & \multicolumn{7}{c}{Punktzahl} \\ \cmidrule{3-9} &&\multicolumn{3}{c}{FS1} &\multicolumn{3}{c}{FS2}& \\ \cmidrule(lr){3-5} \cmidrule(lr{\cgcmidrule}){6-8} & \raggedleft Konzept:& 1 & 2 & 3 & 1 & 2 & 3 & I \tabularnewline \midrule 1 & Anforderung 1 & 1 & 3 & 4 & 3 & 2 & 3 & 4 \end{tabularx} \end{table} \end{document}