 Documentation

# `cancel`ElementQuestion markElement functions can be customized with `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) \$
`````` ## ParametersQuestion markParameters are the inputs to a function. They are specified in parentheses after the function name.

math.cancel() -> content

### `body`contentRequiredPositionalQuestion markPositional parameters are specified in order, without names.

The content over which the line should be placed.

### `length`relativeSettableQuestion markSettable parameters can be customized for all following uses of the function with a `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`boolSettableQuestion markSettable parameters can be customized for all following uses of the function with a `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`boolSettableQuestion markSettable parameters can be customized for all following uses of the function with a `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`auto or angle or functionSettableQuestion markSettable parameters can be customized for all following uses of the function with a `set` rule.

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`length or color or gradient or stroke or pattern or dictionarySettableQuestion markSettable parameters can be customized for all following uses of the function with a `set` rule.

How to stroke the cancel line.

Default: `0.5pt` View example
``````\$ cancel(
sum x,
stroke: #(
paint: red,
thickness: 1.5pt,
dash: "dashed",
),
) \$
`````` 