pgfplots e velocità di compilazione

  • Creatore
    Topic
  • #69038
    Up
    0
    Down
    ::


    Ciao a tutti,
    ho iniziato ad inserire nella mia tesi un buon numero di grafici di pgfplots e diagrammi in tikz ed ho notato che il tempo di compilazione (uso pdfLaTeX) è aumentato mostruosamente (penso di essere intorno ai 5 minuti per un documento di circa 100 pagine).
    Io finorà ho adottato la tecnica di inserire con input un file.tex contenente il codice del disegno o del grafico, così da poterci mettere subito le mani sopra e compiere eventuali modifiche, tuttavia facevo conto di inserire almeno una decina di grafici di pgfplots e la crescita dei tempi di compilazione mi preoccupa. Avete consigli da darmi? Devo preoccuparmi di queste tempistiche?

    Grazie

Visualizzazione 17 filoni di risposte
  • Autore
    Risposte
    • #69039
      admin
      Amministratore del forum
        Up
        0
        Down
        ::

        peppo” post=68205Ciao a tutti,
        ho iniziato ad inserire nella mia tesi un buon numero di grafici di pgfplots e diagrammi in tikz ed ho notato che il tempo di compilazione (uso pdfLaTeX) è aumentato mostruosamente (penso di essere intorno ai 5 minuti per un documento di circa 100 pagine).
        Io finorà ho adottato la tecnica di inserire con input un file.tex contenente il codice del disegno o del grafico, così da poterci mettere subito le mani sopra e compiere eventuali modifiche, tuttavia facevo conto di inserire almeno una decina di grafici di pgfplots e la crescita dei tempi di compilazione mi preoccupa. Avete consigli da darmi? Devo preoccuparmi di queste tempistiche?

        Grazie

        Cinque minuti 😮 ? Ti consiglio di creare dei pdf a parte; magari usa la classa standalone, così ottieni il pdf pronto da inserire nel tuo “master-file”.

        Ciao
        Orlando

      • #69040
        Up
        0
        Down
        ::


        Ti consiglio di dare un’occhiata alla “Externalization Library” di tikz. Permette di salvare tutto ciò che è contenuto nell’ambiente tikzpicture automaticamente su file pdf ed includere quest’ultimo nelle successive compilazioni. Trovi tutto a pag. 343 della doc di tikz.

        Ciao
        Fra

      • #69041
        Up
        0
        Down
        ::

        penso di essere intorno ai 5 minuti per un documento di circa 100 pagine

        … solo 5 minuti?

        a parte gli scherzi mi sono trovato in una situazione analoga con la mia tesi dove avevo paginate di plot 3×3 raccolti con l’ambiente groupplot dove in ognuno c’erano 2000 punti.

        Ti consiglio di usare la libreria “Externalization Library”, però stai attento per questo motivo: io nelle pagine centravo la figura/plot mettendo tutte le scritte/label in uno scope con l’opzione overlay. Ora se esternalizzi una figura con questa peculiarità e ci sono dei label che stanno fuori dal bounding box della figura, quest’ultimi non verano visualizzati sul file esternalizzato.

        Saluti

        Michele

      • #69042
        Up
        0
        Down
        ::


        Grazie per le risposte,
        prima di provare vi espongo i miei dubbi:
        non ho usato finora la classe standalone perché vorrei che i font della figura fossero integrati in tutto e per tutto con lo stile della tesi (uso arsclassica).
        Con
        `
        \usetikzlibrary{external}
        \tikzexternalize
        `
        riesco a soddisfare questa mia esigenza o mi crea dei pdf senza badare ai caratteri?

      • #69043
        Andrea
        Partecipante
          Up
          0
          Down
          ::


          Ciao, la libreria external genera dei .pgf che mantengono il font utilizzati nel testo.

        • #69044
          Up
          0
          Down
          ::


          Io sono scandalizzato, con due righe di codice ho risolto (avete risolto) un problema che credevo insuperabile.
          Ho usato
          `\usetikzlibrary{external}
          \tikzexternalize[mode=graphics if exists,prefix=Tikz/]`
          Ora devo sempre compilare con –shell-escape oppure con pdfLaTeX normale?
          Scusate se sono un po’ lento ma trattandosi della tesi preferiscono non lanciarmi in esperimenti.
          Grazie, anche dal mio portatile.

        • #69045
          Up
          0
          Down
          ::

          peppo” post=68214Io sono scandalizzato, con due righe di codice ho risolto (avete risolto) un problema che credevo insuperabile.
          Ho usato
          `\usetikzlibrary{external}
          \tikzexternalize[mode=graphics if exists,prefix=Tikz/]`
          Ora devo sempre compilare con –shell-escape oppure con pdfLaTeX normale?
          Scusate se sono un po’ lento ma trattandosi della tesi preferiscono non lanciarmi in esperimenti.
          Grazie, anche dal mio portatile.

          Con –shell-escape i grafici non esistenti vengono compilati. Se non hai bisogno di vederli o se sono già compilati l’opzione non serve.

          Ciao
          Enrico

        • #69046
          Up
          0
          Down
          ::


          C’è però una cosa che non riesco a capire: il programma dovrebbe salvare da qualche parte questi grafici, immagino come pdf, e poi ricompilando le volte successive vengono semplicemente richiamati ed inseriti. Immaginavo che, con il codice che ho inserito, tali pdf dovessero andare tutti in una cartella Tikz, creata nella directory del file principale.
          La cartella l’ho creata manualmente ma all’interno non vedo alcun pdf e la cosa non me la spiego. Ho sbagliato qualcosa io o non ho proprio capito?

          –EDIT–
          In un file di prova minimo mi genera giustamente i pdf delle varie figure (ho tolto l’opzione mode=graphics if exists) ma se compilo nella stessa maniera il file principale delle tesi, pdfLaTeX si pianta e devo interromperlo.
          Inserisco la parte terminale del log:
          `
          Package frontespizio Warning: Missing file Tikz/plot-Tesi-figure0-frn.pdf.

          ) (./InizialeFinale/Indici.tex
          LaTeX Font Info: Try loading font information for T1+iwona on input line 8.
          (/usr/local/texlive/2011/texmf-dist/tex/latex/iwona/t1iwona.fd
          File: t1iwona.fd 2008/07/22 v0.995 font definition file for T1/iwona (MW)
          )
          Package tocbasic Info: character protrusion at toc deactivated on input line 8.

          Package tocbasic Info: character protrusion at lof deactivated on input line 22
          .
          Package tocbasic Info: character protrusion at lot deactivated on input line 33
          .
          (./InizialeFinale/Acronimi.tex
          LaTeX Font Info: Font shape `T1/pplj/bx/n' in size <10> not available
          (Font) Font shape `T1/pplj/b/n' tried instead on input line 8.
          LaTeX Font Info: Font shape `T1/iwona/bx/n' in size <10> not available
          (Font) Font shape `T1/iwona/b/n' tried instead on input line 8.
          LaTeX Font Info: Font shape `U/msa/m/n' will be
          (Font) scaled to size 9.37807pt on input line 23.
          LaTeX Font Info: Font shape `U/msa/m/n' will be
          (Font) scaled to size 7.29405pt on input line 23.
          LaTeX Font Info: Font shape `U/msa/m/n' will be
          (Font) scaled to size 5.21004pt on input line 23.
          LaTeX Font Info: Font shape `U/msb/m/n' will be
          (Font) scaled to size 9.37807pt on input line 23.
          LaTeX Font Info: Font shape `U/msb/m/n' will be
          (Font) scaled to size 7.29405pt on input line 23.
          LaTeX Font Info: Font shape `U/msb/m/n' will be
          (Font) scaled to size 5.21004pt on input line 23.
          LaTeX Info: Redefining \bond on input line 23.
          LaTeX Info: Redefining \dbond on input line 23.
          LaTeX Info: Redefining \tbond on input line 23.
          LaTeX Info: Redefining \bond on input line 27.
          LaTeX Info: Redefining \dbond on input line 27.
          LaTeX Info: Redefining \tbond on input line 27.

          ! LaTeX Error: Something's wrong–perhaps a missing \item.

          See the LaTeX manual or LaTeX Companion for explanation.
          Type H for immediate help.

          l.102 \end{acronym}

          Here is how much of TeX's memory you used:
          41387 strings out of 493629
          857187 string characters out of 3143344
          1123656 words of memory out of 3000000
          43888 multiletter control sequences out of 15000+200000
          46962 words of font info for 90 fonts, out of 3000000 for 9000
          831 hyphenation exceptions out of 8191
          75i,13n,78p,807b,814s stack positions out of 5000i,500n,10000p,200000b,50000s

          ! ==> Fatal error occurred, no output PDF file produced!`
          sembra partire tutto dal pacchetto frontespizio ma, caricando il medesimo frontespizio, nel file di prova, pdfLaTeX non si pianta.
          Come devo fare?

          Grazie

        • #69047
          Up
          0
          Down
          ::


          Nulla, ho trovato il problema: alcuni dei disegni che volevo esternalizzare sono ottenuti chiamando al loro interno un pdf ed aggiungendovi delle annotazioni sopra. Il log è stato fuorviante perché sembrava che il processo si arrestasse prima dei disegni in questione, tuttavia provando con un file muletto (preambolo identico) e inserendo una delle immagini alla volta, si registrano problemi solo con i pdf annotati.

          A questo punto credo che per tali immagini userò il metodo della classe standalone, tuttavia volevo sapere come posso impostare il preambolo di modo da avere una gestione dei font (matematici e no) identica a quella di arsclassica.
          Grazie.

        • #69048
          admin
          Amministratore del forum
            Up
            0
            Down
            ::

            peppo” post=68227Nulla, ho trovato il problema: alcuni dei disegni che volevo esternalizzare sono ottenuti chiamando al loro interno un pdf ed aggiungendovi delle annotazioni sopra. Il log è stato fuorviante perché sembrava che il processo si arrestasse prima dei disegni in questione, tuttavia provando con un file muletto (preambolo identico) e inserendo una delle immagini alla volta, si registrano problemi solo con i pdf annotati.

            A questo punto credo che per tali immagini userò il metodo della classe standalone, tuttavia volevo sapere come posso impostare il preambolo di modo da avere una gestione dei font (matematici e no) identica a quella di arsclassica.
            Grazie.

            Puoi caricare arsclassica così come lo carichi nella tua tesi.

            Ciao
            Orlando

          • #69049
            Up
            0
            Down
            ::


            Ciao a tutti, anche creando i pdf a parte di quelli che credevo gli schemi incriminati non ho risolto il problema di tikzexternalize. Mi sono rassegnato a creare separatamente tutti i grafici per poi includerli: è lungo ma funziona.
            I tempi di compilazione sono ora sotto i due minuti, speravo meglio. Credo che il tempo ancora piuttosto elevato sia dovuto alle numerose tabelle che fanno uso dell’allineamento S (pacchetto siunitx). Mah.

            Grazie a tutti per il supporto.

          • #69050
            Up
            0
            Down
            ::

            peppo” post=68287Ciao a tutti, anche creando i pdf a parte di quelli che credevo gli schemi incriminati non ho risolto il problema di tikzexternalize. Mi sono rassegnato a creare separatamente tutti i grafici per poi includerli: è lungo ma funziona.
            I tempi di compilazione sono ora sotto i due minuti, speravo meglio. Credo che il tempo ancora piuttosto elevato sia dovuto alle numerose tabelle che fanno uso dell’allineamento S (pacchetto siunitx). Mah.

            Grazie a tutti per il supporto.

            Beh.. due minuti sono effettivamente tanti. Ovviamente, guardando le prestazioni, devi considerare non solo il documento da compilare (con tabelle, grafici e così via), ma i componenti del tuo pc, quale sistema operativo usi e se, magari, compi altre operazioni mentre compili.

            Ciao
            Claudio

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

              cfiandra” post=68291

              Ciao a tutti, anche creando i pdf a parte di quelli che credevo gli schemi incriminati non ho risolto il problema di tikzexternalize. Mi sono rassegnato a creare separatamente tutti i grafici per poi includerli: è lungo ma funziona.
              I tempi di compilazione sono ora sotto i due minuti, speravo meglio. Credo che il tempo ancora piuttosto elevato sia dovuto alle numerose tabelle che fanno uso dell’allineamento S (pacchetto siunitx). Mah.

              Grazie a tutti per il supporto.

              Beh.. due minuti sono effettivamente tanti. Ovviamente, guardando le prestazioni, devi considerare non solo il documento da compilare (con tabelle, grafici e così via), ma i componenti del tuo pc, quale sistema operativo usi e se, magari, compi altre operazioni mentre compili.

              Ciao
              Claudio

              Per la mia esperienza, e posso sbagliarmi, la compilazione è rallentata molto se è necessario gestire molti oggetti flottanti.
              Ridurre i tempi di elaborazione del documento a volte è necessario in base al tipo di lavoro e la soluzione migliore è far compilare solo una piccola porzione alla volta.

              In generale poi, preferisco, fare grafici con pgfplots a parte con la classe standalone, molto comoda.
              Un saluto.
              R.

            • #69052
              Up
              0
              Down
              ::


              Grazie ancora per le risposte,
              ho fatto delle verifiche e confermo che il problema è dovuto al grande numero di oggetti flottanti (in particolare tabelle) presenti nella sezione sperimentale della tesi. Difficilmente potrò diminuirne il numero in modo consistente quindi mi serve una differente soluzione. Avreste suggerimenti?

            • #69053
              Up
              0
              Down
              ::


              Scusate, aggiungo subito qualcosa:
              ho aggiunto alla tesi ancora alcuni oggetti flottanti ed ora la compilazione sembra andare all’infinito (per ora siamo oltre i 20minuti).
              Ho cercato su google ed ho trovato questo.
              Ho quindi provato anche io a dare
              `pdflatex -kpathsea-debug=-1 Tesi.tex`
              ed ottengo un log molto lungo ma dove la cosa che assomiglia di più a quanto riportato nel forum è
              `texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb>kdebug:fclose(0x1afe8f0) => 0
              kdebug:kpse_find_file: searching for uplb8a.pfb of type type1 fonts (from texmf.cnf)
              kdebug:hash_lookup(try_std_extension_first.pdflatex) => (nil)
              kdebug:hash_lookup(try_std_extension_first) => t
              kdebug:variable: try_std_extension_first = t
              kdebug:start search(files=[uplb8a.pfb], must_exist=0, find_all=0, path=.:/home/andre/.texlive2011/texmf-config/fonts/type1//:/home/andre/.texlive2011/texmf-var/fonts/type1//:/home/andre/texmf/fonts/type1//:!!/usr/local/texlive/2011/texmf-config/fonts/type1//:!!/usr/local/texlive/2011/texmf-var/fonts/type1//:!!/usr/local/texlive/2011/texmf/fonts/type1//:!!/usr/local/texlive/2011/../texmf-local/fonts/type1//:!!/usr/local/texlive/2011/texmf-dist/fonts/type1//:/please/set/osfontdir/in/the/environment//).
              kdebug:kpse_normalize_path (.) => 0
              kdebug:kpse_normalize_path (./uplb8a.pfb) => 0
              kdebug:hash_lookup(uplb8a.pfb) => /usr/local/texlive/2011/texmf-dist/fonts/type1/urw/palatino/
              `
              scusate se sono un po’ in ansia ma comincio ad ipotizzare una mancata laurea per questo genere di problemi.
              Grazie.

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


                Certo che 20 minuti per compilare sono davvero molti.
                Per il momento non ti rimane che compilare un capitolo alla volta con \include, e lasciare alla fase finale la compilazione totale del documento.
                Buon lavoro!
                R.

              • #69055
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Usa \incldeonly e \include e compila un capitolo alla volta; il gioco di questi due comandi funziona solo se i relativi comandi sono inseriti tutti nel main file.

                  Quando ongi capitolo (o appendice) sarà a posto escludi \includeonly e fai andare un paio di volte per essere sicuro che tutti i riferimenti siano a posto; ma almeno non ci metti cinque minuti ogni volta, ma una decina di minuti “soltanto” quando compili la bella

                • #69056
                  Up
                  0
                  Down
                  ::


                  Grazie davvero,
                  attualmente ho notato che se compilo tutto il documento direttamente da terminale con un secco
                  `pdflatex Tesi.tex`
                  i tempi di compilazione sono poco sopra il minuto (non vi dico come mi senta più rilassato).
                  Per il momento credo farò così, quando avrò più tempo cercherò di capire quale sia il problema.

                  Dovesse rallentare ancora, (San Gennaro aiutami tu) utilizzerò il vostro metodo.
                  Grazie ancora e scusate la “mezza crisi”.

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

              Go to top