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].

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 :

Davantage d’informations Entrée (code source), Sortie ...
Entrée (code source) Sortie
#set page(paper: "a4")
#set text(lang: "fr")
#set par(justify: true)
// Les commentaires sont introduits par deux barres obliques

= Suite de Fibonacci
// le symbole = dénote un titre de section

En mathématiques, la suite de Fibonacci est une suite de nombres entiers dans laquelle chaque nombre est la somme des deux nombres qui le précèdent.
@wikipedia-fibonacci // '@' permet de référencer des figures, sections ou sources de la bibliographie

La suite de Fibonacci est définie par la relation de récurrence $F_n = F_(n-1) + F_(n-2)$. Elle peut aussi être exprimée en _forme close_: // '_' met en emphase du texte (italique)

$
  F_n = (phi.alt^n - (-phi.alt)^(-n)) / sqrt(5), quad phi.alt = (1 + sqrt(5)) / 2.
$
//'$' délimite un contenu de formule mathématique

#let count = 18
#let nums = range(1, count + 1)
#let fib(n) = (
  if n <= 2 { 1 }
  else { fib(n - 1) + fib(n - 2) }
)
// '#' passe en mode « programmation », et « let » définie des variables (ex. count) ou des fonctions (ex. fib(n))

Les #count premiers termes de la suite de Fibonacci sont:

#align(center,
  table(
    columns: count,
    ..nums.map(n => $F_#n$),
    ..nums.map(n => str(fib(n))),
  )
)

#bibliography(bytes(```yaml
wikipedia-fibonacci:
  type: article
  title: Suite de Fibonacci
  url:
    value: https://fr.wikipedia.org/wiki/Suite_de_Fibonacci
    date: 2026-05-10
```.text))
// Une bibliographie peut être créée en Hayagriva (format basé sur YAML et développé pour Typst) ou utiliser des fichiers BibLaTeX locaux

// Le mode programmation peut aussi être utilisé pour des variables de contenu textuel, pour générer des graphiques, des tableaux, pour contenir des données d’autres fichiers, ou pour définir des règles
Sortie compilée d’un exemple de code
Fermer

Références

Related Articles

Wikiwand AI