8 points par GN⁺ 2025-06-23 | 1 commentaires | Partager sur WhatsApp
  • L’auteur a rédigé sa thèse de doctorat avec Typst, ce qui a représenté un nouveau défi par rapport à LaTeX
  • Grâce à sa vitesse de compilation rapide, son langage de script cohérent et puissant, sa personnalisation aisée de la mise en page et son excellent surlignage de code, la modification du document et l’ajustement du modèle ont été très efficaces
  • Il existe toutefois des inconvénients et des limites bien réels, comme une gestion bibliographique peu pratique, les limites de la conversion vers LaTeX, le manque de modèles dû à la jeunesse de l’écosystème et les limites des messages d’erreur
  • La compatibilité avec LaTeX, la collaboration et la prise en charge des formats exigés pour la soumission des articles restent encore insuffisantes, et l’auteur a constaté que LaTeX est de fait le standard pour la collaboration académique et les soumissions en conférence
  • Typst est particulièrement avantageux lorsqu’on a besoin de liberté de programmation et de fonctionnalités modernes, mais il n’est pas recommandé aux débutants ni pour des besoins standardisés

Pourquoi j’ai écrit ma thèse de doctorat avec Typst

  • L’auteur a récemment rédigé sa thèse de doctorat avec Typst, en choisissant d’essayer un nouveau langage typographique plutôt que le traditionnel LaTeX
  • Typst combine Markdown et un Rust à typage dynamique, ce qui rend la rédaction plus naturelle que sous LaTeX et offre aussi une excellente extensibilité en tant que langage de script
  • Sa syntaxe est intuitive, et le passage entre code et document est facile

Les avantages de Typst

Vitesse de compilation

  • Le compilateur Typst est très rapide, au point de permettre un aperçu PDF en temps réel même lorsque le document devient volumineux
  • Une compilation complète s’achève aussi en une quinzaine de secondes, et lors de modifications du contenu, le résultat est visible presque immédiatement
  • Cela permet d’itérer efficacement sur la mise en page et le style, ce qui améliore la qualité du rendu final

Conception du langage et usage des scripts

  • Le langage Typst est très cohérent, et sa conception inspirée de Rust réduit la courbe d’apprentissage
  • Les incohérences syntaxiques entre paquets qui compliquent LaTeX sont largement éliminées dans Typst
  • Il permet de riches usages programmatiques, comme parser directement des fichiers TOML pour visualiser automatiquement des données dans le document
  • Son intégration avec les outils modernes (compilateur, gestion des dépendances, LSP, etc.) constitue aussi un point fort

Modification des modèles et de la mise en page

  • La structure des modèles Typst est claire, ce qui permet de les modifier et de les étendre facilement selon ses besoins
  • Par rapport à la modification complexe des modèles LaTeX, l’expérience de configuration est bien plus intuitive et rapide

Surlignage de code

  • Grâce à la prise en charge intégrée du syntax highlighting, la lisibilité du code dans la thèse est meilleure
  • Il est possible d’exploiter des grammaires Textmate, et de définir facilement des règles personnalisées basées sur des regex
  • L’auteur a aussi expérimenté des surlignages spécifiques en écrivant directement un parseur en script

Messages d’erreur

  • Par rapport à LaTeX, Typst indique plus clairement l’emplacement et la cause des erreurs, ce qui réduit fortement le temps nécessaire à leur résolution
  • Il n’y a pas de sortie terminal inutile, et les informations d’erreur sont réellement utiles

Les inconvénients de Typst

Gestion de la bibliographie

  • Un seul bibliography est pris en charge pour l’ensemble de la thèse, ce qui empêche d’utiliser des fichiers bibliographiques distincts par chapitre ou pour les articles inclus
  • La prise en charge de fonctionnalités avancées comme les variables Bibtex est insuffisante, ce qui impose une intégration manuelle via un Makefile
  • Une résolution partielle est possible via le paquet Alexandria, mais l’ergonomie et le niveau d’automatisation restent faibles
  • Les ajustements fins, comme la conversion des styles de citation ou le mapping des champs, restent incomplets et nécessitent inévitablement du travail manuel
  • Les champs bibliographiques diffèrent du standard Bibtex, ce qui entraîne des différences dans le résultat

Limites des messages d’erreur

  • Dans les cas complexes (par exemple avec Alexandria), seul un simple message d’échec peut apparaître sans explication précise
  • Les éléments comme les show rules basées sur l’état rendent la localisation des erreurs difficile et le débogage plus complexe
  • Certains avertissements liés à la mise en page ne permettent pas d’identifier facilement leur cause

Une réalité complexe : compatibilité et écosystème

Compatibilité avec LaTeX et collaboration

  • Les travaux existants ou soumis exigent souvent le format LaTeX, si bien que les documents rédigés en Typst sont convertis à l’aide de Pandoc ou d’autres outils
  • Même pour de nouveaux articles, il faut souvent rédiger un brouillon en Typst puis effectuer une conversion pour la soumission finale
  • La conversion automatique de Typst vers LaTeX n’est pas parfaite, ce qui a conduit l’auteur à développer un outil séparé pour avancer
  • Certaines parties du résultat converti (par exemple le code) nécessitent l’usage de \includepdf de LaTeX, ce qui peut ne pas correspondre aux exigences des éditeurs
  • Comme LaTeX reste le standard, les collaborateurs doivent apprendre Typst, ce qui ajoute une contrainte

État actuel de l’écosystème Typst

  • Typst en est encore à un stade précoce de son écosystème, avec un nombre limité de modèles officiels ou de formats de soumission
  • Les utilisateurs doivent souvent créer eux-mêmes des modèles sur mesure
  • Les modèles Typst pour les principales conférences et revues ne sont pas encore irréprochables en termes de couverture et de qualité

Conclusion et recommandation

  • Si l’on aime programmer et que l’on apprécie la personnalisation fine des outils, rédiger une thèse avec Typst est tout à fait recommandable
  • Typst offre l’avantage d’un résultat plus élégant grâce à une grande liberté de personnalisation et à des itérations répétées
  • En revanche, si l’on a besoin d’un outil utilisable immédiatement sans réglages supplémentaires, Typst n’est pas encore adapté aux gros documents comme une thèse de doctorat
  • Pour de petits documents ou des expérimentations personnelles, Typst mérite d’être essayé

1 commentaires

 
GN⁺ 2025-06-23
Avis sur Hacker News
  • Inquiétude : dans 30 ans, LaTeX sera probablement encore open source et maintenu, alors que Typst repose sur une structure mêlant open source et closed source, donc si l’entreprise disparaît, le projet risque fortement de ne plus être maintenu
    • D’après les développeurs eux-mêmes, il est difficile de dire que le projet Typst est en soi un mélange d’open source et de closed source ; l’objectif principal est de faire en sorte que le CLI et la web app se comportent de la même façon. Voir le commentaire sur l’issue. Il existe aussi des outils open source créés par la communauté, comme l’implémentation LSP tinymist, et des éditeurs payants comme Typstify, indépendants de l’entreprise
    • L’éditeur web de Typst est closed source, mais la plupart des éléments nécessaires à l’édition sont open source, ce qui permet d’avoir en local une expérience comparable, voire meilleure. Le compilateur Typst, le LSP, etc. sont tous open source. C’est comparable à l’écosystème LaTeX autour d’Overleaf. Même si l’entreprise Typst disparaissait, les téléchargements de packages reposent sur des dépôts git open source, donc créer un miroir de remplacement ne poserait probablement pas de gros problème
    • Dire que la partie open source pourrait être abandonnée revient en fait à dire la même chose que pour la plupart des projets entièrement distribués en open source
    • Je me demande concrètement ce que recouvrent ces « fonctionnalités essentielles » présentes dans la partie closed source
  • Je me demande pourquoi les doctorants en informatique sont autant obsédés par la composition typographique. Quand je les vois s’intéresser énormément à LaTeX puis passer des mois sur des macros, je me dis qu’un de plus est tombé dans LaTeX. LaTeX me semble être un piège classique pour les étudiants qui procrastinent
    • En tant que mathématicien, tout écrire à la main est trop fastidieux, et produire au clavier des documents riches en formules n’est pas simple. En physique, c’est en réalité encore plus difficile à taper. Quand on consacre sa vie aux articles et aux devoirs, la facilité avec laquelle on peut consigner ses idées devient vraiment essentielle. On devient donc sensible à la qualité du moteur, et on échange beaucoup d’astuces de macros. Les conseils transmis autour de soi et le partage d’en-têtes de base font naturellement partie de la culture
    • Utiliser LaTeX donne une sorte de « sensation officielle ». Des équations dans un document LaTeX paraissent extrêmement sérieuses, alors que dans Word ce n’est pas pareil. C’est comme le sentiment de devenir un pro quand on a produit sa première newsletter avec Aldus PageMaker puis l’a imprimée au laser
    • Pour les gros documents, comme une thèse, on peut gérer chaque section dans un fichier tex séparé, puis tout compiler ensemble à la fin. Cela fonctionne aussi très bien avec un VCS comme git. Si on génère des figures par script, LaTeX détecte automatiquement les nouveaux fichiers et recompile. Dans Word, il faut retrouver et remplacer chaque image à la main, ce qui est inefficace. Plus le document grandit, plus Word devient pénible, alors que LaTeX, une fois la configuration initiale faite, devient au contraire plus efficace
    • Dans les années 2000, dès qu’il y avait un peu de maths, travailler sous Word relevait de la torture. Pour des dizaines de pages avec formules et renvois croisés, c’était pratiquement impossible sans LaTeX. Le découpage par chapitres dans des fichiers distincts et l’intégration avec des éditeurs corrects étaient aussi des avantages importants
    • Après 10 ans à écrire des articles et des rapports, accumuler de petits snippets n’est pas une obsession, c’est un résultat naturel
  • Typst paraît extrêmement prometteur parce qu’il fournit d’emblée des templates de référence comme ceux de l’IEEE, et que le rendu final est presque identique à celui de LaTeX. La toolchain LaTeX est pleine de frictions, et les makefiles sont souvent instables. Il faut fréquemment relancer plusieurs fois pour obtenir le bon résultat, et parfois aller jusqu’à git clean -xdf pour régler le problème. Je ne comprends toujours pas très bien pourquoi cela arrive, et les makefiles eux-mêmes sont beaucoup trop complexes
    • On dit que « refaire deux fois la même chose en espérant un résultat différent est une forme de folie », et la compilation LaTeX correspond exactement à ça
    • Ce n’est pas une solution parfaite, mais je recommande Latexmk, qui automatise une bonne partie des galères de build LaTeX. Voir le guide d’utilisation. En plus, l’option -outdir permet de gérer séparément les fichiers intermédiaires
    • À une époque, je comprenais pourquoi il fallait lancer plusieurs fois, mais je ne m’en souviens plus. Même dans mes anciens scripts de build personnels, il y avait une condition disant de lancer trois fois avec bibtex, deux fois sinon. Avec le recul, je suis soulagé que cette époque soit derrière moi
    • Aujourd’hui, avec Tectonic, ce problème de compilations répétées se gère automatiquement
  • L’IA est désormais la principale destinataire de l’écriture, et aussi la raison principale pour choisir un format de balisage. Du point de vue de la compression sémantique, Typst, markdown et asciidoc sont bien plus concis que LaTeX. Personnellement, les six derniers mois ont profondément changé ma manière de faire de la recherche en maths avec l’IA et de travailler sur du code, et il est difficile de trouver des réponses ou des conseils clairs dans ce domaine. En pratique, l’IA lit même mieux que les humains les diagrammes mathématiques en SVG, et elle déteste lire le code source LaTeX. Je comprends les contraintes de format imposées par les revues, mais beaucoup de rédacteurs continuent aussi d’imposer une sortie en deux colonnes qui n’est plus adaptée à l’époque. Comme l’impression papier a désormais moins d’importance, cela me préoccupe peu, et je compte à l’avenir conserver mes résultats de recherche aussi sous forme d’animations ou de documents Typst
    • Dans les milieux scientifiques professionnels où l’on imprime réellement les articles pour les lire, le papier reste encore efficace
  • Les revues et conférences n’acceptent pas encore Typst, donc si je reste sur LaTeX, ce n’est pas par attachement volontaire mais par contrainte pratique. Son adoption dépendra de leur volonté de l’intégrer dans leur toolchain
  • Je migre progressivement mon travail vers Typst, et c’est rapide et agréable. En revanche, le plus gros obstacle a été de réapprendre la notation mathématique. Typst a ses propres règles particulières, qu’il faut assimiler
    • Typst a l’air bien aussi, mais la combinaison Claude Code + VS Code m’a finalement fait revenir à LaTeX. J’avais pris mes distances avec LaTeX pendant un moment, après mon doctorat, soit plus de dix ans, alors qu’autrefois j’utilisais suffisamment TikZ, les formules et les macros de préambule pour les connaître par cœur. Avec Claude Code, j’écris ce que je veux obtenir et, en une ou deux tentatives, j’ai presque exactement le résultat voulu. Claude résout aussi 95 % de mes problèmes d’interprétation des messages d’erreur LaTeX, donc c’est bien moins gênant qu’avant
    • mitex est aussi une option. Voir le package mitex. Pour ma part, je n’ai plus le courage de réapprendre une autre notation
  • Si vous êtes curieux de voir du code source typst et le résultat, voici quelques documents réalisés par l’auteur :
  • Certains pensent que Typst a de fortes chances de disparaître ou d’être racheté dans les prochaines années, tandis que LaTeX restera encore là pendant des décennies
  • Typst me paraissait plus séduisant que LaTeX, notamment pour le contrôle de la mise en page verticale, et j’ai envisagé de migrer. Mais depuis que les capacités de génération de code des LLM type ChatGPT se sont améliorées, les nouveaux moteurs de balisage, en particulier Typst, restent très en retrait. L’IA n’est pas excellente avec LaTeX, mais elle s’en sort bien mieux qu’avec Typst ; avec Typst, on n’obtient vraiment pas de résultat. Peut-être que cela s’améliorera dans six mois ou un an
    • Utiliser des LLM permet de moins réfléchir, donc c’est confortable, mais il est frustrant de voir combien de gens deviennent incapables d’utiliser un nouvel outil parce qu’ils dépendent trop des LLM. Cela ressemble à l’époque où certains évitaient un nouveau langage simplement parce qu’on ne pouvait pas faire de copier-coller facilement ou qu’il était difficile de trouver des snippets
    • Avec markdown ou Rust, l’IA est déjà assez utilisable. Si on donne à un LLM le plan d’un document Typst dans le prompt, cela pourrait peut-être aider
  • Ce qui me déplaît dans Typst, c’est qu’aujourd’hui la syntaxe mathématique de LaTeX s’est presque imposée comme standard, et comme elle est déjà largement utilisée, il est difficile d’apprendre une nouvelle syntaxe pour les maths
    • En pratique, une écriture comme $x^2=1$ fonctionne telle quelle dans Typst