Documentation

fracElement
Question mark
Go to source

A mathematical fraction.

Example

$ 1/2 < (x+1)/2 $
$ ((x+1)) / 2 = frac(a, b) $

Syntax

This function also has dedicated syntax: Use a slash to turn neighbouring expressions into a fraction. Multiple atoms can be grouped into a single expression using round grouping parentheses. Such parentheses are removed from the output, but you can nest multiple to force them.

Parameters

num
content
RequiredPositional
Question mark

The fraction’s numerator.

denom
content
RequiredPositional
Question mark

The fraction’s denominator.

style
str
Settable
Question mark
Default: "vertical"

How the fraction should be laid out.

ExpandView example: Styles
$ frac(x, y, style: "vertical") $
$ frac(x, y, style: "skewed") $
$ frac(x, y, style: "horizontal") $
ExpandView example: Setting the default
#set math.frac(style: "skewed")
$ a / b $
ExpandView example: Handling of grouping parentheses
// Grouping parentheses are removed.
#set math.frac(style: "vertical")
$ (a + b) / b $

// Grouping parentheses are removed.
#set math.frac(style: "skewed")
$ (a + b) / b $

// Grouping parentheses are retained.
#set math.frac(style: "horizontal")
$ (a + b) / b $
ExpandView example: Different styles in inline vs block equations
// This changes the style for inline equations only.
#show math.equation.where(block: false): set math.frac(style: "horizontal")

This $(x-y)/z = 3$ is inline math, and this is block math:
$ (x-y)/z = 3 $
ExpandView example: Use LaTeX-like convention
// Change the default style.
#set math.frac(style: "horizontal")
// Define a shorthand with the original style.
#let frac = math.frac.with(style: "vertical")

$ p/q = frac(p, q) $

// The shadowed definition can still be accessed.
#assert.eq($p/q$, $std.math.frac(p, q)$)
VariantDetails
"vertical"Stacked numerator and denominator with a bar.
"skewed"Numerator and denominator separated by a slash.
"horizontal"Numerator and denominator placed inline and parentheses are not absorbed.