Typst possède :
- Un balisage intégré pour les tâches de formatage les plus courantes
- Des fonctions flexibles pour tout le reste
- Un système de script étroitement intégré
- Composition mathématique, gestion des bibliographies, etc.
- Des temps de compilation rapides grâce à la compilation incrémentale
- Des messages d'erreur conviviaux en cas de problème
Exemple
Une introduction à Typst est disponible dans notre documentation. Cependant, si vous voulez voir la puissance de Typst encapsulée dans une image, la voici :
Décortiquons ce qui se passe :
Nous utilisons les règles set pour configurer les propriétés des éléments, comme la taille des pages ou la numérotation des titres. En réglant la hauteur de la page sur auto, elle s'adapte au contenu. Les règles set s'adaptent aux configurations les plus courantes. Si vous avez besoin d'un contrôle total, vous pouvez également utiliser les règles show pour redéfinir complètement l'apparence d'un élément.
Nous insérons un titre à l'aide de la syntaxe = Heading. Un signe égal crée un titre de niveau supérieur, deux créent un sous-titre et ainsi de suite. Typst dispose d'autres balises légères de ce type, voir la référence syntaxique pour une liste complète.
Les équations mathématiques sont entourées de signes du dollar. En ajoutant des espaces supplémentaires autour du contenu d'une équation, on peut la placer dans un bloc séparé. Les identificateurs à plusieurs lettres sont interprétés comme des définitions et des fonctions Typst, sauf s'ils sont placés entre guillemets. De cette façon, nous n'avons pas besoin de barres obliques inverses pour des choses comme floor et sqrt. Et phi.alt applique le modificateur alt au phi pour sélectionner une variante particulière du symbole.
Passons maintenant à l'écriture de scripts. Pour introduire du code dans un document Typst, nous pouvons écrire un hashtag suivi d'une expression. Nous définissons deux variables et une fonction récursive pour calculer le n-ième nombre de Fibonacci. Ensuite, nous affichons les résultats dans un tableau aligné au centre. La fonction tableau prend ses cellules ligne par ligne. Par conséquent, nous passons d'abord les formules $F_1$ à $F_10$, puis les nombres de fibonacci calculés. Nous appliquons l'opérateur d'étalement (..) aux deux parce qu'il s'agit de tableaux et que nous voulons passer les éléments des tableaux en tant qu'arguments individuels.
Installation et utilisation
Vous pouvez obtenir les sources et les binaires préconstruits pour la dernière version de Typst à partir de la page des versions. Cela vous donnera le CLI de Typst qui convertit les sources de Typst en PDFs.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | # Creates `file.pdf` in working directory. typst file.typ # Creates PDF file at the desired path. typst path/to/source.typ path/to/output.pdf |
Vous pouvez également surveiller les fichiers sources et les recompiler automatiquement en cas de changement. C'est plus rapide que de compiler à partir de zéro à chaque fois parce que Typst a une compilation incrémentale.
Code : | Sélectionner tout |
1 2 | # Watches source files and recompiles on changes. typst --watch file.typ |
Si vous préférez une expérience intégrée de type IDE avec autocomplétion et prévisualisation instantanée, vous pouvez également consulter l'application web de Typst, qui est actuellement en version bêta publique.
Construire à partir des sources
Pour construire Typst vous-même, vous devez avoir la dernière version stable de Rust installée. Ensuite, vous pouvez construire le CLI avec la commande suivante :
Code : | Sélectionner tout |
cargo build -p typst-cli --release
Le binaire optimisé sera stocké dans target/release/.
Principes de conception
Typst a été conçu avec trois objectifs clés à l'esprit : Puissance, simplicité et performance. Nous pensons qu'il est temps d'avoir un système qui égale la puissance de LaTeX, qui soit facile à apprendre et à utiliser, tout en étant suffisamment rapide pour permettre une prévisualisation instantanée. Pour atteindre ces objectifs, nous suivons trois principes de conception fondamentaux :
La simplicité par la cohérence : Si vous savez comment faire une chose dans Typst, vous devriez pouvoir transférer cette connaissance à d'autres choses. S'il y a plusieurs façons de faire la même chose, l'une d'entre elles doit être à un niveau d'abstraction différent de l'autre. Par exemple, il est acceptable que = Introduction et #heading[Introduction] fassent la même chose parce que le premier n'est que du sucre syntaxique pour le second.
La puissance par la composabilité : Il y a deux façons de rendre quelque chose flexible : Avoir un bouton pour tout ou avoir quelques boutons que l'on peut combiner de différentes manières. Typst est conçu avec la deuxième méthode à l'esprit. Nous fournissons des systèmes qui vous permettent de composer d'une manière à laquelle nous n'avons jamais pensé. TeX fait également partie de la deuxième catégorie, mais il est un peu bas niveau et les gens utilisent donc LaTeX à la place. Mais là, il n'y a pas vraiment de composabilité. Au lieu de cela, il y a un paquet pour tout (\usepackage{knob}).
La performance par l'incrémentation : Toutes les fonctionnalités du langage Typst doivent permettre une compilation incrémentale. Heureusement, nous avons comemo, un système de compilation incrémentale qui fait le plus gros du travail en arrière-plan.
Source : GitHub
Et vous ?
Qu'en pensez-vous ?
Selon vous, Typst est-il est capable de rivaliser avec Latex, en particulier pour des projets plus sérieux ou plus volumineux ?
Voir aussi
Markdown vs LaTeX : quel outil utilisez-vous pour écrire la documentation de vos projets ? Markdown serait plus performant mais ne peut pas transporter des données
Mark Text : un éditeur Markdown simple et élégant axé sur la rapidité et la convivialité selon son développeur, disponible pour macOS, Windows et Linux
D2 : un nouveau langage déclaratif pour convertir du texte en diagrammes, il prend en charge les extraits de code et la syntaxe Markdown