Dear list, I have the following sample: \setupexternalfigures[location=default] \starttext \startxtable[option={stretch, width}] \startxrow \startxcell \dontleavehmode\dorecurse{100}{ \externalfigure[cow.pdf][scale=50] } \stopxcell \startxcell \input zapf \stopxcell \stopxrow \stopxtable \stoptext Some time ago, there were no difference between images and text remaining inside the frame. Have I hit a bug or what am I missing there? Many thanks for your help, Pablo -- http://www.ousia.tk
Pablo Rodriguez schrieb am 17.10.2019 um 21:51:
Dear list,
I have the following sample:
\setupexternalfigures[location=default] \starttext \startxtable[option={stretch, width}] \startxrow \startxcell \dontleavehmode\dorecurse{100}{ \externalfigure[cow.pdf][scale=50] } \stopxcell \startxcell \input zapf \stopxcell \stopxrow \stopxtable \stoptext
Some time ago, there were no difference between images and text remaining inside the frame.
Not a solution but closer to the problem. Commenting the \local(left|right)box settings brings the line breaks back. \everyforgetall\emptytoks \appendtoks \localleftbox {}% \localrightbox{}% \to \everyforgetall \setupexternalfigures[location=default] \starttext \vbox {\dontleavehmode \dorecurse{100} {\externalfigure[cow.pdf][scale=50] }} \stoptext Wolfgang
On 10/17/2019 11:31 PM, Wolfgang Schuster wrote:
Pablo Rodriguez schrieb am 17.10.2019 um 21:51:
Dear list,
I have the following sample:
\setupexternalfigures[location=default] \starttext \startxtable[option={stretch, width}] \startxrow \startxcell \dontleavehmode\dorecurse{100}{ \externalfigure[cow.pdf][scale=50] } \stopxcell \startxcell \input zapf \stopxcell \stopxrow \stopxtable \stoptext
Some time ago, there were no difference between images and text remaining inside the frame.
Not a solution but closer to the problem.
Commenting the \local(left|right)box settings brings the line breaks back.
\everyforgetall\emptytoks
\appendtoks \localleftbox {}% \localrightbox{}% \to \everyforgetall
\setupexternalfigures[location=default]
\starttext
\vbox {\dontleavehmode \dorecurse{100} {\externalfigure[cow.pdf][scale=50] }}
\stoptext Ah, a pretty clever analysis!
This side effect has puzzled me for a while (adding an \allowbreak also works). The solution is simple: - i don't reset when not set (only happens in some special delimiters case) - i added a safeguard to luametatex (we can't change luatex behaviour) not to inject an unneeded local par node (which is the cause of the problem) when there is no local box in use (As setting these boxes can be changed mid par their state is registered in the node list in order to be taken into account when a paragraph is made. It's a bit pain-in-the-butt mechanism with potential side effects, also in terms of memory management. When it was incorporated (irr it comes from aleph) it was basically broken but stepwise it got fixed. So, it seems another corner case had to be catched. Thanks for noticing.) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 10/18/19 10:08 AM, Hans Hagen wrote:
On 10/17/2019 11:31 PM, Wolfgang Schuster wrote:
[...] Ah, a pretty clever analysis! [...] (As setting these boxes can be changed mid par their state is registered in the node list in order to be taken into account when a paragraph is made. It's a bit pain-in-the-butt mechanism with potential side effects, also in terms of memory management. When it was incorporated (irr it comes from aleph) it was basically broken but stepwise it got fixed. So, it seems another corner case had to be catched. Thanks for noticing.)
Many thanks for your help and for the fix in LMTX, Wolfgang and Hans. Pablo -- http://www.ousia.tk
participants (3)
-
Hans Hagen
-
Pablo Rodriguez
-
Wolfgang Schuster