Exposé des principes d'ingénierie. État présent (publication). Objectifs futurs.
NOTES DE PUBLICATION
- 2024-12-19 : Correction pour Plan9 (copier des répertoires
— Merci à Mouad A. pour le rapport d'erreur !). Vous pouvez mettre à
jour simplement via
tools@pkg.sh
etrcp@pkg.sh
. - 2024-12-14 :Ajout de
kpstopdf
à kerTeX et 22 nouvelles recettes dont beamer@latex (ainsi que les recettes liées aux calculs en précision étendue de Jean-François Burnol). Un utilitaire (qui nécessite GhostScript) permettant de traduire facilement le PostScript obtenu pardvips
en un PDF respectant exactement la taille des pages est ajouté. Il est nécessaire, entre autres, avecbeamer@latex
pour obtenir des présentations aux dimensions généralement particulières. Un total de 22 nouvelles recettes (fontes, dont les gothiques de Yannis Haralambous ; TeX et LaTex, dont pgf et beamer) a été ajouté. Merci à Mouad A. pour les échanges et les essais ! - 2024-12-07 : Mémoire augmentée
pour TeX/Prote (pour LaTeX) ; recette
latex.sh
modifiée pour définition du langage 0 ; ajout des paquets de Jean-François Burnol pour les calculs numériques en précision étendue. Dans certains usages (LaTeX), la capacité mémoire déclarée à la compilation n'était pas suffisante : elle a été étendue. Texmf et TeXLive définissentUSenglish
comme un alias deenglish
(pour Babel) en langage 0 et des paquets utilisentUSenglish
. La recettelatex.sh
a été modifiée pour s'aligner sur cet usage afin d'éviter les soucis. Enfin, les paquets de Jean-François Burnol pour les calculs numériques en précision étendue (xint
etxintsession
) ont été ajoutés ainsi que les paquets dont ils dépendent (il faut utiliseretex
qui a été redéfini pour activer les primitives supplémentaires deProte
, nécessaires). - 2024-11-26 : Correction recettes
Babel. Une bourde dans les recettes Babel conduisait à ne pas
extraire les fichiers compactés dans des fichiers
.dtx
. Partant, les bascules entre langues ne pouvaient fonctionner, les fichiers correspondants n'étant pas présents. Utilisez$KERTEX_SHELL $KERTEX_LIBDIR/pkg/rcp/rcp@pkg.sh install
pour mettre à jours les recettes et réinstallez les recettes Babel correspondant aux langues que vous utilisez. Merci à Mouad A. pour le signalement du problème. - 2024-11-19 : Compilation sous
Plan9/9front. Le
sed(1)
sous Plan9/9front et sous APE ne traite pas les plages de répétition etprintf(1)
n'interprète pas le format (au moins sous 9front). RISK a donc été corrigé pour pallier ces problèmes. Merci à Elyes Kanzari pour le rapport d'erreur ! - 2024-11-09 : Compilation avec nouvelles versions de gcc. La ou les versions récente(s) de gcc transforment en erreurs ce qui n'étaient que des avertissements concernant le prototypage strict du C, ou les prototypes manquants. Les utilitaires CWEB, en vue d'être aussi disponibles que possible quelle que soit la version du C, ne déclaraient pas les prototypes, conduisant à des erreurs. Cela a été corrigé, tant dans RISK — qui fournit, si besoin, ctangle — que dans kerTeX. Merci à Antonio Olivares pour la remonter du problème !
- 2024-07-07 : Modification de risk_comp afin de circonvenir un bogue dans le shell dash sous Debian. La publication ne concerne que la génération sous Debian ; kertex_T, tel qu'installé, n'est en rien changé. Merci à B. Atticus Grobe pour le rapport d'erreur et pour avoir aidé au dépistage et testé la solution !
- 2024-06-08 : Correction d'une bourde dans la gestion des paquets tiers. La bibliothèque (POSIX.2) qui sert à la gestion des paquets tiers (les recettes rcp) peut être mise à jour indépendamment des programmes en eux-mêmes. Le problème est que la version de mise à jour en ligne était incorrecte et remplaçait la version correcte de l'installation. C'est corrigé, et une nouvelle publication a été réalisée. Attention ! Il faut également récupérer les nouvelles versions de get_mk_install.sh ou get_mk_install.rc ! et ce pour une raison totalement différente : j'avais mis à jour avec une version plus récente, qui n'est plus sous la responsabilité de Silvio Levy, de CWEB. Mais cette nouvelle version dépend d'un fichier de LaTeX et ne permet plus le déverminage facilité des fichiers inclus... Retour donc à l'original et il n'y a plus de sources cweb dans le "bundle". Merci à Romano pour m'avoir signalé le problème sur 9front !
- 2024-05-21 : Mise à jour recette LaTeX. La recette a été mise à jour pour la version actuelle (et l'organisation actuelle des sources) sur CTAN — le cache de kergis.com est mis à jour également. Merci à Jack Lawler pour le rapport d'erreur !
- 2024-02-16 : Informations importantes sur les mises à jour des recettes (LaTeX). Cela concerne la gestion des langues (Babel). Voyez Les additions au noyau.
- 2024-02-14 : Correction de la recette pl@fonts.sh. Le nom du répertoire dans le fichier zip a été changé et la recette a donc été adaptée. Merci à Antonio Olivares pour le rapport d'erreur !
- 2024-02-01 : Correction de la recette urw@fonts.sh. Les Classico avaient été mises à jour et la liste était incorrecte. Merci à Antonio Olivares pour le retour !
- 2024-01-29 : Mise à jour des recettes et de l'infrastructure de gestion des extensions. Une révision importante de l'infrastructure de gestion des extensions a été réalisée et les recettes ont été mises à jour par rapport à ce qui est présent sur CTAN. Il n'est pas nécessaire de réinstaller le système mais seulement de mettre à jour la gestion des extensions : voyez Les additions au noyau.
- 2023-08-27 : kerTeX / MetaPost : correction d'une faute introduite en simplifiant la recherche d'un fichier inclus (input). En simplifiant la recherche d'un fichier inclus, qui "bégayait" en cas d'insuccès — réessayant pour exactement le même résultat — j'avais supprimé une branche alternative inutile pour le résultat mais qui assurait qu'une variable automatique était définie également en cas d'insuccès. Le résultat, c'est qu'en cas de fichier non trouvé, cette variable avait la valeur que le hasard lui donnait, qui le plus probablement était différente de zéro, et était interprétée comme "vrai" alors qu'en l'occurrence, ce devait être "faux". Le crash suivait. Corrigé. Merci à Dirk-Wilhelm Peters pour avoir signalé le problème !
- 2023-08-01 : kerTeX / Prote : modification des primitives de fichiers. Les nouvelles primitives de fichier sont utilisées en escomptant qu'elles se comporteront à l'instar de la primitive input à savoir en ajoutant ".tex" s'il n'y a pas déjà d'extension. Prote a été modifié pour ce faire. Nécessaire pour la nouvelle version de LaTeX.
- 2023-07-25 : kerTeX : mise à jour cweb ; ajout armv8l. Incorporation de la version 4.9 des utilitaires CWEB. Ajout dans RISK des paramètres pour armv8l (ISA v8, pour 32bits en little endian). Vous devez récupérer la nouvelle version de get_mk_install car il y a ajout de sources séparées pour CWEB qui est maintenu séparément. Merci à Antonio Olivares pour le rapport d'erreur sur Android !
- 2023-05-09 :Correction latex.sh pour Plan9. Sed(1) sur Plan9/9front ne gère pas les classes de caractères. Merci à Jack Lawler pour le rapport d'erreur et la proposition de correction !
- 2023-05-08 : get_mk_install.sh. Le script vérifie désormais que l'utilisateur donné (si différent de l'utilisateur par défaut) existe (car l'installation ne crée PAS les utilisateur et groupe) et qu'il est membre du groupe donné.
- 2023-03-17 : LaTeX : recette mise à
jour pour permettre d'ajouter les césures (à partir des noms Babel)
de plusieurs langages au format. En définissant sur la ligne
de commande SUPPORTED_LANGUAGES avec une liste de noms
(Babel) de langages, noms séparés par des blancs, langages dont
les motifs et exceptions de césure (hyphenation)
doivent être compilés dans le format. Exemple :
SUPPORTED_LANGUAGES="french ukenglish ngerman russian" $KERTEX_SHELL latex.sh install
ajoutera le français, l'anglais (étendu par rapport à `hyphen.tex' de D.E.K.), l'allemand (post 1996) et le russe pour la césure, la sélection se faisant, par la suite, à l'aide des macros Babel des paquets niveau utilisateur relatifs, qui devront être ajoutés par leur recette kerTeX dédiée. - 2023-03-05 : kerTeX_M : correction pour compilation sur RHEL. Sur RHEL, l'ordre des objets liés, en tout cas si l'un s'appelle "lib.o", importe. Merci à B. Atticus Grobe ! pour avoir remonté l'information.
- 2023-01-19 : kerTeX 0.99.19.01 : Augmentation de la mémoire (BIG) pour version LaTeX courante. La version courante de LaTeX sur CTAN nécessite d'augmenter la mémoire (qui est définie à la compilation). Merci à Antonio Olivares pour le rapport d'erreur !
- 2022-11-06 : Correction pour la compilation de kertex_T sur Plan9. Une macro relative à la version POSIX nécessite d'être définie pour la compilation du code dépendant du système (pour une routine implémentant une des primitives supplémentaires requises par LaTeX). Signalé par Skip Tavakkolia. Également correction d'une bourde, signalée par Martin Ruckert, dans input.ch, mais qui n'avait pas d'incidence fonctionnelle (inutile de mettre à jour juste pour ça !). Merci à tous les deux pour le retour !
- 2022-10-13 : Correction de la recette LaTex pour Plan9. Certaines commandes ajoutées récemment à la recette ne correspondait pas à l'usage sur Plan9 (rmdir, utiliser mv pour des répertoires...) et l'invocation de mf pour la génération des fontes EC présupposait que les répertoires de kerTeX étaient dans le PATH/path. Corrigé. Merci à Chris Gorman pour le rapport d'erreur !
- 2022-09-26 : Mise à jour de la recette LaTeX. La recette a été mise à jour pour incorporer divers fichiers nécessaires au traitement du dtx de bbold@fonts.sh, lorsque l'on ajoute le support de ces fontes à LaTeX (compatibilité ?). Merci à Antonio Olivares pour le rapport d'erreur et les essais !
- 2022-09-12 : Mise à jour recette
LaTeX (2022-06-01-PL5). La recette a été mise à jour
pour la version courante sur les serveurs CTAN. Note : si les noms
des fichiers sont inchangés, une recette fonctionne même avec
la version en cours sur CTAN, peut-être plus récente que la récente.
S'il y a un changement, la recette
ne fonctionnera qu'avec la version des fichiers correspondant au
moment de l'écriture de la recette et dans ce cas il faut utiliser
le cache KerGIS :
$KERTEX_SHELL rcp.sh -p http install
. Merci à Antonio Olivares pour avoir signalé la mise à jour. - 2022-09-08 : Version mineure de kerTeX. Possibilité d'utiliser fetch comme client HTTP pour FreeBSD (supporte la redirection des CDN CTAN) — il faut utiliser également la dernière version de get_mk_install.sh pour pouvoir le sélectionner à l'installation. Également, amélioration de mp2ps pour la génération des figures isolées d'un script MetaPost.
- 2022-05-18 : Deux nouveaux paquets LaTeX : exam et lcg. (Sous l'incitation d'Antonio Olivares...)
- 2022-04-29 : Paquet LaTeX. À nouveau une correction : le chemin de recherche pour les fontes LaTeX (installées par la recette) n'était pas spécifié ; or elles sont nécessaires pour pouvoir compiler le format ; donc elles étaient trouvées dans les chemins par défaut — sur l'installation — ce qui fonctionnait pour une mise à jour puisqu'elles étaient existantes, et échouait pour une installation initiale. Corrigé. Merci à Antonio Olivares pour le rapport d'erreur !
- 2022-04-26 : Problèmes de connexion pour les
recettes (pkg). La recette latex.sh utilise une adresse
qui correspond en fait à un CDN, redirigeant les requêtes, en
fonction de la position et de la charge, entre différents serveurs
HTTPS. Deux problèmes : certains clients (déclarés pour le système)
ne sont pas capables de gérer les redirections ou (le client
ftp(1) de FreeBSD) ne gèrent pas le HTTPS ; et
curl, qui gère (mais avec certains drapeaux), est banni
par certains serveurs quand il est reconnu comme étant Curl... Si
le client par défaut ne convient pas, utiliser par exemple
lftp(1) en invoquant
sys_httpc=lftp sh latex.sh install
ou mettez à jour le gestionnaire des paquets par :
sh $KERTEX_LIBDIR/pkg/rcp/tools@pkg.sh install ce qui vous permettra, normalement, d'utiliser curl comme client (sys_httpc=curl). Enfin, vous pouvez aussi, dans la recette latex.sh remplacé le serveur http://mirrors.ctan.org/ par http://downloads.kergis.com/kertex/pkg/src/ qui a reçu une copie des données pour latex.sh et qui n'a pas de CDN ou ne réclame pas le HTTPS. - 2022-04-21 : latex.sh : correction ; kerTeX 0.99.17.1 : augmentation des capacités BIG pour LaTeX. Une bourde dans la recette latex.sh conduisait à ne pas installer tous les fichiers TFM etc. du paquet de fontes psnfss. Corrigé. Merci à Jack Lawler ! également pour m'avoir signalé une faute de portabilité (unzip utilisé à la place de $PKG_UNZIP) . Pour kerTeX : les capacités n'étaient pas suffisantes pour certains usages déclarant beaucoup de macros. Correction également de l'erreur émise si on aboutissait à une fin de fichier sans fin de ligne. Confort : les macro-définitions epsf.tex sont recherchées comme epsf.sty par certains usages LaTeX : les liens sont établis par défaut. Merci à Antonio Olivares pour les remontées d'erreur !
- 2022-04-18 : latex.sh : corrections pour graphics et psnfss. Graphics était inclus mais incorrectement spécifié dans le KXPATH ; psnfss était incomplètement inclus (manquaient les définitions des fontes en pfb et les cartes dvips). Corrigé. Merci à Antonio Olivares pour avoir signalé le problème !
- 2022-04-17 : kerTeX : 0.99.16.0 : Prote et support LaTeX3. Publication de la version avec Prote comme engin TeX principal (compatible TeX et e-TeX ; primitives additionnelles requises par LaTeX3 ; compatibilité de la primitive \input avec l'usage de Web2C — TeXLive). Également : prise en compte de la spécification du répertoire courant (du processus) pour les fichiers : "./un/chemin/de/fichier" n'est pas recherché s'il n'est pas trouvé mais considéré tel quel, le répertoire courant étant celui du processus (pas le répertoire du premier script donné). La recette latex.sh a été mise à jour avec la dernière version en ligne sur CTAN (le restant des paquets LaTeX — les recettes actuelles doivent être compatibles — sera mis à jour progressivement quand la charge de travail le permettra).
- 2022-03-25 : Prote : version de développement : implémentation des méthodes supplémentaires pour la primitive input. Prote — moteur par défaut pour TeX, eTeX et LaTeX — accepte désormais les noms de fichiers entre apostrophes doubles (ce qui permet les espaces) ainsi que l'extension permettant de donner un tel nom comme un argument interprété entre caractères de groupement. Le détail est expliqué dans la doc input.pdf sur la page dédiée de Prote. Merci à Phelype Oleinik pour le fichier de banc d'essai avec les précisions sur le comportement attendu de l'implémentation ! (Note : la recette pour LaTeX n'est pas encore mise à jour, le temps de vérifier qu'un démon ne s'est pas lové dans des détails à propos des acrobaties autour des apostrophes doubles.)
- 2022-03-07 : Prote : version de développement 0.99.15.9 : permettre les espaces dans les noms de fichier pour le code partagé. La plupart des engins utilisés avec LaTeX permettent des noms de fichier comprenant des espaces (alors que les espaces sont des délimiteurs dans les programmes d'origine et sont donc interdits dans les noms). Afin de le permettre, la bibliothèque partagée par tous les utilitaires, tant écrits en Pascal qu'en C, a été modifiée et tous les change files WEB ou CWEB repris ainsi que les fichiers afin de les adapter à la nouvelle API. C'est un changement majeur. La modification de TeX/Prote pour la primitive input suivra. C'est une publication d'alpha.
- 2021-10-14 :Prote (version de développement) a été testé avec succès sur NetBSD, FreeBSD, DragonFly et Android, sur des architectures amd64, aarch64 et earmv7. Merci encore une fois à Antonio Olivares pour une bonne partie des essais sur différents systèmes !
- 2021-10-11 : Prote a été intégré dans la version de développement de kerTeX. Cette version est disponible en téléchargement en sélectionnant dev lorsque get_mk_install.sh (ou get_mk_install.rc) demande de sélectionner la version. Voyez la page de Prote pour plus d'informations !
- 2021-09-21 : Prote : nouveau processeur typographique, compatible TeX et e-TeX, avec extensions. Dans l'esprit de e-TeX, Prote est un nouveau processeur typographique développé sur TeX, compatible avec TeX, incorporant les extensions e-TeX et ajoutant des fonctionnalités supplémentaires. Les premières sont les primitives requises par les versions les plus récentes de LaTeX. Le moteur sera intégré prochainement dans la distribution.
- 2021-09-02 : Correction de sécurité de TeX, METAFONT, MetaPost et e-TeX. Un comportement cafardeux du traitement des noms de fichiers dans des cas extrêmes a été trouvé et une correction appliquée pour imposer, au minimum, que les fichiers de log et dvi aient dans tous les cas l'extension. Pour les utilisateurs de LaTeX, le paquet doit être également réinstallé (afin que LaTeX utilise le nouvel engin e-TeX.
- 2021-06-27 : Correction de kerTeX_T:mp2ps. L'utilitaire echo interprète ou pas les séquences d'échappement (le comportement n'est pas prescrit par POSIX.2). L'interprétation est faite dans le shell fourni sur Pi, ce qui provoquait une génération incorrecte du script TeX généré par mp2ps. C'est corrigé — il s'agit du seul changement pour l'instant, si l'utilitaire fonctionne sur votre système, il est donc inutile de mettre à jour. Merci à Antonio Olivares pour le rapport d'erreur !
- 2021-04-22 : Nouvelle version des sources de D.E. Knuth. D.E. Knuth a mis à jour TeX, METAFONT et les programmes auxiliaires au titre de la révision de 2021. KerTeX a été mis à jour pour fournir la dernière version des programmes et adapter e-TeX et MetaPost en conséquence.
- 2021-04-07 : corrections de certaines recettes babel (pkg). Les recettes belarusian, friulan, georgian, hungarian, italian, occitan, piedmontese, romansh et slovenian de Babel ont été corrigées pour une erreur (sans conséquence sur l'usage) : il n'y a pas de .ins donc le code relatif ne doit pas être invoqué. Merci à Antonio Olivares pour le rapport d'erreur !
- 2021-03-08 : corrections pour Plan9. Plan9 ne fournit pas rmdir et mv ne renomme/déplace que des fichiers. Corrections dans RISK, ajustement de version RISK pour kertex_M, correction dans kertex_T pour mp2ps, et corrections des recettes (pkg) latex.sh et amstex.sh . Merci à Gilman Ironworks pour la remontée du problème !
- 2021-02-11 : correction RISK pour Raspberry Pi OS. La bibliothèque dynamiquement partagée C nécessite une bibliothèque statique annexe, dont les informations sont données par une pseudo bibliothèque sous /usr/lib/... qui est en fait un script ld(1). En cherchant, d'abord, sous /lib/..., c'est la bibliothèque nue qui est trouvée conduisant à des symboles non définis lors de l'édition des liens. Solution : l'ordre de recherche dans les répertoires est changé pour raspbian. (Merci à Antonio Olivares pour la remontée de l'échec sur la nouvelle version de Raspberry Pi !)
- 2020-11-22 : correction recette latex.sh. La recette intègre désormais des paquets (ams, babel core, cyrillic, graphics, tools — les fontes ec) qui étaient disponibles séparément mais qui sont requis. En conséquence, si ces paquets obsolètes sont installés, ils sont automatiquement désinstallés après l'installation de LaTeX. Problème : les nouveaux fichiers étaient installés dans le même répertoire que celui de l'ancien paquet, et si l'ancien paquet avait été installé, les (nouveaux) fichiers, ayant remplacé les anciens étaient donc désinstallés... Corrigé. Merci à Antonio Olivares !
- 2020-11-22 : correction RISK et kerTeX_T. correction RISK pour une instruction "cd répertoire_alternatif" qui peut échouer (Linux) ; corrections RISK et kerTeX pour la compilation statique sous les distributions Linux (testé sous Android). Merci une fois encore à Antonio Olivares pour la remontée d'information !
- 2020-11-18 : Mise à jour RISK pour FreeBSD et correction recettes russian et ukrainian. RISK : Chercher spécifiquement clang et ne pas récupérer c99 qui n'accepte que les options POSIX. Russian et ukrainian : docstrip, le nom batchfile doit être conservé. Merci à Antonio Olivares pour le rapport !
- 2020-11-17 : Mise à jour RISK pour OpenBSD et arm64. Des correctifs ont été appliqués pour la compilation sur OpenBSD ; les paramètres ont été ajoutés pour arm64 (aarch64). Merci à Asad Lodhia pour les rapports et les essais !
- Correction des recettes de langue LaTeX (babel). L'autogénération des fichiers est réalisée via docstrip, qui est fourni par LaTeX et doit donc être réalisée par latex et non tex — docstrip est accessible par tex si et seulement si babel@tex a été ajouté. Merci à Antonio Olivares pour le rapport d'erreur !
- Ajout de la recette carlisle@latex pour diverses feuilles de style ou de macros dues à David Carlisle (scalefnt.sty par exemple).
Les sources sont disponibles sous git ici :
- Le système de compilation et d'installation RISK
- La conversion de WEB en C
- Le coeur du système
- Les recettes pour les extensions (LaTeX etc.)
La version courante publiée est la stable : 0.99.25.01 (correction pour Plan9 — pkg). (Pas de nouvelle fonctionnalité : correction de mp2ps pour Pi.)
Les règles de nommage des versions
L'identifiant de version de kerTeX est composé, assez classiquement, de quatre nombres séparés par des points : majeure.mineure.révision.rustine.
Lorsque la mineure est 99, cela signifie que nous allons vers majeure+1 ; à savoir en l'occurrence, n.99.x.x signifie que l'on se dirige vers la majeure n+1.
Lorsque mineure et révision sont à 99, c'est une alpha de majeure+1, la version de rustine étant incrémentée lorsque des modifications "internes" cumulées sont suffisamment stables ou significatives pour que la version soit publiée.
Lorsque la version est de la forme majeure.99.99.99 il s'agit d'une beta, dernière publication pour vérification avant le passage en majeure+1.
Actualités : le support de la version présente
Comme l'indique la version, nous nous dirigeons finalement vers la majeure 1, mais il existe encore certaines étapes à franchir :
- L'affichage OGO (METAFONT) en rio pour Plan9 ;
- Le support de MS Windows en natif avec Msys2 (cela concerne l'infrastructure de compilation et d'installation RISK) ;
- L'affichage OGO (METAFONT) en GDI pour MS Windows ;
- L'amélioration de l'interface de gestion des paquets (voir plus bas) ;
- L'extension de ε-TeX pour inclure des primitives requises désormais par LaTeX depuis la version 2020-10-01-PL2, au-delà des primitives ε-TeX, et qui se trouvent dans les moteurs PDF — mais nous n'implémenterons que les primitives qui ne sont pas relatives à PDF : le format de sortie restera le DVI — que nous prévoyons d'étendre aux fonctions graphiques mais plus tard. Nous essaierons aussi d'inclure les primitives de micro-typographie de PDFTeX. (Inessentiel pour l'instant : le moteur s'appellera reTeX, ζTeX — la lettre suivant ε — ou kTeX — pour KerTeX.)
Comme la base du système (ce qui est précisément relatif aux fontes fournies dans la base ou aux deux moteurs de rendu : TeX et ε-TeX) est très stable, et afin de pouvoir consacrer le maximum du temps disponible (clairsemé) à ce qu'il reste à faire, les corrections porteront sur le support des différents systèmes d'exploitation (l'infrastructure RISK) pour corriger ce qui poserait problème sur une version courante d'un système supporté ou pour un nouveau système, mais nous n'ajouterons pas d'autres paquets aux recettes existantes qui ont toutes été mises à jour avec la dernière version présente sur CTAN fin octobre 2020 (entre les 26 et 28 octobre 2020), hormis pour LaTeX puisque, précisément, la toute dernière version nécessite un moteur qui n'est pas fourni par kerTeX pour l'instant.
Pour la gestion des paquets, qui comprend une part dépendant des systèmes d'exploitation hôtes, la mise à jour est désormais possible en utilisant le système même de gestion des paquets : la recette tools@pkg.sh permet d'installer une mise à jour ; la recette rcp@pkg.sh permet de récupérer toutes les recettes existantes.
Le niveau utilisateur : les recettes (rcp) et les paquets
Nous avons finalement donné un nom aux morceaux de script donnant les instructions pour récupérer, mettre en forme et installer les ajouts au système de base et nous avons ajouté certaines fonctionnalités pour dissocier le niveau utilisateur (recettes et paquets) du noyau.
À l'usage, les principes essentiels se révèlent bons. Il y a par contre quelques points à améliorer pour faciliter l'administration, comme permettre par exemple de compiler récursivement un paquet en compilant ce dont il dépend, sans l'installer (sans basculer sous root quand l'installation est non privilégiée). Ces points, déjà plus ou moins en cours d'implémentation, seront réglés avant la publication de la 1.0.
Comme indiqué ci-dessus, LaTeX — qui n'est pas un moteur mais une infrastructure de macros TeX — ne pouvait plus s'installer sur le moteur TeX il y a quelques mois, exigeant les extensions ε-TeX, et nous avons dû modifier la recette latex.sh pour nous adapter, ce qui était possible puisque kerTeX fournit ε-TeX ; mais désormais l'exigence d'extensions des moteurs PDF nous arrête à la dernière version compatible celle de février 2020. Cela ne devrait pas poser le moindre problème aux utilisateurs, car c'est, au mieux, la dernière version courante sur la publication TeX Live de mars de cette année, et il devrait s'écouler de longs mois avant que l'utilisateur final puisse noter la moindre différence entre la "nouvelle" version et l'ancienne...
Le système de recettes avait cet avantage que, de la manière dont il est conçu, la recette était en fait valable même pour les nouvelles versions, sur CTAN, dès lors que la procédure de génération des fichiers n'était pas changée et que les formats qui devaient être compilés étaient compatibles avec le moteur sélectionné. C'était donc réellement un TeX "live", puisque l'utilisateur recupérait en fait directement sur CTAN la dernière version à jour.
Cet avantage était aussi, par le fait même, un inconvénient : si une modification drastique était opérée, la recette échouait ; et comme il n'y avait pas d'historique, il fallait intervenir pour mettre à jour la recette.
Avec la modification majeure de LaTeX, nous avons dû adopter une approche plus sûre (tout en conservant la possibilité de la mise à jour en temps réel...). Les sources CTAN sont en fait, pour la version supportée, mises en cache sur le serveur http de KerGIS.com.
Les objectifs à plus long terme
Il y en a un certain nombre, pour ne pas dire un nombre certain. Afin de pouvoir consacrer le temps limité que nous pouvons consacrer à kerTeX, il ne seront pas évoqués pour l'instant. Commençons par le commencement : ce qui est évoqué plus haut pour la publication de la version 1.0 !
tlaronde @ polynum.com
(utilisez l'adresse avec votre logiciel de messagerie)