Traducción no oficial al español rioplatense, generada con IA (Claude Sonnet 5.5) bajo la dirección y revisión de Jassiel Ovando. No es una publicación de Typst GmbH ni cuenta con su aval; ante cualquier duda, prevalece la documentación oficial en inglés. ¿Un error de traducción o una sugerencia? Reportalo. Tipografía: Reforma, de PampaType.

selectorDesde: 0.3.0Ir al código fuente

Un filtro para seleccionar elementos dentro del documento.

Para construir un selector podés:

Los selectores se usan para aplicar reglas de estilo a los elementos. También podés usar selectores para consultar el documento en busca de ciertos tipos de elementos.

Además, podés pasar un selector a varias de las funciones incorporadas de Typst para configurar su comportamiento. Un ejemplo es outline, donde se puede usar para cambiar qué elementos se listan en el índice.

Se pueden combinar varios selectores con los métodos que se muestran abajo. Sin embargo, por el momento no todos los tipos de selectores se admiten en todos los lugares.

Ejemplo

#context query( heading.where(level: 1) .or(heading.where(level: 2)) ) = This will be found == So will this === But this will not.

Constructor
Signo de pregunta
Ir al código fuente

Convierte un valor en un selector. Se aceptan los siguientes valores:

target
str o regex o label o selector o location o function
ObligatorioPosicional
Signo de pregunta

Puede ser una función de elemento como heading o figure, una <label> o un selector más complejo como heading.where(level: 1).

Funciones
Signo de pregunta

orDesde: 0.3.0Ir al código fuente

Selecciona todos los elementos que coinciden con este selector o con cualquiera de los demás.

others
str o regex o label o selector o location o function
ObligatorioPosicional
Signo de pregunta
Variádico
Signo de pregunta

Los demás selectores con los que se debe coincidir.

andDesde: 0.3.0Ir al código fuente

Selecciona todos los elementos que coinciden con este selector y con todos los demás.

others
str o regex o label o selector o location o function
ObligatorioPosicional
Signo de pregunta
Variádico
Signo de pregunta

Los demás selectores con los que se debe coincidir.

beforeDesde: 0.3.0Ir al código fuente

Devuelve un selector modificado que solo coincide con los elementos que aparecen antes de la primera coincidencia de end.

Nota: Actualmente, este selector solo se admite con funciones de introspección, no en reglas show.

end
label o selector o location o function
ObligatorioPosicional
Signo de pregunta

La selección original terminará en la primera coincidencia de end.

inclusivePor defecto: true

Si la propia coincidencia de end debe incluirse o no. Solo es relevante si ambos selectores coinciden con el mismo tipo de elemento. Por defecto es true.

afterDesde: 0.3.0Ir al código fuente

Devuelve un selector modificado que solo coincide con los elementos que aparecen después de la primera coincidencia de start.

Nota: Actualmente, este selector solo se admite con funciones de introspección, no en reglas show.

start
label o selector o location o function
ObligatorioPosicional
Signo de pregunta

La selección original empezará en la primera coincidencia de start.

inclusivePor defecto: true

Si la propia coincidencia de start debe incluirse o no. Solo es relevante si ambos selectores coinciden con el mismo tipo de elemento. Por defecto es true.

withinDesde: 0.15.0Ir al código fuente

Devuelve un selector modificado que solo coincide con los elementos contenidos dentro de cualquier elemento que coincida con el selector ancestor.

ExpandirVer ejemplo: Búsqueda de elementos strong en listas
*Strong emphasis* that does not count. - An *important* word - Another *key* word Strong elements in lists: #context { query(selector(strong).within(list)) .map(it => it.body) .join[, ] }

También se puede usar en combinación con here para encontrar todas las coincidencias de un selector dentro de una expresión de contexto. Esto puede ser muy útil para que una introspección devuelva resultados locales a algún componente que estés construyendo.

ExpandirVer ejemplo: Conteo local de elementos en un bloque de contexto
#let count(sel, body) = context { let n = query(selector(sel).within(here())).len() [#body (#n matches)] } - #count(emph)[Has _two_ matching _elements_] - #count(strong)[Has *one* matching element]

Nota: Actualmente, este selector solo se admite con funciones de introspección, no en reglas show.

ancestor
label o selector o location o function
ObligatorioPosicional
Signo de pregunta

Solo se incluirán en la salida las coincidencias de self que sean descendientes de algún elemento que coincida con este selector.

Un elemento no se considera su propio ancestro.