Gnuplot usando tikz

  • Creatore
    Topic
  • #105792
    Up
    0
    Down
    ::


    Riporto subito il mio preambolo con l’esempio
    `
    \documentclass[a4paper,11pt]{book}
    \usepackage[italian]{babel}
    \usepackage[babel]{csquotes}
    \usepackage[style=numeric]{biblatex}
    \addbibresource{bibliografia.bib}
    \usepackage{graphicx}
    \graphicspath{{immag/}}
    \usepackage{subfig}
    \usepackage{indentfirst}
    \usepackage{amsmath}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{emptypage}
    \usepackage{booktabs}
    \usepackage{multirow}
    \usepackage{longtable}
    \usepackage{lscape}
    \usepackage{verbatim}
    \usepackage{pdfpages}
    \usepackage{xkeyval}
    \usepackage{epigraph}
    \usepackage{siunitx}
    \sisetup{output-decimal-marker={,},
    list-final-separator = { e },
    list-separator = {, },
    table-figures-integer=1,
    table-figures-decimal=3}
    \usepackage{dcolumn}
    \usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash,format=hang,justification= justified]{caption}
    \captionsetup[table]{position=bottom}
    \usepackage{textcomp}

    \usepackage[pdfborder={0 0 0}]{hyperref}
    \hypersetup{pdfborder=0 0 0}

    \usepackage{pgfplots,relsize,pgfplotstable,lmodern,pgfkeys, pgfmath}
    \pgfplotsset{compat=1.3}
    \pgfkeys{
    /pgf/number format/.cd, % “change directory”
    use comma
    }
    \usetikzlibrary{plotmarks,arrows.meta,calc,intersections,through,backgrounds,bending}
    %\usetikzlibrary{mec}
    \usetikzlibrary{positioning,patterns,decorations.markings}

    \renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
    \renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
    \setcounter{tocdepth}{3}
    \setcounter{secnumdepth}{3}

    \begin{document}
    \begin{figure}
    \centering
    \begin{tikzpicture}
    \draw[domain=-5:5, samples=50, smooth, color=red] plot[id=catenaria] function{0.5*(exp(x)+exp(-x))};
    \end{tikzpicture}
    \end{figure}
    \end{document}
    `

    Dopo aver letto in rete ho trovato che c’è la questione della shell–escape, credo di averla risolta come cosa, ho seguito quanto detto qui, inoltre verificando nei file generati nella mia cartella trovo il file RelazioneCavi.catenaria.gnuplot ma dal momento che ho abilitato l’uso di programmi esterni (shell–escape ho capito che serve a questo) mi aspettavo che latex lanciasse gnuplot in automatico e questo dovrebbe generare un file *.table che invece non c’è. Quindi la domanda è cosa ometto ancora di fare per ottenere l’immagine?

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #105793
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        schwarz89it” post=105865Riporto subito il mio preambolo con l’esempio
        `
        \documentclass[a4paper,11pt]{book}
        \usepackage[italian]{babel}
        \usepackage[babel]{csquotes}
        \usepackage[style=numeric]{biblatex}
        \addbibresource{bibliografia.bib}
        \usepackage{graphicx}
        \graphicspath{{immag/}}
        \usepackage{subfig}
        \usepackage{indentfirst}
        \usepackage{amsmath}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage{emptypage}
        \usepackage{booktabs}
        \usepackage{multirow}
        \usepackage{longtable}
        \usepackage{lscape}
        \usepackage{verbatim}
        \usepackage{pdfpages}
        \usepackage{xkeyval}
        \usepackage{epigraph}
        \usepackage{siunitx}
        \sisetup{output-decimal-marker={,},
        list-final-separator = { e },
        list-separator = {, },
        table-figures-integer=1,
        table-figures-decimal=3}
        \usepackage{dcolumn}
        \usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash,format=hang,justification= justified]{caption}
        \captionsetup[table]{position=bottom}
        \usepackage{textcomp}

        \usepackage[pdfborder={0 0 0}]{hyperref}
        \hypersetup{pdfborder=0 0 0}

        \usepackage{pgfplots,relsize,pgfplotstable,lmodern,pgfkeys, pgfmath}
        \pgfplotsset{compat=1.3}
        \pgfkeys{
        /pgf/number format/.cd, % “change directory”
        use comma
        }
        \usetikzlibrary{plotmarks,arrows.meta,calc,intersections,through,backgrounds,bending}
        %\usetikzlibrary{mec}
        \usetikzlibrary{positioning,patterns,decorations.markings}

        \renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
        \renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
        \setcounter{tocdepth}{3}
        \setcounter{secnumdepth}{3}

        \begin{document}
        \begin{figure}
        \centering
        \begin{tikzpicture}
        \draw[domain=-5:5, samples=50, smooth, color=red] plot[id=catenaria] function{0.5*(exp(x)+exp(-x))};
        \end{tikzpicture}
        \end{figure}
        \end{document}
        `

        Dopo aver letto in rete ho trovato che c’è la questione della shell–escape, credo di averla risolta come cosa, ho seguito quanto detto qui, inoltre verificando nei file generati nella mia cartella trovo il file RelazioneCavi.catenaria.gnuplot ma dal momento che ho abilitato l’uso di programmi esterni (shell–escape ho capito che serve a questo) mi aspettavo che latex lanciasse gnuplot in automatico e questo dovrebbe generare un file *.table che invece non c’è. Quindi la domanda è cosa ometto ancora di fare per ottenere l’immagine?

        Ciao.
        Il tuo non è proprio un MWE minimum working example che riproduce il problema … la M sta per minimum e non per maximum 🙂
        Due cose:
        1 hai chiara la differenza tra TikZ e pgfplots (visto che carichi questo pacchetto nel preambolo)?
        2 hai installato gnuplot?

        R.

      • #105794
        Up
        0
        Down
        ::


        Chiedo scusa, non è un Minimum, così dovrebbe andare meglio anche se forse si potrebbero togliere 3 pacchetti e snellire le librerie.
        `
        \documentclass[a4paper,11pt]{book}
        \usepackage{graphicx}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}

        \usepackage{pgfplots,relsize,pgfplotstable,lmodern,pgfkeys, pgfmath}
        \pgfplotsset{compat=1.3}
        \pgfkeys{
        /pgf/number format/.cd, % “change directory”
        use comma
        }
        \usetikzlibrary{plotmarks,arrows.meta,calc,intersections,through,backgrounds,bending}
        \usetikzlibrary{positioning,patterns,decorations.markings}

        \begin{document}
        \begin{figure}
        \centering
        \begin{tikzpicture}
        \draw[domain=-5:5, samples=50, smooth, color=red] plot[id=catenaria] function{0.5*(exp(x)+exp(-x))};
        \end{tikzpicture}
        \end{figure}
        \end{document}
        `

        Per rispondere alla tua domanda se conosco la differenza TikZ e pgfplots faccio prima a dirti di no, ho sempre usato quello che io chiamo TikZ per disegnare, mentre pgfplots lo uso solitamente per tracciare grafici, mi sono sempre rifatto a questi due manuali del CTAN pgfplots e TikZ e PGF.
        Proprio all’ultimo ho fatto riferimento ieri in particolare al §22.5 e 22.6 per fare quella cosa.
        Infine, ma ho dimenticato io di scriverlo, sì, ho installato Gnuplot nel computer.
        Ricompilando ora l’esempio mi dice questo:

        (c:/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
        ABD: EveryShipout initializing macros”gnuplot” non � riconosciuto come comando interno o esterno,
        un programma eseguibile o un file batch.

        Package pgfplots notification ‘compat/show suggested version=true’: you might b
        enefit from \pgfplotsset{compat=1.12} (current compat level: 1.3).

        Package pgf Warning: Plot data file `prv.catenaria.table’ not found. on input l
        ine 22.

        ! Output loop—100 consecutive dead cycles.
        \clearpage …rite \m@ne {}\vbox {}\penalty -\@Mi

        l.25 \end{document}

        Non so se possa essere di qualche aiuto o no, ma l’ho riportato.

      • #105795
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::


          Ciao.
          Nel nuovo esempio che hai postato si vede che non ti è chiara la differenza tra TikZ e pgfplots.
          Infatti nel preambolo carichi pgfplots e nel documento fai uso di TikZ, che esso stesso è in grado di eseguire semplici grafici avvalendosi anche di gnuplot.
          Il codice funziona perché pgfplots carica automaticamente anche TikZ.

          Ti consiglio di usare pgfplots per produrre i grafici e non TikZ.
          Se non hai bisogno di particolare potenza di calcolo, pgfplots è in grado da solo di lavorare con le funzioni.
          Devi quindi anche valutare la potenza numerica che richiedono le tue funzioni prima di partire in quarta con gnuoplot.

          Gnuplot essendo un componente esterno al sistema TeX, comporta qualche attenzione in più all’utente.
          In effetti, dal log che riporti è chiro che TikZ non riesce a lanciare gnuplot per qualche ragione.
          Potrebbe essere che gnuplot non sia settato nel path, oppure che la compilazione richieda l’opzione -shell-escape.
          pgfplots offre molto probabilmente messaggi di errore più chiari rispetto a TikZ quando lavora in coppia con gnuplot.

          Comunque, in generale, il consiglio di partire da esempio semplici leggendo la documentazione è alla fine sempre il migliore.
          Per questo preferisco non
          Saluti.
          Buona Pasqua a tutti i frequentatori del forum.
          R.

        • #105796
          Up
          0
          Down
          ::


          Ti ringrazio per avermi fatto notare questo clamoroso errore, non mi ero mai accorto che mi mancava il pacchetto tikz nel preambolo, probabilmente essendo il manuale tikz e pgf ho pensato che pgfplots fosse una sua estensione. Le cose ora mi sembra già più chiare, vorrei tuttavia chiederti se puoi indicarmi come si setta il path di gnuplot o se esiste già una discussione in cui è spiegato perché per me questa cosa è totalmente nuova.
          Buona Pasqua a tutti

        • #105797
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            schwarz89it” post=105889Ti ringrazio per avermi fatto notare questo clamoroso errore, non mi ero mai accorto che mi mancava il pacchetto tikz nel preambolo, probabilmente essendo il manuale tikz e pgf ho pensato che pgfplots fosse una sua estensione. Le cose ora mi sembra già più chiare, vorrei tuttavia chiederti se puoi indicarmi come si setta il path di gnuplot o se esiste già una discussione in cui è spiegato perché per me questa cosa è totalmente nuova.
            Buona Pasqua a tutti

            Ciao.
            Attenzione, l’errore clamoroso non sta nel non aver caricato TikZ nel preambolo ma nel caricare pgfplots per poi fare i grafici con TikZ.
            Prima di modificare il path bisogna essere sicuri che sia questo il problema.
            R.

          • #105798
            Up
            0
            Down
            ::

            robitex” post=105912

            Ti ringrazio per avermi fatto notare questo clamoroso errore, non mi ero mai accorto che mi mancava il pacchetto tikz nel preambolo, probabilmente essendo il manuale tikz e pgf ho pensato che pgfplots fosse una sua estensione.

            Attenzione, l’errore clamoroso non sta nel non aver caricato TikZ nel preambolo ma nel caricare pgfplots per poi fare i grafici con TikZ.

            In realtà non è un errore clamoroso. Pgfplots carica Tikz e molte altre funzionalità, quindi caricare pgfplots per usare solo le funzionalità di TikZ non è sbagliato, soltanto poco efficiente.

            Ciao
            Claudio

          • #105799
            Up
            0
            Down
            ::


            Sono d’accordo che caricare Pgfplots per usare usare tikz non è una bella cosa, ma io in questo caso non devo graficare un diagramma, bensì mi serve quella curva per poi sviluppare un disegno. Quando ho dovuto creare dei grafici ho sempre usato pgfplots seguendo le istruzioni della guida.
            La ragione per la quale sto scomodando la funzione coseno iperbolico è che sto trattando le funi soggette solo al proprio peso. Nella fattispecie devo anche descrivere le forze che agiscono su un elemento infinitesimo di fune, perciò la cosa più logica per me era e resta usare tikz. Non si tratta quindi di grafici i tracciamento di funzioni, ma solo di un espediente atto a ottenere una fune realistica.
            Detto questo e osservato che ora posso completare il mio disegno, mi resta da capire cosa sia quel path di cui si è parlato. Anche perché non escludo che in un futuro non troppo distante io non sia costretto a far uso di gnuplot con pgfplots e a quel punto mi troverei ad aprire un nuovo argomento di conversazione.

          • #105800
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              cfiandra” post=105915

              [quote=”schwarz89it” post=105889]Ti ringrazio per avermi fatto notare questo clamoroso errore, non mi ero mai accorto che mi mancava il pacchetto tikz nel preambolo, probabilmente essendo il manuale tikz e pgf ho pensato che pgfplots fosse una sua estensione.

              Attenzione, l’errore clamoroso non sta nel non aver caricato TikZ nel preambolo ma nel caricare pgfplots per poi fare i grafici con TikZ.

              In realtà non è un errore clamoroso. Pgfplots carica Tikz e molte altre funzionalità, quindi caricare pgfplots per usare solo le funzionalità di TikZ non è sbagliato, soltanto poco efficiente.

              Ciao
              Claudio[/quote]
              Certo, ma non credo che sia così corretto caricare un pacchetto indirettamente con pgfplots per poi usare TikZ. Questo è il punto. Non è corretto dal punto di vista concettuale e pratico.
              R.

            • #105801
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                schwarz89it” post=105921Sono d’accordo che caricare Pgfplots per usare usare tikz non è una bella cosa, ma io in questo caso non devo graficare un diagramma, bensì mi serve quella curva per poi sviluppare un disegno. Quando ho dovuto creare dei grafici ho sempre usato pgfplots seguendo le istruzioni della guida.
                La ragione per la quale sto scomodando la funzione coseno iperbolico è che sto trattando le funi soggette solo al proprio peso. Nella fattispecie devo anche descrivere le forze che agiscono su un elemento infinitesimo di fune, perciò la cosa più logica per me era e resta usare tikz. Non si tratta quindi di grafici i tracciamento di funzioni, ma solo di un espediente atto a ottenere una fune realistica.
                Detto questo e osservato che ora posso completare il mio disegno, mi resta da capire cosa sia quel path di cui si è parlato. Anche perché non escludo che in un futuro non troppo distante io non sia costretto a far uso di gnuplot con pgfplots e a quel punto mi troverei ad aprire un nuovo argomento di conversazione.

                Già, e allora carica TikZ.
                Sai che si disegna anche sulla tela di pgfplots vero?
                R.

              • #105802
                Up
                0
                Down
                ::


                Si ne sono a conoscenza, ma essendo un disegno preferisco lavorare con Tikz, la questione del path era solo per chiudere del tutto la discussione. Nulla più. Per me la discussione può essere anche segnata come RISOLTO

            Visualizzazione 9 filoni di risposte
            • Devi essere connesso per rispondere a questo topic.

            Go to top