TypstDocumentation

Attach functions

Subscript, superscripts, and limits.

The attach function backs the $a_b^c$ syntax that adds top and bottom attachments to a part of an equation. 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.

attach functionElement
Question mark

A base with optional attachments.

Example

// With syntax.
$ sum_(i=0)^n a_i = 2^(1+i) $

// With function call.
$ attach(
  Pi, t: alpha, b: beta,
  tl: 1, tr: 2+3, bl: 4+5, br: 6,
) $
Preview

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.

Parameters
Question mark

base
content
RequiredPositional
Question mark

The base to which things are attached.

t
none or content
Settable
Question mark

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.

Default: none

b
none or content
Settable
Question mark

The 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.

Default: none

tl
none or content
Settable
Question mark

The top-left attachment (before the base).

Default: none

bl
none or content
Settable
Question mark

The bottom-left attachment (before base).

Default: none

tr
none or content
Settable
Question mark

The top-right attachment (after the base).

Default: none

br
none or content
Settable
Question mark

The bottom-right attachment (after the base).

Default: none

scripts functionElement
Question mark

Force a base to display attachments as scripts.

Example

$ scripts(sum)_1^2 != sum_1^2 $
Preview

Parameters
Question mark

scripts() -> content

body
content
RequiredPositional
Question mark

The base to attach the scripts to.

limits functionElement
Question mark

Force a base to display attachments as limits.

Example

$ limits(A)_1^2 != A_1^2 $
Preview

Parameters
Question mark

limits() -> content

body
content
RequiredPositional
Question mark

The base to attach the limits to.