J'utilise l'éditeur Gummi pour compiler mes documents tex. Ayant besoin d'afficher du code, et n'ayant pas trop envie de passer du temps sur la configuration, j'ai opté pour le package 'minted' qui correspond très bien à ce que je cherche.

J'ai donc un code tex qui ressemble à :

\documentclass[french, a4paper, 12pt]{article}

\usepackage{minted}

\newminted{python}{
    linenos=true,
    tabsize=4,
    fontfamily=courier,
    autogobble,
    xleftmargin=5pt,
    xrightmargin=5pt,
    frame=lines,
}

\begin{document}

Ceci est un test
    \begin{pythoncode}
        def fonction():
            return true
    \end{pythoncode}

\end{document}

J'ai bien activé l'option "Use shell-escape" dans les paramètres de compilation de Gummi. Au niveau des autres options de compilation de Gummi, j'utilise le compilateur TeXLive "pdftex" avec les étapes "TeX → PDF" Et pourtant j'obtiens une erreur :

/home/sha-chan/Bureau/.test.tex.swp:29: Package minted Error: Missing Pygments 
output; inputminted was
probably given a file that does not exist--otherwise, you may need 
the outputdir package option, or may be using an incompatible build tool,
or may be using frozencache with a missing file.

En compilant le document à la main avec la commande

$ pdflatex -shell-escape fichier.tex
, ça marche très bien.

Posée 30 Sep '21, 21:14

Sha-chan's gravatar image

Sha-chan
16938
Taux d'acceptation : 0%

1

Pouvez-vous nous montrer votre fichier .log ? Je pense que shell-escape n'est pas le problème, mais gummi ne trouve pas la version correcte de python

(01 Oct '21, 11:18) samcarter samcarter's gravatar image

Oui ! Le rapport complet étant beaucoup trop long, voici un haste : https://haste.breizh.pm/goneyageda.pl

(le module python 'pygments' est bien installé ^^)

(01 Oct '21, 16:17) Sha-chan Sha-chan's gravatar image

Merci ! \write18 enabled. dit que le shell-escape n'est pas le problème

(01 Oct '21, 17:42) samcarter samcarter's gravatar image

Merci à vous ! Cependant, je ne vois comment résoudre le problème… je passe de liens en liens. Ce lien correspond parfaitement à mon problème : https://tex.stackexchange.com/questions/517437/gummi-cannot-compile-with-minted-package-but-can-compile-at-command-line Mais la seule solution donnée n'est pas très claire ou même détaillée…

Je sais pas si ça peut jouer, mais j'ai une distribution TexLive, et pygments a été installé avec pip.

(01 Oct '21, 20:43) Sha-chan Sha-chan's gravatar image

Sur ma Debian/bookworm, il n'y a pas de commande `python' mais un commande python3 et une commnde 'python2.7'. Pour faire fonctionner le code ci-dessus, j'ai créé le lien symbolique /usr/bin/python qui renvoie sur $(which python3). Peut-être un problème de cet ordre, mais je n'ai pas d'informations sur l'environnement. Dans la documentation, il y a peut-être une option à ajouter, comme pour activer pythontex où il faut ajouter --interpreter "python:python3" . J'ai la flemme de lire les docs....

(02 Oct '21, 21:05) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image
1

Je suis sous Manjaro, la commande 'python' ouvre un shell python 3 par défaut. ^^ (d'ailleurs, je ne sais même pas si j'ai une autre version de python d'installée, mais je ne pense pas)

(02 Oct '21, 21:33) Sha-chan Sha-chan's gravatar image

Et la compilation en ligne de commande ne marche pas ? Il y a un retour en erreur ? Il faut court-circuiter gummi qui n'a aucun rôle actif dans la bagarre. gummi ne fait juste passer des commandes qui sont exécutées par le système. « pdflatex --shell-escape » ça devrait rouler. Si ça ne marche pas, il s'agit probablement d'un problème de configuration de Python. Je suis nul, là.

(03 Oct '21, 15:36) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

Non, justement, la compilation en ligne de commande marche très bien. ^^ Mais je voudrais compiler avec Gummi. Après, si y a pas de solution, la ligne de commande me dérange pas énormément non plus, mais c'est moins ergonomique.

(03 Oct '21, 15:46) Sha-chan Sha-chan's gravatar image

C'est donc la configuration de gummi qui est à revoir. Je ne connais pas du tout, j'utilise AUCTeX/Emacs depuis vingt ans. Emacs est totalement configurable car écrit en elisp et documenté. De plus, on trouve de l'aide très facilement quand on ne sait pas faire soi même. J'ai juste écrit une fonction qui active la compilation avec -shell-escape à la demande par une combinaison de touches, et le fichier compile.

(03 Oct '21, 19:17) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

J'ai bien pris garde de demander à ce que Gummi utilise -shell-escape. Les détails sont précisés dans la question, mais en résumé : - mode -shell-escape activé - compilateur TeXLive avec PdfTeX - étapes de la compilation TeX → PDF

(03 Oct '21, 20:45) Sha-chan Sha-chan's gravatar image

Des programmes GUI n'utilisent pas le même $PATH comme des programmes en ligne de commande. Sur Mac et texstudio, je dois ajouter /Library/Frameworks/Python.framework/Versions/2.7/bin/ aux $PATH pour des programmes GUI. (Je ne sais pas comme faire ça avec Manjaro...)

(03 Oct '21, 22:32) samcarter samcarter's gravatar image

Cela fonctionne-t-il si vous ouvrez Gummi à partir de la ligne de commande ?

(03 Oct '21, 22:38) samcarter samcarter's gravatar image

Pour les changement du $PATH, je n'ai jamais eu ce genre de problème…

Et même en ouvrant Gummi via le terminal, j'ai la même erreur.

J'ai un peu de nouveau, tant que le fichier tex n'est pas enregistré, le document compile.

(04 Oct '21, 13:38) Sha-chan Sha-chan's gravatar image

Mais dans ce cas, ne s'agirait-il pas d'un problème de droits d'accès au répertoire où vous enregistrez vos fichiers ?

(04 Oct '21, 17:35) Pathe ♦♦ Pathe's gravatar image

Je ne pense pas : en exécutant Gummi avec sudo dans un terminal, j'ai toujours cette erreur. ^^

(04 Oct '21, 20:45) Sha-chan Sha-chan's gravatar image
3

Je me suis offert une installation de gummi car je suis curieux de nature. J'avoue que j'en suis tombé sur le cul. gummi crée une copie cachée du fichier tex avec l'extension tex.swp puis lance pdflatex dessus. pdflatex essaye de créer un fichier aux et n'arrive pas à s'en sortir. Quelle extension peut-il bien lui donner ? ça roule sans aucun souci avec Emacs qui ne s'amuse pas à ce genre d'acrobaties, avec TeXStudio également. Il faudrait que tu poste sur la liste de gummi, ou que tu changes d'environnement. Personnellement je ne recommanderai jamais ce machin à personne.

(04 Oct '21, 21:04) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

Je ne m'étais jamais intéressé au fonctionnement de Gummi… Effectivement, avec des manipulations pareilles, je suis en train de me demander comment ça arrive à marcher…

Je n'ai pas compris votre phrase "poster sur la pile de Gummi" ?

En terme d'éditeur, j'ai Vim qui est configuré, je vais voir pour ajouter un raccourcis ^^

(04 Oct '21, 21:22) Sha-chan Sha-chan's gravatar image
2

Poster sur la liste de gummi : Il doit bien y avoir un endroit où l'on peut poser ses questions sur ce machin . Emacs est un environnement de développement ultra-personnalisable, c'est le couteau suisse de l'informatique.C'est grâce à Emacs que j'ai pu analyser le fonctionnement de gummi.

(05 Oct '21, 07:39) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

Dans ce cas, ça a déjà été fait. Ça faisait partie des liens donnés par Samcarter. A ceci près qu'il s'agissait d'un ticket github qui a été fermé sans pour autant qu'un élément de réponse soit soulevé…

(05 Oct '21, 19:17) Sha-chan Sha-chan's gravatar image
Affichage de 5 parmi 20 Afficher 15 commentaire(s) en plus

On lit à la page 4 de la documentation:

The -output-directory and -aux-directory (MiKTeX) command-line options for LaTeX cause problems for minted, because the minted temporary files are saved in <outputdir>, but minted still looks for them in the document root directory. There is no way to access the value of the command-line option so that minted can automatically look in the right place. But it is possible to allow the output directory to be specified manually as a package option.

Une traduction approximative est :

Les options de ligne de commande -output-directory et -aux-directory (MiKTeX) pour LATEX causent des problèmes à minted, car les fichiers temporaires minted sont enregistrés dans <outputdir>, alors que minted les cherche toujours dans le répertoire racine du document. Il n'y a pas de moyen pour déterminer la valeur de l'option de ligne de commande afin que minted puisse automatiquement chercher au bon endroit. Toutefois, il est possible de spécifier manuellement le répertoire de sortie en option d'extension.

L'éditeur Gummi utilise (mal)heureusement cet option, d'où le problème.

Moi (pauvre Windowzien) j'arrive à compiler le document avec

\usepackage[outputdir={C:/Users/Touhami/gtmp}]{minted}.

Dans le journal que vous avez posté je vois bien (/home/sha-chan/.cache/gummi/.test.tex.out) donc je suppose que le répertoire utilisé est /home/sha-chan/.cache/gummi.

Lien permanent

Publiée 06 Oct '21, 19:28

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Ça marche parfaitement ! Merci beaucoup !

(07 Oct '21, 20:13) Sha-chan Sha-chan's gravatar image

J'ai compilé l'exemple proposé avec gummi sous Debian/bookworm. sous TeXLive 2020 J'ai ajouté à la ligne 18

\message{*****Nom du fichier en cours : \jobname *****}

Puis j'ai compilé (en fait, ia se fait tout seul apparemment) Les premières lignes du log affichent

   This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex)
     \write18 enabled.
    entering extended mode
    (/tmp/.TeX-ecmOAUjsQ.tex.swp

Ce qui signifie en particulier que la compilation se fait en pdflatex sur le fichier dont le nom est /tmp/.TeX-ecmOAUjsQ.tex.swp (j'ai donné le nom TeX-ecmOAUjsQ.tex au fichier exemple et gummi lui a ajouté l'extension .swp et l'a converti en fichier caché en précédent le nom d'un point.

Dans le log, le retour de la commande \message{*****Nom du fichier en cours : \jobname *****} me retourne

*****Nom du fichier en cours : .TeX-ecmOAUjsQ.tex*****

Ce qui contredit le nom déclaré du fichier : .TeX-ecmOAUjsQ.tex.swp

L'extension .swp est perdue !

Pas étonnant que dans le log, on trouve ensuite le message d'erreur

\inputminted was
probably given a file that does not exist-

D'après le PO, personne ne répond sur la liste de gummi. Une seule solution, abandonner gummi pour un vrai éditeur qui ne fait pas de manipulations de fichier derrière votre dos. Le fichier compile sans souci sur mon Emacs favori, ou sur TeXStudio, et je pense qu'il doit y en avoir pas mal d'autres qui font l'affaire.

Lien permanent

Publiée 05 Oct '21, 20:31

Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

Jean-jacques Rétorré
55615
Taux d'acceptation : 44%

Modifiée 05 Oct '21, 20:36

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.