TypstDocumentation

placeElement
Question mark

Places content at an absolute position.

Placed content will not affect the position of other content. Place is always relative to its parent container and will be in the foreground of all other content in the container. Page margins will be respected.

Example

#set page(height: 60pt)
Hello, world!

#place(
  top + right,
  square(
    width: 20pt,
    stroke: 2pt + blue
  ),
)
Preview

Parameters
Question mark

alignment
auto or alignment
Positional
Question mark
Settable
Question mark

Relative to which position in the parent container to place the content.

Cannot be auto if float is false and must be either auto, top, or bottom if float is true.

When an axis of the page is auto sized, all alignments relative to that axis will be ignored, instead, the item will be placed in the origin of the axis.

Default: start

float
bool
Settable
Question mark

Whether the placed element has floating layout.

Floating elements are positioned at the top or bottom of the page, displacing in-flow content.

Default: false

View example
#set page(height: 150pt)
#let note(where, body) = place(
  center + where,
  float: true,
  clearance: 6pt,
  rect(body),
)

#lorem(10)
#note(bottom)[Bottom 1]
#note(bottom)[Bottom 2]
#lorem(40)
#note(top)[Top]
#lorem(10)
Preview Preview

clearance
length
Settable
Question mark

The amount of clearance the placed element has in a floating layout.

Default: 1.5em

dx
relative
Settable
Question mark

The horizontal displacement of the placed content.

Default: 0pt

View example
#set page(height: 100pt)
#for i in range(16) {
  let amount = i * 4pt
  place(center, dx: amount - 32pt, dy: amount)[A]
}
Preview

dy
relative
Settable
Question mark

The vertical displacement of the placed content.

Default: 0pt

body
content
RequiredPositional
Question mark

The content to place.