MiKTeX et TeX Live en parallèle
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.