argumentsDesde: siempre
Argumentos capturados de una función.
Los argumentos son posicionales o con nombre, y se puede acceder a ellos mediante los métodos pos, named y at.
Además, se puede acceder a los argumentos con nombre con la sintaxis de campos, de forma similar a los diccionarios.
Sumideros de argumentos
Al igual que las funciones incorporadas, las funciones personalizadas también pueden tomar una cantidad variable de argumentos. Podés especificar un sumidero de argumentos que recolecta todos los argumentos sobrantes como ..sink. El valor sink resultante es del tipo arguments. Expone métodos para acceder a los argumentos posicionales y con nombre.
#let format(title, ..authors) = {
let by = authors
.pos()
.join(", ", last: " and ")
[*#title* \ _Written by #by;_]
}
#format("ArtosFlow", "Jane", "Joe")

Expansión
De manera inversa a un sumidero de argumentos, podés expandir argumentos, arrays y diccionarios en una llamada a función con el operador ..spread:
#let array = (2, 3, 5)
#calc.min(..array)
#let dict = (fill: blue)
#text(..dict)[Hello]

Constructor
Construye argumentos expandibles en el lugar.
Esta función se comporta como let args(..sink) = sink.
Ver ejemplo
#let args = arguments(stroke: red, inset: 1em, [Body])
#box(..args)

argumentsanyObligatorioPosicionalVariádico
Los argumentos que se construyen.
Funciones
lenDesde: 0.15.0
La cantidad de argumentos, posicionales o con nombre.
atDesde: 0.12.0
Devuelve el argumento posicional del índice especificado o el argumento con nombre del nombre especificado.
Si la clave es un entero, esto equivale a llamar primero a pos y luego a array.at. Si es una cadena de texto, equivale a llamar primero a named y luego a dictionary.at.
También se puede acceder a los argumentos con nombre con la sintaxis de campos (por ejemplo, arguments(key: 42).key) si no hace falta un valor por defecto. A diferencia de los diccionarios, los campos de los argumentos no se pueden modificar.
key
El índice o el nombre del argumento que se quiere obtener.
defaultany
Un valor por defecto para devolver si la clave no es válida.
posDesde: siempre
Devuelve los argumentos posicionales capturados como un array.
namedDesde: siempre
Devuelve los argumentos con nombre capturados como un diccionario.
filterDesde: 0.15.0
Produce un nuevo arguments solo con los argumentos cuyo valor pasa la prueba.
Ver ejemplo
#{
arguments(-1, a: 0, b: 1, 2)
.filter(v => v > 0)
}

test
La función que se aplica a cada valor. Debe devolver un booleano.
mapDesde: 0.15.0
Produce un nuevo arguments transformando el valor de cada argumento con la función indicada.
Ver ejemplo
#{
arguments(0, a: 1, 2)
.map(v => v + 1)
}

mapper
La función que se aplica a cada valor.