8 puntos por GN⁺ 2025-06-23 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2025-06-23
Comentarios en Hacker News
  • Preocupación de que, dentro de 30 años, LaTeX probablemente seguirá siendo open source y mantenido, pero Typst, al tener una estructura mixta de open source y closed source, podría dejar de mantenerse si la empresa desaparece
    • El propio desarrollador aclaró que no es fácil considerar al proyecto Typst en sí como una mezcla de open source y closed source, y que el objetivo principal es hacer que el CLI y la web app funcionen igual; ver este comentario en el issue. También existen implementaciones open source hechas por la comunidad, como el LSP tinymist, y además hay editores de pago como Typstify que existen independientemente de la empresa
    • El editor web de Typst es closed source, pero la mayoría de los elementos necesarios para editar son open source, así que en un entorno local se puede tener una experiencia similar o incluso mejor. El compilador de Typst, el LSP y demás son open source. Es parecido a los casos en que se hacían proyectos de LaTeX en Overleaf, y si la empresa de Typst desapareciera, tampoco habría un gran problema porque la descarga de paquetes se basa en repositorios git open source y se podría crear un mirror alternativo
    • Dejar abandonada la parte open source, en realidad, no sería muy distinto de lo que pasa con la mayoría de los proyectos distribuidos como completamente open source
    • Me pregunto qué “funciones clave” concretas estarían dentro de la parte closed source
  • Me da curiosidad por qué los estudiantes de doctorado en ciencias de la computación se obsesionan tanto con la composición tipográfica. Cuando muestran mucho interés en LaTeX y luego se pasan meses trabajando en macros, pienso que LaTeX se llevó a uno más. LaTeX se siente como una especie de trampa para quienes procrastinan
    • Como matemático, escribir todo a mano es demasiado engorroso, y tampoco es fácil tipear documentos con muchas fórmulas. De hecho, en física es aún más difícil escribirlas. Cuando tu vida gira en torno a papers y tareas, es realmente importante poder registrar ideas con facilidad. Por eso uno se vuelve sensible a la calidad del motor, comparte muchos tips de macros y adopta de forma natural una cultura de consejos entre colegas y de compartir headers base
    • Usar LaTeX da una especie de “sensación oficial”. Incluso las fórmulas se ven súper serias si están en un documento de LaTeX, pero no tanto si están en Word. Es como la sensación de volverse profesional cuando imprimiste tu primer boletín hecho con Aldus PageMaker en una impresora láser
    • En documentos grandes, como una tesis, puedes manejar cada sección en archivos .tex separados 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 eficiente
    • En los 2000, si un documento en Word tenía aunque fuera unas pocas fórmulas, el sufrimiento ya era serio. Si necesitabas decenas de páginas con fórmulas y referencias cruzadas, trabajar sin LaTeX era casi imposible. También eran ventajas importantes dividir por capítulos en archivos y la integración con editores decentes
    • Después de 10 años escribiendo papers e informes, juntar pequeños snippets no es una obsesión, sino un resultado natural
  • Typst parece súper prometedor porque ofrece de base plantillas representativas como las de IEEE, y el resultado sale casi igual al de LaTeX. El toolchain de LaTeX tiene muchas incomodidades, y los makefile a menudo son inestables. Muchas veces hay que correrlo varias veces para que el resultado salga bien, y a veces incluso hay que hacer git clean -xdf para resolver problemas. Todavía no entiendo bien por qué pasa eso, y los propios makefile son demasiado complejos
    • Dicen que “intentar lo mismo dos veces y esperar un resultado distinto es una locura”, y la compilación de LaTeX funciona exactamente así
    • No es una solución perfecta, pero recomiendo Latexmk para automatizar el sufrimiento del build de LaTeX. Ver esta guía de uso. Además, con la opción -outdir se pueden separar los archivos intermedios
    • Yo también alguna vez entendí por qué había que ejecutarlo varias veces, pero ya no me acuerdo. Incluso en un script de build personal que usaba antes había una condición para correrlo tres veces si se usaba bibtex y dos veces si no. Viéndolo ahora, da gusto haber dejado atrás esa época
    • Hoy en día, si usas Tectonic, estos problemas de compilación repetida se resuelven automáticamente
  • La IA es ahora el principal destino de lo que escribo, y también la razón principal para elegir un formato de markup. Desde la perspectiva de la compresión semántica, Typst, markdown y asciidoc son mucho más concisos que LaTeX. Personalmente, en los últimos 6 meses he vivido cambios enormes usando IA para investigación matemática y trabajo de código, y en esta área es difícil encontrar respuestas o consejos claros. De hecho, la IA lee diagramas matemáticos en SVG mejor que los humanos y no le gusta leer código fuente de LaTeX. Entiendo las reglas de formato desde la perspectiva de las revistas, pero también hay muchos editores que siguen forzando una salida en dos columnas que ya no va con los tiempos. Como el papel impreso ya no tiene tanta importancia, no me preocupa demasiado, y en adelante planeo dejar mis resultados de investigación también como animaciones o documentos de Typst
    • En entornos científicos profesionales donde realmente se imprimen y leen papers, el papel sigue siendo eficiente
  • Como las revistas y conferencias todavía no aceptan typst, no es que yo insista en LaTeX por gusto, sino que en la práctica no me queda otra que seguir con LaTeX. Que lo adopten o no depende de si están dispuestos a integrarlo en su toolchain
  • Poco a poco estoy moviendo mi trabajo a Typst, y se siente rápido y agradable. Eso sí, el mayor obstáculo fue tener que aprender de nuevo la notación matemática. Typst tiene reglas propias bastante particulares y hay que aprenderlas
    • Typst también se ve bien, pero terminé volviendo a LaTeX con la combinación de Claude Code y VS Code. Estuve bastante alejado de LaTeX durante un tiempo, unos 10 años desde que terminé el doctorado, aunque antes lo usaba tanto que me sabía de memoria TikZ, fórmulas y macros del preamble. Con Claude Code, si escribo lo que quiero, casi siempre saca algo muy cercano a lo que busco en uno o dos intentos. Claude también me resuelve el 95% de la interpretación de errores de LaTeX, así que ya no es un problema tan grande como antes
    • mitex también es una opción. Ver el paquete mitex. Yo ya no me animo a aprender otra notación nueva
  • Si te da curiosidad ver código fuente y resultados en typst, comparto algunos documentos que hice:
  • Opinión de que Typst probablemente desaparecerá en unos años o será adquirido por otra empresa, mientras que LaTeX seguirá existiendo durante décadas
  • Quise cambiarme a Typst porque me parecía más atractivo que LaTeX en aspectos como el control del layout vertical, pero recientemente la capacidad de generación de código de los LLM tipo ChatGPT ha mejorado bastante, y en motores de markup nuevos, especialmente typst, todavía se queda muy corta. La IA puede ser mala con latex, pero aun así funciona mucho mejor que con typst; con typst de verdad no salen resultados. Tal vez mejore en 6 meses o 1 año
    • Usar LLM hace que uno piense menos y sea más cómodo, pero frustra ver a tanta gente que depende tanto de los LLM que ya no puede usar herramientas nuevas por sí sola. Es parecido a antes, cuando muchos evitaban lenguajes nuevos porque no se podía copiar y pegar o era difícil encontrar snippets de código
    • En markdown o rust la IA sí resulta bastante útil. Si le das a un LLM el esquema de un documento de Typst en el prompt, quizá ayude un poco
  • Lo que no me gusta de Typst es que la sintaxis de fórmulas de LaTeX ya se volvió casi un estándar y, como ya está tan extendida, cuesta aprender una sintaxis matemática nueva
    • De hecho, en Typst también funciona tal cual una notación como $x^2=1$