I prefer not to share the full code snippet because it’s important to me, but I investigated the issue and I think I found both the cause and a possible workaround.
My clue is that the issue happens when the box height becomes slightly larger than the page height. In that situation, the problem appears consistently.
I identified this by setting the container height to more than 100% :
#import "@preview/meander:0.4.2"
#let column(n-pages, last-page-height: 50%, placement: (), content) = {
meander.reflow({
// meander.opt.overflow.alert()
meander.opt.debug.post-thread()
for page in range(n-pages) {
for p in placement {
if p.page == page {
p.obj
}
}
if page != (n-pages - 1) {
meander.container(
width: 50% - 3mm,
// here
height: 101%,
margin: 6mm,
//style: (text-fill: teal)
)
meander.container(
// and here
height: 101%,
//style: (text-fill: purple)
)
meander.pagebreak()
} else {
meander.container(
width: 50% - 3mm,
margin: 6mm,
height: last-page-height,
//style: (text-fill: teal)
)
meander.container(
height: last-page-height,
//style: (text-fill: purple)
)
}
}
meander.content[
#content
]
})
}
My guess is that, for some reason, the computed height becomes slightly greater than 100% .
If the height is set exactly to 100% , the issue can still happen, possibly because of floating-point approximation. However, if I reduce it slightly (for example 99.99% ), the problem disappears.
I’ll try to create a minimal reproducible example for this issue.