Geert Dobbels schrieb am 05.04.2020 um 00:30:
Wolfgang,
Below is what I think is the bare minimum to explain this question
(sorry for not doing it right from the beginning...)
Keep it up.
As I said, with the code as it is below, the header is not repeated
after the first page, but the table is in the right place.
Replacing "split=yes" by "split=repeat" makes the header repeat
correctly but puts the beginning of the table on the next page, leaving
the first page nearly completely blank.
I already reported the problem on the dev-list. The reason is that
ConTeXt creates one big table and splits it afterwards in smaller
parts which fit on each page but when you use "split=repeat" the
part for the first page is too large to fit.
In both cases, the "header=repeat" setting has no influence at all on
the behaviour and can be omitted without changing the results.
As I read in some other posts, sometimes putting the table in a float
can help, so I tried this (by removing the 3 "%" in the code below), but
there seems to be a conflict with the figure in the page header, and it
stops with an error message.
Don't use floats in the header or footer, they serve no purpose
and you can include images without it. Below is a solution
with nested frames but you can also use a table to create
the header layout.
However, replacing the figure in the page header by a normal text
suddenly solves the problem: putting "split" in the setupfloat and
"header=repeat" in the setupxtable gives me a table with repeated
headers that starts exactly where I want it to start. Apparently in this
case, the "headers=repeat" is necessary. Unfortunately, I need a company
logo up in the page header, which is what causes the error for which I
have no explanation.
Here is a working version of your example but you have to a space
between the header and the page body (see headerdistance setting)
or reduce the height of the outer most frame (it uses at the moment
the height and width of the header area).
\setuppapersize[A4,landscape]
\setuplayout
[location=middle,
width=27.5cm,
height=18cm,
backspace=1cm,
header=4cm,
headerdistance=5mm]
\startsetups[header]
\startframed[width=max,height=max,frame=off,offset=overlay]
\startframed[height=1cm,width=max,frame=off]
\userpagenumber
\stopframed
\par
\startframed[height=3cm,width=max,offset=overlay]
\startframed[width=0.25\hsize,height=max]
\externalfigure[dummy][height=1.9cm]
\stopframed
\startframed[width=0.50\hsize,height=max,] %
frame=off,topframe=on,bottomframe=on
some text in the middle block
\stopframed
\startframed[width=0.25\hsize,height=max]
some text in the right block
\stopframed
\stopframed
\stopframed
\stopsetups
\setupheadertexts[\directsetup{header}]
\startbuffer[tablerow]
\startxrow
\startxcell first \stopxcell
\startxcell second \stopxcell
\stopxrow
\stopbuffer
\startbuffer[table]
\startxtable
\startxtablehead[head]
\getbuffer[tablerow]
\stopxtablehead
\startxtablebody
\dorecurse{40}{\getbuffer[tablerow]}
\stopxtablebody
\stopxtable
\stopbuffer
\setupxtable
[option=stretch,
split=repeat,
header=repeat,
align=middle]
\setupxtable
[head]
[background=color,
backgroundcolor=gray]
\starttext
\title{Table without float environment}
\samplefile{ward}
\getbuffer[table]
\title{Table with float environment}
\samplefile{ward}
\startplacetable[location={none,split}]
\getbuffer[table]
\stopplacetable
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________