====== Comment installer des packages juste pour moi? ======
Il peut arriver que vous ayez besoin d'une nouvelle version d'un package
ou d'une police de caractères, mais que la machine que vous utilisez
soit gérée par quelqu'un qui n'est pas disposé à effectuer les mises à jour
et qui ne vous accorde pas les droits nécessaires pour que vous puissiez
faire le travail vous-même. Une [[5_fichiers:tds:installation_temporaire|installation « temporaire »]]
est parfois la bonne approche, cependant, s'il y a la moindre chance
que cette installation soit nécessaire pour plus d'un projet,
vous voudrez sans doute quelque chose de plus durable.
Si vous disposez d'un espace-disque suffisant (éventuellement sur un espace temporaire,
comme un "scratch"), une bonne approche consiste à installer une version privée complète
de (La)TeX, incluant les nouveaux éléments dont vous avez besoin ;
c'est l'idéal, mais ça utilise plusieurs gigaoctets d'espace-disque.
Comme vous ne pouvez rien installer dans l'arborescence ''texmf'' publique,
vous devez installer dans votre propre arborescence ''texmf'' ; heureusement,
la [[https://www.latex-fr.net/5_fichiers/tds/la_tds|TeX Directory Structure]] (TDS) a prévu ça,
et les distributions modernes vous permettent de le faire. Les distributions
actuelles font référence à l'arborescence sous le nom de ''$TEXMFHOME'',
mais les versions plus anciennes utilisaient ''$HOMETEXMF'' ;
si vous avez un doute, vous pouvez vérifier que votre système TeX supporte effectivement
le mécanisme, en exécutant cette commande:
kpsewhich -var-value TEXMFHOME
(par exemple). Si tout va bien, ça renverra généralement le chemin
d'un sous-répertoire ''texmf'' dans votre répertoire personnel ;
sous MacOS, si vous utilisez MacTeX, le répertoire est généralement
''Library/texmf'' dans votre répertoire personnel.
Si vous avez la confirmation que ça fonctionne correctement,
installez votre nouveau package (ou autre) [[5_fichiers:tds:ou_installer_les_packages|au bon endroit]]
dans un sous-répertoire de ''$HOME/texmf'', et reconstruisez l'index de cette arborescence:
texhash $HOME/texmf
(L'argument indique quel arborescence vous indexez: il est nécessaire
dans le cas présent, vu que vous n'avez pas accès à l'arborescence principale,
or ''texhash'' sans cet argument essaierait d'écrire dans l'arborescence principale)
Cette méthode simple peut se heurter à deux obstacles:
* d'une part, l'installation que vous utilisez peut //ne pas// définir de répertoire TEXMF personnel,
* d'autre part, le chemin par défaut peut ne pas être ''$HOME/texmf''.
Dans les deux cas, une bonne solution est d'écrire votre propre fichier de configuration ''texmf.cnf'';
ça peut paraître compliqué, mais en fait, c'est très simple à faire.
Le fichier actuellement utilisé par votre installation peut être localisé à l'aide de la commande:
kpsewhich texmf.cnf
Faites une copie du fichier dans le répertoire que vous voulez;
ce peut être n'importe quel répertoire, mais un choix évident est le répertoire ''web2c''
de l'arborescence que vous souhaitez créer, c'est-à-dire ''$HOME/texmf/web2c''
(ou quelque chose comme ça).
Ensuite, définissez une variable d'environnement indiquant ce répertoire :
TEXMFCNF=$HOME/texmf/web2c
export TEXMFCNF
(pour Bash et autre shell de type Bourne), ou
setenv TEXMFCNF $HOME/texmf/web2c
(pour ksh ou autre shell de style C).
Maintenant, il ne vous reste plus qu'à modifier votre copie du fichier ''texmf.cnf''. 8-)
Vous devriez y trouver une ligne qui définit l'arborescence dans laquelle
tous les fichiers sont cherchés; la version la plus simple de cette ligne est:
TEXMF = !!$TEXMFMAIN
mais il est probable qu'il y ait plusieurs alternatives, mises en commentaires par des signes ''%'',
que la personne qui a installé votre système peut avoir laissées là.
Quoi qu'il en soit, vous devez modifier la ligne active (celle qui n'est pas en commentaire):
remplacez ce qui précède par trois lignes:
HOMETEXMF = $HOME/texmf
TEXMF = {$HOMETEXMF,!!$TEXMFMAIN}
% TEXMF = !!$TEXMFMAIN
Le point important est que ''$HOMETEXMF'' doit précéder les autres chemins,
à l'intérieur des accolades. Ainsi, c'est ce répertoire qui aura la priorité.
Par exemple, si l'original était
TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN}
il doit être remplacé par:
HOMETEXMF = $HOME/texmf
TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN}
% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN}
(comme vous le voyez, on a mis la version précédente de la ligne en commentaire.
C'est une bonne pratique pour se souvenir des modifications que vous avez faites,
au cas où vous devriez changer de nouveau quelque chose plus tard).
Les points d'exclamation ''!!'' indiquent à l'outil de recherche de fichiers
qu'il doit utiliser le fichier d'index pour consulter le contenu de ces répertoires,
et non le parcourir de façon exhaustive.
Ainsi, (La)TeX trouve ses fichiers un peu plus rapidement.
\\ \\
Cela suppose que la commande ''texhash'' est bien exécutée à chaque fois que le contenu
est modifié, pour mettre à jour l'index. On peut compter là-dessus pour les répertoires
gérés automatiquement (par exemple ceux mis à jour par l'outil de gestion des packages ''tlmgr'');
par contre, pour les répertoires que vous maintenez vous-mêmes, c'est plutôt déconseillé
car vous oublierez un jour ou l'autre d'exécuter ''texhash''...
\\ \\
Après, si vous êtes sûr de vous, il reste possible d'écrire:
TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN}
Après avoir effectué tous ces changements, (La)TeX devrait pouvoir utiliser
les fichiers de votre nouvelle arborescence, en priorité par rapport
à ceux de l'arborescence principale --- vous pouvez l'utiliser
pour mettre à jour des packages présents dans l'arborescence principale,
ainsi que pour installer de nouveaux packages.
-----
//Source://
* [[faquk>FAQ-privinst|Private installations of files]]
{{htmlmetatags>metatag-keywords=(LaTeX,installer Texlive,installer LaTeX,configuration locale,texlive directory,texmf privé,installation privée de fichiers)
metatag-og:title=(Comment installer des packages juste pour moi)
metatag-og:site_name=(FAQ LaTeX francophone)
}}