Documentation

length

A size or distance, possibly expressed with contextual units.

Typst supports the following length units:

You can multiply lengths with and divide them by integers and floats.

Example

#rect(width: 20pt) #rect(width: 2em) #rect(width: 1in) #(3em + 5pt).em \ #(20pt).em \ #(40em + 2pt).abs \ #(5em).abs 
Preview

Fields

Definitions
Question mark

pt

Converts this length to points.

Fails with an error if this length has non-zero em units (such as 5em + 2pt instead of just 2pt). Use the abs field (such as in (5em + 2pt).abs.pt()) to ignore the em component of the length (thus converting only its absolute component).

self.pt(
) -> float

mm

Converts this length to millimeters.

Fails with an error if this length has non-zero em units. See the pt method for more details.

self.mm(
) -> float

cm

Converts this length to centimeters.

Fails with an error if this length has non-zero em units. See the pt method for more details.

self.cm(
) -> float

inches

Converts this length to inches.

Fails with an error if this length has non-zero em units. See the pt method for more details.

self.inches(
) -> float

to-absolute

Resolve this length to an absolute length.

View example
#set text(size: 12pt) #context [ #(6pt).to-absolute() \ #(6pt + 10em).to-absolute() \ #(10em).to-absolute() ] #set text(size: 6pt) #context [ #(6pt).to-absolute() \ #(6pt + 10em).to-absolute() \ #(10em).to-absolute() ] 
Preview
self.to-absolute(
) -> length