Info
This site is generated using the static site generator developed by the Typst Community. Please adjust the text content of this banner according to your usage requirements. At Typst GmbH's request, when publishing documentation, you must clearly indicate that it is non-official and display the version of Typst being documented. For details, refer to Issue #874 on typst/typst.
TypstDocumentEnglish
v0.dev.2025-09-12

rotate
Element
Element
Element functions can be customized with set and show rules.

Rotates content without affecting layout.

Rotates an element by a given angle. The layout will act as if the element was not rotated unless you specify reflow: true.

Example

#stack(
  dir: ltr,
  spacing: 1fr,
  ..range(16)
    .map(i => rotate(24deg * i)[X]),
)
Preview

Parameter
Parameter
Parameters are input values for functions. Specify them in parentheses after the function name.

angle
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.
Settable
Settable
Settable parameters can be set using the set rule, changing the default value used thereafter.

The amount of rotation.

Default value:

0deg

Show example
#rotate(-1.571rad)[Space!]
Preview

origin
Settable
Settable
Settable parameters can be set using the set rule, changing the default value used thereafter.

The origin of the rotation.

If, for instance, you wanted the bottom left corner of the rotated element to stay aligned with the baseline, you would set it to bottom + left instead.

Default value:

center + horizon

Show example
#set text(spacing: 8pt)
#let square = square.with(width: 8pt)

#box(square())
#box(rotate(30deg, origin: center, square()))
#box(rotate(30deg, origin: top + left, square()))
#box(rotate(30deg, origin: bottom + right, square()))
Preview

reflow
Settable
Settable
Settable parameters can be set using the set rule, changing the default value used thereafter.

Whether the rotation impacts the layout.

If set to false, the rotated content will retain the bounding box of the original content. If set to true, the bounding box will take the rotation of the content into account and adjust the layout accordingly.

Default value:

false

Show example
Hello #rotate(90deg, reflow: true)[World]!
Preview

body
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

The content to rotate.

Open official docs

Search