[Guida] Introduzione a Make per compilare documenti LaTeX

  • Creatore
    Topic
  • #81465
    Up
    0
    Down
    ::


    Visto che siamo vicini a Natale, è arrivata in regalo una nuova guida tematica: Introduzione ai Makefile per compilare documenti LaTeX. Come si può intuire dal titolo, si tratta di una guida per realizzare Makefile che in certi casi possono aiutare la compilazione di documenti LaTeX più o meno complessi.

    Fra un po’ di tempo dovrebbe essere disponibile il codice sorgente in un repository del GuiT su Github: https://github.com/GuITeX
    Intanto sono graditi commenti, per esempio mi piacerebbe vedere qualche nuovo esempio d’uso 🙂

Visualizzazione 13 filoni di risposte
  • Autore
    Risposte
    • #81466
      Up
      0
      Down
      ::


      Ottimo!

      Ciao,
      Agostino

    • #81467
      franen
      Partecipante
        Up
        0
        Down
        ::


        Grazie…
        Ho iniziato a leggere un po’ e mi preme sottolineare una cosa:

        Rispetto a software come arara, make permette di svolgere, su richiesta, altre operazioni quali la cancellazione di file temporanei non necessari …

        non è del tutto esatto. arara ha una regola che si chiama “clean” che permette di indicare i file che si vogliono eliminare (distinguendo anche fra sistemi Unix e Windows).
        Solo per la precisione 🙂

        Francesco

      • #81468
        Up
        0
        Down
        ::

        franen” post=80723Grazie…
        Ho iniziato a leggere un po’ e mi preme sottolineare una cosa:

        Rispetto a software come arara, make permette di svolgere, su richiesta, altre operazioni quali la cancellazione di file temporanei non necessari …

        non è del tutto esatto. arara ha una regola che si chiama “clean” che permette di indicare i file che si vogliono eliminare (distinguendo anche fra sistemi Unix e Windows).
        Solo per la precisione 🙂

        Francesco

        Grazie per l’informazione, ne terrò conto per le prossime versioni!

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

          Elrond” post=80717Visto che siamo vicini a Natale, è arrivata in regalo una nuova guida tematica: Introduzione ai Makefile per compilare documenti LaTeX. Come si può intuire dal titolo, si tratta di una guida per realizzare Makefile che in certi casi possono aiutare la compilazione di documenti LaTeX più o meno complessi.

          Fra un po’ di tempo dovrebbe essere disponibile il codice sorgente in un repository del GuiT su Github: https://github.com/GuITeX
          Intanto sono graditi commenti, per esempio mi piacerebbe vedere qualche nuovo esempio d’uso 🙂

          Grazie mille. Ho scoperto la tua guida quando ancora non era “tematica” e si è rivelata molto (ma molto) utile.

          Piccola osservazione: in Emacs si può anche scrivere [tt]M-x compile RET[/tt]. In più, meglio evitare le maiuscole (a mio parere) con [tt]C-c C-c make RET[/tt].

          Ciao,
          Orlando

        • #81470
          Up
          0
          Down
          ::

          ansys” post=80725Piccola osservazione: in Emacs si può anche scrivere [tt]M-x compile RET[/tt]. In più, meglio evitare le maiuscole (a mio parere) con [tt]C-c C-c make RET[/tt].

          AUCTeX ignora le maiuscole lì, se non ci sono ambiguità 🙂 Non uso [tt]M-x compile[/tt], che sarebbe comodo dato che non richiede AUCTeX, perché non funzionerebbe su file non presenti nella stessa cartella del Makefile (per esempio possono essere file secondari da includere nel principale con [tt]include[/tt]/[tt]input[/tt] e posti in una sottocartella), mentre con il comando suggerito nella guida [tt]make[/tt] viene eseguito nella cartella del file principale se specificato con la variabile locale [tt]TeX-master[/tt], cosa che fanno praticamente tutti, penso/spero

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

            Elrond” post=80738

            Piccola osservazione: in Emacs si può anche scrivere [tt]M-x compile RET[/tt]. In più, meglio evitare le maiuscole (a mio parere) con [tt]C-c C-c make RET[/tt].

            AUCTeX ignora le maiuscole lì, se non ci sono ambiguità 🙂 Non uso [tt]M-x compile[/tt], che sarebbe comodo dato che non richiede AUCTeX, perché non funzionerebbe su file non presenti nella stessa cartella del Makefile (per esempio possono essere file secondari da includere nel principale con [tt]include[/tt]/[tt]input[/tt] e posti in una sottocartella), mentre con il comando suggerito nella guida [tt]make[/tt] viene eseguito nella cartella del file principale se specificato con la variabile locale [tt]TeX-master[/tt], cosa che fanno praticamente tutti, penso/spero

            Allora ok, grazie mille per le spiegazioni 🙂

            Ciao,
            Orlando

          • #81472
            Up
            0
            Down
            ::

            franen” post=80723Grazie…
            Ho iniziato a leggere un po’ e mi preme sottolineare una cosa:

            Rispetto a software come arara, make permette di svolgere, su richiesta, altre operazioni quali la cancellazione di file temporanei non necessari …

            non è del tutto esatto. arara ha una regola che si chiama “clean” che permette di indicare i file che si vogliono eliminare (distinguendo anche fra sistemi Unix e Windows).
            Solo per la precisione 🙂

            Francesco

            Intenzionato ad approfondire quello che hai detto, sono andato alla ricerca del manuale di arara ma mi sembra che sia sparito: l’unico PDF che ho trovato è il manuale della versione 2, mentre il sorgente di quello che dovrà essere il nuovo manuale è privo di contenuti veri e propri. Nel manuale della versione 2 (è cambiato qualcosa nella 3?), la regola clean deve essere posta nel sorgente *.tex e affinché venga eseguita devono andare a buon fine tutte le regole precedenti. A volte succede che la compilazione di un documento fallisca perché c’è qualche porcheria nei file ausiliari precedenti (basta cambiare la lingua di babel fra una compilazione e l’altra), quello che mi piacerebbe fare è cancellare solo quelli interattivamente (leggi: da linea di comando), senza bisogno di modificare il sorgente. Credo di aver esposto anche in passato queste mie personali perplessità sul principio di funzionamento di arara

            È vero che funzioni per la cancellazione dei file temporanei sono generalmente presenti negli editor di testo per LaTeX, ma il bello di make è che funziona indipendentemente dall’editor utilizzato, si potrebbe addirittura utilizzare Blocco note per scrivere il proprio documento 🙂

            Comunque non fraintendermi, trovo che latexmk e arara siano fantastici e ho ritenuto doveroso citarli nella guida, in particolare uso spesso latexmk, ma allo stesso tempo penso che make sia molto utile in particolari condizioni in cui latexmk e arara sarebbero poco pratici

          • #81473
            franen
            Partecipante
              Up
              0
              Down
              ::


              Sì, al momento la versione “completa” c’è solo per la versione 2. Nella 3 è cambiata un po’ la sintassi delle regole, che è diventata più flessibile e premette di concatenare più comando nella stessa regola (ora si può fare ad esempio la compilazione latex + dvips che prima non si poteva fare).

              non fraintendermi, trovo che latexmk e arara siano fantastici e ho ritenuto doveroso citarli nella guida…

              Non fraintendo, non ti preoccupare. Ma poi ognuno ha i propri gusti no? E non vorrei che la mia sembrasse una difesa di arara 🙂 È solo che ci mi pareva giusto scrivere le cose come stanno.

              Fran

            • #81474
              Up
              0
              Down
              ::


              Salve.

              Non so nulla di make, prima di leggere la guida desidero chiedere: nel lavoro con TeX/LaTeX quale vantaggio si ha nell’usare un makefile invece di un normale file di comandi batch/bash?

              Ciao.

            • #81475
              Up
              0
              Down
              ::

              Sam Qasbah” post=80775Salve.

              Non so nulla di make, prima di leggere la guida desidero chiedere: nel lavoro con TeX/LaTeX quale vantaggio si ha nell’usare un makefile invece di un normale file di comandi batch/bash?

              Ciao.

              Make controlla le dipendenze fra i file, verifica se un file deve essere rigenerato e in caso affermativo prosegue con l’operazione, altrimenti non fa nulla. Un semplice script normalmente esegue ciecamente tutte le operazioni contenute al suo interno, a meno che non vengano inseriti al suo interno dei controlli sulle date di ultima modifica dei file, ma in questo caso lo script complicherebbe non poco, make è più efficiente da questo punto di vista.

              In progetti software con centinaia di file la cui compilazione richiede anche diverse ore (esempi: kernel linux, octave, [https://buildd.debian.org/status/logs.php?pkg=libreoffice]libreoffice[/url]) è utilissimo usare sistemi come make per la compilazione (make non è l’unico, ovviamente), permette di ricompilare l’intero software eseguendo i passaggi strettamente indispensabili, se vengono modificati solo pochi file e uno è fortunato ha bisogno di pochi minuti per ricompilare di nuovo il software, senza dover aspettare ore e ore. Nel 99% dei documenti LaTeX un Makefile è probabilmente superfluo, nel restante 1% invece può essere molto utile

            • #81476
              Liverpool
              Partecipante
                Up
                0
                Down
                ::


                Come per la guida tematica alla riga di comando, andrebbe dichiarato che il simbolo del dollaro sui sistemi DOS equivale al simbolo del maggiore, altrimenti un utente Windows, leggendo la guida, penserà di dover scrivere da riga di comando [tt]$ make[/tt].
                Faccio notare anche, perché ci ho sbattuto la testa personalmente, che non sempre la notazione per sistemi DOS equivale a quella per sistemi UNIX, come mostro in questa discussione, in particolare nell’intervento 81086, relativamente al punto e virgola.

                [OT]
                So che si parla, ormai da tempo, di una nuova versione del forum, quindi probabilmente le mie parole cadranno nel vuoto, ma la sezione dedicata alle guide tematiche mi sembra un po’ disordinata: non si ha tutto sott’occhio come nella sezione dedicata alla documentazione e francamente non ho nemmeno capito in che ordine sono elencate le guide.
                [/OT]

                Ciao

              • #81477
                Up
                0
                Down
                ::

                Liverpool” post=82059Come per la guida tematica alla riga di comando, andrebbe dichiarato che il simbolo del dollaro sui sistemi DOS equivale al simbolo del maggiore, altrimenti un utente Windows, leggendo la guida, penserà di dover scrivere da riga di comando [tt]$ make[/tt].

                Prendo nota, darò un’occhiata a questo rilievo 🙂 Grazie!

                Liverpool” post=82059Faccio notare anche, perché ci ho sbattuto la testa personalmente, che non sempre la notazione per sistemi DOS equivale a quella per sistemi UNIX, come mostro in questa discussione, in particolare nell’intervento 81086, relativamente al punto e virgola.

                Precisamente, ti riferisci a questo: http://www.guitex.org/home/it/forum/5-tex-e-latex/81063-risolto-compilazione-pgfmanual-mi-mancano-alcune-sezioni#81086 ?

              • #81478
                Liverpool
                Partecipante
                  Up
                  0
                  Down
                  ::

                  Elrond” post=82062Precisamente, ti riferisci a questo: http://www.guitex.org/home/it/forum/5-tex-e-latex/81063-risolto-compilazione-pgfmanual-mi-mancano-alcune-sezioni#81086 ?

                  Sì. Non so come hai fatto a riportare il link, perché io non ci sono riuscito. Nella versione originale al posto del punto e virgola c’erano i due punti, ma non riuscivo a farlo funzionare. Una ricerca in rete mi ha permesso di capire che il problema erano i due punti su sistema DOS (vale solo per la lista delle directory, tutto il resto va bene con i due punti).

                  Ciao

                • #81479
                  Up
                  0
                  Down
                  ::

                  Liverpool” post=82063

                  Precisamente, ti riferisci a questo: http://www.guitex.org/home/it/forum/5-tex-e-latex/81063-risolto-compilazione-pgfmanual-mi-mancano-alcune-sezioni#81086 ?

                  Sì. Non so come hai fatto a riportare il link, perché io non ci sono riuscito.

                  Il link è riportato nel numero in alto a destra a ogni messaggio 😉

                  Liverpool” post=82063Nella versione originale al posto del punto e virgola c’erano i due punti, ma non riuscivo a farlo funzionare. Una ricerca in rete mi ha permesso di capire che il problema erano i due punti su sistema DOS (vale solo per la lista delle directory, tutto il resto va bene con i due punti).

                  Ciao

                  Ho risolto il mistero, è spiegato nel manuale di Emacs (è l’unico sito che ho trovato che spiega per bene il motivo, e si tratta di un programma che vorrebbe avere poco a che fare con Windows): http://www.gnu.org/software/emacs/manual/html_node/emacs/General-Variables.html#fn-1 I due punti, nell’illuminata lungimiranza del creatore del filesystem di DOS e poi Windows, sono riservati ai nomi del delle radici A:, B:, C:, ecc., probabilmente per questo motivo i due punti danno fastidio in quell’elenco.

                  Visto che quello che hai incontrato tu è un caso molto particolare non considerato nella guida, probabilmente aggiungerò solo una breve nota per segnalare che la sintassi può differire in Windows.

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

              Go to top