ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* xtable headers and handlecsv loop
@ 2020-04-03  9:57 Geert Dobbels
  2020-04-03 10:18 ` Wolfgang Schuster
  2020-04-03 10:31 ` Pablo Rodriguez
  0 siblings, 2 replies; 7+ messages in thread
From: Geert Dobbels @ 2020-04-03  9:57 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 2133 bytes --]

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]

\startxtablehead[head]

\doloopfromto{1}{1}{\getbuffer[loop]}

\stopxtablehead

\startxtablebody

\doloopfromto{2}{500}{\getbuffer[loop]}

\stopxtablebody

\stopxtable

\stoptext


[-- Attachment #1.2: Type: text/html, Size: 9651 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-04-03 13:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-03  9:57 xtable headers and handlecsv loop Geert Dobbels
2020-04-03 10:18 ` Wolfgang Schuster
2020-04-03 13:36   ` Geert Dobbels
2020-04-03 10:31 ` Pablo Rodriguez
2020-04-03 11:34   ` Pablo Rodriguez
2020-04-03 13:16     ` Geert Dobbels
2020-04-03 13:53       ` Pablo Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).