Le mpg-blog

LaTeX et autres geekeries

MiKTeX et TeX Live en parallèle

without comments

Les deux distributions TeX modernes disponibles sous Windows, MiKTeX et TeX Live, ont ceci en commun qu’il est possible d’en installer plusieurs versions sur la même machine et de basculer rapidement de l’une à l’autre. En fait, il est également possible d’installer et d’utiliser les deux en parallèle, ce qui est particulièrement utile si l’on souhaite effectuer des tests. Le présent billet explique le principe et deux façons de procéder.

Installation

L’installation ne pose pas de problème particulier : installez d’abord une distribution, l’autre ensuite. Vous pouvez au choix installer « pour tous » (nécessite d’être administrateur) ou bien seulement pour l’utilisateur courant.

Avec deux distributions installées, le principe est simple : celle qui arrive en premier dans le PATH gagne. En fait, c’est un peu plus compliqué si les distributions ne fournissent pas exactement les mêmes programmes : si votre première (par ordre dans le PATH) distribution ne fournit pas un certain programme mais que la deuxième le fait, c’est la version de la deuxième distribution qui sera utilisée, peut-être conjointement à d’autres programmes issus de la première, ce qui peut créer une joyeuse pagaille et de fâcheux malentendus. Pour cette raison, je recommande d’avoir toujours au plus une distribution dans son PATH.

C’est là que je vous propose deux options : la première est de n’avoir aucune distribution « active » (c’est-à-dire dans votre PATH) par défaut, il vous faudra en sélectionner une à chaque fois. La deuxième option est d’avoir une distro par défaut dans son PATH, et de devoir entreprendre une action explicite pour utiliser l’autre.

En tout état de cause, après avoir installé vos deux distributions, il vous faut en retirer au moins une du PATH. Pour cela, allez dans les propriétés système (panneau de conf puis « système », ou bien clic droit sur le poste de travail et « propriétés »). Dans l’onglet « avancé » choisissez « variables d’environnement ». Attentions, PATH est potentiellement en deux morceaux : une partie « système », une « utilisateur », vérifiez les deux. Le PATH effectif d’un utilisateur est formé de la concaténation des deux (dans cet ordre, ce qui ne laisse pas de me surprendre, mais passons).

Si vous utilisez un environnement intégré pour TeX, par exemple TeXworks ou TeXmaker, vérifiez que dans sa configuration vous n’utilisez que les noms des commandes et pas leurs chemins complets (par exemple pdflatex.exe mais pas C:\texlive\2010\bin\win32\pdflatex.exe).

Première option : pas de distro par défaut

Avec cette option, lorsque vous tapez tex à une invite de commande, vous obtenez en général un message d’erreur. Pour utiliser une distribution donnée, l’idée est de lancer une invite de commande avec le chemin de cette distro ajoutée au PATH. Depuis cette fenêtre, vous pourrez lancer vos compilations ou votre environnement intégré favori.

Pour automatiser ceci, un petit batchfile fera l’affaire, par exemple :

@echo off
set PATH="C:\texlive\2010\bin\win32";%PATH%
start "TeX Live 2010" cmd.exe

On donne un titre à la fenêtre afin de mieux s’y retrouver si on a plusieurs invites de commandes ouvertes utilisant plusieurs distributions différentes, ce qui arrive facilement en période de test intensive. Créez un fichier bat pour chaque distribution que vous utilisez fréquemment et placez-les à un endroit commode (bureau, menu démarrer, etc.).

Deuxième option : une distro par défaut

Pour cette option, le script de lancement de la distribution alternative est un peu plus complexe. Il faut en effet retirer du PATH le chemin de la distribution actuelle et le remplacer par celui de l’autre distribution. Je ne doute pas que ceci soit faisable en bachfile mais cela dépasse mes maigres compétences en ce langage. Heureusement, dès qu’on a une installation TeX récente, on a sous la main un langage de script sympathique : Lua. Je vous propose donc le script suivant.

Il détermine automatiquement le chemin de la distribution TeX courante (celle utilisée pour le lancer), puis explore le PATH pour remplacer ce chemin par celui qu’on lui a donné en argument. Pour plus de commodité, j’utilise un petit fichier bat pour le lancer, à adapter bien sûr en fonction de l’endroit où vous aurez enregistré le script précédent et de l’emplacement de votre distro alternative.

@texlua "C:\Documents and Settings\user\scripts\distsel.lua" ^
"MiKTeX 2.9" "C:\miktex-2.9\miktex\bin"

(L’accent circonflexe ^ est le caractère d’échappement en script bat, il est utilisé ici pour pouvoir couper la longue ligne, comme on le ferait avec une contreoblique \ en shell Unix, par contre il ne faut pas indenter la ligne suivante.)

Conclusion

Il est facile d’installer plusieurs (versions de) distributions sur une même machine et de basculer rapidement entre elles ou d’en utiliser plusieurs simultanément dans des environnements séparés. Ce montage est particulièrement commode pour explorer les spécificités de chaque distribution et vérifier la compatibilité de ses paquets si le besoin s’en fait sentir.

J’utilise la deuxième option sur ma machine (virtuelle) de tests sous Windows XP SP3 avec MikTeX 2.9 et TeX Live 2010 installés en mode mono-utilisateur. Je ne maîtrise pas suffisamment la plateforme Windows pour garantir que ça fonctionnera aussi chez vous, aussi n’hésitez pas à me faire savoir si vous rencontrez des problèmes avec ce montage.

Written by mpg

février 17th, 2011 at 6:06

Posted in TeX et compagnie

Tagged with , ,