- La version 0.14 de Typst, l’outil de composition de documents, est sortie avec des fonctions majeures comme la prise en charge de base de l’accessibilité, le traitement des images PDF et la justification au niveau des caractères
- Cette version aide à se conformer aux réglementations sur l’accessibilité grâce à la prise en charge de la norme PDF/UA-1 et ajoute la possibilité d’insérer directement des PDF comme images
- La justification au niveau des caractères (character-level justification) permet une composition de paragraphes visuellement plus équilibrée
- La fonction d’export HTML a été renforcée pour convertir divers éléments de document en HTML sémantique, avec l’introduction d’une API HTML typée
- Cette mise à jour renforce la génération automatisée de documents en environnement industriel et la réponse aux exigences réglementaires en matière d’accessibilité, élargissant fortement le champ d’application pratique de Typst
Aperçu de Typst 0.14
- Typst est né dans le milieu académique, mais s’est récemment étendu à des usages industriels comme la rédaction manuelle de documents, les rapports automatisés et les pipelines de génération massive de PDF
- La version 0.14 intègre en grand nombre des fonctions clés pour ces usages industriels
- Des améliorations centrées sur les environnements de production ont été apportées autour de l’accessibilité, des standards PDF, de la justification au niveau des caractères et de l’export HTML
- La mise à jour est simple aussi bien dans l’application web que via la CLI, et un guide de migration vers la nouvelle version est également fourni
Accessibilité
- Typst 0.14 génère automatiquement par défaut des PDF balisés accessibles (tagged PDF), permettant aux technologies d’assistance comme les lecteurs d’écran de reconnaître la structure du document
- Lorsqu’on utilise le balisage et les éléments intégrés, les balises appropriées sont attribuées automatiquement
- Le nouveau paramètre
alt permet de fournir une description alternative (alt text) pour les formes ou les images
- Dans l’exemple de code, une description alternative est ajoutée à un diagramme composé de deux rectangles et d’une flèche, afin que les utilisateurs malvoyants ou non-voyants puissent accéder à la même information
- La fonction d’export PDF/UA-1 permet d’automatiser la validation de l’accessibilité des documents
- Elle détecte des problèmes comme l’absence de titre du document, une hiérarchie de titres incorrecte ou l’absence de descriptions alternatives
- PDF/UA-1 aide à se conformer à des réglementations internationales sur l’accessibilité telles que le European Accessibility Act (EAA) de l’UE et l’ADA Title II aux États-Unis
- L’application est prévue à partir du 28 juin 2025 dans l’UE et du 24 avril 2026 aux États-Unis
- Pour les entreprises qui traitent des documents destinés à des clients ou à des administrations, l’adoption de Typst 0.14 est recommandée
Extension de la prise en charge des standards PDF
- Alors que seule la norme PDF 1.7 était prise en charge auparavant, il est désormais possible de choisir des versions de PDF 1.4 à 2.0
- La norme PDF/A est elle aussi étendue : au lieu de deux sous-standards auparavant, Typst prend désormais en charge les 4 parties et les niveaux de conformité associés
- Le choix d’un standard précis permet d’optimiser la compatibilité, la pérennité et la conformité réglementaire des documents
- Les détails correspondants sont disponibles dans la section de référence sur les standards PDF de la documentation Typst
Utiliser des PDF comme images
- Typst 0.14 prend désormais en charge les PDF comme format d’image natif
- Lors de l’export PDF, ils sont inclus tels quels ; lors des exports HTML/SVG, ils sont convertis en SVG ; dans les aperçus web ou en PNG, ils sont rastérisés
- Toutes ces conversions sont réalisées dans le compilateur Typst lui-même, sans dépendances à des systèmes externes
- Cette fonctionnalité est rendue possible grâce à la nouvelle bibliothèque de traitement PDF écrite en Rust,
hayro
hayro est une bibliothèque entièrement basée sur Rust, développée par le contributeur de la communauté Typst @LaurenzV, offrant une forte portabilité et de bonnes performances
Justification au niveau des caractères
- Une nouvelle fonction ajuste non seulement l’espacement entre les mots, mais aussi l’espacement entre les caractères pour améliorer l’équilibre visuel des paragraphes
- La plupart des logiciels existants n’ajustent que l’espacement des mots, tandis que Typst offre un contrôle plus fin jusque sur l’espacement des caractères
- À l’avenir, Typst prévoit aussi d’explorer l’ajustement de la largeur des glyphes via les polices variables (variable fonts) ou encore l’insertion de Kashida en arabe
- Typst utilise le même algorithme de base que LaTeX, mais y ajoute cette justification au niveau des caractères, absente de LaTeX
- Un usage excessif peut sembler artificiel, mais avec des limites adaptées et une bonne combinaison algorithmique, on peut améliorer subtilement la qualité de composition
- Le résultat est un gris typographique plus homogène dans les paragraphes, avec une qualité de composition proche de l’édition professionnelle
Export HTML amélioré
- L’export HTML, introduit expérimentalement dans Typst 0.13, a été largement amélioré dans la version 0.14
- Des correspondances HTML sémantiques (show rules) ont été ajoutées pour divers éléments intégrés comme les notes de bas de page, les plans et les citations
- Grâce à des améliorations du traitement du texte, la majorité des éléments de la catégorie Model sont convertis correctement en HTML
- Une nouvelle interface HTML typée a aussi été introduite
- Elle permet de définir des attributs de manière sûre au niveau des types, comme dans
#html.video(autoplay: true, width: 1280, …)
- Cette approche est plus sûre et plus intuitive que l’ancienne méthode
html.elem basée sur des chaînes de caractères
- L’export HTML reste une fonction expérimentale : dans la CLI, il faut l’activer avec l’option
--features html ou la variable d’environnement TYPST_FEATURES=html
- Dans l’application web aussi, l’activation doit être faite individuellement pour chaque projet
- À l’avenir, l’application web Typst devrait elle aussi prendre officiellement en charge l’export HTML
Migration vers Typst 0.14
- Cette version est une mise à jour stable avec très peu de changements cassants
- Certaines validations ont toutefois été renforcées : les labels, les URL de liens et les listes de polices ne peuvent plus être vides
- Principaux changements
pdf.embed → remplacé par pdf.attach
- renommage de deux styles bibliographiques
- le flag CLI
--make-deps est remplacé par --deps --deps-format make
- certains symboles sont obsolètes, et le compilateur affiche automatiquement des avertissements
- Dans l’application web, l’expérience de mise à niveau de version a été améliorée
- Auparavant, la dernière version était toujours utilisée ; désormais, lorsqu’une nouvelle version est détectée, l’application propose automatiquement la mise à niveau et effectue une vérification de compatibilité
- Elle compile ensuite avec la nouvelle version et affiche une comparaison des erreurs et avertissements
Communauté et feuille de route
- Typst 0.14 est le résultat de 8 mois de développement et de collaboration avec la communauté
- Pour célébrer la sortie, un appel communautaire sur Discord est prévu le 7 novembre
- L’objectif est de partager des retours d’expérience et de recueillir du feedback
- L’équipe Typst prévoit de poursuivre ses efforts sur l’amélioration de l’export HTML, le renforcement de l’accessibilité et la qualité de composition
1 commentaires
Avis sur Hacker News
Il y a souvent une confusion au sujet de Typst, donc autant clarifier d’emblée.
L’éditeur en ligne (typst.app) est un logiciel commercial, tandis que le compilateur/CLI (github.com/typst/typst) est open source.
Je n’ai utilisé que le CLI, mais j’ai été très satisfait du résultat. Au départ, je m’en servais comme remplaçant de PowerPoint, mais il convient aussi très bien pour les affiches ou les documents simples. J’aime le fait qu’il n’y ait pas à se souvenir d’une syntaxe complexe comme avec LaTeX, et que ce soit une syntaxe facile à reprendre en main
La combinaison TinyMist + VS Code a offert une excellente expérience de développement. J’ai même pu modifier un template en une journée, ce qui avec LaTeX relevait toujours du cauchemar
Page officielle de TinyMist
Voici ce que je remarque à chaque fois que j’utilise Typst.
diff) est simpleJ’attends particulièrement avec impatience les PDF accessibles et l’export HTML de Typst 0.14
Beaucoup de gens utilisent aussi des interfaces web comme Overleaf. Du coup, parmi les avantages de Typst, je ne ressens vraiment surtout que la vitesse de compilation et la qualité des diagnostics
Pandoc prend bien en charge Typst, donc la conversion en docx ou epub est aussi simple. Les issues liées ont également été corrigées rapidement
La possibilité de convertir un PDF en SVG pour le rendre directement dans du HTML, du PNG ou des aperçus web est impressionnante.
Toutes ces fonctionnalités de traitement PDF sont intégrées au compilateur Typst, grâce à la bibliothèque hayro entièrement implémentée en Rust
Lien GitHub, page de démo
Même sans utiliser Typst directement, j’ai envie de le soutenir via un abonnement.
En tant que personne qui aime et déteste LaTeX à la fois, je suis heureux de voir apparaître une alternative. J’apprécie surtout le fait qu’ils accordent de l’importance à la microtypographie
S’il existait un système de primes pour la prise en charge HTML, j’aurais envie de soutenir encore plus
Typst, fort de cette expérience accumulée, aboutit à un binaire propre de 45 Mo.
C’est un excellent outil capable de manipuler directement du JSON et du CSV, et de produire des livres, des brochures ou des cartes
Si le monde académique n’arrive pas à abandonner LaTeX, c’est à cause de Beamer, TikZ et Overleaf.
Beamer propose une grande variété de styles et de polices, TikZ permet de dessiner des formes sans GUI, et Overleaf est meilleur que Typst Cloud pour la collaboration. J’espère qu’un jour Typst atteindra ce niveau
Il peut aussi être intéressant d’envisager l’adoption du contrôle de version
Ce n’est pas encore au niveau de Beamer, mais typst-presentate est déjà plutôt utilisable
Thème Touying Unistra Pristine
Il existe beaucoup d’alternatives à TikZ, mais aucune n’est encore parfaite
J’ai entièrement réécrit mon CV
.docx, maintenu depuis plus de dix ans, avec Typst.J’ai séparé le parcours et le style dans des fichiers de données TOML, avec une structure qui remplit automatiquement le template voulu.
C’était un projet un peu excessif, mais vraiment amusant, et la syntaxe de Typst est suffisamment intuitive pour s’en sortir sans tutoriel
Mon plus grand reproche à Typst est qu’il ne prend toujours pas en charge les séparateurs décimaux selon la locale.
Voir l’issue correspondante.
Si le formatage des nombres selon la langue n’est pas réglé rapidement, cela pourrait créer plus tard des conflits de syntaxe.
Malgré cela, je suis très satisfait de Typst dans l’ensemble, car il est rapide et simple
Le fait de pouvoir utiliser un PDF comme format d’image natif est une avancée majeure pour remplacer LaTeX
Merci à l’équipe Typst. Au départ, j’ai créé mon CV avec Typst pour apprendre Git,
et un jour j’aimerais réaliser avec Typst un document de mots croisés. Je ne sais pas encore comment obtenir des cases carrées dans un tableau, mais j’essaierai un jour
Avant, je faisais de la documentation de modèles financiers avec GitHub/Azure Markdown + Mermaid + MathJax, mais plus ça devenait complexe, plus c’était difficile.
Maintenant, j’utilise Typst, et comme le compilateur est basé sur Rust, l’installation est facile et rien n’est envoyé à l’extérieur, ce qui est rassurant sur le plan de la sécurité.
On sent une conception moderne, au point d’avoir l’impression de 40 ans d’écart