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.

refElemento
Signo de pregunta
Desde: siempreIr al código fuente

Una referencia a una etiqueta o a la bibliografía.

Toma una etiqueta y hace una referencia cruzada a ella. Hay dos tipos de referencias, determinados por su form: "normal" y "page".

La referencia por defecto, "normal", produce una referencia textual a una etiqueta. Por ejemplo, una referencia a un título dará una cadena apropiada como “Sección 1” para una referencia al primer título. La palabra “Sección” depende de la configuración de lang y se localiza en consecuencia. Las referencias también son enlaces al elemento respectivo. La sintaxis de referencias también se puede usar para citar de una bibliografía.

Como la forma por defecto requiere un suplemento y una numeración, la etiqueta debe estar adjunta a un elemento referenciable. Los elementos referenciables incluyen los títulos, las figuras, las ecuaciones y las notas al pie. Para crear un elemento referenciable personalizado, como un teorema, podés crear una figura de un kind personalizado y escribir una regla show para ella. En el futuro, podría haber una forma más directa de definir un elemento referenciable personalizado.

Si solo querés enlazar a un elemento etiquetado y no obtener una referencia textual automática, considerá usar en cambio la función link.

Una referencia "page" produce una referencia de página a una etiqueta, mostrando el número de página en su ubicación. Podés usar el suplemento de la página para modificar el texto que va antes del número de página. A diferencia de una referencia "normal", la etiqueta se puede adjuntar a cualquier elemento siempre que esté establecida la numeración de la página correspondiente.

Ejemplo

#set page(numbering: "1") #set heading(numbering: "1.") #set math.equation(numbering: "(1)") = Introduction <intro> Recent developments in typesetting software have rekindled hope in previously frustrated researchers. @distress As shown in @results (see #ref(<results>, form: "page")), we ... = Results <results> We discuss our approach in comparison with others. == Performance <perf> @slow demonstrates what slow software looks like. $ T(n) = O(2^n) $ <slow> #bibliography("works.bib")

Sintaxis

Esta función también tiene una sintaxis dedicada: una referencia "normal" a una etiqueta se puede crear escribiendo una @ seguida del nombre de la etiqueta (por ejemplo, = Introduction <intro> se puede referenciar escribiendo @intro).

Para personalizar el suplemento, agregá contenido entre corchetes después de la referencia: @intro[Chapter].

Personalización

Cuando en un documento solo necesitás referenciar páginas de una figura/tabla/título/etcétera, el valor por defecto del campo form se puede cambiar a "page" con una regla set. Si preferís un suplemento corto “p.” en lugar de “página”, se puede usar el campo page.supplement para cambiarlo:

#set page( numbering: "1", supplement: "p.", ) #set ref(form: "page") #figure( stack( dir: ltr, spacing: 1em, circle(), square(), ), caption: [Shapes], ) <shapes> #pagebreak() See @shapes for examples of different shapes.

Si escribís una regla show para referencias, podés acceder al elemento referenciado a través del campo element de la referencia. El element puede ser none aunque exista, si Typst todavía no lo descubrió, por lo que siempre necesitás manejar ese caso en tu código.

#set heading(numbering: "1.") #set math.equation(numbering: "(1)") #show ref: it => { let eq = math.equation let el = it.element // Skip all other references. if el == none or el.func() != eq { return it } // Override equation references. link(el.location(), counter(eq).display(at: el.location())) } = Beginnings <beginning> In @beginning we prove @pythagoras. $ a^2 + b^2 = c^2 $ <pythagoras>

Parámetros

target
label
ObligatorioPosicional
Signo de pregunta

La etiqueta de destino que se debe referenciar.

Puede ser una etiqueta definida en el documento o, si la form se establece en "normal", una entrada de la bibliography.

supplement
none o auto o content o function
Configurable con set
Signo de pregunta
Por defecto: auto

Un suplemento para la referencia.

Si la form se establece en "normal":

Si la form se establece en "page", se agrega antes del número de página de la etiqueta referenciada.

Si se especifica una función, se le pasa el elemento referenciado y debe devolver contenido.

ExpandirVer ejemplo
#set heading(numbering: "1.") #show ref.where( form: "normal" ): set ref(supplement: it => { if it.func() == heading { "Chapter" } else { "Thing" } }) = Introduction <intro> In @intro, we see how to turn Sections into Chapters. And in @intro[Part], it is done manually.

form
str
Configurable con set
Signo de pregunta
Por defecto: "normal"

El tipo de referencia que se produce.

ExpandirVer ejemplo
#set page(numbering: "1") Here <here> we are on #ref(<here>, form: "page").
VarianteDetalles
"normal"Produce una referencia textual a una etiqueta.
"page"Produce una referencia de página a una etiqueta.