--- myst: html_meta: keywords: LaTeX, fichiers, TDS, installer Texlive, installer LaTeX, configuration locale, texlive directory, texmf privé --- # Comment procéder à des installations privées de fichiers ? Il arrive parfois que vous ayez besoin d'une nouvelle version d'une extension ou d'une police, mais que la machine que vous utilisez soit maintenue par une personne ne voulant pas faire de mise à jour et ne vous donnant pas les droits nécessaires pour faire le travail vous-même. Une installation [temporaire](/5_fichiers/emplacements/installation_temporaire) est alors parfois la bonne approche. Cependant, dès lors qu'une installation soit nécessaire pour plus d'un projet, ces installations temporaires ne conviennent pas. Dans les cas où vous disposez d'un espace de stockage adéquat, la bonne approche consiste à créer une installation privée de (La)TeX qui inclut les nouveaux éléments dont vous avez besoin. Si cette solution est l'idéale, elle n'est généralement pas possible. Donc, puisque vous ne pouvez pas installer dans l'arborescence `texmf` publique, vous devez installer dans une arborescence `texmf` qui vous est propre. Heureusement, le standard TDS et les distributions modernes vous permettent de le faire. Les distributions les plus modernes se réfèrent à l'arbre comme `$TEXMFHOME` mais il s'appelait auparavant `$HOMETEXMF`. Ainsi, pour vérifier que votre système TeX supporte bien le mécanisme, vous devriez commencer, par exemple, par tester cette commande : ```bash kpsewhich -var-value TEXMFHOME ``` Cela vous restituera presque invariablement un pointeur vers un sous-répertoire `texmf` de votre répertoire personnel. Une exception concerne ici les Macintosh, utilisant MacTeX, où le répertoire est conventionnellement `Library/texmf` dans votre répertoire personnel. Si vous pouvez confirmer que la technique fonctionne, installez votre nouvelle extension (ou autre) au [bon endroit](ou_installer_les_packages) dans une arborescence basée sur `$HOME/texmf` et générez un index de cette arborescence : ```bash texhash $HOME/texmf ``` L'argument spécifie ici quelle arborescence vous indexez. Il est ici nécessaire puisque vous n'avez pas, par hypothèse, accès à l'arborescence principale, et `texhash` sans l'argument essaierait d'écrire l'arborescence principale. Il y a deux inconvénients à cette méthode simple : premièrement, l'installation que vous utilisez peut ne pas définir de répertoire TEXMF personnel, et deuxièmement, il peut y avoir un obstacle à l'utilisation de `$HOME/texmf` comme nom par défaut. Dans les deux cas, une bonne solution est d'avoir votre propre `texmf.cnf` --- une idée qui semble plus effrayante qu'elle ne l'est en réalité. Le fichier existant de l'installation peut être localisé avec la commande : ```bash kpsewhich texmf.cnf ``` Faites une copie du fichier et placez-la dans un répertoire de votre choix. Ce peut être n'importe quel répertoire, mais un choix évident est le répertoire `web2c` de l'arborescence que vous voulez créer, c'est-à-dire `$HOME/texmf/web2c` ou un répertoire similaire. Créez une variable d'environnement pour pointer vers ce répertoire, par exemple en shell Bourne : ```bash TEXMFCNF=$HOME/texmf/web2c export TEXMFCNF ``` De même, en C-shell : ```csh setenv TEXMFCNF $HOME/texmf/web2c ``` Éditez ensuite la copie de `texmf.cnf`. Il y aura une ligne dans le fichier existant qui définit l'arborescencee dans laquelle tout est recherché. La forme la plus simple de cette ligne est : ```text TEXMF = !!$TEXMFMAIN ``` Il est toutefois probable qu'il y ait plusieurs paramètres alternatifs derrière les marqueurs de commentaires (`%`), et la personne qui a installé votre système peut les avoir laissés là. Quoi qu'il en soit, vous devez modifier la ligne en vigueur. Remplacez ce qui précède par trois lignes : ```text HOMETEXMF = $HOME/texmf TEXMF = {$HOMETEXMF,!!$TEXMFMAIN} % TEXMF = !!$TEXMFMAIN ``` Le point important est que `$HOMETEXMF` doit venir avant ce qui était là avant, à l'intérieur des accolades. Supposons que vous avez dans votre cas : ```text TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} ``` Il doit être converti en : ```text HOMETEXMF = $HOME/texmf TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} % TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} ``` Pensez à conserver l'original, en tant que commentaire, afin d'avoir un aide-mémoire au cas où vous auriez besoin de faire un autre changement par la suite. Les signes `!` indiquent à la bibliothèque de recherche de fichiers qu'elle doit insister sur une arborescence de répertoires `texhash`. Si vous pouvez compter sur le fait que vous vous souviendrez de lancer `texhash` sur votre nouvelle arborescence à chaque fois que vous la modifiez, alors cela vaut la peine d'ajouter les marques à votre arborescence : ```text TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} ``` Cette modificaiton permettra à (La)TeX de trouver ses fichiers un peu plus rapidement. Après avoir effectué tous ces changements, (La)TeX devrait utiliser les fichiers de votre nouvelle arborescence, de préférence à tout ce qui se trouve dans l'arborescence principale. Vous pouvez l'utiliser pour les mises à jour des extensions de l'arborescence principale, ainsi que pour l'installation de nouvelles versions. :::{sources} [Private installations of files](faquk:FAQ-privinst) :::