Profitez des offres Memoirevive.ch!
TeX Live Utility, pour maintenir à jour votre distribution LaTeX

Cher lecteur, chère lectrice, je suppose ici que vous êtes un utilisateur ou une utilisatrice de LaTeX sur Mac OS X — quel que soit votre niveau — et que vous avez installé la dernière version de MacTeX (et donc TeX Live 2009) sur votre magnifique machine estampillée d'une pomme. Si vous ne satisfaites pas à ces pré-requis, autant voir les choses en face : cet article ne devrait guère vous passionner ;-).

Donc vous utilisez LaTeX. Mettons que vous avez entendu parler d'un nouveau paquet, ou d'une nouvelle version d'un paquet déjà existant qui en corrigerait un bug ou y apporterait une nouvelle fonctionnalité.

Ou bien vous faites partie de cette race étrange, de ceux ou celles qui ne peuvent voir passer une nouveauté ou une mise à jour informatique sans se ruer sur elle, même quand il s'agit de paquets LaTeX.

Mais là vous reculez devant la tâche, car aller sur CTAN (où est stocké et archivé tout ce qui peut se rapporter à TeX et LaTeX), y trouver, télécharger et surtout installer sur votre machine le ou les paquets mis à jour représente quelque chose de trop ardu pour vous.

C'est là qu'intervient TeX Live Utility, l'interface Aqua du TeX Live Manager, pour vous simplifier grandement la tâche.

image

Tout d'abord, faisons une petite piqûre de rappel.

Depuis sa version 2008, la distribution TeX Live contient un « gestionnaire de paquets » appelé TeX Live Manager, lequel permet de procéder à l'installation, à la suppression, à la description et à la mise à jour des paquets et différents programmes qu'elle contient. Toutes ces manipulations étaient bien sûr possibles auparavant, mais beaucoup plus lourdes à réaliser.

On peut utiliser le TeX Live Manager de plusieurs façons. Tout d'abord via le Terminal, l'interface originelle. Il se présente alors comme l'utilitaire en ligne de commande tlmgr. Comme je suis soucieux de ménager les allergiques au Terminal, qu'on trouve aussi parmi les utilisateurs de LaTeX (contrairement à ce que François ou Caplan peuvent penser), je ne vais pas traiter de cette interface ici. Les curieux peuvent quand même entrer au Terminal

tlmgr --help

ou

man tlmgr

ou encore consulter cette page pour voir comment cela fonctionne.

La deuxième interface utilisable utilise X11. Déjà bien plus convivial, on s'en doute, le TeX Live Manager façon X11 dans sa première mouture a été présenté en détail sur ce site même il y a un peu plus d'un an. Aujourd'hui, cependant, sa présentation a drastiquement changé. Pour l'ouvrir, on entre (comme auparavant)

sudo tlmgr --gui

S'ouvre alors cette fenêtre :

image

Mais il y a également des allergiques à X11 parmi les utilisateurs de LaTeX sur Mac OS X (mais si !). C'est pour eux qu'Adam Maxwell a développé son TeX Live Utility, qu'il a placé sous licence libre de type BSD. Il s'agit ni plus ni moins d'une interface Aqua au TeX Live Manager, qui tourne sur Leopard et Snow Leopard. Sa première version est sortie un peu après TeX Live 2008, et il est maintenant fourni avec la dernière mouture de MacTeX, celle qui contient TeX Live 2009.

Si vous avez installé le dernier MacTeX, vous trouverez le TeX Live Utility dans le dossier /Applications/TeX. Le numéro de version que nous avons testé est 0.86, la plus récente à ce jour, mais il n'y a pas eu de grand chamboulement dans l'interface depuis la dernière sortie de MacTeX, donc ce test peut s'appliquer sans problème à la version qu'il contient. Si vous en sentez la nécessité, vous pouvez télécharger la version la plus récente ici.

Une fois TeX Live Utility lancé, vous devriez obtenir cette fenêtre :

image

C'est la fenêtre principale du TeX Live Utility. On y trouve deux onglets : le premier, intitulé « Manage Updates », liste les packages de TeX Live 2009 déjà installés sur votre machine pour lesquels une mise à jour est disponible.

Si votre TeX Live Utility a bien été configuré (il est censé l'être), et si votre connexion internet est active, la recherche des mises à jour disponibles doit s'effectuer au démarrage. Vérifiez en lisant les messages dans la partie basse de la fenêtre. Sinon, lancez-la en cliquant sur l'icône « Refresh List » (raccourci « commande-R »), ou en sélectionnant le menu « Actions/Refresh Package List ».

Si le message

Mirror URL looks okay for TeX Live 2009

s'affiche, alors c'est bon. Sinon, la première chose à faire est de vérifier si TeX Live Utility a bien été configuré. Pour cela, ouvrez les Préférences de l'application :

image

Le champ du haut est le plus important. Il doit contenir une adresse menant à un serveur externe qui soit un des « miroirs » de la distribution TeX Live courante. Les mises à jour effectuées sur les différents paquets et programmes de la distribution TeX Live courante sont répercutées très vite sur ces miroirs, et c'est sur l'un d'eux que TeX Live Utility va les repérer et vérifier si oui ou non elles ont déjà été installées sur votre machine. Si non, il va les lister dans cette fameuse fenêtre « Manage Updates ».

L'adresse qui est mentionnée par défaut devrait convenir dans tous les cas :

http://mirror.ctan.org/systems/texlive/tlnet

Elle répercute en effet automatiquement la demande de connexion au « miroir » le plus proche de chez vous.

Si ce système ne vous convient pas, vous pouvez indiquer explicitement un miroir donné en ouvrant sur le menu déroulant à droite de l'adresse :

image

Ne connaissant à vrai dire pas grand'chose à ces systèmes de miroirs, je ne me suis pour ma part pas risqué à modifier le réglage par défaut, d'autant qu'il marche très bien chez moi. If it ain't broken, don't fix it, dit-on…

Profitez-en aussi pour vérifier que devant le champ « TeX programs » se trouve mentionnée le chemin /usr/texbin. Il s'agit du chemin menant aux exécutables de la distribution TeX (donc TeX Live fort probablement) installée sur votre machine. Vous ne devriez pas avoir besoin d'indiquer vous-même ce chemin (ce qui se fait par le bouton « Choose ».) Je parlerai plus loin des autres champs des Préférences.

Pour l'anecdote, chez moi ce message s'affiche souvent dans la console après l'établissement de la liste des paquets mis à jour :

 Standard error from `/usr/texbin/tlmgr --machine-readable --repository

D'après Adam Maxwell que j'ai consulté là-dessus, ce message vient du serveur externe et le problème signalé serait inoffensif. De fait, je n'ai pas eu de problèmes particuliers, malgré ce message.

Supposons maintenant que la liste des paquets qui ont été mis à jour sur le serveur externe s'est correctement affichée. À partir de là, vous avez deux options.

  • Vous optez pour une mise à jour générale, et dans ce cas il suffit de cliquer sur le bouton « Update All » de la barre d'outils (raccourci-clavier « commande-U ») ou de sélectionner le menu « Actions/Update All Packages ». Suivant le nombre de mises à jour à effectuer, cela peut prendre un certain temps, donc soyez patient.
  • Vous préférez « cibler » et mettre à jour seulement un ou quelques paquets donnés. Dans ce cas, cherchez lesdits paquets dans la liste, classée alphabétiquement par défaut. Au besoin, aidez-vous du champ de recherche (Search) figurant dans la barre d'outils. Il suffit alors de cliquer sur les noms du paquet dont la mise à jour vous intéresse. Si vous en voulez plusieurs, « commande-cliquez » sur leur nom respectif (le « majuscule-clic » marche aussi si vous voulez en sélectionner plusieurs d'affilée sur l'écran).

    image

    Il ne reste plus qu'à cliquer sur le bouton « Update » (raccourci « maj-commande-U ») de la barre d'outils, ou à sélectionner le menu « Actions/Update Selected Packages », à patienter un peu, et vous y êtes !

Décrivons maintenant l'autre onglet de la fenêtre principale, intitulé « Manage Packages ».

image

Celui-ci liste (après un temps de chargement initial) tous les paquets disponibles sur le serveur externe, et précise s'ils sont déjà installés (installed), partiellement installés (mixed) ou pas du tout (Not installed), sur votre machine à vous : c'est ce qui est indiqué dans la colonne Status en vis-à-vis des paquets en question.

Il vous est alors loisible de sélectionner dans cette liste l'un ou l'autre de ceux parmi les paquets qui sont installés chez vous, de la même façon que précédemment, et de les supprimer, en utilisant le bouton Remove de la barre d'outils, qui s'active dès qu'un nom de paquet déjà installé a été sélectionné. On peut aussi utiliser le menu « Actions/Remove Selected Packages ».

Simplement, je ne vois pas trop l'intérêt de faire une chose pareille : je n'ai jamais entendu parler d'un paquet corrompant le reste d'une distribution au point de devoir le supprimer. Mais vous êtes libre de faire ce que vous voulez !

Bien plus intéressante est la possibilité d'installer chez vous les paquets signalés comme non installés, ou partiellement installés. Là aussi, on sélectionne les paquets qui vous intéressent, mais on clique sur le bouton Install qui s'active pour l'occasion, ou on sélectionne le menu « Actions/Install Selected Packages ».

Que l'on soit dans l'onglet Manage Updates ou dans Manage Packages, TeX Live Utility offre une possibilité très intéressante : la possibilité d'obtenir facilement des infos sur un paquet donné, si on cherche à en savoir plus sur lui. Il suffit en effet de sélectionner le paquet en question et de cliquer sur l'icône Show Info, ou d'utiliser le classique raccourci « commande-I ». S'ouvre alors une fenêtre de ce type :

image

En haut à droite, une description écrite du paquet sélectionné, suivie en dessous de liens hypertexte vers les fichiers constituants ce paquet, à commencer par sa documentation. À gauche apparaissent uniquement des alias des fichiers de documentation en PDF, à double-cliquer si on veut les ouvrir. Enfin, en bas, les liens vers les fichiers constitutifs du paquet hors la documentation en PDF. Un simple clic dessus dévoile leur arborescence, un double-clic les ouvre.

Bref, TeX Live Utility nous offre la possibilité de tout savoir, et rapidement, sur un paquet donné, et nous évite ainsi d'avoir à fouiner dans la distribution ou à utiliser des outils en ligne de commande pour parvenir à ce paquet et à sa doc. Bien pratique, vraiment !

Signalons une fonctionnalité intéressante du TeX Live Manager, non reliée aux paquets, que reprend TeX Live Utility : la possibilité de changer le format de papier prévu par défaut pour les différents programmes TeX (pdfTeX/pdfLaTeX, XeTeX, XeLaTeX, etc.). Pour cela, il faut ouvrir le menu « Actions » et choisir l'option « Change Paper Size … ». S'ouvre alors la sous-fenêtre suivante :

image

Si vous vous trouvez en Europe et si c'est « Letter » qui est coché, qui est le format standard américain, vous avez certainement tout intérêt à cocher plutôt « A4 », le standard européen, et à cliquer ensuite sur « Accept » !

Revenons maintenant à la fenêtre des Préférences de TeX Live Utility, pour y relever les autres possibilités de configuration qu'elle offre :

image

On y trouve a possibilité d'installer les mises à jour pour tous les utilisateurs du Mac (Install updates for all users). Cela peut être intéressant si vous êtes administrateur de votre système et si plusieurs utilisateurs vous font confiance pour tout ce qui est du ressort de leur distribution TeX. Pour ma part, je n'ai pas eu à m'en soucier.

Si les messages de console ne vous font pas peur, il peut être intéressant d'afficher ce qui se passe dans les coulisses du TeX Live Utility (Show progress in system log). C'est la seule option non cochée par défaut, sans doute pour nous ménager :-), bien qu'ici elle est activée. Par contre, je n'ai pas vu de différence avec ce qui était affiché avant, quand elle était décochée…

Les deux dernières options offrent la possibilité de synchroniser votre installation de TeX Live avec celle du serveur externe lors d'une mise à jour. Autrement dit, installer les paquets qui figurent sur le serveur mais pas sur votre ordinateur (Add new packages to match the server when updating), et/ou effacer les paquets présents dans votre distribution mais pas sur le serveur externe (Remove packages to match the server when updating). Je suppose que vous serez content de les désactiver si vous avez un paquet dans votre distribution qui ne figure pas dans l'arborescence habituelle de TeX Live, ou si au contraire vous êtes allergique à un paquet y figurant.

Ceux qui veulent personnaliser la présentation de la barre d'outils de TeX Live Utility cliqueront sur le bouton « Customization » de la barre d'outils (ou iront dans le menu « View/Customize Toolbar … »), et pourront jouer avec les possibilités proposées :

image

Pour en terminer avec cette présentation, je souhaiterais vous mettre en garde contre les dangers de mises à jour trop fréquentes, ou à l'aveuglette. Il faut savoir que lorsque vous mettez à jour un paquet par le TeX Live Utility, la version ancienne est purement et simplement effacée de votre distribution TeX Live. Il faut donc être sûr de ce que vous faites.

Si vous voulez utiliser une nouvelle version d'un paquet, mais garder l'ancienne en réserve en cas de problème, alors vous pouvez utiliser le TeX Live Manager en ligne de commande, (tlmgr) qui possède certaines options prévues pour cela (cf. la fin de cet article). Ou bien vous pouvez procéder à une installation manuelle de la nouvelle version de votre paquet, après l'avoir téléchargée vous-même sur CTAN. Cette installation se fera a priori dans le dossier texmf (à créer vous-même au besoin) de votre Bibliothèque personnelle, ce dossier n'étant pas concerné par les actions du TeX Live Utility. La façon de procéder est également détaillée à la fin de l'article cité précédemment. Ce n'est pas difficile, même si cela peut paraître fastidieux quand on n'est pas habitué.

Je terminerai là ma petite présentation de TeX Live Utility, et par là-même ma série d'articles consacrés aux applications contenues dans MacTeX. Cette dernière application me paraît un progrès important dans les démarches entamées pour rendre l'emploi de LaTeX plus convivial sur notre plateforme. Du moins pour ce qui est de la mise à jour de votre distribution et de la gestion des paquets en général. Reste à souhaiter qu'une bonne volonté francophone et compétente se manifeste un jour pour aider à la francisation de ce logiciel open-source.

13 commentaires
1)
Chichille
, le 11.02.2010 à 08:31
[modifier]

Zéro commentaire ! C’est dur d’être un apôtre !

Bon, je vais installer LaTex, promis-juré (je l’ai déjà téléchargé, c’est un premier pas important) et ne faire que des commentaires techniques, intelligents et bienveillants.

Bon courage !

2)
Franck Pastor
, le 11.02.2010 à 09:25
[modifier]

En fait, ce n’est pas tant le nombre de commentaires qui m’importerait, que le fait de savoir par combien de gens mon article a été jugé intéressant. Mais là, je n’ai aucun indice.

Il n’y aura plus souvent d’articles sur LaTeX, sauf l’une ou l’autre mise à jour : j’ai mené à bien toute la série d’articles que j’avais en projet là-dessus. Il me reste quand même un thème à aborder, c’est XeTeX. Mais je voudrais mieux maîtriser les arcanes de dernier avant de me lancer, ce qui me prend plus de temps que prévu. Par pour s’en servir, ça on apprend très vite, mais pour savoir comment ça marche en coulisses.

3)
Franck Pastor
, le 11.02.2010 à 09:47
[modifier]

N’hésite pas à poser toutes les questions que tu veux, en tout cas. Le forum Programmation est un bon endroit pour ça.

4)
Joël (exGlimind)
, le 11.02.2010 à 10:01
[modifier]

Salut,

En pleine rédaction de ma thèse, je découvre cet utilitaire (que j’avais installé, mais jamais utilisé). J’en profite pour me mettre à jour !

Merci pour toutes tes contributions LaTeX, elles me sont d’une grande aide, quasi-quotidienne !

PS. Dès que le “gros-œuvre” est terminé, j’aurai mon lot de questions sur le forum, ça vient…

5)
Guillôme
, le 11.02.2010 à 10:03
[modifier]

le fait de savoir par combien de gens mon article a été jugé intéressant.

Tu peux m’ajouter dans le comptage!

Il n’y aura plus souvent d’articles sur LaTeX,

Pas sûr, pas sûr, moi aussi je vais peut être en faire un ^^

L’adresse qui est mentionnée par défaut devrait convenir dans tous les cas : http://mirror.ctan.org/systems/texlive/tlnet

Merci, j’avais une erreur dans mon adresse et j’osai pas modifier

Les deux dernières options offrent la possibilité de synchroniser votre installation de TeX Live avec celle du serveur externe lors d’une mise à jour.

Pourquoi activer par défaut ces choix? Autant activer un paquet quant on en a besoin plutôt que d’encombrer le disque, non? D’autant que les paquets sont assez pointus et autant les utiliser en connaissance de cause.

De même, autoriser la suppression de paquets n’est-ce pas dangereux? On risque de perdre un paquet indispensable pour ses fichiers, non?

Pour en terminer avec cette présentation, je souhaiterais vous mettre en garde contre les dangers de mises à jour trop fréquentes, ou à l’aveuglette. Il faut savoir que lorsque vous mettez à jour un paquet par le TeX Live Utility, la version ancienne est purement et simplement effacée de votre distribution TeX Live. Il faut donc être sûr de ce que vous faites.

Y-a-t-il des discussions sur ce sujet par les experts pour qualifier les mises à jour, un peu comme sous Windows (critique, facultative…) ou comme sous Ubuntu Linux (Certifié et non certifié…)?

Car, il y avait un bug critique dans la génération des pdf, il y a eu des améliorations forte de pdfsync… mélangé à des régressions de bibtex par exemples :D

Ce serait bien, d’avoir ce genre de qualification pour aider à la mise à jour.

D’ailleurs as-tu des infos sur les paquets impératifs à mettre à jour vis à vis de la dernière distribution de MacTex?

Ou bien vous pouvez procéder à une installation manuelle de la nouvelle version de votre paquet, après l’avoir téléchargée vous-même sur CTAN. Cette installation se fera a priori dans le dossier texmf

J’avoue ne pas trop aimer cette méthode car très rapidement, on ne sait plus les paquets personnalisés que l’on a sur telle ou telle machine et après on est comme un idiot pour ouvrir un fichier LaTeX…

Et puis, moi mes paquets dans le dossier texmf prenaient le pas sur mon install de la dernière version de MacTex qui avait des paquets plus récents… C’est idiot mais on n’y pense pas tout le temps et après il faut gérer cela…

Au moins avec une distribution officielle MacTeX et un ajout en dur des paquets, on a un seul endroit centralisé que l’on peut réinstaller à l’identique sur son portable…

6)
Franck Pastor
, le 11.02.2010 à 10:44
[modifier]

Pas sûr, pas sûr, moi aussi je vais peut être en faire un ^^

Ah ? On peut savoir sur quoi précisément, ou c’est une surprise ? :-)

Y-a-t-il des discussions sur ce sujet par les experts pour qualifier les mises à jour, un peu comme sous Windows (critique, facultative…) ou comme sous Ubuntu Linux (Certifié et non certifié…)?

Car, il y avait un bug critique dans la génération des pdf, il y a eu des améliorations forte de pdfsync… mélangé à des régressions de bibtex par exemples :D

Ce serait bien, d’avoir ce genre de qualification pour aider à la mise à jour.

À ma connaissance, il n’y a pas de « qualification » de ce type. Le contrôle de qualité d’un paquet est uniquement du ressort de son mainteneur… et son usage est uniquement sous la responsabilité de l’utilisateur qui l’installe. Le seul moment où il y a contrôle de la cohérence de l’ensemble de la distribution, c’est pour la préparation d’une nouvelle mouture officielle de TeX Live.

D’ailleurs as-tu des infos sur les paquets impératifs à mettre à jour vis à vis de la dernière distribution de MacTex?

Je n’ai jusqu’à présent pas repéré de mises à jour à faire impérativement. En fait, je n’en aurais fait aucune depuis mon installation de MacTeX 2009 si je n’avais pas eu à tester TeX Live Utility. Les endroits à suivre pour savoir si telle ou telle mise à jour est importante sont le forum Usenet comp.text.tex (archives Google) ou la liste de diffusion de TeX Live.

Et puis, moi mes paquets dans le dossier texmf prenaient le pas sur mon install de la dernière version de MacTex qui avait des paquets plus récents… C’est idiot mais on n’y pense pas tout le temps et après il faut gérer cela…

Il faut en effet vérifier si les paquets qui figurent dans le texmf ne sont pas dépassés par ceux de la nouvelle version de TeX Live qu’on vient d’installer. Mais c’est un « coup » que pour ma part j’ai pris assez facilement, par exemple en regardant les numéros de versions des paquets qui figurent dans la console. Et des mises à jours officielles de TeX Live, il n’y en a qu’une fois par an maximum. Si c’est le prix à payer pour m’éviter des déboires intempestifs, je ne le trouve pas trop élevé. Bien sûr, d’autres peuvent avoir un autre point de vue sur la question !

7)
Franck Pastor
, le 11.02.2010 à 10:55
[modifier]

Pourquoi activer par défaut ces choix? Autant activer un paquet quant on en a besoin plutôt que d’encombrer le disque, non? D’autant que les paquets sont assez pointus et autant les utiliser en connaissance de cause.

De même, autoriser la suppression de paquets n’est-ce pas dangereux? On risque de perdre un paquet indispensable pour ses fichiers, non?

Je serais assez de ton avis, en fait…

8)
cwalther
, le 11.02.2010 à 16:43
[modifier]

Et bien, j’ai trouvé cet article très intéressant.

J’avais apprécié la sortie de l’outil en ligne de commande mais jamais utilisé. Là c’est plus convivial et on n’oublie pas son existence. Très pratique quand on veut installer un package qui sert juste à faire un tout petit truc utile.

Merci!

9)
Guillôme
, le 11.02.2010 à 19:01
[modifier]

Ah ? On peut savoir sur quoi précisément, ou c’est une surprise ? :-)

On va dire que c’est une surprise car si article il y a, ce ne sera pas avant 6 mois ^^ donc rien ne sert de vendre la peau de l’ours…

10)
Christopher
, le 11.02.2010 à 23:16
[modifier]

Je voulais juste profiter de cet article pour remercier Franck de m’avoir donner “l’élan” et “l’envie” de se lancer dans Latex avec ses articles de septembre 2008 (et le livre, disponible sur ce site, qui en résulte que je recommande vivement ! ).

Très franchement, je lui en serais toujours reconnaissant (ainsi que toute l’équipe de cuk.ch).

Pour moi (avis très personnel) TeXShop est Le logiciel pour celui qui aime les mots , la littérature … Et pas seulement les maths contrairement à ce qu’on croit .

Dire que Latex est “complexe” est une idée radicalement fausse. C’est en réalité l’inverse par rapport à d’autres logiciels … célèbres (c’est simplement l’apprentissage des quelques commandes de bases qui peuvent être un peu rude, mais on s’y fait très vite !)

À bon entendeur salut ! et santé …

Merci encore Franck pour tes nombreux articles, qui sont toujours très intéressants !

12)
JPO1
, le 12.02.2010 à 10:53
[modifier]

Merci encore Franck pour tes nombreux articles, qui sont toujours très intéressants !

Je suis un utilisateur de LaTeX depuis des lustres, et je suis du même avis que Christopher, je lis les articles de Franck Pastor avec plaisir et intérêt.

13)
elo
, le 12.02.2010 à 12:05
[modifier]

Idem pour moi.

Merci.

J’attends d’ailleurs l’article sur XeTeX avec impatience puisque je n’utilise que cela en fait.