Recherche sur le ctan : c'est mal foutu

Bonjour, voici un cas d’usage.

Je vois ce début de code quelque part :

%%%
\documentclass[12pt]{article}
\usepackage{algpseudocodex}
\usepackage{algorithm}
%%%

Après avoir après succès trouvé la documentation sur algpseudocodex, je me dis « passons à algorithm ».

Donc j’entre « algorithm » dans le champ de recherche sur la page d’accueil du CTAN, et je clique sur Search, ce qui conduit à la page suivante : CTAN: Search algorithm

Résultat : 5 pages de recherche (c’est exhaustif, hein… Non, pas si vite).

Premiers résultats :

  • Package forest
  • Package arrayjobx
  • Package gotoh
  • Package algorithmicx
  • Package alg
  • Package pst-intersect
  • Package arrayjob
  • Package basicarith
  • Package computational-complexity
  • Package ginpenc (Modification of inputenc for German)
  • Package graphbase
  • Package newalg
  • Package t1infos (Utilities for PostScript fonts)

Etc. Des trucs très potentiellement très éloignés de la notion d’algorithme (ou alors il faut englober tous les packages, qui sont tous constitués d’un algorithme d’une certaine façon), mais pas MON package « algorithm » pour lequel je recherche une information.

Déjà on peut se demander sur quel critère le tri est effectué… Pas l’ordre alphabétique, ni certainement la pertinence (newalg est après ginpenc).

Bref, je fouille les 5 pages sans trace de ce package « algorithm » (qui existe bien, le code dont j’ai montré le début du préambule fonctionne, enfin avec un bug dans une certaine situation puisque c’est l’objet d’une question sur tex.SE).

Certes, je pourrais utiliser « texdoc algorithm » pour me renseigner sur le package, mais je suis sur un navigateur web en lisant la question, et donc il est plus rapide d’ouvrir le site du CTAN (ce qui certes génère beaucoup de trafic de la part d’utilisateurs comme moi qui ont le réflexe d’aller voir sur le CTAN plutôt que la documentation locale sur son ordinateur).

Alors, bon, essayons texdoc :

$ texdoc algorithm
Unfortunately, there are no good matches for “algorithm”.

Here are the top three matches:
1 latex/algorithms/algorithms.pdf
2 latex/algorithms/README
3 latex/algorithms/THANKS

There may be online documentation available for “algorithm” at
https://texdoc.org/serve/algorithm/0
This documentation may be for a different version than you have installed.

Mon hypothèse est que (hélas, signes d’un ancien temps…) le package algorithm est probablement désormais enfoui dans un autre « bundle » (autre concept d’un ancien temps), ce qui le rend difficilement trouvable.

Bon, je sors l’artillerie lourde, il ne reste que cela.

Je cherche algorithm.sty (doute : ça aurait pu être algorithm.tex si c’est un très vieux truc) dans le dossier texlive de mon ordinateur. Je le trouve… dans /usr/local/texlive/2025/texmf-dist/tex/latex/algorithms/algorithm.sty

Pourquoi dans le dossier du package algorithms (avec un « s » à la fin) ?

Mais pour algorithm.pdf, je peux aller me brosser.

OK, regardons dans la documentation du package algorithms (lequel se trouve en page 4 des résultats de recherche sur « algorithm » sur le CTAN).

Ah, en page 4… Le tri des réponses est par ordre croissant de la dernière mise à jour (les packages les plus anciens, les plus abandonnés sont donc affichés en premier, ça c’est pertinent ! Comme ça, les utilisateurs de LaTeX utilisent des vieux trucs dépassés plutôt que des packages modernes lorsqu’il s’agit de chercher un package qui fait tel ou tel truc).

Voyons donc cet « algorthms » (avec un s final) :

Package algorithms
A suite of tools for typesetting algorithms in pseudo-code
Last modified in Catalogue: 2025-09-11 08:36

On va sur la page liée : CTAN: Package algorithms

Boum !

Version 0.1 (gloups !)
Copyright 1994 Peter Williams (re-gloups !)

Et à droite on voit : 2009-08-25 CTAN update: algorithms pour la mise à jour la plus récente.

Alors pourquoi sur la page des résultats on lit Last modified in Catalogue: 2025-09-11 08:36 ?

Bon, sans surprise le document https://mirrors.ctan.org/macros/latex/contrib/algorithms/algorithms.pdf parle de algorithms, pas du package algorithm sans s.

J’essaye d’y voir plus clair sur la page CTAN: /tex-archive/macros/latex/contrib/algorithms qui affiche tous les fichiers, mais nada, pas de algorithm.sty.

On lit toutefois dans la section README :
The “algorithms” bundle provides two environments, “algorithmic” and
“algorithm”, which are designed to be used together but may be used
separately.

Alors peut-être que le fichier algorithms.dtx produit deux fichiers .sty, dont le algorithm.sty recherché ?

Au final j’ai la réponse dans les premières lignes de algorithm.sty :

%%
%% This is file algorithm.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% algorithms.dtx (with options: algorithm’)
%% This is a generated file.

Donc c’est bien avec algorithms.dtx qu’on produit algorithm.sty.

MAIS :

  1. le fichier algorithms.pdf (avec un s) ne parle nulle par de \usepackage{algorithm}
  2. il n’y a aucune documentation de ce package.

Est-ce qu’en 2026 il ne serait pas temps de faire du ménage dans le fouillis des packages ?

Que fait algorithms (avec un s) par rapport à algorithm (sans s) ?

Pourquoi il n’y a pas d’alias dans les recherches du CTAN ? Rechercher algorithm renvoie directement algorithms (et pas en page 4). Pourquoi la page CTAN: Package algorithms ne dit pas un traître mot sur le package algorithm ? Vu que le package est abandonné (dernière mise à jour il y a plus de 15 ans), c’est au CTAN de prendre le relais et de guider les utilisateurs.

Ça serait rendre un fier service aux utilisateurs de mieux réorganiser tout cela.

Avec pourquoi pas une page dédiée https://ctan.org/pkg/algorithm (sans s) qui indique explicitement que ce package est obsolète et basta (il est manifestement obsolète, il n’a même pas une documentation dédiée).

Rendre LaTeX accessible n’est pas gagné…

Mais merci aux bénévoles du CTAN qui font ce qu’ils peuvent durant leur temps libre. Je suppose que la situation actuelle est liée à un conservatisme qui fait que l’on n’ose pas changer ce qui a été mis en place il y a 3 décennies. Et que l’on n’ose pas dire : ce package c’est bon, il est obsolète en 2026, d’ailleurs son auteur n’est plus de ce monde et personne ne l’a repris.
Obsolète ne veut pas dire qu’on le supprime des distributions (afin que les compilations continuent de fonctionner), obsolète veut dire qu’il est temps de passer à autre chose, et qu’on décourage très fortement son utilisation (en affichant une page dédiée). Surtout lorsqu’il n‘est accompagné d’aucune documentation.

Il y a combien de ces packages « cachés » dans une Tex Live ?

Bonne année 2026.

Bonjour à toutes et à tous,

Je me permets de remonter un petit cas d’usage concret qui illustre
un point de friction récurrent pour les utilisateurs de LaTeX, en
particulier les débutants ou ceux qui travaillent sur navigateur sans
accès local à texdoc.

Contexte du problème En cherchant de la documentation pour
le package algorithm (utilisé dans \usepackage{algorithm}

  • algpseudocodex ou algpseudocode), une recherche simple sur
    CTAN: Search algorithm renvoie plus de 5 pages de
    résultats, sans que le package concerné n’apparaisse clairement.
    Les premiers hits sont des packages très éloignés (forest, arrayjobx,
    gotoh, algorithmicx, etc.), et le bundle pertinent « algorithms »
    (avec un « s ») n’arrive qu’en page 4, trié par date de dernière
    modification catalogue (ce qui met en avant des packages très anciens).

Une fois sur CTAN: Package algorithms, on découvre que :

Il s’agit d’un bundle de 1994 (version 0.1, copyright
Peter Williams), dernière mise à jour significative en 2009.
Le source algorithms.dtx génère bien deux fichiers : algorithm.sty
(environnement flottant algorithm) et algorithmic.sty (pseudo-code).
La documentation algorithms.pdf ne mentionne presque jamais
\usepackage{algorithm} explicitement ; elle parle surtout des
environnements algorithm et algorithmic. Il n’existe pas de page
dédiée https://ctan.org/pkg/algorithm (404), ni d’alias/redirection
dans la recherche. Conséquences pour l’utilisateur

Recherche CTAN → confusion → perte de temps importante. texdoc
algorithm → pas de bon match, seulement des suggestions indirectes.
Le package est toujours inclus dans TeX Live 2025/2026 (pour la
compatibilité), mais il est de facto obsolète : pas de maintenance
depuis 15+ ans, pas de doc dédiée pour algorithm.sty, mécanismes
anciens (dépendance à float, etc.). Proposition concrète Serait-il
possible d’envisager l’un ou l’autre des aménagements suivants
(par ordre de priorité décroissante) ?

Créer une page https://ctan.org/pkg/algorithm qui : redirige
automatiquement vers CTAN: Package algorithms, affiche un
bandeau clair du type : « Le package algorithm est fourni par le
bundle algorithms (obsolète depuis 2009). Pour de nouveaux documents,
préférez algorithmicx / algpseudocode, algorithm2e ou clrscode3e. »
Améliorer la recherche CTAN pour : prioriser les bundles/packages les
plus pertinents/populaires (par ex. via nombre de téléchargements ou
citations), créer des alias automatiques (rechercher « algorithm » →
remonte « algorithms » en premier résultat). Ajouter dans le README
ou la page du bundle une section « Migration / Alternatives modernes »
listant explicitement algorithmicx, algorithm2e, etc., avec liens CTAN.
Je suis conscient que CTAN est maintenu par des bénévoles sur leur
temps libre, et que la rétrocompatibilité est sacrée (personne ne veut
casser des documents de 20-30 ans). Marquer un package comme « obsolète
» sans le supprimer des distributions serait un excellent compromis :
cela guide les nouveaux utilisateurs vers des outils mieux maintenus, tout
en laissant l’ancien disponible pour la compilation des vieux fichiers.

Merci d’avance pour votre écoute et pour tout le travail invisible
que vous réalisez au quotidien. N’hésitez pas si vous souhaitez plus
de détails sur le cas concret qui m’a amené à écrire ce message
(bug précis sur tex.SE + code minimal).

Bonne année 2026 et bon courage pour toutes les contributions TeX !

Bien cordialement,

Bernard Schœnacker
Technicien Méthodes – Rédacteur technique
Fénétrange

Le 4 janv. 2026 à 19:20, Xavier Scheuer x.scheuer@gmail.com a écrit :

Bonjour,

Je ne sais pas si cela aide mais on trouve assez facilement (en utilisant le moteur de recherche n°1) le fichier algorithm.sty
dans un dossier obsolete du CTAN (1993-04-02)
https://mirrors.ctan.org/obsolete/macros/latex209/contrib/misc/algorithm.sty

Cordialement,
Xavier

Merci, mais en fait le fichier est bien présent sur l’ordinateur, toutefois dans une arborescence différente, comme indiqué dans mon mail précédent :

/usr/local/texlive/2025/texmf-dist/tex/latex/algorithms/algorithm.sty

Le problème est surtout que ce package (obsolète) est encore employé et qu’il est difficile de trouver de l’information à son sujet sur le CTAN. En particulier il n’y a aucune trace dans la documentation pdf de algorithms (avec un s) alors que ce dernier l’englobe dans ses dossiers.

Autre exemple (toujours tiré d’une question sur tex.SE) : un utilisateur passant de Windows à Linux souhaite des informations concernant l’emploi de MikTeX sur sa distribution Linux, en précisant qu’il ne peut pas employer TeX Live car de nombreux packages qu’il emploie ne sont pas sur TeX Live. Je sais qu’on peut installer des packages dans un dossier texmf dans le dossier Bibliothèque de l’utilisateur courant afin que le fichier .sty concerné soit trouvé lors d’une compilation.

Incidemment, en voyant une autre question de l’utilisateur en question, je tombe sur un des fameux packages employés qui ne se trouve pas dans TeX Live : CTAN: Package tkz-linknodes
Ce package est bien marqué « obsolète » par son auteur, via le tampon « obsolète » visible en filigrane sur la page en question.

Dans le cas présent, je suis quasi certain avoir déjà vu un autre package ayant une fonctionnalité similaire à tkz-linknodes, mais comment le retrouver parmi les près de 7000 packages actuellement disponibles ?

La page du CTAN renvoie vers les sujets en rapport :

  • Graphics use
  • PGF TikZ

Ça, ça va bien m’aider…

Comment retrouver les packages qui permettent de tracer des liens entre différends « nœuds » d’une page ?

La page des suggestions en rapport avec tkz-linknodes ne me permet pas de trouver un truc très en rapport : CTAN: Suggestions for tkz-linknodes

Ainsi je ne suis pas trop convaincu par cpssp: Draw protein secondary structures.

Il faudrait quelque chose similaire à CTAN: Package The Comprehensive LaTeX Symbol List, mais pour les packages, pas pour les glyphes.

(NB : là aussi, c’est un reliquat d’une époque passée : on peut toujours chercher — en vain — le .sty correspondant au « package » compréhensive. Pourquoi nommer cela « package » — c’est dans /pkg/ — alors que ce n’est pas un « package », mais juste une documentation, certes TRÈS UTILE, mais une documentation, pas un fichier .sty).

Nous avons eu il y a quelques semaines un exposé par l’association GUTenberg fort intéressant sur le fonctionnement du CTAN, avec le partage d’un document fort agréable sur ce qui se prépare quant à la refonte de l’aspect graphique du site du CTAN — ce relooking sera très beau — mais je ne sais pas si les fondations seront également revues, il ne me semble pas… Le travail serait tellement conséquent, je sais bien.

Bon, ChatGPT me suggère tikzmark (CTAN: Package tikzmark). Mais il m’invente aussi un package nommé tikzmark++ qui serait plus robuste (surtout avec un + dans le nom…) ou cooltooltips (CTAN: Package cooltooltips) ou fancyref (CTAN: Package fancyref) qui eux n’ont rien à voir. Après l’avoir relancé ChatGPT parle aussi de hf-tikz (CTAN: Package hf-tikz) qui permet également de belles choses mais n’est pas le package auquel j’ai pensé.

On voit ici qu’une classification humaine est encore nécessaire.

J’ai pourtant vu un ou plusieurs autres packages qui faisaient des liens avec des lignes à angles droits en consultant très régulièrement les mises à jour du CTAN (c’est donc un package qui a été mis à jour disons durant les 5 dernières années).

Bonjour,

Le problème n’est pas l’absence d’un package dédié sur CTAN,
ni l’outil de distribution.

Les fonctionnalités recherchées (repères dans la page, liens entre
éléments, tracés orthogonaux) sont déjà couvertes nativement par
TikZ, via overlay, remember picture et, si besoin, tikzmark.

Chercher un équivalent à des packages obsolètes est une fausse
piste : la solution consiste à utiliser les primitives TikZ actuelles,
documentées et maintenues.

Je vous invite donc à commencer par la documentation TikZ (chapitres
Overlays, Nodes and positioning, Paths and operators), avant de chercher
des extensions supplémentaires.

Cordialement,

Bernard Schœnacker
57930 Fénétrange

Rédacteur technique industriel
Technicien méthodes

----- quark67 quark67@icloud.com a écrit :

Le 4 janv. 2026 à 19:20, Xavier Scheuer x.scheuer@gmail.com a écrit :

Bonjour,

Je ne sais pas si cela aide mais on trouve assez facilement (en utilisant le moteur de recherche n°1) le fichier algorithm.sty
dans un dossier obsolete du CTAN (1993-04-02)
https://mirrors.ctan.org/obsolete/macros/latex209/contrib/misc/algorithm.sty

Cordialement,
Xavier

Merci, mais en fait le fichier est bien présent sur l’ordinateur, toutefois dans une arborescence différente, comme indiqué dans mon mail précédent :

/usr/local/texlive/2025/texmf-dist/tex/latex/algorithms/algorithm.sty

Le problème est surtout que ce package (obsolète) est encore employé et qu’il est difficile de trouver de l’information à son sujet sur le CTAN. En particulier il n’y a aucune trace dans la documentation pdf de algorithms (avec un s) alors que ce dernier l’englobe dans ses dossiers.

Autre exemple (toujours tiré d’une question sur tex.SE) : un utilisateur passant de Windows à Linux souhaite des informations concernant l’emploi de MikTeX sur sa distribution Linux, en précisant qu’il ne peut pas employer TeX Live car de nombreux packages qu’il emploie ne sont pas sur TeX Live. Je sais qu’on peut installer des packages dans un dossier texmf dans le dossier Bibliothèque de l’utilisateur courant afin que le fichier .sty concerné soit trouvé lors d’une compilation.

Incidemment, en voyant une autre question de l’utilisateur en question, je tombe sur un des fameux packages employés qui ne se trouve pas dans TeX Live : CTAN: Package tkz-linknodes
Ce package est bien marqué « obsolète » par son auteur, via le tampon « obsolète » visible en filigrane sur la page en question.

Dans le cas présent, je suis quasi certain avoir déjà vu un autre package ayant une fonctionnalité similaire à tkz-linknodes, mais comment le retrouver parmi les près de 7000 packages actuellement disponibles ?

La page du CTAN renvoie vers les sujets en rapport :

  • Graphics use
  • PGF TikZ

Ça, ça va bien m’aider…

Comment retrouver les packages qui permettent de tracer des liens entre différends « nœuds » d’une page ?

La page des suggestions en rapport avec tkz-linknodes ne me permet pas de trouver un truc très en rapport : CTAN: Suggestions for tkz-linknodes

Ainsi je ne suis pas trop convaincu par cpssp: Draw protein secondary structures.

Il faudrait quelque chose similaire à CTAN: Package The Comprehensive LaTeX Symbol List, mais pour les packages, pas pour les glyphes.

(NB : là aussi, c’est un reliquat d’une époque passée : on peut toujours chercher — en vain — le .sty correspondant au « package » compréhensive. Pourquoi nommer cela « package » — c’est dans /pkg/ — alors que ce n’est pas un « package », mais juste une documentation, certes TRÈS UTILE, mais une documentation, pas un fichier .sty).

Nous avons eu il y a quelques semaines un exposé par l’association GUTenberg fort intéressant sur le fonctionnement du CTAN, avec le partage d’un document fort agréable sur ce qui se prépare quant à la refonte de l’aspect graphique du site du CTAN — ce relooking sera très beau — mais je ne sais pas si les fondations seront également revues, il ne me semble pas… Le travail serait tellement conséquent, je sais bien.

Bon, ChatGPT me suggère tikzmark (CTAN: Package tikzmark). Mais il m’invente aussi un package nommé tikzmark++ qui serait plus robuste (surtout avec un + dans le nom…) ou cooltooltips (CTAN: Package cooltooltips) ou fancyref (CTAN: Package fancyref) qui eux n’ont rien à voir. Après l’avoir relancé ChatGPT parle aussi de hf-tikz (CTAN: Package hf-tikz) qui permet également de belles choses mais n’est pas le package auquel j’ai pensé.

On voit ici qu’une classification humaine est encore nécessaire.

J’ai pourtant vu un ou plusieurs autres packages qui faisaient des liens avec des lignes à angles droits en consultant très régulièrement les mises à jour du CTAN (c’est donc un package qui a été mis à jour disons durant les 5 dernières années).