Unexpected breaking across pages for `stack(dir: ltr, ...)`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 56.1k
- Forks
- 1.7k
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 22
Description
Description
stack(dir: ltr, ...) exhibits some weird behavior when breaking across pages. The following example is from catte on Discord:
#set page(height: 10cm)
#let col = stack(dir: ttb, ..(red, orange, yellow, green, blue, purple).map(c => rect(fill: c, height: 2cm)))
#stack(dir: ltr, col, col)
which produces
A user would expect that if this pagebreaks at all, it would page break like a grid. I think it would also be reasonable for horizontally-stacked items to be treated as if they were in a non-breakable block.
Reproduction URL
No response
Operating system
Linux
Typst version
- I am using the latest version of Typst
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the provided Typst reproduction with the 10cm page height and inspect the stack layout and page-breaking behavior. Done means the horizontal stack no longer breaks unexpectedly, following an agreed grid-like or non-breakable-block interpretation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100