PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Syntaxprobleme multicolumn und cmidrule



bluhub
30-06-2011, 16:03
hallo zusammen!
ich versuche hier grad die grundstruktur einer tabelle mit multicolumn und cmidrule zu erstellen aber komm grad nicht so mit der syntax klar.. bekomme ein bild hin, aber leider keine gescheite unterteilung mit cmidrule -> bekomme ne komplette horizontale linie über alles!


\begin{table}
\centering
\caption{bla}
\begin{tabular}{@{}*{9}{l}@{}}
\toprule
\multicolumn{2}{@{}l}{Anzahl Datentupel} & \multicolumn{2}{c}{Grad 1} & \multicolumn{2}{c}{Grad 2} & \multicolumn{2}{r@{}}{Grad 2} \\
\cmidrule{1-2}\cmidrule{3-4}\cmidrule{5-6}\cmidrule{7-8} & abs. Anzahl & rel. Anzahl & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler \\
\cmidrule{1-1}\cmidrule{2-2}\cmidrule{3-3}\cmidrule{4-4}\cmidrule{5-5}\cmidrule{6-6}\cmidrule{7-7} \cmidrule{8-8} & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\
\bottomrule
\end{tabular}
\end{table}

danke für die hilfe!
mfg

bobmalaria
30-06-2011, 16:20
hi,

du musst angeben wo die linien gekuerzt werden sollen. steht in der booktabs anleitung auch auf seite 4 inklusive von beispielen.




\documentclass{article}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{@{}*{9}{l}@{}}
\toprule
\multicolumn{2}{@{}l}{Anzahl Datentupel} & \multicolumn{2}{c}{Grad 1} &
\multicolumn{2}{c}{Grad 2} & \multicolumn{2}{r@{}}{Grad 2} \\
\cmidrule{1-2}\cmidrule{3-4}\cmidrule{5-6}\cmidrule{7-8} & abs. Anzahl &
rel. Anzahl & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler & abs.
Fehler & rel. Fehler \\
\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
\cmidrule(lr){ 5-5} \cmidrule(lr){6-6}\cmidrule(lr){7-7} \cmidrule(lr){8-8} & 1
& 1 & 1 & 1 & 1 & 1 & 1 & 1\\
\bottomrule
\end{tabular}

\end{document}

bluhub
30-06-2011, 17:22
ok danke für die hilfe! das klappt jetzt so weit... nur versteh ich nicht, wieso es nicht klappt für 8 columns. nur mit 9 columns wirds kompiliert und dann ist die ganze struktur futsch, da ein wert nicht richtig zugewiesen wird? bild ist im anhang.

bobmalaria
30-06-2011, 17:58
hi,

code ist besser als ein screenshot. es geht mit 8 und auch mit 9 spalten, ich sehe da kein problem. natuerlich musst du aufpassen, dass du nicht so viele "&" spaltentrenner setzt das die anzahl der vorgegebene spalaten (\begin{tabular}{*{8}{c}}) ueberschritten wird.


\documentclass{article}
\usepackage[landscape]{geometry}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{@{}*{8}{l}@{}}
\toprule
\multicolumn{2}{c}{Anzahl Datentupel} & \multicolumn{2}{c}{Grad 1} &
\multicolumn{2}{c}{Grad 2} & \multicolumn{2}{c}{Grad 2} \\
\cmidrule(r){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}
\cmidrule(l){7-8}
abs. Anzahl &
rel. Anzahl & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler & abs.
Fehler & rel. Fehler \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
\cmidrule(lr){ 5-5} \cmidrule(lr){6-6}\cmidrule(lr){7-7} \cmidrule(l){8-8}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\
\bottomrule
\end{tabular}

\end{document}


http://www.mrunix.de/forums/attachment.php?attachmentid=4646&stc=1&d=1309449519

bluhub
30-06-2011, 18:00
aaaah.. thx.. hab einen zu viel :)

psyman
30-06-2011, 18:14
ok danke für die hilfe! das klappt jetzt so weit... nur versteh ich nicht, wieso es nicht klappt für 8 columns. nur mit 9 columns wirds kompiliert und dann ist die ganze struktur futsch, da ein wert nicht richtig zugewiesen wird? bild ist im anhang.

Kein wunder... du definierst 9 Spalten, das was nicht unterstrichen wird ist Spalte 9.

Ich denke mal was du wilst ist das:


\begin{tabular}{@{}*{8}{l}@{}}
\toprule
\multicolumn{2}{@{}l}{Anzahl Datentupel} & \multicolumn{2}{c}{Grad 1} & \multicolumn{2}{c}{Grad 2} & \multicolumn{2}{r@{}}{Grad 2} \\
\cmidrule{1-2}\cmidrule{3-4}\cmidrule{5-6}\cmidrule{7-8}
abs. Anzahl & rel. Anzahl & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler \\
\cmidrule(lr){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4} \cmidrule(lr){ 5-5} \cmidrule(lr){6-6}\cmidrule(lr){7-7} \cmidrule(lr){8-8}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\
\bottomrule
\end{tabular}

ich gehe mal davon aus dass du nur den Fehler gemacht hast und das & am anfang der Zeile nicht da hin gehört.

Falls du doch die leere Spalte am anfang willt einfach noch nen \cmidrule(lr){9-9} hinzufügen



\begin{tabular}{@{}*{8}{l}@{}}
\toprule
\multicolumn{2}{c}{Anzahl Datentupel} & \multicolumn{2}{c}{Grad 1} &
\multicolumn{2}{c}{Grad 2} & \multicolumn{2}{c}{Grad 2} \\
\cmidrule(r){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}
\cmidrule(l){7-8}
abs. Anzahl &
rel. Anzahl & abs. Fehler & rel. Fehler & abs. Fehler & rel. Fehler & abs.
Fehler & rel. Fehler \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}
\cmidrule(lr){ 5-5} \cmidrule(lr){6-6}\cmidrule(lr){7-7} \cmidrule(lr){8-8} \cmidrule(l){9-9}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\
\bottomrule
\end{tabular}


Gruß Christian