[NTG-context] xtable headers and handlecsv loop

Pablo Rodriguez oinos at gmx.es
Fri Apr 3 12:31:32 CEST 2020

On 4/3/20 11:57 AM, Geert Dobbels wrote:
> 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.

Hi Geert,

your sample lacks the CSV file. Of course, we don’t need your actual
data, but something to test your sample is required.

BTW, how about using \startembeddedxtable...\stopembeddedxtable instead
of \startxtable...\stopxtable? This has worked for me in some documents.

> 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.

I don’t understand what you aiming at, but \numrows gives exactly that

> 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.

If \numrows doesn’t fit your needs, please provide a CSV file with fake
data. I cannot guess why a second loop might be required.

I hope it helps,


More information about the ntg-context mailing list