[texhax] nopagebreak \hline in a longtable
Ulrike Fischer
news2 at nililand.de
Thu Oct 16 17:31:49 CEST 2008
Am Thu, 16 Oct 2008 09:39:48 +0200 schrieb Nico Van Cleemput:
> I use the longtable package for some very long tables I have, however
> sometimes I want to rows to stay together even if it isn't ideal for
> the layout. This is possible by using the \\* or a \nopagebreak at the
> beginning of the row. This works fine if there is no \hline between
> the two rows. At first I thought I'll try \nopagebreak\hline, but this
> doesn't work. When I looked into the longtable package, it's seems
> that this isn't working because \hline in longtable actually adds two
> lines and the rows are split in between those two lines. So my guess
> was that the only solution was to add a sort of \hline* command that
> adds a line without the possibility of a pagebreak on that line. My
> TeX knowledge however is far from sufficient to tackle such a hack as
> I noticed. I was mostly guessing what would happen without any
> certainty that what I was doing was right. So it's no surprise that I
> didn't succeed.
>
> My question is if anyone knows how to this, or could give me some
> hints or knows a better way to achieve this effect.
a search google.groups ("hline longtable nopagebreak") gives this
solution:
\documentclass{article}
\usepackage{longtable}
\makeatletter
\newcommand*{\nonbreakhline}{\cline{1-\LT at cols}}
\makeatother
\begin{document}
\begin{longtable}{llll}
links & mitte links & mitte rechts & rechts \\\nonbreakhline
links & mitte links & mitte rechts & rechts \\*\nonbreakhline
links & mitte links & mitte rechts & rechts \\
\end{longtable}
\end{document}
--
Ulrike Fischer
More information about the texhax
mailing list