The same as in my first reply. Look at the first page with the text only. There isn't a space behind the sentence(s) and TeX can't break the paragraph (text expands it's lower border). This also breaks the splitting of the table, as it is (partly) on the same page.
Peter, all of the information that you've sent me has been very educational, but I think you may be focusing too much on the approach that I've used to illustrate the errant table splitting behavior. The example below also illustrates this behavior and does not extend the text below its lower border as did the previous example. This is of course a contrived example -- I unfortunately cannot post a real example. You can slightly change the layout and the problem will going away (for this particular document). The problem is that my ConTeXt rendering layer has to process arbitrary XML input and this very same behavior pops up in documents regardless of the layout. Making adjustments to the layout, font size, etc will just change where the problem manifests itself. It is still possible that I'm doing something wrong, but my gut tells me that it is a bug in the context natural table splitting code. \setuppapersize[letter][letter] \setuplayout[textwidth=6.5in, width=middle, height=middle, footer=3\bodyfontsize, footerdistance=\bodyfontsize, header=0pt, headerdistance=0pt, top=\bodyfontsize, topdistance=\bodyfontsize, topspace=0.8in, bottom=\bodyfontsize, bottomdistance=0.5\bodyfontsize, bottomspace=0.8in, location=middle] \showframe \usetypescript[times][ec] \setupbodyfont[times,13pt] \setupwhitespace[big] \starttext Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. \placetable[split]{Broken Split Table}{% \bTABLE[split=repeat] \bTABLEhead \bTR \bTH Header A \eTH \bTH Header B \eTH \eTR \eTABLEhead \bTABLEbody \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \eTABLEbody \eTABLE } \stoptext
Santy, Michael schrieb:
The same as in my first reply. Look at the first page with the text only. There isn't a space behind the sentence(s) and TeX can't break the paragraph (text expands it's lower border). This also breaks the splitting of the table, as it is (partly) on the same page.
Peter, all of the information that you've sent me has been very educational, but I think you may be focusing too much on the approach
maybe, but it's the only thing i had :)
that I've used to illustrate the errant table splitting behavior. The example below also illustrates this behavior and does not extend the text below its lower border as did the previous example.
confirmed page 1 : text page 2 : header with one row page 3 : header with rest of table and this time i have no explanation.
This is of course a contrived example -- I unfortunately cannot post a real example. You can slightly change the layout and the problem will going away (for this particular document). The problem is that my ConTeXt rendering layer has to process arbitrary XML input and this very same behavior pops up in documents regardless of the layout. Making adjustments to the layout, font size, etc will just change where the problem manifests itself. It is still possible that I'm doing something wrong, but my gut tells me that it is a bug in the context natural table splitting code.
i have looked into your source and the only thing that was irritating to me is that fact, that you use 'split' twice.
\placetable[split]{Broken Split Table}{% \bTABLE[split=repeat]
the second one looks ok for me, but the first one is fishy. i have looked into the definition of \placefloat and there is no option 'split'. \placefloat[...][ref,ref,...]{...}{...} [...] left right here top bottom inleft inright inmargin margin leftmargin rightmargin leftedge rightedge innermargin outermargin inneredge outeredge inner outer line high low fit page opposite always force tall reset line height depth [ref,ref,...] {...} <text> {...} <text> it can be seen as ref(erence), but the funny thing is, that the problems vanished, if i delete the '[split]' after placetable or complete it to '[here] [split]' (split as reference). give it a try (and ask hans about the why). ;) best wishes, peter
\setuppapersize[letter][letter]
\setuplayout[textwidth=6.5in, width=middle, height=middle, footer=3\bodyfontsize, footerdistance=\bodyfontsize, header=0pt, headerdistance=0pt, top=\bodyfontsize, topdistance=\bodyfontsize, topspace=0.8in, bottom=\bodyfontsize, bottomdistance=0.5\bodyfontsize, bottomspace=0.8in, location=middle]
\showframe
\usetypescript[times][ec] \setupbodyfont[times,13pt]
\setupwhitespace[big]
\starttext
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
\placetable[split]{Broken Split Table}{% \bTABLE[split=repeat] \bTABLEhead \bTR \bTH Header A \eTH \bTH Header B \eTH \eTR \eTABLEhead \bTABLEbody \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \eTABLEbody \eTABLE }
\stoptext
------------------------------------------------------------------------
___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
...just some further tests. i was wrong, as there is no table breaking without the \placetable[split] option. seems my command reference is outdated :( if you don't use \placetable at all, things work again. so there must be some vspace mess with the splitting option of placetable and the one of TABLE. adding \blank[line,medium,force] or some other forced blank in front of the table should help to get the correct offset to the text. what a mess... peter
Peter, There definitely seems to be something wrong with the splitting behavior, but I'm able to illustrate the same problem regardless of whether its wrapped in a \placetable (see example below). From my experiments, wrapping a table in placetable didn't seem to fix the broken tables or break the correctly split tables. Cheers, Mike \setuppapersize[letter][letter] \setuplayout[textwidth=6.5in, width=middle, height=middle, footer=3\bodyfontsize, footerdistance=\bodyfontsize, header=0pt, headerdistance=0pt, top=\bodyfontsize, topdistance=\bodyfontsize, topspace=0.8in, bottom=\bodyfontsize, bottomdistance=0.5\bodyfontsize, bottomspace=0.8in, location=middle] \showframe \usetypescript[times][ec] \setupbodyfont[times,13pt] \setupwhitespace[big] \starttext Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. Now is the time for all good men to come to the aid of their country. \blank[line,medium,force] \bTABLE[split=repeat] \bTABLEhead \bTR \bTH Header A \eTH \bTH Header B \eTH \eTR \eTABLEhead \bTABLEbody \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \eTABLEbody \eTABLE \stoptext
Santy, Michael schrieb:
Peter,
There definitely seems to be something wrong with the splitting behavior, but I'm able to illustrate the same problem regardless of whether its wrapped in a \placetable (see example below). From my experiments, wrapping a table in placetable didn't seem to fix the broken tables or break the correctly split tables.
hi mike, indeed not a nice break, but the table is at least split correctly here. what is missing is the right space ajustment in front of the table and the caption. try it without the 'forced' in blank (i used it, as the blank was eaten up otherwise). i know that this is still no satisfying solution. have you tried this with your 'real world' documents? cheers, peter
Cheers, Mike
\setuppapersize[letter][letter]
\setuplayout[textwidth=6.5in, width=middle, height=middle, footer=3\bodyfontsize, footerdistance=\bodyfontsize, header=0pt, headerdistance=0pt, top=\bodyfontsize, topdistance=\bodyfontsize, topspace=0.8in, bottom=\bodyfontsize, bottomdistance=0.5\bodyfontsize, bottomspace=0.8in, location=middle]
\showframe
\usetypescript[times][ec] \setupbodyfont[times,13pt]
\setupwhitespace[big]
\starttext
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
Now is the time for all good men to come to the aid of their country.
\blank[line,medium,force]
\bTABLE[split=repeat] \bTABLEhead \bTR \bTH Header A \eTH \bTH Header B \eTH \eTR \eTABLEhead \bTABLEbody \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \bTR \bTC A \eTC \bTC B \eTC \eTR \eTABLEbody \eTABLE
\stoptext
------------------------------------------------------------------------
___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
have you tried this with your 'real world' documents?
Peter, Although adding the \blank didn't fix the table splitting on this contrived document, it actually seems to fix the problem on the few "real world" documents that have shown this behavior. Although some of the breaks are still not ideal, they are not blatantly wrong. It bothers me that I don't understand why this fix works, but it works in the meantime. I really appreciate all of your assistance. Hopefully this issue will be revisited in MKIV. Cheers, Mike
Santy, Michael wrote:
have you tried this with your 'real world' documents?
Peter,
Although adding the \blank didn't fix the table splitting on this contrived document, it actually seems to fix the problem on the few "real world" documents that have shown this behavior. Although some of the breaks are still not ideal, they are not blatantly wrong. It bothers me that I don't understand why this fix works, but it works in the meantime.
what happens if you add add \testpage[4] before a bTABLE?
I really appreciate all of your assistance. Hopefully this issue will be revisited in MKIV.
Cheers, Mike
------------------------------------------------------------------------
___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen schrieb:
Santy, Michael wrote:
have you tried this with your 'real world' documents? Peter,
Although adding the \blank didn't fix the table splitting on this contrived document, it actually seems to fix the problem on the few "real world" documents that have shown this behavior. Although some of the breaks are still not ideal, they are not blatantly wrong. It bothers me that I don't understand why this fix works, but it works in the meantime.
what happens if you add add \testpage[4] before a bTABLE?
i already tried that (also with 4) :) sadly it has no influence.
I really appreciate all of your assistance. Hopefully this issue will be revisited in MKIV.
Cheers, Mike
------------------------------------------------------------------------
___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Peter Rolf wrote:
....just some further tests. i was wrong, as there is no table breaking without the \placetable[split] option. seems my command reference is outdated :(
if you don't use \placetable at all, things work again. so there must be some vspace mess with the splitting option of placetable and the one of TABLE. adding \blank[line,medium,force] or some other forced blank in front of the table should help to get the correct offset to the text.
what a mess...
as said ... the problem is that we need to know what place is available and there is no robust way to determine this ... esp when we're around a potential pagebreak i can look into it when i have enough examples (a bit busy now so i cannot give it priority) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Peter Rolf
-
Santy, Michael