URL: https://linuxfr.org/news/typst-un-systeme-de-composition-de-document-qui-grandit Title: Typst, un systĂšme de composition de document qui grandit Authors: đČ Tanguy Ortolo Ysabeau đ§¶ et BenoĂźt Sibaud Date: 2025ćčŽ09æ01æ„T12:45:04+02:00 License: CC By-SA Tags: mise_en_page, composition, document, tex, latex, typst et typographie Score: 54 Vous en souvient-il ? En deux mille vingt-trois, [qpad nous prĂ©sentait](https://linuxfr.org/users/qpad/journaux/typst-est-le-nouveau-latex) [Typst](https://typst.app/), un nouveau systĂšme de composition de documents qui se posait en concurrent de LaTeX. Depuis, Typst semble avoir grandi, en sâassortissant dâune galaxie (pardon, un [univers](https://typst.app/universe/)) de paquets tiers. En fait, jâai surtout lâimpression quâil a gagnĂ© en notoriĂ©tĂ©, ou en _quantitĂ© de mouvement_, pour le dire comme les anglophones. Câest lâoccasion de prĂ©senter Ă nouveau ce systĂšme de composition. ---- [Typst](https://typst.app/) [Tutoriel Typst](https://typst.app/docs/tutorial/) [Typst pour les utilisateurs LaTeX](https://typst.app/docs/guides/guide-for-latex-users/) [RĂ©fĂ©rence Typst](https://typst.app/docs/reference/) [Univers Typst, le dĂ©pĂŽt de paquest tiers](https://typst.app/universe/) [Journal prĂ©sentant Typst en 2023](https://linuxfr.org/users/qpad/journaux/typst-est-le-nouveau-latex) ---- Un systĂšme de composition de documents ====================================== Typst est donc un systĂšme de composition de documents. Comme LaTeX, il est non-visuel, câest-Ă -dire quâon code son document qui est ensuite compilĂ© en PDF. ConcrĂštement, lâoutillage se compose, au choix : * du [compilateur Typst](https://typst.app/open-source/), sous licence Apache ; * de [lâapplication Web](https://typst.app/), non libre, qui fournit un Ă©diteur intĂ©grĂ© et une visualisation en temps rĂ©el. Concurrent Ă LaTeX ================== Typst partage plusieurs caractĂ©ristiques avec LaTeX dont il est ouvertement inspirĂ© : * c'est un systĂšme non visuel avec un langage dĂ©diĂ© ; * il est conçu pour permettre dâĂ©crire des documents scientifiques. Bien que je nâaie pas vĂ©rifiĂ© ce point, il me semble probable quâil utilise Ă©galement quelques algorithmes de mise en page assez incontournables, dĂ©finis par Donald Knuth pour TeX, par exemple pour la coupure des lignes dâun paragraphe. Il sâĂ©carte Ă©videmment de LaTeX sur plusieurs aspects, sinon ce ne serait pas vraiment un _nouveau_ systĂšme de composition : * câest un systĂšme autonome, contrairement Ă LaTeX qui est construit sur TeX ; * il est conçu dĂšs le dĂ©part avec des prĂ©occupations actuelles (Unicode, PDF...) ; * il est conçu comme un langage humainement comprĂ©hensible, lĂ oĂč TeX semble franchement Ă©sotĂ©rique. Impressions dâun LaTeXnicien =============================== Quand on arrive de LaTeX, lâimpression est assez partagĂ©e, entre des diffĂ©rences significatives, de gros avantages et quelques inconvĂ©nients. Le langage de texte ------------------- Le langage de base _pour le texte_ est diffĂ©rent de LaTeX, mais ce nâest pas vraiment dĂ©rangeant dans la mesure oĂč on parle seulement de paragraphes, de titres, de mise en emphase, de listes, etc. Bref, le genre de chose quâon fait aussi bien en Markdown. Dâailleurs, Typst Ă©tant nĂ© aprĂšs le dĂ©veloppement des langages de balisage lĂ©ger, sa syntaxe Typst est justement assez proche de Markdown, ce qui nâest pas dĂ©sagrĂ©able : ```typst = Titre de section Voici du texte avec _une emphase_, *une emphase forte* et un `peu de code`. ``` Ă noter que cette syntaxe lĂ©gĂšre nâest en fait que du sucre syntaxique, et quâon peut Ă©crire la mĂȘme chose en faisant explicitement appel Ă des fonctions nommĂ©es. La compilation -------------- Pour celles et ceux qui nâont pas lâhabitude de LaTeX, compiler un document un peu costaud, qui fait appel Ă quelques extensions, ça demande un temps de lâordre dâune ou plusieurs secondes, et cela produit des centaines, voire des milliers de lignes de log. Pour avoir des rĂ©fĂ©rences internes (sommaire, rĂ©fĂ©rences Ă des images...) et externes (bibliographie), il faut lancer plusieurs fois la compilation. Pour qui vient du monde LaTeX donc, la compilation par Typst est hallucinante. Une seule passe, mĂȘme si en interne, Typst fait certainement au besoin plusieurs itĂ©rations. Quelques dizaines de millisecondes. Ok, câĂ©tait pour un document ultra-simple, mais les commentaires lisibles sur les _Interwebz_ font gĂ©nĂ©ralement Ă©tat dâun rapport dâun ou deux ordres de grandeur par rapport Ă LaTeX. Le langage de configuration et dâextension ------------------------------------------ LĂ oĂč ça change vraiment, câest pour tout ce qui relĂšve des rĂ©glages, des modĂšles, de la personnalisation ou de la programmation dâextensions. LĂ , ça nâa plus rien Ă voir avec TeX et LaTeX. Ă mon avis, ce nâest pas un mal dans la mesure oĂč le langage TeX et les conventions utilisĂ©es pour le dĂ©veloppement en LaTeX sont assez complexes, voire incomprĂ©hensibles. Cela se ressent dans le code des extensions. Ă titre de comparaison, celui de la classe LaTeX [lettre](https://ctan.org/pkg/lettre) fait quelques milliers de lignes. Et câest assez illisible pour qui ne connaĂźt par TeX. Le code du modĂšle [formalettre](https://typst.app/universe/package/formalettre), qui nâest certes pas aussi complet mais qui fait trĂšs bien le travail de base dâune telle classe, fait une centaine de lignes, que je trouve relativement lisibles pour un bĂ©otien. Lâutilisation de paquets tiers ------------------------------ Les paquets tiers, hĂ©bergĂ©s sur [lâunivers Typst](https://typst.app/universe/), sont tĂ©lĂ©chargĂ©s Ă lâutilisation. Par rapport Ă une distribution LaTeX qui pĂšse facilement plusieurs centaines de mĂ©bioctets, ça donne une vraie impression de lĂ©gĂšretĂ©. La francisation --------------- Lâadaptation aux conventions en usage en langue française, ou dans les diffĂ©rents pays francophones, me semble encore assez incomplĂšte. Lorsquâon passe un document en français, les changements de base sâeffectuent bien : un sommaire sâappellera bien « Tables des matiĂšres » et les cĂ©sures respecteront lâusage de la langue. En revanche, cela nâadapte pas la mise en forme des paragraphes avec alinĂ©a, et on attendrait en vain que des mots comme `1er`, `2e` ou `Mme` soient automatiquement mis en forme selon lâusage attendu. Et non, il nây a pas de commandes dĂ©finies pour cela. Pas encore, en tout cas, parce que je serais surpris que personne ne publie un jour un paquet proposant tout cela. Les modĂšles ----------- LâĂ©quivalent dâune classe LaTeX est un modĂšle Typst. Cela correspond Ă un type de document, par exemple un article, un rapport ou une lettre. Typst ne semble pas proposer de modĂšles officiels. Il y en a en revanche par mal dans [lâunivers Typst](https://typst.app/universe/search/?kind=templates), et le langage est conçu pour rendre la crĂ©ation dâun modĂšle assez accessible. Le troisiĂšme chapitre du [tutoriel officiel](https://typst.app/docs/tutorial/) traite justement de la crĂ©ation dâun modĂšle. Un bel avenir ? =============== Typst [a Ă©tĂ© conçu Ă partir de 2019 et a vraiment vu le jour en 2023](https://typst.app/about/). Jâen ai entendu parler pour la premiĂšre fois en mars 2023, dans le [journal de qpad](https://linuxfr.org/users/qpad/journaux/typst-est-le-nouveau-latex). Les lacunes que jâavais alors remarquĂ©es et qui me retenaient de commencer Ă lâutiliser pour mes propres documents, semblent avoir Ă©tĂ© comblĂ©es pour lâessentiel. [Lâunivers Typst](https://typst.app/universe/), qui est le dĂ©pĂŽt de paquets tiers, sâest largement rempli et semble bien jouer son rĂŽle pour permettre aux utilisateurs de partager les extensions et modĂšles. Le langage semble bien conçu : * il joue correctement son rĂŽle pour la mise en forme de documents et de contenu scientifique ; * il est _beaucoup_ plus humain que TeX et LaTeX lorsquâil sâagit dâĂ©crire des modĂšles et des extensions. LâĂ©cosystĂšme est Ă©galement bien conçu et bien fourni et semble bien rĂ©pondre aux attentes de la communautĂ©, avec une lĂ©gĂšretĂ© bienvenue. Dans lâensemble, jâai lâimpression que Typst est bien parti pour proposer un successeur sĂ©rieux Ă LaTeX. Je formule tout de mĂȘme quelques interrogations : * la distribution de paquets tiers, incontournable, semble intĂ©gralement centralisĂ©e et dĂ©pendante de [lâunivers Typst](https://typst.app/universe/) ; * ce dernier, ainsi que Typst en gĂ©nĂ©ral, est maintenu par lâentreprise allemande Typst GmbH dont le financement dĂ©pend de la vente dâabonnements aux formules premium de lâapplication Web : espĂ©rons que cela sâavĂšre pĂ©renne.