Longtabu mit mehreren Spalten und mehreren Zeilen

Longtabu mit mehreren Spalten und mehreren Zeilen

Ich habe den von @Zarko vorgeschlagenen Code verwendet. Bislang funktioniert er, abgesehen von den Mehrfachzeilen, die aus dem Seitenrahmen zu fallen scheinen, wie im Screenshot dargestellt. Hat jemand eine Idee?

\documentclass[12pt]{article}
\usepackage[onehalfspacing]{setspace}
\usepackage[american]{babel}
\usepackage{booktabs, multirow, longtable, tabu}
\usepackage{siunitx}

\usepackage{color}
\definecolor{gray}{rgb}{0.8,0.8,0.8}
\usepackage{colortbl}    


\begin{document}

\begin{longtabu} to \textwidth { X[1, l] X[1, l] 
                           *{6}{S[table-format=2.3]}
                            }
\toprule
\toprule
& & \multicolumn{3}{c}{\textbf{def1}} & \multicolumn{3}{c}{\textbf{def2}} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}
& & {contrast} & {t} & {p} & {contrast} & {t} & {p} \\ 
\endfirsthead
\toprule
& & \multicolumn{3}{c}{\textbf{def1}} & \multicolumn{3}{c}{\textbf{def2}} \\
& & contrast & t & p & contrast & t & p \\
\toprule
\endhead
\bottomrule
\multicolumn{8}{r}{continued on the next page} \\
\endfoot
\bottomrule
\bottomrule
\endlastfoot

\toprule
\multicolumn{8}{c}{\textbf{group1}} \\
\toprule
\multirow{6}{*}{\textbf{design1}}  
& pos1 & 15.05 & 1.06 & 0.145 & -3.41 & -0.28 & 0.610 \\
& pos2 & 9.20 & 0.65 & 0.258 & -4.02 & -0.32 & 0.627 \\
& pos3 & 32.92 & 2.30 & \cellcolor{gray}0.011 & 4.87 & 0.40 & 0.344 \\
& pos4 & 6.46 & 0.69 & 0.247 & 3.94 & 0.45 & 0.327 \\
& pos5 & 10.99 & 0.87 & 0.191 & 0.41 & 0.03 & 0.486 \\
& pos6 & 36.70 & 2.20 & \cellcolor{gray}0.014 & 30.20 & 1.94 & \cellcolor{gray}0.026 \\
\midrule
\multirow{6}{*}{\textbf{design2}}
& pos1 & 6.51 & 0.87 & 0.192 & -2.79 & -0.41 & 0.661 \\
& pos2 & 1.91 & 0.29 & 0.385 & -3.21 & -0.54 & 0.706 \\
& pos3 & 16.49 & 2.52 & \cellcolor{gray}0.006 & 4.21 & 0.73 & 0.233 \\
& pos4 & 4.42 & 0.96 & 0.168 & 1.15 & 0.28 & 0.391 \\
& pos5 & 0.13 & 0.02 & 0.491 & -0.26 & -0.05 & 0.521 \\
& pos6 & 11.73 & 1.63 & \cellcolor{gray}0.052 & 12.18 & 1.88 & \cellcolor{gray}0.031 \\
\midrule
\multirow{6}{*}{\textbf{design3}}
& pos1 & 17.02 & 1.18 & 0.119 & -5.75 & -0.46 & 0.678 \\
& pos2 & 11.08 & 0.77 & 0.220 & -3.85 & -0.30 & 0.618 \\
& pos3 & 35.82 & 2.41 & \cellcolor{gray}0.008 & 6.00 & 0.48 & 0.316 \\
& pos4 & 9.59 & 0.96 & 0.170 & 1.78 & 0.19 & 0.423 \\
& pos5 & 9.25 & 0.70 & 0.243 & 0.86 & 0.07 & 0.472 \\
& pos6 & 34.91 & 1.99 & \cellcolor{gray}0.024 & 32.28 & 2.04 & \cellcolor{gray}0.021 \\
\toprule
\multicolumn{8}{c}{\textbf{group2}} \\
\toprule
\multirow{6}{*}{\textbf{design1}}
& pos1 & 16.98 & 1.07 & 0.142 & -10.16 & -0.70 & 0.759 \\
& pos2 & 18.47 & 1.10 & 0.136 & 2.77 & 0.18 & 0.429 \\
& pos3 & 15.28 & 1.23 & 0.110 & 16.18 & 1.41 & 0.079 \\
& pos4 & 21.38 & 1.92 & \cellcolor{gray}0.027 & -0.18 & -0.02 & 0.507 \\
& pos5 & 30.56 & 2.54 & \cellcolor{gray}0.006 & 16.49 & 1.50 & 0.067 \\
& pos6 & 29.32 & 3.40 & \cellcolor{gray}0.000 & -7.31 & -0.98 & 0.836 \\
\midrule
\multirow{6}{*}{\textbf{design2}}
& pos1 & 5.45 & 0.71 & 0.239 & -3.97 & -0.56 & 0.712 \\
& pos2 & 9.89 & 1.48 & 0.070 & -0.84 & -0.14 & 0.554 \\
& pos3 & 7.32 & 1.38 & 0.084 & 4.53 & 0.93 & 0.176 \\
& pos4 & 10.15 & 2.04 & \cellcolor{gray}0.021 & -0.86 & -0.19 & 0.575 \\
& pos5 & 11.09 & 2.20 & \cellcolor{gray}0.014 & 3.13 & 0.67 & 0.250 \\
& pos6 & 9.31 & 1.88 & \cellcolor{gray}0.030 & -3.42 & -0.75 & 0.774 \\
\midrule
\multirow{6}{*}{\textbf{design3}}
& pos1 & 16.54 & 1.06 & 0.145 & -7.81 & -0.55 & 0.709 \\
& pos2 & 11.86 & 0.72 & 0.236 & -6.58 & -0.43 & 0.667 \\
& pos3 & 15.75 & 1.29 & 0.099 & 14.89 & 1.32 & 0.093 \\
& pos4 & 25.87 & 2.36 & \cellcolor{gray}0.009 & -1.19 & -0.12 & 0.548 \\
& pos5 & 30.73 & 2.59 & \cellcolor{gray}0.005 & 14.17 & 1.31 & 0.096 \\
& pos6 & 31.61 & 3.66 & \cellcolor{gray}0.000 & -6.28 & -0.85 & 0.802 \\
\end{longtabu}

\end{document}

Bildbeschreibung hier eingeben

Antwort1

mit Verwendung siunitxdes Pakets:

Bildbeschreibung hier eingeben

\documentclass[12pt]{article}
\usepackage[american]{babel}
\usepackage{siunitx} % <-- added
\usepackage{booktabs, multirow, longtable, tabu}
\usepackage[onehalfspacing]{setspace}


%\usepackage{showframe}
\begin{document}

\begin{longtabu} to \textwidth { X[1.5, l] X[1, l] 
                               *{6}{S[table-format=2.3]} % <-- changed
                                }
\toprule
    & & \multicolumn{3}{c}{\textbf{def1}}   & \multicolumn{3}{c}{\textbf{def2}} \\
    \cmidrule(lr){3-5}\cmidrule(lr){6-8}
    & & {contrast} & {t} & {p}              & {contrast} & {t} & {p}            \\ 
\midrule
\endfirsthead
\toprule
    & & \multicolumn{3}{c}{\textbf{def1}}   & \multicolumn{3}{c}{\textbf{def2}} \\
    \cmidrule(lr){3-5}\cmidrule(lr){6-8}
    & & contrast & t & p                    & contrast & t & p \\
\midrule
\endhead
    \bottomrule
\multicolumn{8}{r}{continued on the next page} \\
\endfoot
\bottomrule
\endlastfoot
% end of tabu preamble
\multicolumn{8}{c}{\textbf{group 1}} \\
\midrule
\multirow{6}{*}{\textbf{design1}}  
    & pos1  & 15.05 & 1.06 & 0.145 & -3.41 & -0.28 & 0.610 \\
    & pos2  & 9.20  & 0.65 & 0.258 & -4.02 & -0.32 & 0.627 \\
    & pos3  & 32.92 & 2.30 & 0.011 &  4.87 &  0.40 & 0.344 \\
    & pos4  & 6.46  & 0.69 & 0.247 &  3.94 &  0.45 & 0.327 \\
    & pos5  & 10.99 & 0.87 & 0.191 &  0.41 &  0.03 & 0.486 \\
    & pos6  & 36.70 & 2.20 & 0.014 & 30.20 &  1.94 & 0.026 \\
%\midrule
\end{longtabu}

\end{document}

Ich habe auch longtabu„premble“ geändert – doppelte Regeln entfernen. Das angezeigte Ergebnis wird nach dem zweiten Durchlauf der MWE-Kompilierung erhalten.

Bearbeiten: Mit meinem MWE, das jetzt mit der gesamten Tabelle vervollständigt ist, erhalte ich das gewünschte und erwartete Ergebnis:

Bildbeschreibung hier eingeben

Bitte beachten Sie die Unterschiede zwischen dem unten vorgeschlagenen MWE und Ihrem betreffenden Code! In meinem MWE habe ich erhebliche Anstrengungen unternommen, um Ihren Code zu bereinigen. Darin wurden alle unnötigen \multicolumns, neu gestalteten Definitionen für Kopf- und Fußzeilen entfernt, Änderungen an möglicherweise falsch verwendeten Regeln usw. vorgenommen:

\documentclass[12pt]{article}
\usepackage[american]{babel}
\usepackage{siunitx}
\usepackage{booktabs, multirow, longtable, tabu}
\usepackage[onehalfspacing]{setspace}

%---------------------------------------------------------------%
\usepackage{showframe}% to show page layout
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}

\begin{longtabu} to \textwidth { X[1.5, l] X[1, l]
                               *{6}{S[table-format=2.3]}
                                }
\toprule
    & & \multicolumn{3}{c}{\textbf{def1}}   & \multicolumn{3}{c}{\textbf{def2}} \\
    \cmidrule(lr){3-5}\cmidrule(lr){6-8}
    & & {contrast} & {t} & {p}              & {contrast} & {t} & {p}            \\
\midrule
\endfirsthead
\toprule
    & & \multicolumn{3}{c}{\textbf{def1}}   & \multicolumn{3}{c}{\textbf{def2}} \\
    \cmidrule(lr){3-5}\cmidrule(lr){6-8}
    & & contrast & t & p                    & contrast & t & p \\
\midrule
\endhead
    \bottomrule
\multicolumn{8}{r}{continued on the next page} \\
\endfoot
\bottomrule
\endlastfoot
% end of tabu preamble
\multicolumn{8}{c}{\textbf{group 1}} \\
\midrule
\multirow{6}{*}{\textbf{design1}}
    & pos1  & 15.05 & 1.06 & 0.145 & -3.41 & -0.28 & 0.610 \\
    & pos2  & 9.20  & 0.65 & 0.258 & -4.02 & -0.32 & 0.627 \\
    & pos3  & 32.92 & 2.30 & 0.011 &  4.87 &  0.40 & 0.344 \\
    & pos4  & 6.46  & 0.69 & 0.247 &  3.94 &  0.45 & 0.327 \\
    & pos5  & 10.99 & 0.87 & 0.191 &  0.41 &  0.03 & 0.486 \\
    & pos6  & 36.70 & 2.20 & 0.014 & 30.20 &  1.94 & 0.026 \\
\midrule
\multirow{6}{*}{\textbf{design2}}  
    & pos1  & 6.51  & 0.87 & 0.192 & -2.79 & -0.41 & 0.661 \\
    & pos2  & 1.91  & 0.29 & 0.385 & -3.21 & -0.54 & 0.706 \\
    & pos3  & 16.49 & 2.52 & 0.006 & 4.21  &  0.73 & 0.233 \\
    & pos4  & 4.42  & 0.96 & 0.168 & 1.15  &  0.28 & 0.391 \\
    & pos5  & 0.13  & 0.02 & 0.491 & -0.26 & -0.05 & 0.521 \\
    & pos6  & 11.73 & 1.63 & 0.052 & 12.18 &  1.88 & 0.031 \\
\midrule
\multirow{6}{*}{\textbf{design3}}  
    & pos1  & 17.02 & 1.18 & 0.119 & -5.75 & -0.46 & 0.678 \\
    & pos2  & 11.08 & 0.77 & 0.220 & -3.85 & -0.30 & 0.618 \\
    & pos3  & 35.82 & 2.41 & 0.008 &  6.00 &  0.48 & 0.316 \\
    & pos4  & 9.59  & 0.96 & 0.170 &  1.78 &  0.19 & 0.423 \\
    & pos5  & 9.25  & 0.70 & 0.243 &  0.86 &  0.07 & 0.472 \\
    & pos6  & 34.91 & 1.99 & 0.024 & 32.28 &  2.04 & 0.021 \\
\midrule
\multicolumn{8}{c}{\textbf{group2}} \\
\midrule
\multirow{6}{*}{\textbf{design1}}  
    & pos1  & 16.98 & 1.07 & 0.142 & -10.16 & -0.70 & 0.759 \\
    & pos2  & 18.47 & 1.10 & 0.136 &  2.77  &  0.18 & 0.429 \\
    & pos3  & 15.28 & 1.23 & 0.110 & 16.18  &  1.41 & 0.079 \\
    & pos4  & 21.38 & 1.92 & 0.027 & -0.18  & -0.02 & 0.507 \\
    & pos5  & 30.56 & 2.54 & 0.006 & 16.49  &  1.50 & 0.067 \\
    & pos6  & 29.32 & 3.40 & 0.000 & -7.31  & -0.98 & 0.836 \\
\midrule
\multirow{6}{*}{\textbf{design2}}  
    & pos1  & 5.45  & 0.71 & 0.239 & -3.97 & -0.56 & 0.712 \\
    & pos2  & 9.89  & 1.48 & 0.070 & -0.84 & -0.14 & 0.554 \\
    & pos3  & 7.32  & 1.38 & 0.084 &  4.53 &  0.93 & 0.176 \\
    & pos4  & 10.15 & 2.04 & 0.021 & -0.86 & -0.19 & 0.575 \\
    & pos5  & 11.09 & 2.20 & 0.014 &  3.13 &  0.67 & 0.250 \\
    & pos6  & 9.31  & 1.88 & 0.030 & -3.42 & -0.75 & 0.774 \\
\midrule
\multirow{6}{*}{\textbf{design3}}  
    & pos1  & 16.54 & 1.06 & 0.145 & -7.81 & -0.55 & 0.709 \\
    & pos2  & 11.86 & 0.72 & 0.236 & -6.58 & -0.43 & 0.667 \\
    & pos3  & 15.75 & 1.29 & 0.099 & 14.89 &  1.32 & 0.093 \\
    & pos4  & 25.87 & 2.36 & 0.009 & -1.19 & -0.12 & 0.548 \\
    & pos5  & 30.73 & 2.59 & 0.005 & 14.17 &  1.31 & 0.096 \\
    &¸pos6  & 31.61 & 3.66 & 0.000 & -6.28 & -0.85 & 0.802 \\
\end{longtabu}

\end{document}

Notiz: longtable(ebenfalls longtabu) versuchen Sie, die Tabelle zwischen den Seiten beim Beginn neuer Zeilen aufzuteilen. Wenn Sie multirowZellen verwenden, longtablebetrachten Sie diese als eine Zeile, sodass sie nicht zwischen den Seiten aufgeteilt werden können (ohne die „schwarze Magie“ des Paketautors, sieheFrage: Ist es möglich, eine mehrzeilige Zelle bei Verwendung von longtable auf mehrere Seiten aufzuteilen?).

Da bei meinen Tests Ihres betreffenden MWE das gemeldete Problem nicht reproduziert werden konnte, kann ich nur zu dem Schluss kommen, dass sich auf Ihrem Computer „schwarze Magie“ befindet. Ein verzweifelter Versuch kann darin bestehen, Ihre LeTeX-Installation zu aktualisieren oder Ihr MWE auf einem anderen Computer oder unter einem anderen Namen zu testen.

Antwort2

Mit zB \lipsum[3]vor der Tabelle wäre Ihr Problem reproduzierbar.

Seitenumbrüche nach Tabellenzeilen können Sie vermeiden, indem Sie verwenden \\*. Im folgenden Beispiel sind Seitenumbrüche nur bei den Regeln zulässig.

(Bezüglich eines Kommentars in IhremCrosspost auf golatex.de: Mit geschweiften Klammern umgeben \cellcolor{gray}, um die Zahlen auch in diesen Zellen auszurichten.)

\documentclass[12pt]{article}
\usepackage[onehalfspacing]{setspace}
\usepackage[american]{babel}
\usepackage{booktabs, multirow, longtable, tabu}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\definecolor{gray}{rgb}{0.8,0.8,0.8}
\usepackage{lipsum}% dummy text
\begin{document}
\lipsum[3]

\begin{longtabu} to \textwidth {X[1.5, l] X[1, l] *{6}{S[table-format=2.3]}}
\toprule
& & \multicolumn{3}{c}{\textbf{def1}} & \multicolumn{3}{c}{\textbf{def2}} \\
\cmidrule(lr){3-5}\cmidrule(lr){6-8}
& & {contrast} & {t} & {p} & {contrast} & {t} & {p} \\ 
\endfirsthead
\toprule
& & \multicolumn{3}{c}{\textbf{def1}} & \multicolumn{3}{c}{\textbf{def2}} \\
& & contrast & t & p & contrast & t & p \\
\midrule[\heavyrulewidth]
\endhead
\multicolumn{8}{r}{continued on the next page} \\
\endfoot
\bottomrule
\endlastfoot

\midrule[\heavyrulewidth]
\multicolumn{8}{c}{\textbf{group1}} \\*
\midrule
\multirow{6}{*}{\textbf{design1}}
& pos1 & 15.05 & 1.06 & 0.145 & -3.41 & -0.28 & 0.610 \\*
& pos2 & 9.20 & 0.65 & 0.258 & -4.02 & -0.32 & 0.627 \\*
& pos3 & 32.92 & 2.30 & {\cellcolor{gray}}0.011 & 4.87 & 0.40 & 0.344 \\*
& pos4 & 6.46 & 0.69 & 0.247 & 3.94 & 0.45 & 0.327 \\*
& pos5 & 10.99 & 0.87 & 0.191 & 0.41 & 0.03 & 0.486 \\*
& pos6 & 36.70 & 2.20 & {\cellcolor{gray}}0.014 & 30.20 & 1.94 & {\cellcolor{gray}}0.026 \\*
\midrule
\multirow{6}{*}{\textbf{design2}}
& pos1 & 6.51 & 0.87 & 0.192 & -2.79 & -0.41 & 0.661 \\*
& pos2 & 1.91 & 0.29 & 0.385 & -3.21 & -0.54 & 0.706 \\*
& pos3 & 16.49 & 2.52 & {\cellcolor{gray}}0.006 & 4.21 & 0.73 & 0.233 \\*
& pos4 & 4.42 & 0.96 & 0.168 & 1.15 & 0.28 & 0.391 \\*
& pos5 & 0.13 & 0.02 & 0.491 & -0.26 & -0.05 & 0.521 \\*
& pos6 & 11.73 & 1.63 & {\cellcolor{gray}}0.052 & 12.18 & 1.88 & {\cellcolor{gray}}0.031 \\*
\midrule
\multirow{6}{*}{\textbf{design3}}
& pos1 & 17.02 & 1.18 & 0.119 & -5.75 & -0.46 & 0.678 \\*
& pos2 & 11.08 & 0.77 & 0.220 & -3.85 & -0.30 & 0.618 \\*% <- remove this * to reproduce the problem
& pos3 & 35.82 & 2.41 & {\cellcolor{gray}}0.008 & 6.00 & 0.48 & 0.316 \\*
& pos4 & 9.59 & 0.96 & 0.170 & 1.78 & 0.19 & 0.423 \\*
& pos5 & 9.25 & 0.70 & 0.243 & 0.86 & 0.07 & 0.472 \\*
& pos6 & 34.91 & 1.99 & {\cellcolor{gray}}0.024 & 32.28 & 2.04 & {\cellcolor{gray}}0.021 \\*
\midrule[\heavyrulewidth]
\multicolumn{8}{c}{\textbf{group2}} \\*
\midrule[\heavyrulewidth]
\multirow{6}{*}{\textbf{design1}}
& pos1 & 16.98 & 1.07 & 0.142 & -10.16 & -0.70 & 0.759 \\*
& pos2 & 18.47 & 1.10 & 0.136 & 2.77 & 0.18 & 0.429 \\*
& pos3 & 15.28 & 1.23 & 0.110 & 16.18 & 1.41 & 0.079 \\*
& pos4 & 21.38 & 1.92 & {\cellcolor{gray}}0.027 & -0.18 & -0.02 & 0.507 \\*
& pos5 & 30.56 & 2.54 & {\cellcolor{gray}}0.006 & 16.49 & 1.50 & 0.067 \\*
& pos6 & 29.32 & 3.40 & {\cellcolor{gray}}0.000 & -7.31 & -0.98 & 0.836 \\*
\midrule
\multirow{6}{*}{\textbf{design2}}
& pos1 & 5.45 & 0.71 & 0.239 & -3.97 & -0.56 & 0.712 \\*
& pos2 & 9.89 & 1.48 & 0.070 & -0.84 & -0.14 & 0.554 \\*
& pos3 & 7.32 & 1.38 & 0.084 & 4.53 & 0.93 & 0.176 \\*
& pos4 & 10.15 & 2.04 & {\cellcolor{gray}}0.021 & -0.86 & -0.19 & 0.575 \\*
& pos5 & 11.09 & 2.20 & {\cellcolor{gray}}0.014 & 3.13 & 0.67 & 0.250 \\*
& pos6 & 9.31 & 1.88 & {\cellcolor{gray}}0.030 & -3.42 & -0.75 & 0.774 \\*
\midrule
\multirow{6}{*}{\textbf{design3}}
& pos1 & 16.54 & 1.06 & 0.145 & -7.81 & -0.55 & 0.709 \\*
& pos2 & 11.86 & 0.72 & 0.236 & -6.58 & -0.43 & 0.667 \\*
& pos3 & 15.75 & 1.29 & 0.099 & 14.89 & 1.32 & 0.093 \\*
& pos4 & 25.87 & 2.36 & {\cellcolor{gray}}0.009 & -1.19 & -0.12 & 0.548 \\*
& pos5 & 30.73 & 2.59 & {\cellcolor{gray}}0.005 & 14.17 & 1.31 & 0.096 \\*
& pos6 & 31.61 & 3.66 & {\cellcolor{gray}}0.000 & -6.28 & -0.85 & 0.802 \\*
\end{longtabu}
\end{document}

Bildbeschreibung hier eingeben

Beachten Sie, dass nach der folgenden Regel der Zeile „Gruppe“ ein Seitenumbruch erfolgen kann, wie im folgenden Bild:

Bildbeschreibung hier eingeben

In diesem Fall müssen Sie manuell einen Seitenumbruch hinzufügen:

\midrule[\heavyrulewidth]\pagebreak
\multicolumn{8}{c}{\textbf{group2}} \\*
\midrule[\heavyrulewidth]

verwandte Informationen