Problème d'installation de package

Salut,
Alors j'ai voulu installer un package Latex (stmaryrd) donc je suis allez sur CTAN et j'ai essayer de suivre les instructions.
J'ai réussi à mettre le fichier .sty dans le bon répertoire (/usr/share/texlive/texmf-dist/tex/latex/stmaryrd)
puisque je n'ai pas de problème pendant la compilation. Par contre dans les indications je devais mettre les fonts dans un répertoire dvips que je crois avoir trouvé mais ça ne marche pas. Et d'autres fichiers dans un répertoire bitmap là par contre je n'ai rien trouvé...
Ps je suis sous linux
Merci pour votre aide !

Réponses

  • Ps je veux juste ajouter que tout marche quand j'édite mon document avec tout les fichiers stmaryrd dans le même dossier. Et j'ai déjà essayé pas mal de truc genre texhash...
  • Ce n'est pas une bonne idée de modifier des choses dans /usr ailleurs que sous /usr/local/, c'est le domaine réservé du gestionnaire de packages de ta distribution Linux (ou BSD, etc.). Maintenant, il se peut que tu aies des erreurs en installant ou en mettant à jour ta distribution Linux. À ta place :
    1. Je sauvegarderais tout ce que j'ai de personnel sous /usr/share/texlive (normalement, rien du tout).
    2. Je désinstallerais tous les packages texlive de ma distro Linux (ou BSD, etc.).
    3. Je m'assurerais qu'il n'y a plus rien dans /usr/share/texlive.
    4. Je réinstallerais les packages texlive dont j'ai besoin (avec apt-get ou dnf, etc.).
    Évidemment, si tu as fait des modifications ailleurs que dans /usr/share/texlive, il faut peut-être aussi faire du ménage aux endroits en question. Difficile d'être plus précis à ce stade.

    Une fois ceci fait, sachant que stmaryrd est un package hyper courant, il n'est a priori pas utile de l'installer manuellement comme tu as essayé. Tu devrais le trouver dans un package de ta distribution Linux. Sous Debian et sans doute ses dérivés, il s'agit du package texlive-science (on peut trouver cette information avec 'apt-file search stmaryrd.sty').

    D'autre part, quand quelque chose n'est pas packagé par ta distribution Linux (ou BSD, etc.), les bons endroits où l'installer sont (au moins dans le cas de Debian) :
    • /usr/local/share/texmf pour une installation globale (multi-utilisateurs) ;
    • ~/texmf pour une installation réservée à ton compte utilisateur (ceci ne nécessite pas les droits root).
    (Je pars ici du principe que tu utilises le TeX Live de ta distribution Linux/BSD/whatever, sinon les chemins sont différents.) Dans les deux cas, il faut respecter la TeX directory structure (TDS). Par exemple, stmaryrd.sty pourrait être installé dans ~/texmf/tex/latex/stmaryrd/, stmary6.pfm dans ~/texmf/fonts/type1/public/stmaryrd/, etc.

    Edit: une faute de frappe.
  • J'approuve brian.

    Juste une remarque: Sous Debian, Ubuntu and co, apt-file n'est pas installé par défaut, je crois.

    Il faut donc faire sudo apt-get install apt-file ; sudo apt-file update
    avant le apt-file search
  • Oui, tout à fait. Et si sudo n'est pas installé... entrer dans ce « trou de lapin » peut nous amener loin. (:P)

    (terrier ? l'expression est-elle à peu près traduisible en français ?..)
  • Merci pour la réponse.
    D'abord je ne sais pas pourquoi c'était là à la base moi je ne me souviens pas avoir installer quoi que ce soit.
    Je n'ai rien de personnel là dessus car j'ai tout sur mon home local.
    Ok j'ai compris ce que je devais faire, mais pour le faire c'est autre chose...
    Car je veux bien tout supprimer mais comment tout réinstaller ?
    Et quand tu dis qu'il y est déjà cela veut-il dire que je peux l'importer directement avec use package ou il y a une manip d'installation à faire?
    Car pour à part quelque commande obscur avec tlmgr je ne sais pas utiliser TeX live...
  • J'ai vérifié apt-file est bien fonctionnel et me donne l'emplacement du fichier .sty la où je l'avais indiqué dans le 1er message.
    Et sudo je ne sais pas comment je ferais sans lui...
  • Quelle distribution Linux utilises-tu, ta distribution TeX est-elle bien TeX Live et de quelle façon l'as-tu installée ? L'exécutable tex est-t-il /usr/bin/tex ou bien est-il ailleurs (tu peux sans doute utiliser 'which tex') ?

    Le fait que 'apt-file search stmaryrd.sty' renvoie
    latexml: /usr/share/perl5/LaTeXML/Package/stmaryrd.sty.ltxml
    texlive-science: /usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty
    
    ou quelque chose du genre n'a rien à voir avec le fait que tu aies copié le fichier à cet endroit ('apt-file search' ne fait que rechercher dans une base de données répertoriant la liste des fichiers contenus dans chaque package Debian disponible). Chez moi, la commande renvoie les deux lignes ci-dessus, mais /usr/share/perl5/LaTeXML/Package/stmaryrd.sty.ltxml n'existe pas sur mon système car je n'ai pas installé le package Debian latexml.

    La deuxième ligne renvoyée indique donc que le package Debian texlive-science contient le fichier /usr/share/texlive/texmf-dist/tex/latex/stmaryrd/stmaryrd.sty. Comme c'est un fichier essentiel du package LaTeX stmaryrd, ceci implique que l'on peut installer le package LaTeX stmaryrd avec une commande du type 'sudo apt-get install texlive-science' sur ma distribution.

    \usepackage n'a pas grand-chose à voir avec ça — ou plutôt, ça vient après et n'installe rien du tout. On ne peut compiler un document LaTeX contenant \usepackage{stmaryrd} que lorsque stmaryrd.sty et les autres fichiers de ce package LaTeX sont bien installés pour la distribution TeX utilisée (donc chez moi, la manière la plus simple pour ce faire consiste à installer le package Debian texlive-science).
  • Ok merci c'est bien plus clair maintenant!
    Alors moi je suis sous elementary qui est basé sur ubuntu, comme je l'ai dit je n'ai pas installé Latex... J'utilise sûrement tex live mais je ne me suis jamais posé la question. Mon executable tex est bien dans /usr/bin/tex

    J'ai bien compris comment installer les packages; mais alors après avoir supprimé les fichiers je les réinstalle avec un apt-get install texlive ou quelque chose comme ça ?
    Et comment choisir cette fois le bon dossier de destination.
  • Comme tu as /usr/bin/tex, tu peux exécuter la commande :
    $ dpkg -S /usr/bin/tex
    texlive-binaries: /usr/bin/tex
    
    Elle dit que /usr/bin/tex a été installé par le package Debian texlive-binaries (chez moi). Ce sera probablement la même chose pour toi.

    Après avoir fait le ménage, effectivement, il faut utiliser une commande du genre 'sudo apt-get install texlive texlive-science' pour (ré)installer les packages dont tu as besoin. Cela peut se faire avec d'autres gestionnaires de packages (je ne sais pas s'il y en a un de privilégié sous elementary OS) : apt, aptitude, synaptic... apt-get est juste le programme pratique pour dépanner sur Internet car « tout le monde » l'a et sait à peu près ce que c'est (chez les utilisateurs de Debian ou de distributions dérivées), et qu'il fonctionne en ligne de commande (on peut donc copier/coller les instructions...).

    Une fois les packages Debian/Ubuntu/elementary OS installés, il n'est nul besoin de lancer texhash ou updmap : tout cela est fait automatiquement par les scripts contenus dans les packages Debian. Il n'y a pas non plus de dossier à choisir : au sein d'un package Debian donné, le chemin de chaque fichier est parfaitement déterminé : c'est celui que donne 'apt-file search'. C'est aussi celui donné par
    $ dpkg -L package-Debian
    
    lorsque package-Debian est installé. Cette commande donne la liste des fichiers contenus dans le package (il peut aussi y avoir des fichiers créés dynamiquement au cours de l'exécution, mais ceux-là sont impossibles à déterminer sauf à analyser le code).

    Tu as donc besoin de déterminer les packages elementary relatifs à TeX Live. On peut faire 'apt-cache search texlive'. Une autre méthode consiste à installer 'dctrl-tools' (avec apt-get ou ce que tu veux) et à lancer :
    $ apt-cache dumpavail | grep-dctrl -e -sPackage -P '^texlive.*' | sed 's/Package: //' | sort | less
    
    (on quitte 'less' en appuyant sur 'q'). Cette commande affiche tous les packages disponibles dont le nom commence par 'texlive'. Voici le résultat chez moi :
    texlive
    texlive-base
    texlive-bibtex-extra
    texlive-binaries
    texlive-binaries-dbgsym
    texlive-extra-utils
    texlive-fonts-extra
    texlive-fonts-extra-doc
    texlive-fonts-extra-links
    texlive-fonts-recommended
    texlive-fonts-recommended-doc
    texlive-font-utils
    texlive-formats-extra
    texlive-full
    texlive-games
    texlive-generic-extra
    texlive-generic-recommended
    texlive-htmlxml
    texlive-humanities
    texlive-humanities-doc
    texlive-lang-all
    texlive-lang-arabic
    texlive-lang-chinese
    texlive-lang-cjk
    texlive-lang-cyrillic
    texlive-lang-czechslovak
    texlive-lang-english
    texlive-lang-european
    texlive-lang-french
    texlive-lang-german
    texlive-lang-greek
    texlive-lang-italian
    texlive-lang-japanese
    texlive-lang-korean
    texlive-lang-other
    texlive-lang-polish
    texlive-lang-portuguese
    texlive-lang-spanish
    texlive-latex-base
    texlive-latex-base-doc
    texlive-latex-extra
    texlive-latex-extra-doc
    texlive-latex-recommended
    texlive-latex-recommended-doc
    texlive-luatex
    texlive-metapost
    texlive-metapost-doc
    texlive-music
    texlive-omega
    texlive-pictures
    texlive-pictures-doc
    texlive-plain-generic
    texlive-pstricks
    texlive-pstricks-doc
    texlive-publishers
    texlive-publishers-doc
    texlive-science
    texlive-science-doc
    texlive-xetex
    
    Tu peux par exemple commencer avec texlive, texlive-lang-french et tout ce qui contient “recommended”. Plus texlive-science, que tu veux pour stmaryrd. Avec les dépendances, ça va en attraper plein d'autres.

    Après, il faut souvent regarder dans ton gestionnaire de packages (par exemple, aptitude) pour voir ce que fait tel ou tel package (utiliser '/' pour lancer une recherche dans aptitude et 'n' pour passer à l'occurrence suivante, 'N' pour la précédente ; tu peux lancer aptitude en simple utilisateur pour être sûr de ne rien installer ni effacer, juste pour consulter la liste des packages disponibles ou installés, leurs dépendances, descriptions, etc.).

    Autres possibilités :
    • installer et utiliser le package 'packagesearch' ;
    • utiliser une commande du style 'apt-cache show texlive' ;
    • aller sur un équivalent de cette page pour ta distribution.
    Un dernier mot : a priori, tlmgr n'est pas très utile si tu utilises la distribution TeX Live packagée par Debian/Ubuntu/elementary OS/etc., ce qui est sans doute le cas, sinon l'exécutable tex serait sous /usr/local/ (je n'ai jamais eu besoin de tlmgr sous Debian).
  • Waw super pour l'explication détaillée je vais essayer de voir tout ça et j'updapterai pour dire si j'ai réussi.
Connectez-vous ou Inscrivez-vous pour répondre.