arguments
Captured arguments to a function.
Argument Sinks
Like built-in functions, custom functions can also take a variable number of arguments. You can specify an argument sink which collects all excess arguments as ..sink
. The resulting sink
value is of the arguments
type. It exposes methods to access the positional and named arguments.
#let format(title, ..authors) = {
let by = authors
.pos()
.join(", ", last: " and ")
[*#title* \ _Written by #by;_]
}
#format("ArtosFlow", "Jane", "Joe")

Spreading
Inversely to an argument sink, you can spread arguments, arrays and dictionaries into a function call with the ..spread
operator:
#let array = (2, 3, 5)
#calc.min(..array)
#let dict = (fill: blue)
#text(..dict)[Hello]

DefinitionsFunctions and types and can have associated definitions. These are accessed by specifying the function or type, followed by a period, and then the definition's name.
Functions and types and can have associated definitions. These are accessed by specifying the function or type, followed by a period, and then the definition's name.
pos
Returns the captured positional arguments as an array.
named
Returns the captured named arguments as a dictionary.