Charger un package personnel
Bonjour,
J'ai créé un package personnel avec les commandes que j'utilise régulièrement et je le charge en plaçant le fichier dans le même dossier que le fichier ".tex". Mais ça m'oblige à en faire de multiples copies dans chaque dossier avec des ".tex", ce qui est gênant quand je veux le modifier. Comment faire pour indiquer à LaTeX un chemin vers un dossier où trouver un unique exemplaire de mon package ?
Merci d'avance
J'ai créé un package personnel avec les commandes que j'utilise régulièrement et je le charge en plaçant le fichier dans le même dossier que le fichier ".tex". Mais ça m'oblige à en faire de multiples copies dans chaque dossier avec des ".tex", ce qui est gênant quand je veux le modifier. Comment faire pour indiquer à LaTeX un chemin vers un dossier où trouver un unique exemplaire de mon package ?
Merci d'avance
Réponses
-
Expliquer au compilateur une liste de répertoire où chercher des fichiers de macros, ça dépend de l'installation, je ne sais pas répondre.
Suggestion :- avoir un répertoire tex/ quelque part ;
- mettre tous les fichiers de macros (par exemple, mes_macros.tex ou mon_style.sty) dans un sous-répertoire macros/ de tex/ (ça donne donc ../tex/macros/) ;
- faire un sous-répertoire de tex/ pour chaque projet (par exemple : .../tex/projet/) ;
- dans le préambule d'un fichier source du répertoire .../tex/projet/, écrire : \include{../macros/mes_macros} ou bien \usepackage{../macros/mon_style}.
-
Sous Linux, tu peux mettre ton fichier dans ~/texmf/tex/latex/ (à créer si nécessaire) et mettre à jour la base de données avec la commande texhash .
-
Merci Math Coss, ça fonctionne !
Merci aléa pour ton aide. En l’occurrence, j'utilise Windows. -
La solution d'aléa est très bonne, il faut juste l'adapter en fonction de la distribution TeX utilisée. Donc ce qui est pertinent ici, c'est plus cette distribution (MiKTeX, TeX Live ?..) que le système d'exploitation. Cela dit, le principe est toujours le même : mettre le ou les fichiers dans un répertoire référencé par TEXINPUTS et rafraîchir la base de données des noms de fichiers correspondante (dans certains cas, comme justement celui de TEXMFHOME = ~/texmf par défaut avec TeX Live, la deuxième étape n'est pas nécessaire—en tout cas, c'est ainsi sous Debian).
Cette méthode évite de coder en dur le chemin (tout relatif qu'il est) vers le fichier de macros dans chacun des documents utilisant les macros partagées. C'est aussi cette technique qui permet d'installer des packages qui ne sont pas installables automatiquement avec les outils d'administration de la distribution TeX ou du système (outils d'administration de MiKTeX, de TeX Live, de la distribution Linux utilisée etc.). Il peut donc s'avérer utile, à l'occasion, de la maîtriser. -
Le seul problème est que lorsque tu transmets ton fichier LaTeX à quelqu'un, il ne faut pas oublier de le livrer avec ton package (dont tu as oublié l'existence puisque chez toi, il est intégré dans les packages standards).
Alain -
Messieurs, je vous remercie avec une grande ferveur, vous venez de me faire accomplir un progrès inestimable. Il y a des années (vraiment beaucoup !) que j'essaie de faire comprendre quel TEXINPUTS je veux à emacs via .bashrc. Vous m'avez permis de corriger la ligne erronée :
TEXINPUTS=`kpsewhich -var-value TEXINPUTS`,~/Documents/TeX/Macros// export TEXINPUTS
C'est un peu moins pro que la solution d'aléa mais ça remplit son office. Une grande victoire pour moi.
(L'erreur jusqu'à il y a quelques minutes était qu'il y avait un deux-points au lieu d'une virgule. J'aurais pourtant juré avoir vu des paths dont les branches sont séparées par des deux-points plutôt que des virgules.) -
Ah oui, la virgule, c'est vrai que c'est piégeux... Quant aux « progrès inestimables », hum ! On s'emballe un peu, non ? :-)
Concernant ce qui suit, il est recommandé aux diptères de se mettre aux abris.
Tu le sais peut-être déjà, mais tu peux raccourcir un chouia ta commande en utilisant la syntaxeexport variable=valeur
Je préfère aussi écrire une substitution de commande (traduction mot à mot de “command substitution”) sous la forme $(commande) plutôt que celle `avec des backquotes`, d'une part parce que les parenthèses peuvent être appariées (j'utilise « (show-paren-mode 1) » dans ma config Emacs, voir aussi les raccourcis M-C-f et M-C-b), d'autre part parce que c'est plus simple et clair avec les parenthèses si l'on veut une substitution dans une substitution (pas très fréquent, certes). Pour les raisons de syntaxe, cet usage des backquotes est souvent déconseillé et considéré comme obsolète. Bon, évidemment, je pense qu'elles fonctionneront encore de la même façon dans 20 ans sinon plus, car il y a énormément à perdre et pratiquement rien à gagner à casser leur comportement actuel.
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.8K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 52 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres