cancel
ElementElement functions can be customized with set
and show
rules.
set
and show
rules.Displays a diagonal line over a part of an equation.
This is commonly used to show the elimination of a term.
Example
Here, we can simplify:
$ (a dot b dot cancel(x)) /
cancel(x) $

ParametersParameters are the inputs to a function. They are specified in parentheses after the function name.
body
The content over which the line should be placed.
length
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
set
rule.The length of the line, relative to the length of the diagonal spanning the whole element being "cancelled". A value of 100%
would then have the line span precisely the element's diagonal.
Default: 100% + 3pt
View example
$ a + cancel(x, length: #200%)
- cancel(x, length: #200%) $

inverted
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
set
rule.Whether the cancel line should be inverted (flipped along the y-axis). For the default angle setting, inverted means the cancel line points to the top left instead of top right.
Default: false
View example
$ (a cancel((b + c), inverted: #true)) /
cancel(b + c, inverted: #true) $

cross
SettableSettable parameters can be customized for all following uses of the function with a set
rule.
set
rule.Whether two opposing cancel lines should be drawn, forming a cross over the element. Overrides inverted
.
Default: false
View example
$ cancel(Pi, cross: #true) $

angle
How much to rotate the cancel line.
- If
auto
, the line assumes the default angle; that is, along the diagonal line of the content box. - If given an angle, the line is rotated by that angle clockwise w.r.t the y-axis.
- If given a function
angle => angle
, the line is rotated by the angle returned by that function. The function receives the default angle as its input.
Default: auto
View example
$ cancel(Pi)
cancel(Pi, angle: #0deg)
cancel(Pi, angle: #45deg)
cancel(Pi, angle: #90deg)
cancel(1/(1+x), angle: #(a => a + 45deg))
cancel(1/(1+x), angle: #(a => a + 90deg)) $

stroke
How to stroke the cancel line.
Default: 0.5pt
View example
$ cancel(
sum x,
stroke: #(
paint: red,
thickness: 1.5pt,
dash: "dashed",
),
) $
