Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
2_programmation:extensions:installer_un_package [2016/10/27 08:18]
jejust
2_programmation:extensions:installer_un_package [2021/04/18 14:36]
yannick.tanguy Fusion de deux pages françaises et ajout de liens.
Ligne 1: Ligne 1:
-====== Comment installer ​un nouveau package ​? ======+====== Comment installer ​une extension? ======
  
-On donne ici la procédure générale en sachant que chaque distribution +===== Installation semi-automatique =====
-peut avoir une organisation spécifique que l'on trouvera dans sa propre +
-documentation.+
  
-On pourra aussi se reporter au thème~\vref{th=TDS}.+La plupart du temps, il suffit d'​utiliser les mécanismes de gestion d'​extension de votre distribution <​latex>​\LaTeX</​latex>​ (et de penser à procéder aux mises à jour)
  
 +===== Installation manuelle =====
  
-$\Reponse$ ​ Quand on a besoin ​d'un nouveau package, on le trouve ​sur le +Il peut cependant arriver que vous ayez à installer à la main une extension, soit pour avoir la version la plus récente, soit parce que vous n'avez pas accès au gestionnaire ​d'extension (sur une machine où vous n'​êtes pas administrateur,​ par exemple).
-CTAN Navigator à http://​ctan.loria.fr/​index_fr.html +
  
-FIXME: obsolète+==== Dossiers cibles de l'​installation ====
  
-$\Reponse$ ​ Lorsqu'il s'agit d'un package conçu pour <​latex>​\LaTeXe</​latex>​ et utilisant +Il faut alors savoir qu'existent sur votre machine plusieurs arborescences ​''​texmf'' (les répertoires où sont rangés, entre autres, les extensions). La plupart du temps, ce sont les trois suivantes ​: 
-les procédures et outils définis dans ce cadre, c'est simple : +  * une arborescence de base ;  
-un package est fourni avec deux (ou pluspour les packages plus +  * une arborescence « locale » ;  
-complexesfichiers ​''​pack.ins'' ​et ''​pack.dtx''​.+  * et une arborescence « utilisateur »
  
-Il est conseillé de travailler dans un répertoire temporaire dans lequel +Ne touchez qu'aux deux dernièresSur une installation TeXlive/​linux typique, ces arborescences sont :
-on copiera ces fichiers.+
  
-Il faut commencer par exécuter le script d'​installation+<​code>​ 
 +/​usr/​share/​texmf-texlive/​ 
 +/​usr/​local/​share/​texmf 
 +$HOME/​texmf 
 +</​code>​
  
-<​code ​bash+Ces chemins peuvent varier et être modifiés. Leur valeur est déterminée par des variables d'​environnement que vous pouvez afficher via la commande suivante sous TeXlive/​linux : 
-latex pack.ins+ 
 +<​code>​ 
 +texconfig conf
 </​code>​ </​code>​
  
-pour créer ​le(s) fichier(s) de commandes lui(eux)-même(s) ​(typiquement ''​pack.sty''​) ​puis+Pour en savoir plus, lisez la documentation spécifique à votre distribution. En effet, les distributions sont toujours accompagnées de leur propre documentation,​ décrivant l'​organisation des fichiers, les outils de bases, variables d'​environnement,​ etc. Cette documentation se trouve sous plusieurs formes et/ou langues dans vos répertoires d'​installation mais aussi, plus simplement, sur le web, que ce soit pour [[https://​www.tug.org/​texlive/​doc/​texlive-fr/​texlive-fr.html|TeXlive]] ou [[https://​docs.miktex.org/​manual/​MiKTeX|MiKTeX]]. 
 + 
 +==== Cas simples ==== 
 + 
 +Ces cas sont ceux où il suffit de copier les fichiers ​(dont le fichier ​''​.sty''​depuis le [[1_generalites:​glossaire:​qu_est_ce_que_le_ctan|CTAN]] vers l'​endroit approprié ​de votre disque dur. Vous pouvez placer les fichiers au choix dans le même répertoire que votre document en cours (peu recommandé puisque seul les fichiers présents dans le même répertoire trouveront cette extension), ou dans un sous-répertoire adéquat ​(typiquement ''​tex/​latex/​package''​) ​de votre ''​texmf''​ personnel ou local. 
 + 
 +Dans ce dernier cas, il vous faudra reconstruire la base de données des extensions avec, suivant la distributionn ''​texhash'',​ ''​mktexlsr''​ ou bien l'une des deux commandes :
  
 <code bash> <code bash>
-latex pack.dtx+rebuild ls-R filenames databases 
 +# ou 
 +refresh filename database
 </​code>​ </​code>​
  
-pour générer la documentationavec si besoin construction ​d'​un ​index :+La documentation ​de votre distribution devrait vous aider à savoir quelles sont les commandes utiles ici. Vous pourrez ensuite vérifier que votre nouveau fichier est bien trouvé par <​latex>​\LaTeX</​latex> ​avec la commande suivante : 
 + 
 +<​code>​ 
 +kpsewhich extension.sty 
 +</​code>​ 
 + 
 +Elle retourne la version qui sera effectivement utilisée dans le cas où il en existerait plusieurs. 
 + 
 +==== Cas un peu plus délicats (mais plus formels) ==== 
 + 
 +Lorsqu'​il s'​agit ​d'une extension conçue pour <​latex>​\LaTeXe</​latex>​ et utilisant les procédures et outils définis dans ce cadre, une extension est fournie avec deux fichiers (ou plus, pour les extensions plus complexes) : ''​extension.ins''​ et ''​extension.dtx''​ et non le fichier ''​extension.sty''​. 
 + 
 +Il est ici conseillé de travailler dans un répertoire temporaire dans lequel on copiera ces fichiers. Il faut commencer par exécuter le script d'​installation ​:
  
 <code bash> <code bash>
-makeindex -s gind.ist -o pack.ind pack.idx+latex extension.ins
 </​code>​ </​code>​
  
-et d'un glossaire ​:+Cette action crée le ou les fichiers de commandes (typiquement ''​extension.sty''​). Cette extension est normalement accompagnée ​d'une documentation qui s'​obtient alors en exécutant ​: 
 <code bash> <code bash>
-makeindex -s gglo.ist -o pack.gls pack.glo+latex extension.dtx
 </​code>​ </​code>​
  
 +Il peut ici y avoir besoin de construire l'​index (si un fichier ''​extension.idx''​ existe) :
  
-Puis il faut déplacer ces fichiers dans un répertoire visible par +<code bash
-<latex>\LaTeX</​latex>,​ qui peut être commun à tous les utilisateurs ou local ou +makeindex -s gind.ist -o extension.ind extension.idx 
-personnel(Voir~\vref{th=TDS} pour plus de précisions sur l'​organisation des +</​code>​
-fichiers.+
  
-Enfin, ​il faudra reconstruire la base de données des packages avec, suivant +Il est possible également qu'il puisse y avoir à construire un glossaire (si un fichier ​''​extension.glo'' ​existe) ​:
-la distribution ''​texhash'',​ ''mktexlsr'' ​ou bien l'une des deux commandes ​:+
  
 <code bash> <code bash>
-rebuild ls-R filenames databases +makeindex ​-s gglo.ist -o extension.gls extension.glo
-# ou +
-refresh filename database+
 </​code>​ </​code>​
  
 +Il faut ensuite déplacer ces fichiers dans les répertoires présentés ci-dessus et, enfin, reconstruire la base de données des extensions comme dans le premier cas présenté ci-dessus.
  
 +Pour information,​ cette méthode est également décrite dans la section 4.6 du document ​ //​[[ctanpkg>​lshort-french|Une courte (?) introduction à LaTeX2ε]]//​ (en français, la [[ctanpkg>​lshort|version originale]] étant en anglais).
  
 <​note>​ <​note>​
-Il n'est évidemment pas possible de générer la documentation en +Il n'est évidemment pas possible de générer la documentation en premier, parce qu'​elle aura souvent besoin du fichier des commandespar exemple pour illustrer le fonctionnement de l'​extension.
-premier, parce qu'​elle aura souvent besoin du fichier des commandes+
-par exemple pour montrer des exemples.+
   ​   ​
-Si l'on ne veut obtenir que la documentation « utilisateur », il faut +Si l'on ne veut obtenir que la documentation « utilisateur », il faut ajouter la ligne ''​OnlyDescription''​ dans le fichier ''​extension.dtx'',​ avant la ligne ''​\DocInput{extension.dtx}''​. Sinon, on obtient aussi le //​listing// ​commenté du code, ce dont on peut ne pas vouloir se soucier et qui peut être volumineux pour les extensions importantes.
-ajouter la ligne ''​OnlyDescription''​ dans le fichier +
-''​pack.dtx'',​ avant la ligne ''​\DocInput{pack.dtx}''​. +
-Sinon, on obtient aussi le listage ​commenté du code, ce dont on peut ne pas +
-vouloir se soucier et qui peut être volumineux pour les packages importants.+
 </​note>​ </​note>​
  
 +==== Cas plus exotiques ====
  
 +Le mode d'​organisation et de distribution des extensions décrit ici n'est que le mode encouragé par l'​équipe du [[1_generalites:​histoire:​c_est_quoi_latex3|Projet LaTeX]] et n'est en rien une obligation. Un bon nombre d'​extensions disponibles ne le suit d'​ailleurs pas, pour diverses raisons :
 +  * extensions qui se veulent utilisables aussi bien avec Plain <​latex>​\TeX</​latex>​ qu'​avec <​latex>​\LaTeX</​latex>​ ;
 +  * « vieilles » extensions écrites pour <​latex>​\LaTeX</​latex>​ 2.09 ;
 +  * extensions écrites par des personnes qui veulent faire « comme ça leur plaît »...
 + 
 +Dans ces différents cas, il faut aller y voir de plus près pour comprendre l'​organisation choisie. Les questions suivantes traitant de la [[1_generalites:​documentation:​documents:​documents_extensions:​start|documentation des extensions]] pourront vous donner des pistes :
 +  * « [[1_generalites:​documentation:​documents:​documents_extensions:​documentation_des_packages|Où trouver la documentation des extensions?​]] » ;
 +  * « [[1_generalites:​documentation:​documents:​documents_extensions:​documentation_des_packages3|Comment générer la documentation d'une extension?​]] ».
  
-$\Reponse$ ​ Néanmoins, il est clair que ce mode d'​organisation et de +----- 
-distribution n'est que le mode encouragé par l'​équipe de +//Source :// https://web.archive.org/web/​20170314080827/​https://​elzevir.fr/​imj/latex/tips.html#packages
-développement de <​latex>​\LaTeX<​/latex> et n'est en rien une obligationUn bon +
-nombre de packages disponibles ne le suit d'​ailleurs pas (!), +
-pour diverses raisons (packages qui se veulent utilisables aussi +
-bien avec Plain <​latex>​\TeX<​/latex> qu'​avec <​latex>​\LaTeX<​/latex>, « vieux » packages écrits +
-pour <​latex>​\LaTeX<​/latex>2.09, packages ​écrits par des personnes qui veulent +
-faire « comme ça leur plaît », etc.). Dans ces différents +
-cas, il faut aller y voir de plus près pour comprendre +
-l'​organisation choisie. +
- +
-C'est par exemple le cas pour [[ctanpkg>​slashbox|slashbox]] pour lequel sont fournis le +
-fichier ''​slahbox.sty''​ et un fichier de documentation +
-''​slashbox.tex''​. ​ Le tout est réuni dans une archive pour les +
-distributions sous Windows. +
  
 +{{htmlmetatags>​metatag-keywords=(LaTeX,​TeX directory structure,​installation de LaTeX)
 +metatag-og:​title=(Comment installer une extension)
 +metatag-og:​site_name=(FAQ LaTeX francophone)
 +}}
2_programmation/extensions/installer_un_package.txt · Dernière modification: 2021/04/18 14:36 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0