pdflatex mi sporca la cartella

  • Creatore
    Topic
  • #8091
    Up
    0
    Down
    ::


    Ciao a tutti…
    Sono ormai giorni che smanetto su questo LateX “benedetto” e devo dire che funza proprio bene!!
    Purtroppo ogni volta che eseguo pdflatex in uscita avro:
    1 PDF
    1 AUX
    1 LOG

    E tutto questo mi sporca molto la cartella visto che devo eseguire una 30 di latex…
    Mi chiedevo se fosse possibile inserire una stringa nel preambolo che faccia uscire SOLO il pdf…o al limite PDF e il LOG???

    IS IT POSSIBLE????

    Ciaociao

    iSpooky

Visualizzazione 16 filoni di risposte
  • Autore
    Risposte
    • #8092
      Up
      0
      Down
      ::


      se utilizzi Texify si
      la sintassi che io utilizzo (e con cui mi trovo bene) è questa:

      texify -c –max-iterations=10 –pdf –run-viewer nomefile.tex

      Se vuoi info sui dettagli delle impostazioni puoi scrivere texify -h
      oppure vedere il seguente link http://docs.miktex.org/manual/texify.html

      Spero di esserti stato utile!

    • #8093
      Up
      0
      Down
      ::


      Scusate,
      ho omesso che uso “PdfLatex”…
      quindi Texify non credo vada bene!!

    • #8094
      Up
      0
      Down
      ::

      Mi chiedevo se fosse possibile inserire una stringa nel preambolo che faccia uscire SOLO il pdf…o al limite PDF e il LOG???

      A mio avviso, assolutamente no. Se conoscessi il funzionamento di quei file che vengono inseriti nella cartella, non faresti una domanda così stupida. Il file .aux è il file che si incarica di tener traccia dei riferimenti incrociati. Senza di quello, addio ToC automatica, addio riferimenti a figure e tabelle automatiche, ecc. Il file .log sai bene a cosa serve e così vale per il pdf.

      E tutto questo mi sporca molto la cartella visto che devo eseguire una 30 di latex…

      Fossi io in te, visto che devo compilare una 30na di documenti, farei un piccolo script, del genere (tieni presente che è uno script per bash):`#!/bin/bash
      cleanDir () {
      rm -f *.aux *.log *.toc # aggiungi qui le estensioni dei file che vuoi levare
      }

      for doc in *.tex
      do
      pdflatex “${doc}”;
      pdflatex “${doc}”;
      # infilaci qui altri comandi per la compilazione
      cleanDir;
      done`

      Ciao.

    • #8095
      Up
      0
      Down
      ::


      ti sembra stupido automatizzare il processo di pulizia automaticamente da latex invece di richiamare un’altro script?????
      Il fatto è che sono molto pigro…e la mia macchina anche…quindi se c’è la possibilita di evitare un passaggio facci di tutto per farlo!!
      E poi i file aux toc log ecc…servono solo per la creazione dei PDF quindi,una volta creati avevo ipotizzato ci fosse un comando che pulisse i file…che immagino ormai nn servino +!!!
      O SBAGLIO???

    • #8096
      Up
      0
      Down
      ::

      ti sembra stupido automatizzare il processo di pulizia automaticamente da latex invece di richiamare un’altro script?????
      Il fatto è che sono molto pigro…e la mia macchina anche…quindi se c’è la possibilita di evitare un passaggio facci di tutto per farlo!!
      E poi i file aux toc log ecc…servono solo per la creazione dei PDF quindi,una volta creati avevo ipotizzato ci fosse un comando che pulisse i file…che immagino ormai nn servino +!!!
      O SBAGLIO???

      Ti sembra educato entrare in un forum e usare cinque punti di domanda consecutivi? O tre punti esclamativi? Come a dire che esigi una spiegazione per una questione che tu giudichi banale e sciocca?

      Ti sembra educato scrivere come negli SMS? O scrivere “servino”? 😯

      I file aux, toc, lof, lot e così via, servono per la compilazione successiva. Come fa il programma latex (o pdflatex) a sapere che quella che stai eseguendo è l’ultima? Quando probabilmente non lo sai nemmeno tu?

      Ciao
      Enrico

    • #8097
      Up
      0
      Down
      ::


      Tra l’altro se non sbaglio, se tu elimini questi file i tempi di compilazione sono maggiori in quanto Latex deve generarli nuovamente (senza contare che dovrai ricompilare più volte per far funzionare i riferimenti)…
      Sinceramente a me non danno molto fastidio…

    • #8098
      Up
      0
      Down
      ::

      ti sembra stupido automatizzare il processo di pulizia automaticamente da latex invece di richiamare un’altro script?????

      Non sarebbe stupida, se esistesse questa automatizzazione. Ma d’altronde, se quei file fossero inutili, LaTeX non li produrrebbe nemmeno.

      Il fatto è che sono molto pigro…e la mia macchina anche…quindi se c’è la possibilita di evitare un passaggio facci di tutto per farlo!!

      Con il mio script ne eviteresti 29 a dire il vero: è fatto in modo da compilarti tutti i file .tex esistenti in una cartella automaticamente e rimuovere i file subito dopo la compilazione.

      […] avevo ipotizzato ci fosse un comando che pulisse i file…che immagino ormai nn servino +!!! […]

      Sei tu il proprietario del tuo disco rigido, LaTeX non può sapere per te quali file vanno e quali no. Ovviamente, tutti quelli che lui produce sono utili, altrimenti non li produrrebbe. A quel punto intervieni tu e ti scrivi qualcosa di più automatico (un pochino quello che ho fatto anche io) per sbrigare il processo.

      Questa cosa di LaTeX rientra un pochino, fra l’altro, nella filosofia Unix, dove un programma deve saper fare bene una sola cosa. Quella la fa benissimo. Poi, assieme a quel programma, è necessario utilizzare altri strumenti che rendano la cosa più personalizzabile: in questo caso, ho usato bash, rm e pdflatex per produrre qualcosa di automatico.

      Ciao.

    • #8099
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::


        Ciao a tutti. Anch’io talvolta ho l’esigenza di cancellare i file “ausiliari”. Non perché mi diano fastidio o perché portino via spazio: mi sono accorto che, a volte (soprattutto lavorando con BibTeX), se ho commesso un errore e ho compilato, può non essere sufficiente correggere l’errore e ricompilare. A volte bisogna cancellare i file ausiliari “vecchi”. Finora ho sempre cestinato il tutto a mano, ma alla lunga risulta scomodo. MikTeX ha un’opzione per cancellare tutti i file ausiliari, su TeXShop -se esiste- non l’ho trovata. ❓

        L.

      • #8100
        Up
        0
        Down
        ::

        su TeXShop -se esiste- non l’ho trovata. ❓

        L.

        ma se e` l’unica inutile (per me) opzione che ho riscontrato in piu` rispetto agli edior che usavo dove per altro non l’ho mai cercata.

        Quando compili, se apri la console c’e` il tastino “trash aux files” che te lo fa al volo

      • #8101
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          ma se e` l’unica inutile (per me) opzione che ho riscontrato in piu` rispetto agli edior che usavo dove per altro non l’ho mai cercata.

          Quando compili, se apri la console c’e` il tastino “trash aux files” che te lo fa al volo

          No, non vengono eliminati i file .BBL .BLG .MTC .TOC, per esempio.

          Ciao,
          L.

        • #8102
          Up
          0
          Down
          ::

          .BBL

          e` vero rimane, ma almeno cosi non devo ricompilare 4 volte 😯

          .BLG .TOC

          a me li elmina, magari non hai l’ultima versione o magri hai una beta nuovissima 😕

          MTC

          mai visto 😆

        • #8103
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            .BLG .TOC a me li elmina, magari non hai l’ultima versione o magri hai una beta nuovissima 😕

            Non se hai un documento LaTeX suddiviso in più file richiamati nel main con un \include.

            MTC
            mai visto 😆

            Minitoc.

            Ciao, Lorenzo

          • #8104
            Up
            0
            Down
            ::


            ok ecco spiegato il tutto, io uso

            \input{}

            in oltre, non so se conta, ma uso pdflatex

            il minitoc e` uno strumento troppo evoluto per un neofita come me 😆

          • #8105
            Up
            0
            Down
            ::


            Ciao ispooky83.

            Il fatto è che sono molto pigro…e la mia macchina anche…quindi se c’è la possibilita di evitare un passaggio facci di tutto per farlo!!

            Hai perfettamente ragione 🙂
            Il consiglio che ti ha dato Emiliano, a mio avviso, è la cosa migliore.
            A puro titolo informativo, se usi MS-Windows, e quindi non hai a disposizione (almeno non direttamente) una shell bash, ti indico una (stupidissima) sequenza di istruzioni che possano essere eseguite dall’interprete dei comandi di MS-Windows; fanno circa la stessa cosa dello script di Emiliano:

            Copia le seguenti righe di codice in un file di testo, che devi posizionare nella stessa cartella dei tuoi file LaTeX:

            `pdflatex nomefile.tex
            pdflatex nomefile.tex
            # infilaci qui altri comandi per la compilazione

            del *.aux *.log *.toc # aggiungi qui le estensioni dei file che vuoi levare`

            Rinomina questo file di testo in modo che abbia estensione BAT (per esempio, “vai.bat”) e basta che, quando devi compilare, tu faccia doppio clic su questo file BAT… più automatico di così! 😉

            P.S. sopra ho detto circa perché:

            1. non so come si facciano (né so se sia possibile fare) i cicli for nell’interprete dei comandi di MS-Windows;

            2. per la stessa ragione, i nomi dei file sui quali vai a operare devono essere indicati in modo esplicito.

            Spiacente, non so fare di meglio 🙁

            Ciao!

          • #8106
            Up
            0
            Down
            ::


            Ci ho impiegato un po’ a rispondere, perché ho dovuto approfondire l’argomento.

            La mia soluzione originaria, su Windows, sembra essere per forza questa. Creare un file ‘compile.bat’ contenente le seguenti istruzioni:`@echo off
            pdflatex %1
            pdflatex %1

            deltree /y *.aux *.log *.toc :: altre estensioni qui`e poi lanciare la compilazione di tutti i documenti con:`for %f in (*.tex) do compile.bat %f`Assicurati che il nome del file .tex non abbia spazi.

            Ciao.

          • #8107
            Up
            0
            Down
            ::


            Ciao,

            anche se uso LaTex da poco tempo, mi sta dando parecchie soddisfazioni.

            Per evitare di cancellare i file ausiliari, ma evitare che “sporchino” la cartella principale, si potrebbe chiedere a pdflatex di metterli in una sottocartella.

            `#!/bin/bash
            AUXDIR=./aux/

            function makepdf () {
            if [ ! -e $AUXDIR ]
            then
            mkdir $AUXDIR
            fi
            pdflatex -output-directory=$AUXDIR $NOME.tex
            pdflatex -output-directory=$AUXDIR $NOME.tex
            pdflatex -output-directory=$AUXDIR $NOME.tex
            thumbpdf –verbose $NOME.tex
            pdflatex -output-directory=$AUXDIR $NOME.tex

            if [ -e $AUXDIR/$NOME.pdf ]
            then
            cp $AUXDIR/$NOME.pdf $NOME.pdf
            else
            echo “nella dir $AUXDIR non è stato creato nessun pdf, forse c'è qualche problema”
            fi
            }

            echo “Inserisci il nome del file .tex senza estensione”
            read NOME
            if [ -e $NOME.tex ]
            then
            export TEXINPUTS=.:./aux/:/usr/share/texmf-tetex//
            makepdf
            else
            echo “Il file specificato non esiste”
            fi`

            Matteo

          • #8108
            Up
            0
            Down
            ::


            Nella documentazione di Miktex ho trovato questo:

            Specifying the Directory for Auxiliary Files

            The option -aux-directory=dir causes TeX to create auxiliary files in another directory. For example:

            > mkdir C:\texoutput
            > mkdir C:\tobedeleted
            > latex -output-directory=C:\texoutput -aux-directory=C:\tobedeleted foo.tex

            >

            This ensures that 1) foo.dvi will be created in C:\texoutput\ and 2) all other files (foo.log, …) will be created in C:\tobedeleted\..

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

        Go to top