#Make all grid columns span on multiple pages when one does

1 messages · Page 1 of 1 (latest)

wispy yoke
#

I have a simple grid with 2 columns. The right/blue column might have a lot of content and span on the 2nd page, the left/red does not. Is there a way to force the left column to either

  1. have the same total height as the right column or
  2. be total of two 100% pages tall when if the right spans on the 2nd page

Below is the starting point. The first image is the starting point, the second and third are the desired (but simulated by manually adjusting the left/red block height value) outcomes. Also for some reason the bottoms are not aligned on page 1.

Bonus: how to apply the rounded corners only on page 1, not on page 2 on the left/red column?

#set page(height: 10cm)
#let leftColumn = () => block(lorem(30), fill: red, inset: 1em, height: auto, breakable: true, radius: (top: 30pt))

#let rightColumn = () => block([
  #lorem(50)

  #lorem(80)
  ], fill: blue, inset: 1em, breakable: true)
#grid(columns: 2, leftColumn(), rightColumn(), gutter: 10pt)

young coral
#
#set page(paper: "a4", height: 10cm)

#let leftColumn = grid.cell(fill: red, inset: 1em, lorem(30))

#let rightColumn = grid.cell(fill: blue, inset: 1em)[
  #lorem(50)

  #lorem(80)
]
  
#grid(columns: 2, gutter: 10pt, leftColumn, rightColumn)
#

To achieve the radius, you can wrap the whole grid in a block(radius: (top: 30pt), clip: true). Unfortunately, I don't know of a way to only have the radius in the first page

#block(
  radius: (top: 30pt),
  clip: true,
  grid(columns: 2, gutter: 10pt, leftColumn, rightColumn)
)
wispy yoke
#

Thanks! I'll take a look at this later when I have time. Seems that grid.cell behaves differently than block.