Seite 1 von 1

longtable mit \hline und \nopageBreak

Verfasst: Mi 4. Dez 2019, 17:17
von mathe42
Moin,

Folgendes Beispiel funktioniert:
\documentclass[10pt]{article}

\usepackage{longtable}

\begin{document}

\begin{longtable}{c|c}
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
 a&bcccc\\\nopagebreak
a&bdddd\\
a&b\\
a&b\\
\end{longtable}

\end{document}
Die Zeilen a&bcccc und a&bdddd bleiben auf einer seite. Ändere ich nun folgendes:
a&b\\
a&b\\
 a&bcccc\\\nopagebreak\hline
a&bdddd\\
a&b\\
a&b\\
klappt es nicht mehr. Warum? Setze ich \nopagebreak falsch ein? Oder ist das nicht mit \hline kompatibel.

Vielen Dank im Voraus!

Gruß
Sebastian

Verfasst: Mi 4. Dez 2019, 17:22
von u_fischer

Verfasst: Mi 4. Dez 2019, 17:32
von Gast
\hline ist bei longtable so definiert, dass an der Stelle explizit ein Seitenumbruch erlaubt ist und im Falle eines Seitenumbruch die Linie sowohl unten auf dieser als auch oben auf der nächsten Seite gesetzt wird. Es ist derzeit AFAIK nicht möglich, einen Seitenumbruch an einer \hline zu verhinden. Man kann zwar duchaus \\*\hline\nopagebreak angeben, aber aus dem genannten Grund, kommt dabei das \pagebreak zu spät.

Du suchst also so eine Art \hline* (analog zu \\*), das keinen Seitenumbruch erlaubt. Das wäre ein Feature-Request zu longtable.

Es gibt aber einen Workaround: \cline statt \hline verwenden:
\documentclass[10pt]{article}
\usepackage{booktabs}
\usepackage{longtable}

\begin{document}

\begin{longtable}{c|c}
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
a&b\\
 a&bcccc\\*\cline{1-2}\nopagebreak
a&bdddd\\
a&b\\
a&b\\
\end{longtable}

\end{document}
BTW: Vergiss vertikale Linien in Tabellen, die stören fast immer mehr als sie nützen.

Verfasst: Mi 4. Dez 2019, 17:37
von mathe42
Danke.

Ich war vorhin schon auf der Seite und habe das falsch interpretiert...
:o