Hi,

when you use extreme tables without a float environment but repeat the header the table always starts on a new page.

%%%% begin example
\starttext

\samplefile{weisman}

\blank

\startxtable[header=repeat,split=repeat]
    \startxtablehead
        \startxrow \startxcell Table head \stopxcell \stopxrow
    \stopxtablehead
    \startxtablebody
        \dorecurse{100}{\startxrow \startxcell Table body \stopxcell \stopxrow}
    \stopxtablebody
\stopxtable

\stoptext
%%%% end example

The reason for this is the height set for the part of each page, on the first page ConTeXt uses a box with the height of \pagegoal forces a page break because the content doesn't fit.

\setvalue{\??xtableflushsplit\v!repeat}%
  {\doloop
     {\clf_x_table_flush
        method {\v!split}%
        height \ifdim\pagegoal=\maxdimen\textheight\else\pagegoal\fi
      \relax
      \ifcase\c_tabl_x_state
        \exitloop
      \else
        \page
      \fi}}

While determining the available space is easy we need a method to ensure the table stays on the page when the user adds a vertical skip (e.g. \blank[...]) before the table because this can lead to another page break.

Wolfgang

_______________________________________________
dev-context mailing list
[email protected]
https://mailman.ntg.nl/mailman/listinfo/dev-context

Reply via email to