Taco Hoekwater wrote:

Hi Vit,

Vit Zyka wrote:

Hello Wizards,

my multi page (and multicolumn) table exceeds the last page by 2 rows. Is there a way to make last column a bit longer? Here is a minimal example:


The underlying problem is that you have to enlarge the height of
page 2. I don't know how that is 'normally' done, but perhaps it
gives someone else a hint ?

Answer to my own question:

Question:
Imagine a table (\bTABLE) spanning several pages. Moreover the table is inside multicolumn (\startcolumn). How to make some column longer (having more rows in some column)? (Column height is given by page height.)

Solution:

1. Make page heigher (as high as the highest column) on every page where the table is:
   \setuplayout[lines=..]

2. Insert blank rows to appropriate table places to fill the columns:
   \dorecurse{..}{\bTR\bTD\strut\eTD\eTR}

Remarks:
1. \adaptlayout{page}{height=+...} has limited capability of making page heigher (not overcomes footer) so \setuplayout is more flexible.

2. Forsing column break by
     \bTR[after=\column]\bTD...\eTD\eTR
works but add some spurious space on the top of next column. I was not able to remove it even experimenting with my own
     \installcolumnbreakhandler {MUL} {forse} {...}
and using
     \bTR[after={\columnbreak[forse]}]\bTD...\eTD\eTR
Spurious space demonstration:
--------------
\startbuffer[table]
\bTABLE[split=yes]
  \dorecurse{20}{\bTR\bTD cell #1\eTD\eTR}
  \bTR[after={\columnbreak[yes]}]\bTD between \eTD\eTR
  \dorecurse{100}{\bTR\bTD cell #1\eTD\eTR}
\eTABLE
\stopbuffer

\starttext
\startcolumns
  \getbuffer[table]
\stopcolumns
\stoptext
--------------

Vit
_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to