diff options
Diffstat (limited to 'tests/suite/math/equation.typ')
| -rw-r--r-- | tests/suite/math/equation.typ | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/tests/suite/math/equation.typ b/tests/suite/math/equation.typ new file mode 100644 index 00000000..dd2745d1 --- /dev/null +++ b/tests/suite/math/equation.typ @@ -0,0 +1,212 @@ +// Test alignment of block equations. +// Test show rules on equations. + +--- math-equation-numbering --- +#set page(width: 150pt) +#set math.equation(numbering: "(I)") + +We define $x$ in preparation of @fib: +$ phi.alt := (1 + sqrt(5)) / 2 $ <ratio> + +With @ratio, we get +$ F_n = round(1 / sqrt(5) phi.alt^n) $ <fib> + +--- math-equation-font --- +// Test different font. +#show math.equation: set text(font: "Fira Math") +$ v := vec(1 + 2, 2 - 4, sqrt(3), arrow(x)) + 1 $ + +--- math-equation-show-rule --- +This is small: $sum_(i=0)^n$ + +#show math.equation: math.display +This is big: $sum_(i=0)^n$ + +--- math-equation-align-unnumbered --- +// Test unnumbered +#let eq(alignment) = { + show math.equation: set align(alignment) + $ a + b = c $ +} + +#eq(center) +#eq(left) +#eq(right) + +#set text(dir: rtl) +#eq(start) +#eq(end) + +--- math-equation-align-numbered --- +// Test numbered +#let eq(alignment) = { + show math.equation: set align(alignment) + $ a + b = c $ +} + +#set math.equation(numbering: "(1)") + +#eq(center) +#eq(left) +#eq(right) + +#set text(dir: rtl) +#eq(start) +#eq(end) + +--- math-equation-number-align --- +#set math.equation(numbering: "(1)") + +$ a + b = c $ + +#show math.equation: set align(center) +$ a + b = c $ +#show math.equation: set align(left) +$ a + b = c $ +#show math.equation: set align(right) +$ a + b = c $ + +#set text(dir: rtl) +#show math.equation: set align(start) +$ a + b = c $ +#show math.equation: set align(end) +$ a + b = c $ + +--- math-equation-number-align-start --- +#set math.equation(numbering: "(1)", number-align: start) + +$ a + b = c $ + +#show math.equation: set align(center) +$ a + b = c $ +#show math.equation: set align(left) +$ a + b = c $ +#show math.equation: set align(right) +$ a + b = c $ + +#set text(dir: rtl) +#show math.equation: set align(start) +$ a + b = c $ +#show math.equation: set align(end) +$ a + b = c $ + +--- math-equation-number-align-end --- +#set math.equation(numbering: "(1)", number-align: end) + +$ a + b = c $ + +#show math.equation: set align(center) +$ a + b = c $ +#show math.equation: set align(left) +$ a + b = c $ +#show math.equation: set align(right) +$ a + b = c $ + +#set text(dir: rtl) +#show math.equation: set align(start) +$ a + b = c $ +#show math.equation: set align(end) +$ a + b = c $ + +--- math-equation-number-align-left --- +#set math.equation(numbering: "(1)", number-align: left) + +$ a + b = c $ + +#show math.equation: set align(center) +$ a + b = c $ +#show math.equation: set align(left) +$ a + b = c $ +#show math.equation: set align(right) +$ a + b = c $ + +#set text(dir: rtl) +#show math.equation: set align(start) +$ a + b = c $ +#show math.equation: set align(end) +$ a + b = c $ + +--- math-equation-number-align-right --- +#set math.equation(numbering: "(1)", number-align: right) + +$ a + b = c $ + +#show math.equation: set align(center) +$ a + b = c $ +#show math.equation: set align(left) +$ a + b = c $ +#show math.equation: set align(right) +$ a + b = c $ + +#set text(dir: rtl) +#show math.equation: set align(start) +$ a + b = c $ +#show math.equation: set align(end) +$ a + b = c $ + +--- math-equation-number-align-center --- +// Error: 52-58 expected `start`, `left`, `right`, or `end`, found center +#set math.equation(numbering: "(1)", number-align: center) + +--- math-equation-number-align-center-bottom --- +// Error: 52-67 expected `start`, `left`, `right`, or `end`, found center +#set math.equation(numbering: "(1)", number-align: center + bottom) + +--- math-equation-number-align-multiline --- +#set math.equation(numbering: "(1)") + +$ p &= ln a b \ + &= ln a + ln b $ + +--- math-equation-number-align-multiline-top-start --- +#set math.equation(numbering: "(1)", number-align: top+start) + +$ p &= ln a b \ + &= ln a + ln b $ + +--- math-equation-number-align-multiline-bottom --- +#show math.equation: set align(left) +#set math.equation(numbering: "(1)", number-align: bottom) + +$ q &= ln sqrt(a b) \ + &= 1/2 (ln a + ln b) $ + +--- math-equation-number-align-multiline-expand --- +// Tests that if the numbering's layout box vertically exceeds the box of +// the equation frame's boundary, the latter's frame is resized correctly +// to encompass the numbering. #box() below delineates the resized frame. +// +// A row with "-" only has a height that's smaller than the height of the +// numbering's layout box. Note we use pattern "1" here, not "(1)", since +// the parenthesis exceeds the numbering's layout box, due to the default +// settings of top-edge and bottom-edge of the TextElem that laid it out. +#set math.equation(numbering: "1", number-align: top) +#box( +$ - &- - \ + a &= b $, +fill: silver) + +#set math.equation(numbering: "1", number-align: horizon) +#box( +$ - - - $, +fill: silver) + +#set math.equation(numbering: "1", number-align: bottom) +#box( +$ a &= b \ + - &- - $, +fill: silver) + +--- issue-numbering-hint --- +// In this bug, the hint and error messages for an equation +// being reference mentioned that it was a "heading" and was +// lacking the proper path. +#set page(height: 70pt) + +$ + Delta = b^2 - 4 a c +$ <quadratic> + +// Error: 14-24 cannot reference equation without numbering +// Hint: 14-24 you can enable equation numbering with `#set math.equation(numbering: "1.")` +Looks at the @quadratic formula. |
