diff options
| author | Eric Biedert <github@ericbiedert.de> | 2024-10-07 10:13:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-07 08:13:09 +0000 |
| commit | 20ce48dc36978e0995a03d7f97975deff99834b3 (patch) | |
| tree | 1e8c6c5c48f1e1c19f49a8e4532fa4a268d2f3a0 | |
| parent | 60f9f66950f1fbef3d6042533e768b9ee933dd24 (diff) | |
Fix panic for empty breakable block equations (#5116)
| -rw-r--r-- | crates/typst/src/math/equation.rs | 6 | ||||
| -rw-r--r-- | tests/suite/math/multiline.typ | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/crates/typst/src/math/equation.rs b/crates/typst/src/math/equation.rs index 83d3fc74..963a35c5 100644 --- a/crates/typst/src/math/equation.rs +++ b/crates/typst/src/math/equation.rs @@ -379,6 +379,12 @@ fn layout_equation_block( equation_builder.size.y = height; } + // Ensure that there is at least one frame, even for empty equations. + if equation_builders.is_empty() { + equation_builders + .push(MathRunFrameBuilder { frames: vec![], size: Size::zero() }); + } + equation_builders } else { vec![full_equation_builder] diff --git a/tests/suite/math/multiline.typ b/tests/suite/math/multiline.typ index 3c0ed2f4..34e66b99 100644 --- a/tests/suite/math/multiline.typ +++ b/tests/suite/math/multiline.typ @@ -147,11 +147,15 @@ $ a + b $ Shouldn't overflow: $ a + b $ +--- issue-5113-pagebreaking-empty --- +// Test empty breakable equations. +#show math.equation: set block(breakable: true) +#math.equation(block: true, []) + --- issue-1948-math-text-break --- // Test text with linebreaks in math. $ x := "a\nb\nc\nd\ne" $ - --- issue-4829-math-pagebreaking-wrong-number --- // Test numbering of empty regions of broken equations. #set page(height: 5em) |
