Attach
Subscript, superscripts, and limits.
Attachments can be displayed either as sub/superscripts, or limits. Typst
automatically decides which is more suitable depending on the base, but you
can also control this manually with the scripts and limits functions.
If you want the base to stretch to fit long top and bottom attachments (for
example, an arrow with text above it), use the stretch
function.
Example
$ sum_(i=0)^n a_i = 2^(1+i) $

Syntax
This function also has dedicated syntax for attachments after the base: Use
the underscore (_) to indicate a subscript i.e. bottom attachment and the
hat (^) to indicate a superscript i.e. top attachment.
Function
attachElementElementElement functions can be customized with set and show rules.
attachset and show rules.A base with optional attachments.
$ attach(
  Pi, t: alpha, b: beta,
  tl: 1, tr: 2+3, bl: 4+5, br: 6,
) $

math.attach(,t:,b:,tl:,bl:,tr:,br:)->baseRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.
baseThe base to which things are attached.
The top attachment, smartly positioned at top-right or above the base.
You can wrap the base in limits() or scripts() to override the
smart positioning.
noneThe bottom attachment, smartly positioned at the bottom-right or below the base.
You can wrap the base in limits() or scripts() to override the
smart positioning.
noneThe top-left attachment (before the base).
noneThe bottom-left attachment (before base).
noneThe top-right attachment (after the base).
nonescriptsElementElementElement functions can be customized with set and show rules.
scriptsset and show rules.Forces a base to display attachments as scripts.
$ scripts(sum)_1^2 != sum_1^2 $

math.scripts()->bodyRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.
bodyThe base to attach the scripts to.
limitsElementElementElement functions can be customized with set and show rules.
limitsset and show rules.Forces a base to display attachments as limits.
$ limits(A)_1^2 != A_1^2 $

math.limits(,)->bodyRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.
bodyThe base to attach the limits to.
inlineSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
inlineset rule, changing the default value used thereafter.Whether to also force limits in inline equations.
When applying limits globally (e.g., through a show rule), it is typically a good idea to disable this.
true