Wolfgang,

Thanks for this.  It works, however, the page where the table starts has
three lines of text before the table starts.  After inserting
"split=repeat", the table jumps to the next page, leaving the rest of
the page with the three lines of text completely blank.  This did not
happen without the "split=repeat".

Geert



On 03/04/2020 12:18, Wolfgang Schuster wrote:
> Geert Dobbels schrieb am 03.04.2020 um 11:57:
>> Hello,
>>
>> The sample below has 2 problems I cannot find the solution for:
>>
>> I am reading a table from a CSV file and want to typeset it via \xtable.
>>
>> The xtable as defined below works, it splits over several pages, but
>> the header does not repeat. I have seen examples in the mailing list
>> where people put the "\startxtable.....\stopxtable" within a
>> \placefigure, but as soon as I try this, I get an error message:
>> "missing } or endgroup", although I doublechecked the "}" and I see
>> no error.
>>
>> The other issue I have: Since xtable requires me to read the header
>> line separately in order to put it between \startxtablehead and
>> \stopxtablehead, I access the csv buffer twice: the first time, I
>> only read the first line, and the second time, I read starting from
>> the second line. My problem here is that I do not know beforehand the
>> number of lines in the csv file. So in my second \doloopfromto I give
>> the second argument a number high enough to be sure it reads all the
>> lines. It works fine, but I would like to know if there is a way to
>> read the number of lines in the csv file to use the exact number of
>> lines, instead of guessing.
>>
>> \usemodule[handlecsv]
>>
>> \opencsvfile{systaprov2.csv}
>>
>> \starttext
>>
>>
>> \startbuffer[loop]
>> \startxrow
>> \startxcell[left] \cA \stopxcell
>> \startxcell[left] \cB \stopxcell
>> \startxcell[left] \cC \stopxcell
>> \startxcell[left] \cD \stopxcell
>> \startxcell \cE \stopxcell
>> \startxcell[left] \cF \stopxcell
>> \startxcell \cG \stopxcell
>> \startxcell \cH \stopxcell
>> \doifdefined{cI}{\startxcell \cI \stopxcell}
>> \doifdefined{cJ}{\startxcell \cJ \stopxcell}
>> \doifdefined{cK}{\startxcell [left] \cK \stopxcell}
>> \stopxrow
>> \stopbuffer
>>
>> \setupxtable[offset=0cm,
>> frame=off,
>> bottomframe=on,
>> framecolor=gray,
>> option=stretch,
>> align=middle]
>>
>> \setupxtable[head][background=color,
>> backgroundcolor=gray,
>> topframe=on,
>> bottomframe=on,
>> framecolor=black,
>> foregroundcolor=blue]
>>
>> \setupxtable[left][align=right]
>>
>> \startxtable[header=repeat]
>
> Add "split=repeat" to \startxtable.
>
>> \startxtablehead[head]
>> \doloopfromto{1}{1}{\getbuffer[loop]}
>> \stopxtablehead
>> \startxtablebody
>> \doloopfromto{2}{500}{\getbuffer[loop]}
>> \stopxtablebody
>>
>> \stopxtable
>>
>> \stoptext
>
> Wolfgang

-- 
-- 
*_IHTS Approvals S.L._*
Geert Dobbels                                                        
ge...@ihts.eu <mailto:ge...@ihts.eu>
Zubiegi 11, E-01139 Bitoriano (Spain)                  0034 945 462633
ihts.eu
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to