Extensions de DME
Dès qu'on souhaite aller plus loin que la syntaxe de base du Markdown, il devient nécessaire d'intégrer d'autres outils. DME a choisi un ensemble d'outils pour faciliter la création d'équations mathématiques
Equations mathématiques
Latex est généralement le système intégré via Katex ou MathJAX, des librairies JavaScript qui générent les formules visuelles à partir de leur définition textuelle.
Dès qu'il est nécessaire d'écrire des fractions, exposants ou tout autre symbole particulier
il faut écrire par exemple2^3/(2+5^(3+3)) in RR. Cet exemple utilise une alternative à Latex, nommé Typst. La syntaxe est moins verbeuse et inclut un langage de programmation poussé.
Syntaxe Typst
De nombreux symboles mathématiques sont disponible dans la page "Syntaxe math" de ce guide. Si besoin d'aller plus loin, la documentation de Typst sur les math est bien conçue.
Exemples
Il faut faire attention à inclure des espaces si les $$ sont écrits sur une seule ligne. Pas d'espace si écrit sur plusieurs lignes. Pas d'espace non-plus lorsqu'il n'y a qu'un seul $.
La formule du périmètre est de
$$ P = 2 pi r $$
ou encore
$$
P = 2 pi r
$$
L'aire d'un cercle est de $A=pi r^2$.
Résultat
La formule du périmètre est de
ou encoreL'aire d'un cercle est de .
Limites de l'intégration Typst
Les paquets externes ne sont pas disponibles.
Par exemple l'usage du paquet tablex (via #import "@preview/tablex:0.0.9") donnera l'erreur failed to load file.
Typst parsing error: $#import "@preview/tablex:0.0.9": tablex #tablex( columns: 3, 1,2,3, 3,4,5 )$ failed to load file (access denied) cannot read file outside of project root you can adjust the project root with the --root argument
L'autre limite est l'impossibilité d'avoir des $ au milieu de la définition, car cela fait croire au parseur Markdown que le morceau de Typst est terminé.
Une solution a cette limite sera supportée un jour probablement...
Colorisations de code
La colorisation est faite avec Tree-Sitter. Chaque nouveau langage utilisé doit être manuellement activé. Pour DME Desktop, une page dédiée est disponibles sur Ctrl+G. Sur LXUP, le site définit une liste des languages activés.
L'usage de Tree-Sitter n'a aucun impact sur la rédaction, à part certains alias définis comme sh -> bash qui pourrait changer d'autres programmes.
Voir la liste détaillée des équivalences dans la fonction normalize_lang du code.
Images
Il est possible est possible de changer la taille des images via width. L'attribut height n'est pas supporté (il est retiré).
<img src="imgs/tldr-demo.svg" width="900" />
Il est possible de transformer les images en figure, afin de leur ajouter une légende.

Malheureusement, le contenu entre guillemets n'est pas interprété comme du Markdown. Il est possible de contourner cette limite en convertissant directement vers le HTML final pour la figure <figure> et la légende (figcaption).
<figure>
<img src="imgs/tldr-demo.svg" width="900" />
<figcaption>Example for <code>ls</code> by running <code>tldr ls</code></figcaption>
</figure>