Typst
logiciel de composition de documents
From Wikipedia, the free encyclopedia
Typst (ˈtaɪpst) est un système de composition typographique de code source ouvert. Il est muni d'un langage de balisage qui porte le même nom[2],[3]. Le compilateur Typst est un logiciel libre distribué sous la licence Apache 2.0[2],[4],[5],[6].
| Dernière version | 0.15.0 ()[1] |
|---|---|
| Dépôt | github.com/typst/typst |
| Écrit en | Rust |
| Système d'exploitation | Linux, macOS et Microsoft Windows |
| Formats lus | Typst code (d) |
| Formats écrits | Typst code (d) |
| Type | Traitement de texte |
| Licence | Licence Apache 2.0 |
| Documentation | typst.app/docs |
| Site web | typst.app |
Ce système est conçu pour la rédaction et la mise en forme de textes scientifiques et de formules mathématiques. Typst utilise une syntaxe simple pour le formatage de base, des fonctions personnalisables, un langage de script intégré et la possibilité d'écrire des formules mathématiques. Il se présente comme une alternative à LaTeX[2],[7],[8].
Le compilateur est développé par Typst GmbH[9], qui assure la maintenance et le support du développement du logiciel, et qui gére un éditeur propriétaire[10] offrant des services gratuits et payants[8], comme Overleaf, qui permet aux utilisateurs de prévisualiser leur travail pendant l'écriture et qui comprend une fonctionnalité de collaboration[11].
Histoire
Typst est développé depuis 2019[2] et a été publié pour la première fois en 2022 par Laurenz Mädje et Martin Haug dans le cadre de leurs mémoires de master à l'université technique de Berlin. En mars 2023, le code source du compilateur a été partagé[12].
D'après un article publié par GitHub, Typst était le deuxième langage de programmation à la croissance la plus rapide en pourcentage en 2025, avec une croissance de 108 %[13].
Système de composition typographique
Typst est un langage de balisage, similaire à Markdown, conçu pour être aussi puissant que LaTeX tout en utilisant une syntaxe plus facile à apprendre et à utiliser[7], y compris pour les mathématiques[14]. Afin de permettre une mise à jour rapide des aperçus des documents, il utilise la compilation incrémentale et les appels de fonction sont mémorisés[8],[2]. De fait, il compile en temps réel en quelques millisecondes, avec un temps de compilation d’un facteur 10 à 100 fois plus court que LaTeX et des diagnostics d’erreurs clairs[15].
L’export de documents est prévu en PDF en premier lieu, mais il est possible depuis l’été 2025 d’exporter nativement en HTML et il est possible d’importer des documents créés sous LaTeX, Word ou Markdown, puis de les retravailler directement dans Typst[16].
Typst propose trois modes : un pour le balisage, un pour les formules mathématiques et un mode de programmation (variables, conditions, boucles, etc.)[14]. Par défaut, l’utilisateur est dans le mode de balisage, qui est principalement utilisé pour la prose. Pour écrire des formules mathématiques il faut encadrer le texte pertinent par des signes dollar ( $ )[8],[2]. Le langage de script natif de Typst s’exécute en mode programmation et est indiqué par un dièse ( # ) devant la commande ou le bloc[17].
Le langage de balisage utilise une syntaxe dédiée de sucre syntaxique[18] pour les éléments de mise en forme courants tels que les titres ( = ), l’emphase ( __ ), l’emphase forte ( ** ) et les listes ( +, -, / ). Il est possible d'obtenir les mêmes résultats sans utiliser le mode de balisage à l'aide de fonctions dédiées dans le mode de programmation[2].
Contrairement à LaTeX, Typst n'impose aucune structure de base aux documents. Un préambule n'est pas nécessaire et les propriétés du document n'ont pas besoin d'être définies si elles ne diffèrent pas de leurs valeurs par défaut. De plus, de nombreuses fonctionnalités qui requièrent des paquets externes en LaTeX (comme la gestion des bibliographies) sont intégrées nativement à Typst[8]. Il y a des paquets et modèles fournis par la communauté ; cependant, à l'heure actuelle, Typst propose moins de paquets spécialisés que LaTeX[2].
Exemple
L'exemple ci-dessous illustre un exemple simple des fonctionnalités de Typst :