- Questo topic ha 10 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 7 mesi fa da
robitex.
-
CreatoreTopic
-
19 Gennaio 2012 alle 6:40 #68771::
Salve a tuttisto utilizzando, sia pure ad un livello elementare , pgfplots.
Ho un problema con gnuplot che vorrei inserire nel codice pgfplots come indicato nell’articolo da De Marco Giacomelli si ArsTEXnica.
Ho scritto un codice molto semplice ma non funziona, sicuramente c’è qualche errore.
Grazie per qualche aiuto.
Giovanni C.Aggiungo il codice:
% Preambolo
\documentclass{standalone}
\usepackage{lmodern,pgfplots}\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[id=parable,domain=-5:5]
gnuplot{4*x**2 – 5} node[pin=180:{$4x^2-5$}]{};
\end{axis}
\end{tikzpicture}\end{document}
-
CreatoreTopic
-
AutoreRisposte
-
-
19 Gennaio 2012 alle 6:44 #68772::
gcappellotto47″ post=67912Salve a tutti
sto utilizzando, sia pure ad un livello elementare , pgfplots.
Ho un problema con gnuplot che vorrei inserire nel codice pgfplots come indicato nell’articolo da De Marco Giacomelli si ArsTEXnica.
Ho scritto un codice molto semplice ma non funziona, sicuramente c’è qualche errore.
Grazie per qualche aiuto.
Giovanni C.Che tipo di errore?
Ciao
Orlando
-
19 Gennaio 2012 alle 6:54 #68773::
gcappellotto47″ post=67912Salve a tutti
sto utilizzando, sia pure ad un livello elementare , pgfplots.
Ho un problema con gnuplot che vorrei inserire nel codice pgfplots come indicato nell’articolo da De Marco Giacomelli si ArsTEXnica.
Ho scritto un codice molto semplice ma non funziona, sicuramente c’è qualche errore.Se l’errore è
`! Package pgfplots Error: Sorry, the gnuplot-result file 'cappell.parable.table
' could not be found. Maybe you need to enable the shell-escape feature? For pd
flatex, this is '>> pdflatex -shell-escape'. You can also invoke '>> gnuplot.gnuplot' manually on the respective gnuplot file..`
evidentemente non hai chiamato pdflatex con l’opzione -shell-escape che è necessaria perché sia lanciato gnuplot.Ciao
Enrico
-
19 Gennaio 2012 alle 6:54 #68774
-
19 Gennaio 2012 alle 7:03 #68775
-
19 Gennaio 2012 alle 8:34 #68776
-
19 Gennaio 2012 alle 10:40 #68777
-
19 Gennaio 2012 alle 10:52 #68778::
Il sistema operativo è Windows XP S.P.3
gnuplot lo trova in C:\Documents and Setting\gcappellotto47
forse devo dargli tutto il percorso?Beh non è il massimo.
Intanto devi avere i privilegi di amministratore.
Nel tuo caso sarebbe consigliabile copiare l’intera cartella di Gnuplot (quella che contiene l’eseguibile gnuplot.exe e tutti gli altri file) nella cartella C:\Programmi\Gnuplot
(o C:\Program Files\Gnuplot) o in alternativa nella cartella C:\Gnuplot.
Supponiamo che tu scelga C:\Gnuplot.
La cosa importante è aggiungere il percorso in cui si trova gnuplot.exe alla variabile d’ambiente Path.
Si fa così: Start->Pannello di controllo->Sistema->Impostazioni Avanzate->Variabili d’ambiente. Si aprirà una finestra di dialogo. Andrai a scorrere le variabili di sistema. Modificherai la variabile Path così: aggiungendo un ‘;’ (punto e virgola) ed il percorso C:\Gnuplot alla fine della stringa.
A questo punto dovresti aver finito. Se riavvii il sistema è ancora meglio.Ciao,
Agostino
-
19 Gennaio 2012 alle 12:16 #68779::
Ti ringrazio,
ho fatto quanto mi hai indicato però non funziona ancora.il codice è il solito:
\documentclass{standalone}
\usepackage{lmodern,pgfplots}\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[id=parable,domain=-5:5]
gnuplot{4*x**2 – 5} node[pin=180:{$4x^2-5$}]{};
\end{axis}
\end{tikzpicture}\end{document}
Il messaggio d’errore è il seguente:
! Package pgfplots Error: Sorry, the gnuplot-result file ‘prova-grafici-xxxxx.p
arable.table’ could not be found. Maybe you need to enable the shell-escape fea
ture? For pdflatex, this is ‘>> pdflatex -shell-escape’. You can also invoke ‘>
> gnuplot.gnuplot’ manually on the respective gnuplot file..
See the pgfplots package documentation for explanation.
Type Hfor immediate help. Quasi ci rinuncio…
Comunque grazie lo stesso.
Ciao
-
19 Gennaio 2012 alle 12:22 #68780
-
19 Gennaio 2012 alle 14:11 #68781::
Nell’articolo su ArsTeXnica leggi l’esempio alla sezione 7.5. Viene detto che:
1 – gnuplot serve solo per computazione numerica
2 – occorre dare il comando di compilazione con l’opzione -shell-escape (almeno pre il primo run)Fai così: apri una finestra di console (Start-> Programmi -> Accessori -> Prompt dei comandi)
adesso alla riga di comando devi rendere ‘corrente’ la directory dove si trova il sorgente tex per pgfplots
usa quindi il comando `cd nome-dir (invio)`
poi lancia il comando: `pdflatex -shell-escape nomesorgente`
Si tratta di un normalissimo comando di compilazione del sorgente che di solito l’utente non vede perché viene lanciato dietro le quinte dall’editor. L’opzione -shell-escape consente a TeX di utilizzare i programmi esterni, cosa non permessa normalmente per questioni di sicurezza.Nella prima compilazione, pgfplots crea i file di comandi per gnuplot, e lancia gnuplot stesso sui file appena creati che in uscita danno i file numerici di risultato, letti poi da pgfplots per il plottaggio. Nelle compilazioni successive gnuplot viene chiamato solo se sono cambiate le formule.
Nel tuo caso, tu lanci la compilazione, l’editor lancia il comando senza opzione -shell-escape, gnuplot non può quindi lavorare e pgfplots non trova i file numerici che si aspetterebbe.
Aggiungo una nota:
La classe standalone, suggeritami da Enrico, funziona bene perché il pdf del grafico è già scontornato (si evita un passaggio con pdfcrop), ma occorre sapere che funziona bene solo se non ci sono ritorni a capo tra \begin{document} e \begin{tikzpicture} e neppure tra i rispettivi comandi di chiusura di questi ambienti.Ciao
R.ps. mi fa piacere che sul forum compaiono riferimenti all’articolo 🙂
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.