20 Oct
2019
20 Oct
'19
3:49 a.m.
Pablo Rodriguez schrieb am 18.10.2019 um 16:23: > Dear list, > > I have another issue related to extreme tables. > > \setupxtable[split=yes] > \starttext > \startmakeup[standard] > \dontleavehmode > \startxtable[align={middle,lohi},columndistance=0em] > \startxrow > \startxcell > \dontleavehmode > \externalfigure[cow.pdf] > [scale=500] > \stopxcell > \startxcell > \dontleavehmode > \externalfigure[cow.pdf] > [scale=500] > \stopxcell > \stopxrow > \stopxtable > \stopmakeup > \stoptext > > When splitting extreme tables, I cannot use \dontleavehmode. 1. What is the purpose of \dontleavehmode in your example? 2. Why do you try to split a table in a makup environment (which will never work)? > Since this worked before, am I missing something or is this a bug? It isn't a bug but a side effect of the way how split=yes works. The normal splitters uses a simple placement method where each table row is placed below each other. To prevent unwanted white space between the lines \nointerlineskip is used but the command works only a vertical mode. With \dontleavehmode like in your example you force horizontal mode for the table which results in the error message. You can reproduce the error with the following minimal example: \starttext \dontleavehmode \vbox{} \nointerlineskip \vbox{} \stoptext The reason why this doens't happen when splitting is disabled or when the header or footer lines are repeated is that ConTeXt puts the collected lines for each table in a \vbox. When you flush the lines in the \vbox the are placed in vertical modes and your \dontleavehmode is only applied to the outer \vbox while the lines itself are placed in vertical mode. \starttext \dontleavehmode \vbox {\vbox{} \nointerlineskip \vbox{}} \stoptext Wolfgang