ConTeXt/Comprendre l'utilité de la commande mtxrun
Partie I : Premiers pas
Chapitre 1 : Introduction
mtxrun : qu’est-ce que c’est et à quoi ça sert ?
[modifier | modifier le wikicode]Objectifs de cette section
Cette page introduit la commande mtxrun, outil central de l’écosystème ConTeXt.
Elle explique :
- ce qu’est
mtxrunet pourquoi cette commande est essentielle ; - comment appeler un script avec
mtxrun --script; - le lien entre
mtxrunet la commandecontext; - le rôle des principaux scripts (
status,fonts,cache, etc.) ; - dans quels cas il est utile d’intervenir directement via
mtxrun; - comment l’utiliser pour diagnostiquer ou maintenir son installation ConTeXt.
La commande mtxrun est l’outil central de l’écosystème ConTeXt.
Elle sert de point d’entrée unique pour exécuter la quasi-totalité des scripts et utilitaires liés à ConTeXt : gestion des polices, inspection des ressources, traitement des figures, nettoyage du cache, génération d’index, diagnostics, etc.
Autrement dit, mtxrun est à ConTeXt ce que le terminal est au système : une interface de contrôle générale, commune à de nombreux usages.
1. Principe général
[modifier | modifier le wikicode]mtxrun est un lanceur de scripts écrits en Lua, fournis avec la distribution de ConTeXt.
Chaque fonctionnalité est appelée via l’option --script, suivie du nom du module :
mtxrun --script nom_du_script [options]
Par exemple :
mtxrun --script status
mtxrun --script fonts --list
mtxrun --script cache --purge
De nombreuses commandes que l’on utilise couramment (comme context) sont en réalité des raccourcis qui s’appuient sur mtxrun.
2. À quoi sert concrètement mtxrun ?
[modifier | modifier le wikicode]mtxrun intervient dans plusieurs domaines essentiels du travail avec ConTeXt :
| Domaine | Utilité |
|---|---|
| Polices de caractères | Lister, analyser, installer et configurer les fontes |
| Figures | Gérer, analyser et tester les images intégrées |
| Cache | Nettoyer ou reconstruire le cache |
| Statut système | Vérifier l’état de l’installation ConTeXt |
| Débogage | Accéder à des outils de diagnostic |
| Modules | Gérer les modules complémentaires ConTeXt |
Il sert donc autant :
- au débutant (contrôle de l’installation),
- qu’à l’utilisateur avancé (gestion fine de l’environnement).
3. Scripts principaux de mtxrun
[modifier | modifier le wikicode]Voici une sélection des scripts les plus utiles :
| Script | Rôle | Exemple de commande |
|---|---|---|
status |
Affiche l’état du système ConTeXt | mtxrun --script status
|
fonts |
Gère les polices (liste, recherche…) | mtxrun --script fonts --list
|
cache |
Manipule le cache ConTeXt | mtxrun --script cache --purge
|
context |
Lance la compilation ConTeXt | mtxrun --script context monfichier.tex
|
status --figures |
Liste les figures internes | mtxrun --script status --figures
|
3.1 Rechercher une police particulière
Le script `fonts` permet non seulement de lister toutes les polices, mais aussi de rechercher une police précise à partir d’un morceau de son nom (famille, style, fichier, etc.).
Pour chercher toutes les polices dont le nom contient une chaîne donnée (par exemple « Lato ») :
mtxrun --script fonts --list --all --pattern=*Lato*
Cette commande affiche un tableau récapitulatif avec :
* le nom de famille (`family`) ; * le `fontname` interne utilisé par ConTeXt ; * le nom de fichier (`filename`) ; * les variantes (gras, italique, light, etc.).
On peut utiliser n’importe quel motif dans `--pattern` (avec `*` comme joker). Cela fonctionne aussi pour les noms de fichiers :
mtxrun --script fonts --list --all --file --pattern=*Lato-*.ttf
3.2 Vider et régénérer le cache des polices
ConTeXt maintient une base de données des polices disponibles. Si vous :
* installez de nouvelles polices ; * supprimez ou déplacez des fichiers de polices ; * constatez que ConTeXt ne « voit » pas une police pourtant installée,
il peut être utile de vider le cache des polices puis de le reconstruire.
1. Effacer uniquement la partie « polices » du cache :
mtxrun --script cache --erase --fonts
2. Reconstruire la base de données des polices :
mtxrun --script fonts --reload
Après ces deux commandes, la première compilation d’un document peut être un peu plus lente : ConTeXt reconstruit ses index internes de polices, mais les compilations suivantes redeviennent normales.
Afin de vider le cache des polices, lancez la commande :
mtxrun --script cache --erase --fonts- puis la commande
mtxrun --script fonts --reload - Enfin, vérifiez que ConTeXt la voit bien avec :
mtxrun --script fonts --list --all -- pattern=NomDeLaPolice.
Afin de vider le cache des polices (et recherchez ensuite une police nouvellement installée), lancez la commande :
mtxrun --script cache --erase --fonts- puis la commande
mtxrun --script fonts --reloadva recharger et organiser les polices nouvellement installées; - Enfin, vérifiez que ConTeXt voit bien cette (ou ces) police avec :
mtxrun --script fonts --list --all --pattern=NomDeLaPolice. Vous pouvez ajouter des joker à cette dernière commande. par exemple, si vous cherchez une police de la famille Didot (GFS Didot), vous pouvez passer la commande :
mtxrun --script fonts --list --all --pattern=*didot*
:
- Ce qui produit le résultat suivant :
| Identifier | Famille | Nom interne | Fichier | Instances |
|---|---|---|---|---|
| gfsdidot | gfsdidot | gfsdidotregular | GFSDidot-Regular.ttf | |
| gfsdidotnormal | gfsdidot | gfsdidotregular | GFSDidot-Regular.ttf | |
| gfsdidotregular | gfsdidot | gfsdidotregular | GFSDidot-Regular.ttf | |
| theanodidot | theanodidot | theanodidotregular | TheanoDidot-Regular.ttf | |
| theanodidotnormal | theanodidot | theanodidotregular | TheanoDidot-Regular.ttf | |
| theanodidotregular | theanodidot | theanodidotregular | TheanoDidot-Regular.ttf |
Tableau récapitulatif : base de données des polices (ConTeXt LMTX)
[modifier | modifier le wikicode]Avant d'utiliser ces commandes, il faut toujours avoir chargé l'environnement ConTeXt (portable) :
- Windows :
cd C:\chemin\vers\contextpuiscall tex\setuptex.bat - Linux/macOS :
cd ~/contextpuis. tex/setuptex
| Objectif | Commande (à lancer dans un terminal) | Commentaire |
|---|---|---|
| Regénérer la base générale de fichiers ConTeXt | mtxrun --generate |
À faire après une mise à jour ou un déplacement de l'installation ConTeXt. |
| Purger tout le cache ConTeXt (dont les polices) | mtxrun --script cache --erase --all |
Supprime tous les fichiers de cache : recompilation plus lente ensuite, mais propre. |
| Purger uniquement le cache des polices | mtxrun --script cache --erase --fonts |
Utile après ajout/suppression de nombreuses polices. |
| Reconstruire complètement la base des polices | mtxrun --script font --reload --force --all |
Re-scanne les dossiers de polices et régénère la base interne. À faire après l'installation de nouvelles polices. |
| Reconstruire la base des polices (mode rapide) | mtxrun --script font --reload |
Mise à jour plus légère : ne force pas un scan complet de tous les répertoires. |
| Lister toutes les polices connues de ConTeXt | mtxrun --script font --list --all |
Affiche toutes les polices trouvées. On peut rediriger vers un fichier : > fonts-all.txt.
|
| Rechercher une police ou une famille contenant un mot donné | mtxrun --script font --list --all --pattern=*amiri* |
Remplacer amiri par un autre motif : *noto*, *garamond*, etc.
|
| Obtenir des informations détaillées sur une famille de polices | mtxrun --script font --info="amiri" |
Montre les variantes, styles et fichiers associés au nom demandé (ici : Amiri). |
| Vérifier qu'une nouvelle police est bien vue par ConTeXt | mtxrun --script font --list --pattern=*NomPolice* |
Permet de vérifier qu'une police récemment installée est bien dans la base. |
| Extraire la liste des fichiers de polices utilisés | mtxrun --script font --list --files |
Donne le nom de fichier de chaque police (utile pour vérifier les chemins). |
Remarque : les options --all et --force ne sont pas toujours nécessaires. On les utilise surtout après une installation massive de polices ou après avoir déplacé des dossiers de polices.
4. Relation entre mtxrun et la commande « context »
[modifier | modifier le wikicode]La commande classique :
context monfichier.tex
est en réalité un raccourci pour :
mtxrun --script context monfichier.tex
Cela signifie que mtxrun est le véritable moteur de la commande.
Comprendre mtxrun, c’est donc comprendre la base du fonctionnement de ConTeXt en ligne de commande.
5. Exemple : inspection des figures internes
[modifier | modifier le wikicode]Pour obtenir la liste des figures internes disponibles dans ConTeXt :
mtxrun --script status --figures
Cela permet de voir toutes les figures embarquées (comme cow, gnu, mill, etc.), sans ouvrir ConTeXt.
6. Utilité pédagogique et pratique
[modifier | modifier le wikicode]Même sans utiliser toutes ses fonctionnalités, mtxrun permet au lecteur :
- de mieux comprendre l’organisation interne de ConTeXt,
- d’accéder à des outils d’inspection et de débogage,
- de gérer proprement son environnement de travail.
C’est pourquoi il constitue un point de passage essentiel dans l’apprentissage de ConTeXt après la prise en main de la ligne de commande.