En pocas palabras
Sistema de composición tipográfica con marcado y programación para generar documentos.
Qué problema resuelve
Informes repetitivos difíciles de mantener con edición manual o toolchains complejas.
Cuándo utilizarlo
Publicaciones y reportes automatizados. Ejemplo: generar estados de cuenta desde datos estructurados.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Trial (valoración de la edición aportada).
Cómo funciona
Combina texto, estilos y expresiones con carga de datos como JSON o CSV. Su compilador permite producir documentos de forma automatizada.
Ejemplo de uso
Una plantilla recorre movimientos de una cuenta y dibuja una tabla con totales. Un proceso valida los datos y compila un documento por cliente usando la misma versión de fuentes y plantilla.
Sintaxis en tres modos
| Modo | Cómo se entra | Ejemplo |
|---|---|---|
| Marcado | Por defecto | = Título, *negrita*, _cursiva_, - lista |
| Código | Con # |
#let total = 0, #for m in movs [...] |
| Matemático | Entre $ … $ |
$ I = P dot r dot t $ |
Las reglas set y show sustituyen a los paquetes y macros de LaTeX para estilo: #set text(font: "Source Sans 3", lang: "es"), #show heading: set text(fill: navy).
Ejemplo: extracto a partir de JSON
#let datos = json("extracto.json")
#set page(paper: "a4", margin: 2cm, footer: context [
#datos.cliente.nombre #h(1fr) Página #counter(page).display()
])
#set text(lang: "es", size: 10pt)
= Extracto de #datos.periodo
#table(
columns: (auto, 1fr, auto),
align: (left, left, right),
table.header([*Fecha*], [*Concepto*], [*Importe*]),
..datos.movimientos.map(m => (m.fecha, m.concepto, str(m.importe))).flatten(),
)
*Saldo final:* #datos.saldo
Compilación automatizada
typst compile extracto.typ salida/extracto-42.pdf --input cliente=42
typst watch informe.typ # recompila al guardar
typst compile informe.typ --pdf-standard a-2b # PDF/A para archivo
sys.inputs permite leer los parámetros de --input dentro de la plantilla. El compilador es un binario único y rápido (milisegundos por documento), apto para generar miles de documentos en un job.
Typst frente a LaTeX
| Aspecto | LaTeX | Typst |
|---|---|---|
| Madurez y paquetes | Décadas, ecosistema enorme | Joven, ecosistema en crecimiento |
| Velocidad | Varias pasadas, segundos o minutos | Incremental, casi instantáneo |
| Errores | Mensajes crípticos | Mensajes claros con posición |
| Programación | Macros | Lenguaje con funciones, bucles y tipos |
| Revistas y editoriales | Plantillas oficiales casi universales | Pocas plantillas oficiales |
Para documentos generados por sistemas (extractos, contratos, informes) Typst simplifica mucho; para publicaciones académicas o maquetación editorial muy fina, LaTeX sigue siendo la referencia.
Criterios de implementación
Probar saltos de página, caracteres especiales, cifras y tablas largas. Verificar formatos de salida y requisitos de accesibilidad o archivo exigidos para cada documento.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.