Problema ad esternalizzare i grafici di pgfplots

  • Creatore
    Topic
  • #76943
    Up
    0
    Down
    ::


    Ciao a tutti.

    Per la tesi devo inserire una decina di grafici fatti con pgfplots su MacTeX 2011; per velocizzare il tutto mi piacerebbe approfittare dell’opzione di esternalizzazione, che richiamo da manuale con

    `
    \usepgfplotslibrary{external}
    \tikzexternalize[prefix=/Immagini/grafici/]
    `

    Peccato che con TeXShop (che devo usare perchè ha già abilitato lo shell escape, mentre con TeXWorks non riesco a trovare come si faccia) non riesca a compilare, piantandosi tutto sul fatale errore

    `
    Runaway argument?
    \par Per il grado $1$ l'uso di una terapia di associazione che conte\ETC.
    ./Capitoli/CIPN/CIPN.tex:46: File ended while scanning use of \tikzexternal@laT
    eX@collect@until@end@tikzpicture.

    \par
    l.46 \input{Capitoli/CIPN/bortezomib/bortezomib}

    ? H
    I suspect you have forgotten a `}', causing me
    to read past where you wanted me to stop.
    I'll try to recover; but if the error is serious,
    you'd better type `E' or `X' now and fix your file.
    `

    Cercando su Internet credo di aver capito che dipenda da un problema di espansione dei comandi.
    In pratica questo succederebbe perchè nella tesi ho usato in modo molto spinto la funzione di annidamento, fino alle sottosezioni, per avere un testo più facilmente correggibile (senza file da 300 e passa linee di codice) e molto modulare da montare come mi dice il correlatore. Così il codice del grafico è finito sepolto sotto 4 \input consecutivi…

    Se non ho preso un granchio colossale nell’individuare il problema, mi sapreste aiutare a risolvere la questione? O devo rinunciare al nesting sfrenato?

    Grazie!

    PS: qualcuno sa come abilitare lo shell escape con TeXWorks? Perchè ho cercato e ricercato, ma su Internet non ce n’è traccia. 😮

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

        Matteo Colombo” post=76121Ciao a tutti.

        Per la tesi devo inserire una decina di grafici fatti con pgfplots su MacTeX 2011; per velocizzare il tutto mi piacerebbe approfittare dell’opzione di esternalizzazione, che richiamo da manuale con

        `
        \usepgfplotslibrary{external}
        \tikzexternalize[prefix=/Immagini/grafici/]
        `

        Peccato che con TeXShop (che devo usare perchè ha già abilitato lo shell escape, mentre con TeXWorks non riesco a trovare come si faccia) non riesca a compilare, piantandosi tutto sul fatale errore

        `
        Runaway argument?
        \par Per il grado $1$ l'uso di una terapia di associazione che conte\ETC.
        ./Capitoli/CIPN/CIPN.tex:46: File ended while scanning use of \tikzexternal@laT
        eX@collect@until@end@tikzpicture.

        \par
        l.46 \input{Capitoli/CIPN/bortezomib/bortezomib}

        ? H
        I suspect you have forgotten a `}', causing me
        to read past where you wanted me to stop.
        I'll try to recover; but if the error is serious,
        you'd better type `E' or `X' now and fix your file.
        `

        Cercando su Internet credo di aver capito che dipenda da un problema di espansione dei comandi.
        In pratica questo succederebbe perchè nella tesi ho usato in modo molto spinto la funzione di annidamento, fino alle sottosezioni, per avere un testo più facilmente correggibile (senza file da 300 e passa linee di codice) e molto modulare da montare come mi dice il correlatore. Così il codice del grafico è finito sepolto sotto 4 \input consecutivi…

        Se non ho preso un granchio colossale nell’individuare il problema, mi sapreste aiutare a risolvere la questione? O devo rinunciare al nesting sfrenato?

        Grazie!

        PS: qualcuno sa come abilitare lo shell escape con TeXWorks? Perchè ho cercato e ricercato, ma su Internet non ce n’è traccia. 😮

        È buona pratica non andare oltre i capitoli per quanto riguarda l’annidamento. TeXshop è del tutto equivalente a TeXworks, forse addirittura migliore. Il problema, come suggerisce l’help, è qualche { non chiusa con la corrispondente }.

        Per TeXworks, vai in Modifica > Preferenze… > Composizione e scegli la voce pdflatex (in Strumenti di processo): fai doppio clic e dove sta scritto pdflatex.exe scrivi pdflatex.exe -shell-escape e salva. Riavvia TeXworks ed il gioco è fatto.

        Ciao
        Orlando

      • #76945
        Up
        0
        Down
        ::

        ansys” post=76123

        È buona pratica non andare oltre i capitoli per quanto riguarda l’annidamento.

        Il problema, come suggerisce l’help, è qualche { non chiusa con la corrispondente }.

        Per TeXworks, vai in Modifica > Preferenze… > Composizione e scegli la voce pdflatex (in Strumenti di processo): fai doppio clic e dove sta scritto pdflatex.exe scrivi pdflatex.exe -shell-escape e salva. Riavvia TeXworks ed il gioco è fatto.

        Ciao
        Orlando

        Grazie per la celere risposta, ma ho brutte notizie.

        Ho controllato se nei file indicati c’era qualche parentesi non chiusa, ma era tutto a posto. Oltretutto lì non ci sono neanche grafici pgfplots, quindi non capisco come mai saltino fuori nel log.
        Facendo un po’ di esperimenti succede che:

        1) se tolgo la chiamata di esternalizzazione, la compilazione fila via liscia (questo conferma che non è un problema di parentesi non chiuse, direi);
        2) provando a ricreare con altri file la stessa situazione (annidando profondamente la chiamata del grafico), la compilazione riesce! Quindi adesso non so più cosa pensare come causa scatenante.

        Per quano riguarda TeXWorks, non son riuscito a settare lo shell escape. La mia configurazione di pdflatex è (su Mac):

        Programma: pdflatex
        Argomenti: $synctexoption
        $fullname

        Se scrivo in “Programma” pdflatex-shell-escape (o –shell-escape con due trattini) mi dice che non trova il programma; se aggiungo l’argomento $shell-escape continua a non compilare e si blocca lamentandosi che gli manca lo shell escape… Grrrrr 👿

        Potrei sorbirmi la ricompilazione completa ogni volta e usare TeXShop quelle rare volte che mi serve lo shell escape, ma ormai è una questione di principio e preferisco avere uno strumento all-in-one che fare un po’ qui e un po’ là.

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


          [tt]pdflatex.exe -shell-escape[/tt]: nota lo spazio tra exe e -shell-escape. Per il resto passo.

          Ciao
          Orlando

        • #76947
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::

            Per quano riguarda TeXWorks, non son riuscito a settare lo shell escape. La mia configurazione di pdflatex è (su Mac):

            Programma: pdflatex
            Argomenti: $synctexoption
            $fullname

            Se scrivo in “Programma” pdflatex-shell-escape (o –shell-escape con due trattini) mi dice che non trova il programma; se aggiungo l’argomento $shell-escape continua a non compilare e si blocca lamentandosi che gli manca lo shell escape… Grrrrr

            Dipende da cos ti serve lo shell-escape; se ti serve affinché pdflate trasformi in automatico il file eps, oppure perché esegua in automantico makeindex oppure bibtex oppure biber, non occore impostare niente se usi la versione TeX Live 2012.
            Se ti serve per altre cose leggi la documentazione di TeXworks cliccando sull’help del programma una volta che hai aperto un file qualsiasi. Sul Mac bisogna aggiungere prole chiave come quelle che hai già indicato e che ti ho evidenziato in rosso; probabilmente è qualcoas come @shellescape, ma non ritrovo l’informazione per il Mac TeXworks; cerca anche nel sito TeXworks su wiki.

          • #76948
            Up
            0
            Down
            ::


            Finalmente ci sono riuscito. L’informazione era ben nascosta in una pagina web, ma sul manuale neanche l’ombra di un indizio.

            Bisogna aggiungere la voce

            `-shell-escape`

            ad Argomenti senza simbolo del dollaro iniziale e per prima in cima alla lista.

            Per ora un problema risolto, speriamo che anche l’altro si possa sistemare.

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

        Go to top