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.

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

Enlaces a una URL o a una ubicación del documento.

Por defecto, los enlaces no se ven distintos del texto normal. Sin embargo, podés aplicar fácilmente un estilo a tu elección con una regla show.

Ejemplo

#show link: underline https://example.com \ #link("https://example.com") \ #link("https://example.com")[ See example.com ]

Sintaxis

Esta función también tiene una sintaxis dedicada: el texto que empieza con http:// o https:// se convierte automáticamente en un enlace.

Para evitar la creación automática de un enlace, podés poner el texto en una cadena de texto. Para incrustar la cadena en el marcado, anteponele un numeral. Como alternativa, si el texto con forma de enlace es código informático, también podés ponerlo en un elemento raw. Tené en cuenta que, en ambos casos, el texto puede seguir siendo cliqueable en el PDF, porque algunos lectores de PDF detectan enlaces automáticamente.

#show link: set text(blue) // Automatic link https://example.com // String, not a link #"https://example.com" // Raw, not a link `https://*.com`

Separación en sílabas

Si activás la separación en sílabas o la justificación, por defecto no se aplicará a los enlaces, para evitar separaciones no deseadas en las URL. Podés desactivar este comportamiento por defecto con show link: set text(hyphenate: true).

Accesibilidad

El destino de un enlace debería quedar claro a partir del propio texto del enlace o, al menos, del texto que lo rodea inmediatamente. En la exportación a PDF, Typst generará automáticamente una descripción emergente para los enlaces según su destino. Para los enlaces a URL, se usará la propia URL como descripción emergente.

En la exportación a HTML, un enlace a una etiqueta o ubicación se convertirá en un enlace de fragmento a un punto de anclaje con nombre. Para admitirlo, los destinos sin un ID existente recibirán automáticamente un ID en el DOM. Cómo funciona esto varía según el tipo de nodo(s) HTML en que se convirtió el destino del enlace:

Si dependés de una estructura de DOM específica, deberías asegurarte de que el destino del enlace se convierta en uno o varios elementos, ya que el compilador no da garantías sobre la segmentación precisa del texto en nodos de texto.

Si está presente, la generación automática de ID intenta reutilizar la etiqueta del destino del enlace para crear un ID legible. Una etiqueta se puede reutilizar si:

Estas reglas aseguran que la etiqueta sea tanto un identificador CSS válido como un fragmento de URL válido para enlazar.

Como los ID deben ser únicos en el DOM, las etiquetas duplicadas podrían necesitar desambiguación al reutilizarlas como ID. Las reglas precisas para esto son las siguientes:

En la exportación a bundle, los enlaces siguen funcionando como siempre. Por ejemplo, si le adjuntás una etiqueta a un elemento de un documento, los enlaces de otros documentos pueden hacer referencia a esa etiqueta. Además, los documentos y los recursos (assets) también se pueden enlazar directamente. Para enlazar a un documento o recurso completo, podés adjuntarle una etiqueta o hacer una consulta de él y extraer su ubicación.

#document("index.html")[
  // Link to document.
  #link(<appendix>)[To appendix]

  // Link into document.
  See the #link(<glossary>)[Glossary]
  for more information.
]

#document("appendix.html")[
  = Definitions
  ...

  = Glossary <glossary>
  ...
] <appendix>

Los enlaces entre documentos se emiten como rutas relativas (potencialmente con fragmentos). Typst asigna automáticamente nombres de anclaje por documento según las mismas reglas que en la exportación a HTML. En los documentos HTML y SVG, se emiten como atributos id en los elementos. En los documentos PDF, se emiten como destinos con nombre. Los documentos PNG no admiten enlaces.

Tené en cuenta que los enlaces siempre usan rutas relativas completas. En algunos escenarios (principalmente en sitios web de varias páginas), esto puede no ser deseable. Por ejemplo, podrías querer generar un documento /blog/index.html y a la vez enlazarlo simplemente como /blog. Además, tu servidor web podría tratar /blog y /blog/ como intercambiables y servir /blog/index.html en ambos casos. Si entonces un usuario navega a /blog, los enlaces relativos a otras páginas generadas por Typst dejarán de funcionar. Actualmente, Typst no tiene una forma de engancharse directamente en el manejo de enlaces incorporado. Dicho esto, en la exportación a HTML, según tu caso de uso, puede ser posible ajustar el manejo de enlaces incorporado con una regla show sobre html.elem.where(tag: "a").

Parámetros

dest
str o label o location o dictionary
ObligatorioPosicional
Signo de pregunta

El destino al que apunta el enlace.

ExpandirVer ejemplo
= Introduction <intro> #link("mailto:hello@typst.app") \ #link(<intro>)[Go to intro] \ #link((page: 1, x: 0pt, y: 0pt))[ Go to top ]

body
content
ObligatorioPosicional
Signo de pregunta

El contenido que debe convertirse en un enlace.

Si dest es una cadena de URL, el parámetro se puede omitir. En ese caso, la URL se mostrará como enlace.