TypstDocumentation

measure

Measure the layouted size of content.

The measure function lets you determine the layouted size of content. Note that an infinite space is assumed, therefore the measured height/width may not necessarily match the final height/width of the measured content. If you want to measure in the current layout dimensions, you can combined measure and layout.

Example

The same content can have a different size depending on the styles that are active when it is layouted. For example, in the example below #content is of course bigger when we increase the font size.

#let content = [Hello!]
#content
#set text(14pt)
#content
Preview

To do a meaningful measurement, you therefore first need to retrieve the active styles with the style function. You can then pass them to the measure function.

#let thing(body) = style(styles => {
  let size = measure(body, styles)
  [Width of "#body" is #size.width]
})

#thing[Hey] \
#thing[Welcome]
Preview

The measure function returns a dictionary with the entries width and height, both of type length.

Parameters
Question mark

content
content
RequiredPositional
Question mark

The content whose size to measure.

styles
styles
RequiredPositional
Question mark

The styles with which to layout the content.