[Résolu] Encore texmf !

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Encore texmf !

Messagepar marco56 » Lundi 31 Août 2015, 19:58

Bonsoir,
Je sais que la question a déjà été posée mais je trouve les réponses parfois contradictoires.

J'ai un paquet de packages non dispos en distribution initiale de TeXlive.
J'ai donc un fichier répertoire nommé "texmf" à la racine de mon pc qui est sous Ubuntu (avec les sous-répertoires tex et latex).
Jusque là, tout allait bien
Hier, j'ai mis un nouveau package, mais étonnamment, celui-ci n'est pas trouvé à la compilation alors qu'il est au même endroit que les autres.
J'ai lu qu'il n'a avait pas besoin de texhash : on est d'accord ?

Désolé pour ces questions à ras des pâquerettes...
Dernière édition par marco56 le Mardi 01 Septembre 2015, 10:03, édité 1 fois.
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: encore texmf !

Messagepar gigiair » Lundi 31 Août 2015, 21:09

Tout dépend si tes ajouts sont en mode USER ou en mode ROOT (super utilisateur).
L'installation en mode ROOT est à faire pour une machine utilisée par plusieurs personnes sous des comptes différents. Autrement, elle ne présente strictement aucun avantage.
En mode USER, l'ajout d'un nouveau package doit se faire dans un répertoire créé à cet effet et décrit par la variable.
Code: Tout sélectionner
echo $(kpsewhich -var-value TEXMFHOME)/tex/latex/packageperso

Et li n'est pas nécessaire de lancer texhash (alias mktexlsr) C'est même déconseillé

En mode ROOT les installations doivent se faire dans un répertoire créé à cet effet
Code: Tout sélectionner
echo $(kpsewhich -var-value TEXMFLOCAL)/tex/latex/packagelocal

et on doit lancer mktexlsr.
Code: Tout sélectionner
sudo mktexlsr $(kpsewhich -var-value TEXMFLOCAL)

Les documentations doivent s'installer dans des répertoires créés à cet effet, mais au lieu de /tex/latex, c'est /doc.
Enfin, pour s'assurer qu'un package installé sera bien trouvé par TeXLive, on peut (pour les anxieux) lancer
Code: Tout sélectionner
kpsewhich package.sty #(ou package.cls ou autre)


Tout autre façon de faire doit être réservée aux mainteneurs de TeXLive qui opèrent par l'intermédiaire des mises à jour.
Maintenant, celui qui a bien lu la documentation de TeXLive peut aussi placer ses extensions personnelles dans d'autres endroits mais ça ne procurera strictement aucun avantage supplémentaire.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2363
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: encore texmf !

Messagepar marco56 » Lundi 31 Août 2015, 21:59

Merci gigiair, mais je ne comprends pas tout :
C'est quoi, cette histoire de echo ? Il faut taper cela dans le terminal ?

Jusqu'ici, et tout fonctionnait très bien, je n'avais pas besoin de tout cela :
Par exemple, j'ai formaté mon pc (pc personnel : 1 utilisateur) il y a environ 1 an.
J'ai installé texlive et un éditeur, j'ai copié mon dossier "texmf" dans le répertoire "Home" et tous les packages personnels qui étaient présents dans mon texmf étaient reconnus.
C'est simplement en en ajoutant un hier que c'est parti en vrille !

Ta méthode est sans aucun doute la bonne mais j'avoue être un peu perdu : il faudrait que je réinstalle tous mes fichiers .sty un par un ?


[edit] Je vais en faire hurler certains mais jusqu'ici, lorsque je voulais par exemple tester un package hors distri, je le plaçais dans le répertoire courant et il était reconnu. Ce n'est apparemment plus le cas...
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encore texmf !

Messagepar rebouxo » Lundi 31 Août 2015, 22:21

marco56 a écrit:Merci gigiair, mais je ne comprends pas tout :
C'est quoi, cette histoire de echo ? Il faut taper cela dans le terminal ?

Oui.
marco56 a écrit:Jusqu'ici, et tout fonctionnait très bien, je n'avais pas besoin de tout cela :
Par exemple, j'ai formaté mon pc (pc personnel : 1 utilisateur) il y a environ 1 an.
J'ai installé texlive et un éditeur, j'ai copié mon dossier "texmf" dans le répertoire "Home" et tous les packages personnels qui étaient présents dans mon texmf étaient reconnus.
C'est simplement en en ajoutant un hier que c'est parti en vrille !

Ta méthode est sans aucun doute la bonne mais j'avoue être un peu perdu : il faudrait que je réinstalle tous mes fichiers .sty un par un ?

[edit] Je vais en faire hurler certains mais jusqu'ici, lorsque je voulais par exemple tester un package hors distri, je le plaçais dans le répertoire courant et il était reconnu. Ce n'est apparemment plus le cas...

Tout cela me paraît bien bizarre. Placer une extension dans le répertoire courant, n'est pas déconseillé (surtout si c'est pour le tester), c'est juste pas pratique.
Ta méthode est tout à fait correct (surtout pour un seul utilisateur).

Maintenant, qu'est-ce que cela veut dire : cela part en vrille ? Décris précisément ce que tu fais.
Un doc minimal, la méthode de compilation. Vérifier en ligne de commande si c'est bien ton LaTeX à toi qui est appelé. Bref, quand on aura cela, on aura des renseignements précis.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6883
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: encore texmf !

Messagepar marco56 » Lundi 31 Août 2015, 22:46

Merci rebouxo,
Comme je le disais, je n'utilise le répertoire courant qu'en solution provisoire.

Voici un ecm :

Code: Tout sélectionner
\documentclass{article}

\usepackage[utf8]{inputenc}   
\usepackage{textcomp}
\usepackage[francais]{babel}
\usepackage [T1]{fontenc}

\usepackage{pas-keybord}

\begin{document}
Coucou !
\end{document}


Le fichier "pas-keybord.sty" est dans mon répertoire "Dossier personnel (donc Home)/texmf/tex/latex".
Si j'enlève le usepackage, pas de souci à la compilation.
Si je le laisse, j'ai un message :
Code: Tout sélectionner
! LaTeX Error: File `pas-keybord.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)


Si je remplace par un autre package personnel placé dans ce même répertoire texmf, aucun souci !
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encore texmf !

Messagepar gigiair » Mardi 01 Septembre 2015, 05:31

marco56 a écrit:Merci gigiair, mais je ne comprends pas tout :
C'est quoi, cette histoire de echo ? Il faut taper cela dans le terminal ?

La configuration d'une installation TeXLive est décrite par un certain nombre de variables contenues dans un (ou plusieurs) fichiers nommés texmf.cnf. N'étant pas devant ta machine, je ne peux pas en connaître la valeur.
Pour ce faire, il suffit d'interroger par l'intermédiaire de l'utilitaire kpsewhich.
La commande kpsewhich -var-value VARIABLE renvoie la valeur de VARIABLE telle qu'elle est définie dans le fichier texmf.cnf actif dans l'environnement.
echo est une commande unix qui permet d'afficher une valeur sur un terminal.
la syntaxe $(<commande>) permet d'inclure la valeur de retour de <commande> dans une autre commande, . Donc la commande echo $(kpsewhich -var-value TEXMFHOME)/tex/latex va afficher la valeur de la variable TEXMFHOME de ton installation suivie de /tex/latex. Par exemple /home/toto/texmf/tex/latex.
C'est pratique pour moi de procéder ainsi, je n'ai pas besoin de te questionner pour savoir comment ton installation a été faite.
marco56 a écrit:Jusqu'ici, et tout fonctionnait très bien, je n'avais pas besoin de tout cela :
Par exemple, j'ai formaté mon pc (pc personnel : 1 utilisateur) il y a environ 1 an.
J'ai installé texlive et un éditeur, j'ai copié mon dossier "texmf" dans le répertoire "Home" et tous les packages personnels qui étaient présents dans mon texmf étaient reconnus.
C'est simplement en en ajoutant un hier que c'est parti en vrille !

Ta méthode est sans aucun doute la bonne mais j'avoue être un peu perdu : il faudrait que je réinstalle tous mes fichiers .sty un par un ?

Certainement pas, si tu me fais confiance, on finira bien par trouver ce qui coince. La faute la plus banale est la faute d'orthographe, mais il y a aussi les bugs de l'interface chaise-clavier. Une modification intempestive de l'environnement due à un bricolage un peu foireux...
marco56 a écrit:

[edit] Je vais en faire hurler certains mais jusqu'ici, lorsque je voulais par exemple tester un package hors distri, je le plaçais dans le répertoire courant et il était reconnu. Ce n'est apparemment plus le cas...

Ce n'est pas normal et j'en serais bien surpris.
La variable TEXINPUTS décrit les chemins dans lesquels peuvent se trouver les fichiers trouvés par latex.
Code: Tout sélectionner
kpsewhich -var-value TEXINPUTS
renvoie sa valeur. Elle commence toujours par «.» qui désigne toujours le répertoire courant.
La syntaxe de la description de la suite des chemins d'accès est décrite dans la doc de texlive-fr §8.1.3
Utilise l'utilitaire kpsewhich pour savoir si un fichier sera trouvé plutôt que de lancer une compilation latex. L'erreur peut aussi venir du fichier latex. Je serais bien surpris que la commande kpsewhich monpackage.sty ne trouve pas monpackage.sty dans l'environnement courant.
Peux-tu poster ici le retour de
Code: Tout sélectionner
cat $(kpsewhich texmf.cnf)
?
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2363
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: encore texmf !

Messagepar marco56 » Mardi 01 Septembre 2015, 06:24

Merci gigiair,
Je vais essayer de voir tout cela après le boulot aujourd'hui.
En attendant, voici le résultat de la dernière commande :

Code: Tout sélectionner
marco3@marco3-All-Series:~$ cat $(kpsewhich texmf.cnf)
% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf-dist/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
marco3@marco3-All-Series:~$
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: encore texmf !

Messagepar gigiair » Mardi 01 Septembre 2015, 07:18

Pas de problème, le texmf.cnf est vide (mais c'est seulement celui qui est accessible l'utilisateur, il y en a d'autres).
C'est le seul fichier de code informatique garanti sans erreurs.
Il n'est pas possible qu'un fichier présent dans le répertoire courant ne soit pas trouvé.
Vérifier qu'il est bien présent
Code: Tout sélectionner
ls -l pas-keybord.sty

Ce ne serait pas pas-keyboard.sty ?

Merci de tester un ECM du genre
Code: Tout sélectionner
\documentclass{minimal}
\usepackage{pas-keybord}
\begin{document}
\end{document}

avec le message d'erreur
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2363
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: encore texmf !

Messagepar marco56 » Mardi 01 Septembre 2015, 10:03

gigiair a écrit:Ce ne serait pas pas-keyboard.sty ?


Le boulet que je suis ! :chair:

Je suis confus de vous avoir fait gaspiller à tous de l'énergie.

gigiair a écrit:La faute la plus banale est la faute d'orthographe, mais il y a aussi les bugs de l'interface chaise-clavier.


Je le répète pourtant souvent dans mon entourage...
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] encore texmf !

Messagepar rebouxo » Mardi 01 Septembre 2015, 20:13

Et oui, 3,5 milliards d'années d'évolution et toujours des bugs. Me demande même si nous ne sommes pas une simple version de test :D

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6883
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] encore texmf !

Messagepar marco56 » Mercredi 02 Septembre 2015, 07:43

rebouxo a écrit:Et oui, 3,5 milliards d'années d'évolution et toujours des bugs. Me demande même si nous ne sommes pas une simple version de test :D

Olivier


Oui, mais là, j'ai quand même honte !
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] encore texmf !

Messagepar rebouxo » Mercredi 02 Septembre 2015, 23:44

marco56 a écrit:
rebouxo a écrit:Et oui, 3,5 milliards d'années d'évolution et toujours des bugs. Me demande même si nous ne sommes pas une simple version de test :D

Olivier


Oui, mais là, j'ai quand même honte !

Meuhh non, tu n'es pas le seul. Le symptome Chaise-Clavier est quand même très courant !
Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6883
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: encore texmf !

Messagepar gigiair » Mercredi 09 Septembre 2015, 14:36

marco56 a écrit:
gigiair a écrit:Ce ne serait pas pas-keyboard.sty ?


Le boulet que je suis ! :chair:

Je suis confus de vous avoir fait gaspiller à tous de l'énergie.

gigiair a écrit:La faute la plus banale est la faute d'orthographe, mais il y a aussi les bugs de l'interface chaise-clavier.


Je le répète pourtant souvent dans mon entourage...

Note que pour éviter ce genre de faute, AUCTeX dispose d'un mécanisme (débrayable) très sophistiqué.
La première fois que l'on exécute une commande prenant pour argument le nom d'un fichier (\input, \usepackage \documentclass etc.), AUCTeX scanne l'environnement pour trouver tous les noms de fichier possibles et on peut utiliser l'auto-complétion pour construire un nom de fichier valide à coup sûr.
Ça peut être assez pénalisant sur une machine lente, mais pour les handicapés de l'orthographe ou de la mémoire, ça peut éviter de grosses pertes de temps.
Peut-être que d'autres éditeurs LaTeX ont cette fonctionnalité, je l'ignore.
Dernière édition par gigiair le Mercredi 09 Septembre 2015, 18:38, édité 1 fois.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2363
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: [Résolu] Encore texmf !

Messagepar marco56 » Mercredi 09 Septembre 2015, 15:46

Ok, merci.
Ceci dit, je n'ai pas de souci comme cela en principe : ici, j'avais en plus un problème d'anglais (impardonnable) !
marco56
Giga-utilisateur
 
Messages: 726
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler] et 13 invités