- El autor escribió su tesis doctoral usando Typst, lo que representó un nuevo desafío distinto al tradicional LaTeX
- Gracias a su rápida velocidad de compilación, un lenguaje de scripting consistente y potente, fácil personalización del diseño y excelente resaltado de código, fue muy eficiente modificar el documento y ajustar las plantillas
- También existen inconvenientes y limitaciones claras, como las dificultades en la gestión bibliográfica, los límites en la conversión a LaTeX, la falta de plantillas por ser un ecosistema joven y las limitaciones en los mensajes de error
- Aún hay carencias en compatibilidad con LaTeX, colaboración y soporte para los formatos exigidos al enviar artículos, y se hace evidente que LaTeX es de facto el estándar para colaborar en trabajos académicos y enviarlos a conferencias
- Typst resulta especialmente ventajoso cuando se necesita libertad programática y funciones modernas, pero no se recomienda para principiantes ni para requerimientos estándar
Por qué escribí mi tesis doctoral con Typst
- Recientemente escribí mi tesis doctoral con Typst y probé un nuevo lenguaje tipográfico en lugar del tradicional LaTeX, que es el más usado
- Typst combina Markdown con Rust de tipado dinámico, lo que hace que la redacción de documentos sea más natural que en LaTeX y también ofrece gran extensibilidad como lenguaje de scripting
- Su sintaxis es intuitiva, y una de sus características es la facilidad para alternar entre código y documento
Ventajas de Typst
Velocidad de compilación
- El compilador de Typst es muy rápido, por lo que incluso con documentos grandes es posible tener una vista previa del PDF en tiempo real
- La compilación completa también termina en alrededor de 15 segundos, y cuando se cambia el contenido casi de inmediato se puede ver el resultado
- Esto permite iterar de manera eficiente en ajustes de diseño y estilo, mejorando la calidad del resultado final
Diseño del lenguaje y uso de scripts
- El lenguaje de Typst es muy consistente y, gracias a su diseño basado en Rust, la curva de aprendizaje es baja
- En Typst se resuelve la incomodidad de LaTeX, donde cada paquete suele carecer de consistencia sintáctica
- Permite una amplia aplicación programática, por ejemplo al analizar directamente archivos TOML para visualizar datos automáticamente dentro del documento
- También destaca su integración con herramientas modernas (compilador, gestión de dependencias, LSP, etc.)
Plantillas y ajustes de diseño
- La estructura de plantillas de Typst es clara, por lo que se puede modificar y extender fácilmente según lo que se necesite
- Frente a la complejidad de modificar plantillas en LaTeX, ofrece una experiencia de configuración mucho más intuitiva y rápida
Resaltado de código
- Gracias al soporte integrado de syntax highlighting, la legibilidad del código dentro de la tesis es alta
- Se puede aprovechar Textmate grammar, y también implementar fácilmente definiciones personalizadas basadas en regex
- Incluso se puede experimentar con el resaltado de sintaxis específica escribiendo un parser directamente con scripts
Mensajes de error
- En comparación con LaTeX, indica con mayor claridad la ubicación y la causa de los errores, reduciendo mucho el tiempo necesario para resolver problemas
- No hay salida innecesaria en la terminal y la información de error resulta realmente útil
Desventajas de Typst
Gestión de la bibliografía
- Solo admite una única bibliography para toda la tesis, por lo que no se pueden usar archivos bibliográficos distintos por capítulo o por documento incluido
- Tiene soporte limitado para funciones avanzadas como variables de Bibtex, por lo que fue necesario integrarlo manualmente con un Makefile
- Es posible resolverlo parcialmente con paquetes como Alexandria, pero la usabilidad y el nivel de automatización son bajos
- El ajuste fino en conversión de estilos de cita, mapeo de campos y similares es incompleto, por lo que el trabajo manual es inevitable
- Los campos bibliográficos difieren del estándar de Bibtex, lo que produce diferencias en los resultados
Limitaciones de los mensajes de error
- En casos complejos (por ejemplo, al usar Alexandria), a veces solo aparece un mensaje simple de fallo sin una explicación concreta del error
- Elementos como las show rules basadas en estado dificultan rastrear la ubicación del error, lo que complica la depuración
- Algunas advertencias relacionadas con el diseño no permiten identificar fácilmente la causa
La realidad compleja: compatibilidad y ecosistema
Compatibilidad y colaboración con LaTeX
- Los trabajos existentes y los artículos a enviar suelen requerir formato LaTeX, así que los textos escritos en Typst se convierten y se usan mediante herramientas como Pandoc
- Incluso para artículos nuevos, después de redactar el borrador en Typst, hace falta convertirlo para la entrega final
- La conversión automática de Typst a LaTeX no es perfecta, por lo que fue necesario desarrollar herramientas aparte para realizar este trabajo
- Algunas partes del resultado convertido (por ejemplo, el código) requieren usar
\includepdf de LaTeX, lo que puede no ajustarse a las exigencias de la editorial
- Como LaTeX es el estándar, también surge la incomodidad de que los colaboradores tengan que aprender Typst desde cero
Estado del ecosistema de Typst
- Typst sigue siendo un ecosistema temprano, por lo que las plantillas oficiales y los formatos de envío disponibles son limitados
- En muchos casos, el usuario tiene que crear por su cuenta plantillas personalizadas
- Las plantillas de Typst para conferencias y revistas importantes aún no ofrecen una cobertura ni una calidad perfectas
Conclusión y recomendación
- Si disfrutas programar y te atrae personalizar herramientas en detalle, escribir una tesis con Typst es una opción totalmente recomendable
- Ofrece la ventaja de permitir mucha experimentación iterativa y gran libertad de personalización, lo que puede dar como resultado un documento más pulido
- En cambio, si necesitas usarlo de inmediato sin configuraciones adicionales, Typst todavía no es adecuado para documentos grandes como una tesis doctoral
- Para documentos más pequeños o experimentos personales, sí vale la pena probar Typst
1 comentarios
Comentarios en Hacker News
.texseparados y luego compilarlos juntos al final. También se lleva muy bien con VCS como git. Si generas figuras con scripts, LaTeX detecta automáticamente los archivos nuevos y recompila. En Word tendrías que buscar y reemplazar cada figura manualmente, lo cual es ineficiente. Cuanto más grande es el documento, más incómodo se vuelve Word, mientras que LaTeX, después de la configuración inicial, se vuelve más eficientegit clean -xdfpara resolver problemas. Todavía no entiendo bien por qué pasa eso, y los propios makefile son demasiado complejos-outdirse pueden separar los archivos intermedios