TypstDocumentation

selector

A filter for selecting elements within the document.

You can construct a selector in the following ways:

Selectors are used to apply styling rules to elements. You can also use selectors to query the document for certain types of elements.

Furthermore, you can pass a selector to several of Typst's built-in functions to configure their behaviour. One such example is the outline where it can be used to change which elements are listed within the outline.

Multiple selectors can be combined using the methods shown below. However, not all kinds of selectors are supported in all places, at the moment.

Example

#locate(loc => query(
  heading.where(level: 1)
    .or(heading.where(level: 2)),
  loc,
))

= This will be found
== So will this
=== But this will not.
Preview

Methods
Question mark

or method

Allows combining any of a series of selectors. This is used to select multiple components or components with different properties all at once.

value.or()

other
selector
RequiredVariadic
Question mark

The list of selectors to match on.

and method

Allows combining all of a series of selectors. This is used to check whether a component meets multiple selection rules simultaneously.

value.and()

other
selector
RequiredVariadic
Question mark

The list of selectors to match on.

before method

Returns a modified selector that will only match elements that occur before the first match of the selector argument.

end
selector
RequiredPositional
Question mark

The original selection will end at the first match of end.

inclusive

Whether end itself should match or not. This is only relevant if both selectors match the same type of element. Defaults to true.

after method

Returns a modified selector that will only match elements that occur after the first match of the selector argument.

start
selector
RequiredPositional
Question mark

The original selection will start at the first match of start.

inclusive

Whether start itself should match or not. This is only relevant if both selectors match the same type of element. Defaults to true.