Tkz non généré

Utilisation de code texgraph dans LateX avec l'environnement \\begin{texgraph}...\\end{texgraph} et le paquet texgraph.sty.

Tkz non généré

Messagepar Archibald » 26 Juil 2020 19:31

Bonjour,

si j'essaie de compiler le fichier suivant :

Code: Tout sélectionner
% -*- coding: utf-8 -*-

\documentclass{article}

\usepackage{tikz}
\usepackage{texgraph}

\begin{document}

\begin{texgraph}[export=tkz]
  view(-1, 8, -20, 5), size(10 + 6*i, 0),
  LineStyle := dotted, Grille(0, 1 + i),
  LineStyle := solid, Width := Thicklines, Axes(0, 1 + 5*i),
  Color := blue,
  for x from 0 to 10 do Point(x + (4*x - x^2)*i), od,     
\end{texgraph}

\end{document}


à l'aide de la commande :

Code: Tout sélectionner
`lualatex -enable-write18  -file-line-error  -interaction=nonstopmode "\input" "test_texgraph.tex


J'ai un comportement étrange...

* un fichier test_texgraph1.teg est créé, qui contient :

Code: Tout sélectionner
TeXgraph#
Graph image = [
  view(-1, 8, -20, 5), size(10 + 6*i, 0),
  LineStyle := dotted, Grille(0, 1 + i),
  LineStyle := solid, Width := Thicklines, Axes(0, 1 + 5*i),
  Color := blue,
  for x from 0 to 10 do Point(x + (4*x - x^2)*i), od,
];


* la commande :
Code: Tout sélectionner
CmdTeXgraph -tkz -nosrc test_texgraph1

est exécutée (jusqu'ici tout va bien)

* MAIS le fichier test_texgraph1.tkz n'est pas crée, et la compilation finit avec un message d'erreur :

Code: Tout sélectionner
! LaTeX Error: File `test_texgraph1.tkz' not found.


* cependant, si j'exécute la commande CmdTeXgraph -tkz -nosrc test_texgraph1 depuis un terminale Windows dans le répertoire de travail, j'ai bien un fichier tkz créé, parfaitement valide, et je peux compiler mon fichier (qui est parfaitement correct).

Quelques éléments peut-être utiles :

* j'utilise Emacs + AucTeX + Luatex

* j'ai déjà remarqué des problèmes de compilation lorsque le nom de mon fichier comporte des espaces, j'ai fait attention à n'en mettre aucune

* avec la même installation, sur le même ordinateur, j'utilisais jusqu'à présent la chaîne luatex -> dvips -> ps2pdf, et je compilais donc mes programmes TeXgraph avec PSFrag (occasionnellement Pstricks), sans problème majeur
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18

Re: Tkz non généré

Messagepar P.Fradin » 26 Juil 2020 22:12

Salut Archibald

C'est curieux, chez moi ton fichier compile normalement avec lualatex (TeXlive 2020), voici ma commande:
Code: Tout sélectionner
lualatex -enable-write18 -interaction=nonstopmode  fichier.tex


EDIT en fait ça ne marche pas chez moi non plus, j'avais testé d'abord avec pdflatex (qui a bien créé le fichier tikz) , puis ensuite lualatex qui a pris le tikz déjà créé.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Tkz non généré

Messagepar P.Fradin » 26 Juil 2020 22:29

Bon après quelques recherches sur le net, lualatex et \write18, c'est pas simple...
Voici un contournement:
Code: Tout sélectionner
    \documentclass{article}
   % code à ajouter
    \IfFileExists{shellesc.sty}
    {\RequirePackage{shellesc}} 
    {\protected\def\ShellEscape{\immediate\write18 }}
   % fin du code ajouté
    \usepackage{tikz}
    \usepackage{texgraph}

    \begin{document}

    \begin{texgraph}[export=tkz]
      view(-1, 8, -20, 5), size(10 + 6*i, 0),
      LineStyle := dotted, Grille(0, 1 + i),
      LineStyle := solid, Width := Thicklines, Axes(0, 1 + 5*i),
      Color := blue,
      for x from 0 to 10 do Point(x + (4*x - x^2)*i), od,     
    \end{texgraph}

    \end{document}


avec ça c'est bon chez moi avec pdflatex et avec lualatex.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Tkz non généré

Messagepar Archibald » 26 Juil 2020 23:01

Je suis bluffé. Ça marche en effet. Je vais essayer de comprendre pourquoi maintenant :)

Merci beaucoup !
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18

Re: Tkz non généré

Messagepar P.Fradin » 27 Juil 2020 08:51

En fait il semble que mettre simplement dans le préambule :
Code: Tout sélectionner
\usepackage{shellesc}

soit suffisant.
Ce package semble définir en particulier l'accès au write18.
[EDIT] : je vais rajouter un \RequirePackage{shellesc}% directement dans le fichier texgraph.sty pour la prochaine version.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Tkz non généré

Messagepar Archibald » 27 Juil 2020 22:30

En fait, il semble tout simplement que \write18 ait disparu de Luatex.

Ça va être source d'incompatibilités avec pas mal de trucs, même si en effet, la parade semble simple (shellesc doit s'adapter au moteur).
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18


Revenir vers TeXgraph dans LaTeX

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités

cron