Concatenare file .tex multipli come unico file finale

  • Creatore
    Topic
  • #75365
    Up
    0
    Down
    ::


    Leggevo l’arte di scrivere con latex e altre guide , sia in italiano che in inglese.
    Ho letto circa la possibilità di spezzettare il documento finale in varie parti. Mi spiego meglio: se voglio creare un documento con vari capitoli, fronte spizio e altre parti, leggevo che è possibile fare un file .tex per ogni capitolo e “parte” e poi in fase di compilazione risultavano come unico pdf. Ovviamente tutti i file .tex devono risultare nella stessa cartella.

    le domande sono:
    – è davvero utile questa procedura, invece di mettere tutto in un unico file .tex?
    – come è possibile realizzarla? soprattutto il collegamento tra file… mi sembra un pò confusa e poco chiara 😕

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

        Dr Spencer Reid” post=74514Leggevo l’arte di scrivere con latex e altre guide , sia in italiano che in inglese.
        Ho letto circa la possibilità di spezzettare il documento finale in varie parti. Mi spiego meglio: se voglio creare un documento con vari capitoli, fronte spizio e altre parti, leggevo che è possibile fare un file .tex per ogni capitolo e “parte” e poi in fase di compilazione risultavano come unico pdf. Ovviamente tutti i file .tex devono risultare nella stessa cartella.

        le domande sono:
        – è davvero utile questa procedura, invece di mettere tutto in un unico file .tex?
        – come è possibile realizzarla? soprattutto il collegamento tra file… mi sembra un pò confusa e poco chiara 😕

        1. Sì, per documenti corposi;
        2. Scrivi i capitoli in file separati, per esempio:

        a) File [tt]pippo.tex[/tt]`\chapter{Io sono Pippo} …`
        b) File [tt]pluto.tex[/tt]`\chapter{Io sono Pluto} …`
        c) File [tt]main.tex[/tt]`\documentclass{book}

        \begin{document}
        \input{pippo}
        \input{pluto}
        \end{document}
        `

        Ciao
        Orlando

      • #75367
        Up
        0
        Down
        ::

        Dr Spencer Reid” post=74514Leggevo l’arte di scrivere con latex […]
        – come è possibile realizzarla? soprattutto il collegamento tra file… mi sembra un pò confusa e poco chiara 😕

        Mi sembra che nell’Arte la procedura sia chiarissima! Potresti, per piacere, dire dove e perché non ti è chiara?

        Non è detto che tutti i file debbano stare nella stessa cartella.

        Ciao
        Tommaso

      • #75368
        Up
        0
        Down
        ::


        Riguardo la questione sollevata, mi sono chiesto alcune volte qual è la maniera migliore di organizzare gli \usepackage nei documenti spezzati in più file .tex.
        Cerco di spiegarmi:
        se sto scrivendo la tesi e la logica suddivisione dei file è

        -capitolo1.tex
        -capitolo2.tex

        (ed i nomi sono significativi!)

        allora credo che questi file saranno prima compilati uno per uno, letti, corretti, rivisti e poi accantonati in attesa che siano completati gli altri. Sorge quindi il problema di quali pacchetti richiamare per la compilazione di ciascun sotto-file.
        O forse non sorge e sono io che favoleggio 🙂

        Suggerimenti?

        Ciao

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

          DirkPitt” post=74537Riguardo la questione sollevata, mi sono chiesto alcune volte qual è la maniera migliore di organizzare gli \usepackage nei documenti spezzati in più file .tex.
          Cerco di spiegarmi:
          se sto scrivendo la tesi e la logica suddivisione dei file è

          -capitolo1.tex
          -capitolo2.tex

          (ed i nomi sono significativi!)

          allora credo che questi file saranno prima compilati uno per uno, letti, corretti, rivisti e poi accantonati in attesa che siano completati gli altri. Sorge quindi il problema di quali pacchetti richiamare per la compilazione di ciascun sotto-file.
          O forse non sorge e sono io che favoleggio 🙂

          Suggerimenti?

          Ciao

          Io uso un preambolo unico dove carico tutti i pacchetti, anche se qualche macro la uso solo in qualche file. Ma francamente non capito bene la tua domanda.

          Ciao
          Orlando

        • #75370
          Up
          0
          Down
          ::

          DirkPitt” post=74537Riguardo la questione sollevata, mi sono chiesto alcune volte qual è la maniera migliore di organizzare gli \usepackage nei documenti spezzati in più file .tex.
          Cerco di spiegarmi:
          se sto scrivendo la tesi e la logica suddivisione dei file è

          -capitolo1.tex
          -capitolo2.tex

          (ed i nomi sono significativi!)

          allora credo che questi file saranno prima compilati uno per uno, letti, corretti, rivisti e poi accantonati in attesa che siano completati gli altri. Sorge quindi il problema di quali pacchetti richiamare per la compilazione di ciascun sotto-file.
          O forse non sorge e sono io che favoleggio 🙂

          Suggerimenti?

          Ciao

          Favoleggi. Leggiti con attenzione la sezione 3.14 dell’Arte e la pagina 11 dello stesso manuale.

          Ciao
          Tommaso

        • #75371
          Up
          0
          Down
          ::

          illinguista1972″ post=74539
          Favoleggi. Leggiti con attenzione la sezione 3.14 dell’Arte e la pagina 11 dello stesso manuale.

          Ciao
          Tommaso

          Si ma non mi pare risolva il problema. Nel file che chiamate impostazioni-tesi ci saranno inevitabilmente chiamate non necessarie a produrre un qualche capitoloX.

          Io uso un preambolo unico dove carico tutti i pacchetti, anche se qualche macro la uso solo in qualche file. Ma francamente non capito bene la tua domanda.

          Ciao
          Orlando
          [\quote]

          Invece hai capito benissimo e la tua soluzione (peraltro anche la mia) ha il problema che hai detto.

          Ciao

        • #75372
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Leggi il §4.7 della GuidaGuIT che puoi scaricare dalla sezione documentazione qui sopra nell’intestazione del forum

          • #75373
            Up
            0
            Down
            ::

            DirkPitt” post=74540

            Favoleggi. Leggiti con attenzione la sezione 3.14 dell’Arte e la pagina 11 dello stesso manuale.

            Ciao
            Tommaso

            Si ma non mi pare risolva il problema. Nel file che chiamate impostazioni-tesi ci saranno inevitabilmente chiamate non necessarie a produrre un qualche capitoloX.

            Io uso un preambolo unico dove carico tutti i pacchetti, anche se qualche macro la uso solo in qualche file. Ma francamente non capito bene la tua domanda.

            Ciao
            Orlando
            [\quote]

            Invece hai capito benissimo e la tua soluzione (peraltro anche la mia) ha il problema che hai detto.

            Ciao

            Non ci siamo capiti. Guarda il codice qui sotto:

            `\documentclass[…]{…}

            \usepackage{impostazioni-documento}

            \begin{document}


            \input{capitolo1}
            \input{capitolo2}

            \input{capitolon}

            \end{document}`

            Nel file [tt]impostazioni-documento[/tt], che salverai con estensione [tt].sty[/tt] metterai tutte le definizioni di comandi e ambienti personali e le impostazioni dei pacchetti particolarmente configurabili, lasciando nel preambolo del documento principale solo le chiamate ai pacchetti per le codifiche, le lingue e poco altro.

            Vuoi lavorare solo al primo capitolo? Commenti tutti gli altri [tt]\input[/tt] e ci lavori tranquillamente. Quando è a posto, lo commenti e decommenti il capitolo successivo da lavorare.

            Nel file di impostazioni ci sono anche cose che non servono strettamente al primo capitolo? Che te ne importa, scusa? L’importante è che servano per il documento nel suo complesso: devi ragionare sul documento, non su ciascun capitolo. Se non servono strettamente per comporre il primo capitolo, sta’ sicuro che LaTeX le ignora e si prende quello che gli serve.

            Ciascun capitolo comincia con un semplice [tt]\chapter[/tt] senza dover chiamare nessun pacchetto. Questo significa lavorare con codice pulito e in modo razionale.

            Io sto scrivendo un libro lungo quasi 500 pagine, e qua e là uso un comando [tt]\latino[/tt] che mi sono definito per scrivere in latino. Non lo uso in tutti i capitoli, ma l’ho messo nel preambolo del documento in modo che quando serve LaTeX sa dove andarlo a cercare. Non vorrai mica che scriva la definizione di [tt]\latino[/tt] in ogni capitolo in cui ce n’è bisogno, no? Con LaTeX si fanno le cose in modo da dover fare i minori cambiamenti possibili. Metti caso che quel comando, che ho definito per produrre il proprio argomento in corsivo, non vada più bene e io voglia le parole latine in neretto: mi basta andare nel preambolo e fare UNA SOLA modifica anziché andare a modificare il comando in tutti i capitoli in cui lo uso. Nell’Arte si dice anche questo, nella parte sui comandi personali.

            Ciao
            Tommaso

          • #75374
            Up
            0
            Down
            ::

            illinguista1972″ post=74542

            Nel file di impostazioni ci sono anche cose che non servono strettamente al primo capitolo? Che te ne importa, scusa?

            Lo so che funziona, ma è proprio il problema che avevo posto. Il superfluo è nemico del meglio 🙂 Tu mi stai dicendo che è un problema futile, ed io sono pure d’accordo, però non mi dai una soluzione 🙂

            Pensavo ad es., ad un file pacchetti-minimi in cui mettere le chiamate ai pacchetti necessari a tutti i sotto-file, e poi altri file tipo pacchetti-cap1, pacchetti-cap2, etc. Un pò troppo laborioso probabilmente.

            Ciao

          • #75375
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Avevo capito che la tua preoccupazione fosse quella di compilare ogni capitolo con il minimo di pacchetti e di definizioni necessari.

              Non è una buona idea e Tommaso te l’ha spiegato.

              Per come è costruita la procedura del §4.7 della GuidaGuIT (che non è l’Arte di scrivere con LaTeX) si possono usare altri comandi, \includeonly e \include; il vantaggio, rispetto alla procedura descritta da Tommaso, con \input è che via via che compili i successivi capitoli, i riferimenti incrociati ai capitoli precedenti sono sempre corretti, anche se non li stai compilando; non è una cosa essenziale, ma è utile. L’uso di \includeonly e \include serve anche per fare altre cose che con \input non si possono fare; d’altro canto \input permette di immettere incondizionatamente i file nel flusso di lettura del compilatore anche da un file incluso, mentre \include non lo consente.

              I due comandi sono quindi complementari, non mutamente esclusivi.

              Per concatenare documenti diversi, compilati ognuno per suo conto, potresti usare pdfpages (documentazione: texdoc pdfpages, ma non è una procedura che consiglierei per concatenare i successivi capitoli di un unico documento dopo averli compilati isolatamente.

            • #75376
              Up
              0
              Down
              ::

              OldClaudio” post=74544

              Per concatenare documenti diversi, compilati ognuno per suo conto, potresti usare pdfpages (documentazione: texdoc pdfpages, ma non è una procedura che consiglierei per concatenare i successivi capitoli di un unico documento dopo averli compilati isolatamente.

              No questo no 🙂 Però se devo scrivere un libro con 15 capitoli non è tanto improbabile che voglia farli leggere singolarmente a qualcuno.

              Non so se è deformazione professionale mia, ma sono abituato che scrivere codici minimali (ma sufficienti!) è sempre la cosa migliore e mi sembrava logico farlo anche con latex. Mi fido di voi se mi dite che non costa nulla caricare cose in più in fase di compilazione, ma sicuramente non è l’ottimo 🙂

              Il documento finale (completo) ovviamente lo produrrei nel modo canonico.

              Ciao

              EDIT:

              OldClaudio”
              Leggi il §4.7 della GuidaGuIT che puoi scaricare dalla sezione documentazione qui sopra nell’intestazione del forum

              Scusa non avevo visto questo commento. Grazie, ciao

            • #75377
              Up
              0
              Down
              ::

              DirkPitt” post=74545Non so se è deformazione professionale mia, ma sono abituato che scrivere codici minimali (ma sufficienti!) è sempre la cosa migliore e mi sembrava logico farlo anche con latex. Mi fido di voi se mi dite che non costa nulla caricare cose in più in fase di compilazione, ma sicuramente non è l’ottimo 🙂

              È vero che usando un preambolo minimale per ciascun capitolo risparmieresti forse un paio di secondi nel processo. Ma ogni volta che aggiungi qualcosa dovresti assicurarti che non dipenda da qualche pacchetto che non carichi per quel capitolo: in tal caso la perdita di tempo sarebbe nettamente superiore al guadagno ottenuto in un paio di centinaia di compilazioni. Interrompere la compilazione, correggere il preambolo e ripartire richiede probabilmente più di due minuti.

              Per non dire poi quando alla fine devi integrare tutti i preamboli in uno solo. No, non funziona. 🙂

              Ciao
              Enrico

            • #75378
              Up
              0
              Down
              ::

              egreg9″ post=74547

              Non so se è deformazione professionale mia, ma sono abituato che scrivere codici minimali (ma sufficienti!) è sempre la cosa migliore e mi sembrava logico farlo anche con latex. Mi fido di voi se mi dite che non costa nulla caricare cose in più in fase di compilazione, ma sicuramente non è l’ottimo 🙂

              È vero che usando un preambolo minimale per ciascun capitolo risparmieresti forse un paio di secondi nel processo. Ma ogni volta che aggiungi qualcosa dovresti assicurarti che non dipenda da qualche pacchetto che non carichi per quel capitolo: in tal caso la perdita di tempo sarebbe nettamente superiore al guadagno ottenuto in un paio di centinaia di compilazioni. Interrompere la compilazione, correggere il preambolo e ripartire richiede probabilmente più di due minuti.

              Per non dire poi quando alla fine devi integrare tutti i preamboli in uno solo. No, non funziona. 🙂

              Ciao
              Enrico

              Diciamo che sto scrivendo un libro composto da 3 capitoli.

              Tutti i capitoli contengono almeno una tabella e almeno una figura. Allora creo il seguente file

              `
              % file direttive-comuni.tex
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}
              \usepackage[italian]{babel}
              \usepackage{lmodern}
              \usepackage{booktabs}
              \usepackage{graphicx}
              `

              Il primo capitolo contiene sicuramente un estratto di testo ”riempitivo” e una longtable. Allora creo un altro file:

              `
              %file direttive-cap1.tex
              \usepackage{lipsum}
              \usepackage{longtable}
              `

              Il secondo capitolo contiene figure disegnate in pgf. Per cui:

              `
              %file direttive-cap2.tex
              \usepackage{tikz}
              `

              Il terzo capitolo usa due macro m1 ed m2:

              `
              %file direttive-cap3.tex
              \newcommand{\m1}{….}
              \newcommand{\m2}{…}
              `

              Il documento finale sarà quindi

              `
              \documentclass{book}
              \input{direttive-comuni}
              %\input{direttive-cap1} eventualmente da decommentare
              %\input{direttive-cap2}
              %\input{direttive-cap3}

              \begin{document}
              %\input{capitolo1}
              %input{nonfatemeliscriveretuttie3}
              \end{document}
              `

              Poi dopo qualche mese devo aggiungere un quarto capitolo. Sfortunatamente esso non conterrà tabelle, per il resto gli bastano le direttive comuni. Potrei lasciare \usepackage{booktabs} nelle direttive comuni. Preferisco toglierlo da li e fare un nuovo file

              `
              %file direttive-comuni-1-2-3
              \usepackage{booktabs}
              `

              E quindi il main:

              `
              \documentclass{book}
              \input{direttive-comuni}
              %input{direttive-comuni-1-2-3} %lasciare commentato se compili solo il 4
              %\input{direttive-cap1} eventualmente da decommentare
              %\input{direttive-cap2}
              %\input{direttive-cap3}

              \begin{document}
              %\input{capitolo1}
              %input{nonfatemeliscriveretuttie4}
              \end{document}
              `

              Quanto si complicano le cose con troppi pacchetti? Non lo so 🙂 Probabilmente non ne vale la pena (?)

              Ciao

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

                DirkPitt” post=74550Probabilmente non ne vale la pena (?)

                Probabilmente? 😉

                Battuta a parte, ti ha risposto Enrico: quello che proponi non serve assolutamente a nulla (se non a incasinarsi la vita). Se hai un documento “lungo” (un libro o una tesi), la cosa di gran lunga più sensata è avere un main.tex “pulito” con tutti i pacchetti caricati e un unico file di impostazioni.
                `\documentclass{…}
                \usepackage{…}
                \usepackage{…}
                \usepackage{…}
                \usepackage{impostazioni}
                \begin{document}
                \input{…}
                \input{…}
                \input{…}
                \end{document}`
                dove impostazioni.sty è un pacchettino personale che contiene le impostazioni dei singoli pacchetti, i comandi e gli ambienti personali, e le impostazioni del documento. Se ti serve lavorare solo sul primo capitolo e il tuo documento ci mette troppo a compilarsi tutto (perché usi una macchina vecchiotta e/o il tuo documento è enorme) commenti gli altri \input e vivi felice.

                Quello che invece non va fatto, scrivendo un altro documento, è prendere di peso tutto il preambolo del primo e continuare ad aggiungere pacchetti e comandi personali. I pacchetti, infatti, possono dare problemi di incompatibilità reciproca; e un comando personale può essere già definito. Se hai un altro libro da scrivere, allora, è saggio partire sì dal modello precedente, ma ripulendo il preambolo e impostazioni.sty di tutta la roba che non serve.

                Ciao,
                L.

              • #75380
                Up
                0
                Down
                ::

                lorenzo.pantieri” post=74552

                Probabilmente non ne vale la pena (?)

                Probabilmente?

                Ho una mezza idea che l’omogeneità di un testo dovrebbe in qualche modo assicurare un limite superiore alle complicazioni che si possono verificare facendo in quel modo. Perciò ho messo un bel probabilmente 🙂

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

                  DirkPitt” post=74553Ho una mezza idea che l’omogeneità di un testo dovrebbe in qualche modo assicurare un limite superiore alle complicazioni che si possono verificare facendo in quel modo. Perciò ho messo un bel probabilmente 🙂

                  Ripeto: quello che proponi non ha senso. L’Arte, per dire, carica un centinaio di pacchetti per 10 capitoli. Pensare di separare i pacchetti necessari per ogni capitolo si può fare, naturalmente, anche se occorrerebbero ore. Ma a che pro?

                  Per favore, rileggi la mia riposta precedente: l’ho integrata.

                • #75382
                  Up
                  0
                  Down
                  ::

                  lorenzo.pantieri” post=74552[…] dove impostazioni.sty è un pacchettino personale che contiene le impostazioni dei singoli pacchetti, i comandi e gli ambienti personali, e le impostazioni del documento.

                  Onestamente non vedo la necessità di un pacchetto per caricare le impostazioni. Io per la mia tesi ho creato una cartella “personalizzazioni” con due files: [tt]comandi.tex[/tt] e [tt]pacchetti.tex[/tt]. Come dice il nome in [tt]comandi.tex[/tt] ci sono i vari [tt]\newcommand[/tt] mentre in [tt]pacchetti.tex[/tt] i pacchetti che mi servono. Nel main richiamo con:

                  `
                  \input{personalizzazioni/pacchetti.tex}
                  \input{personalizzazioni/comandi.tex}
                  `
                  e il gioco è fatto.

                  Ciao
                  Claudio

                • #75383
                  Up
                  0
                  Down
                  ::


                  Probabilmente mi sto perdendo qualcosa, ma come sarebbe possibile caricare dei pacchetti solo per uno specifico capitolo di un documento più vasto? Gli [tt]\usepackage[/tt] non vanno solo nel preambolo? Il preambolo non è solo uno per l’intero documento? 😕

                • #75384
                  Up
                  0
                  Down
                  ::

                  cfiandra” post=74555

                  […] dove impostazioni.sty è un pacchettino personale che contiene le impostazioni dei singoli pacchetti, i comandi e gli ambienti personali, e le impostazioni del documento.

                  Onestamente non vedo la necessità di un pacchetto per caricare le impostazioni. Io per la mia tesi ho creato una cartella “personalizzazioni” con due files: [tt]comandi.tex[/tt] e [tt]pacchetti.tex[/tt]. Come dice il nome in [tt]comandi.tex[/tt] ci sono i vari [tt]\newcommand[/tt] mentre in [tt]pacchetti.tex[/tt] i pacchetti che mi servono. Nel main richiamo con:

                  `
                  \input{personalizzazioni/pacchetti.tex}
                  \input{personalizzazioni/comandi.tex}
                  `
                  e il gioco è fatto.

                  Ciao
                  Claudio

                  E che differenza c’è tra quello che hai fatto tu e quello che ho detto io? Due: la prima è l’estensione del file, la seconda è che tu carichi due file, io uno solo 🙂

                  Ciao
                  Tommaso

                • #75385
                  Up
                  0
                  Down
                  ::

                  lorenzo.pantieri” post=74554
                  Per favore, rileggi la mia riposta precedente: l’ho integrata.

                  Ho letto e condivido (come non potrei). Il fatto è che lo condividevo anche prima di questo topic. Stavo cercando una strada alternativa e ”totalmente corretta” ma solo oldClaudio mi ha suggerito qualcosa di interessante.

                  Ciò che non mi torna invece (torno a dire) è;

                  Pensare di separare i pacchetti necessari per ogni capitolo si può fare, naturalmente, anche se occorrerebbero ore. Ma a che pro?

                  Dato che è la procedura migliore, se si può fare, va fatta 🙂

                  Sei sicuro che non occorrano ore solo perchè stai pensando di farlo adesso, cioè a documento completato? Se l’avessi fatto mano a mano la stima del tempo necessaria sarebbe la stessa?


                  @Elrond
                  Se non sbaglio il comando \input si può usare nel preambolo per cui….

                  Ciao

                • #75386
                  Up
                  0
                  Down
                  ::

                  DirkPitt” post=74550

                  [quote=”DirkPitt” post=74545]Non so se è deformazione professionale mia, ma sono abituato che scrivere codici minimali (ma sufficienti!) è sempre la cosa migliore e mi sembrava logico farlo anche con latex. Mi fido di voi se mi dite che non costa nulla caricare cose in più in fase di compilazione, ma sicuramente non è l’ottimo 🙂

                  È vero che usando un preambolo minimale per ciascun capitolo risparmieresti forse un paio di secondi nel processo. Ma ogni volta che aggiungi qualcosa dovresti assicurarti che non dipenda da qualche pacchetto che non carichi per quel capitolo: in tal caso la perdita di tempo sarebbe nettamente superiore al guadagno ottenuto in un paio di centinaia di compilazioni. Interrompere la compilazione, correggere il preambolo e ripartire richiede probabilmente più di due minuti.

                  Per non dire poi quando alla fine devi integrare tutti i preamboli in uno solo. No, non funziona. 🙂

                  Ciao
                  Enrico

                  Diciamo che sto scrivendo un libro composto da 3 capitoli.

                  Tutti i capitoli contengono almeno una tabella e almeno una figura. Allora creo il seguente file

                  `
                  % file direttive-comuni.tex
                  \usepackage[T1]{fontenc}
                  \usepackage[utf8]{inputenc}
                  \usepackage[italian]{babel}
                  \usepackage{lmodern}
                  \usepackage{booktabs}
                  \usepackage{graphicx}
                  `

                  Il primo capitolo contiene sicuramente un estratto di testo ”riempitivo” e una longtable. Allora creo un altro file:

                  `
                  %file direttive-cap1.tex
                  \usepackage{lipsum}
                  \usepackage{longtable}
                  `

                  Il secondo capitolo contiene figure disegnate in pgf. Per cui:

                  `
                  %file direttive-cap2.tex
                  \usepackage{tikz}
                  `

                  Il terzo capitolo usa due macro m1 ed m2:

                  `
                  %file direttive-cap3.tex
                  \newcommand{\m1}{….}
                  \newcommand{\m2}{…}
                  `

                  Il documento finale sarà quindi

                  `
                  \documentclass{book}
                  \input{direttive-comuni}
                  %\input{direttive-cap1} eventualmente da decommentare
                  %\input{direttive-cap2}
                  %\input{direttive-cap3}

                  \begin{document}
                  %\input{capitolo1}
                  %input{nonfatemeliscriveretuttie3}
                  \end{document}
                  `

                  Poi dopo qualche mese devo aggiungere un quarto capitolo. Sfortunatamente esso non conterrà tabelle, per il resto gli bastano le direttive comuni. Potrei lasciare \usepackage{booktabs} nelle direttive comuni. Preferisco toglierlo da li e fare un nuovo file

                  `
                  %file direttive-comuni-1-2-3
                  \usepackage{booktabs}
                  `

                  E quindi il main:

                  `
                  \documentclass{book}
                  \input{direttive-comuni}
                  %input{direttive-comuni-1-2-3} %lasciare commentato se compili solo il 4
                  %\input{direttive-cap1} eventualmente da decommentare
                  %\input{direttive-cap2}
                  %\input{direttive-cap3}

                  \begin{document}
                  %\input{capitolo1}
                  %input{nonfatemeliscriveretuttie4}
                  \end{document}
                  `

                  Quanto si complicano le cose con troppi pacchetti? Non lo so 🙂 Probabilmente non ne vale la pena (?)

                  Ciao[/quote]

                  Diciamo che stai procedendo nella direzione sbagliata. Io, al tuo posto, farei una cosa del genere:

                  `
                  \documentclass{book}
                  \input{direttive-comuni}
                  \input{direttive-comuni-1}
                  \input{direttive-comuni-1a} % decommentare la riga precedente se il pacchetto booktabs non serve
                  \input{direttive-cap1} % eventualmente da decommentare se il primo paragrafo ha bisogno solo di graphicx
                  \input{direttive-comuni-1.1} % per l'unico pacchetto in più del primo sottoparagrafo
                  \input{direttive-cap2}
                  \input{direttive-cap3}
                  \input{direttive-cap4} % se anche il terzo non vuole makeidx ma lo vuole il quinto

                  \begin{document}
                  %\input{capitolo1}
                  %input{paragrafo2}
                  %input{paragrafo3}
                  %input{paragrafo4}
                  %input{paragrafo5}
                  %input{paragrafo6}
                  %input{capitolo2}
                  %input{paragrafo2}
                  %input{paragrafo3}
                  %input{paragrafo4}
                  %input{paragrafo5}
                  %input{paragrafo6}
                  \end{document}
                  `

                  Trovo che in questo modo compilare anche una sola riga alla volta sia molto più facile, no?!

                  Fidati, ti stiamo dicendo che la tua strada è impercorribile. A meno che i due secondi di Enrico non ti facciano la differenza 🙂

                  Ciao
                  Tommaso

                • #75387
                  Up
                  0
                  Down
                  ::

                  DirkPitt” post=74569
                  Ciò che non mi torna invece (torno a dire) è;

                  Pensare di separare i pacchetti necessari per ogni capitolo si può fare, naturalmente, anche se occorrerebbero ore. Ma a che pro?

                  Dato che è la procedura migliore, se si può fare, va fatta 🙂

                  Chiedo perdono, ma non mi sembra di aver letto in nessun intervento di questo filone che sia la procedura migliore. Mi indicate il luogo esatto, per piacere? 🙄

                  Ciao
                  Tommaso

                • #75388
                  Up
                  0
                  Down
                  ::

                  illinguista1972″ post=74570

                  Diciamo che stai procedendo nella direzione sbagliata. Io, al tuo posto, farei una cosa del genere:

                  `
                  \documentclass{book}
                  \input{direttive-comuni}
                  \input{direttive-comuni-1}
                  \input{direttive-comuni-1a} % decommentare la riga precedente se il pacchetto booktabs non serve
                  \input{direttive-cap1} % eventualmente da decommentare se il primo paragrafo ha bisogno solo di graphicx
                  \input{direttive-comuni-1.1} % per l'unico pacchetto in più del primo sottoparagrafo
                  \input{direttive-cap2}
                  \input{direttive-cap3}
                  \input{direttive-cap4} % se anche il terzo non vuole makeidx ma lo vuole il quinto

                  \begin{document}
                  %\input{capitolo1}
                  %input{paragrafo2}
                  %input{paragrafo3}
                  %input{paragrafo4}
                  %input{paragrafo5}
                  %input{paragrafo6}
                  %input{capitolo2}
                  %input{paragrafo2}
                  %input{paragrafo3}
                  %input{paragrafo4}
                  %input{paragrafo5}
                  %input{paragrafo6}
                  \end{document}
                  `

                  Trovo che in questo modo compilare anche una sola riga alla volta sia molto più facile, no?!

                  Fidati, ti stiamo dicendo che la tua strada è impercorribile. A meno che i due secondi di Enrico non ti facciano la differenza 🙂

                  Ciao
                  Tommaso

                  Scusa non ho capito se era un post ironico, perchè in effetti hai ragione. Tuttavia quanti possono essere i pacchetti usati in un solo paragrafo? Secondo me decisamente pochi, quindi non sarebbe così proibitivo 🙂

                  Comunque mi fido eh, figuriamoci 🙂

                  Ciao

                • #75389
                  Up
                  0
                  Down
                  ::

                  illinguista1972″ post=74571

                  Ciò che non mi torna invece (torno a dire) è;

                  Pensare di separare i pacchetti necessari per ogni capitolo si può fare, naturalmente, anche se occorrerebbero ore. Ma a che pro?

                  Dato che è la procedura migliore, se si può fare, va fatta 🙂

                  Chiedo perdono, ma non mi sembra di aver letto in nessun intervento di questo filone che sia la procedura migliore. Mi indicate il luogo esatto, per piacere? 🙄

                  Ciao
                  Tommaso

                  ‘Migliore’ intendevo dal punto di vista di programmazione sotto le specifiche di un linguaggio formale, non della comodità di chi scrive 🙂 Quale sarebbe quindi la migliore?

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

                    DirkPitt” post=74569Dato che è la procedura migliore, se si può fare, va fatta 🙂 Sei sicuro che non occorrano ore solo perchè stai pensando di farlo adesso, cioè a documento completato?

                    No, non è la procedura “migliore”. Sì, sono sicuro. Sono anche sicuro che fare una cosa come quella che suggerisci è tempo perso.

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

                      illinguista1972″ post=74570
                      `
                      \documentclass{book}
                      \input{direttive-comuni}
                      \input{direttive-comuni-1}
                      \input{direttive-comuni-1a} % decommentare la riga precedente se il pacchetto booktabs non serve
                      \input{direttive-cap1} % eventualmente da decommentare se il primo paragrafo ha bisogno solo di graphicx
                      \input{direttive-comuni-1.1} % per l'unico pacchetto in più del primo sottoparagrafo
                      \input{direttive-cap2}
                      \input{direttive-cap3}
                      \input{direttive-cap4} % se anche il terzo non vuole makeidx ma lo vuole il quinto

                      \begin{document}
                      %\input{capitolo1}
                      %input{paragrafo2}
                      %input{paragrafo3}
                      %input{paragrafo4}
                      %input{paragrafo5}
                      %input{paragrafo6}
                      %input{capitolo2}
                      %input{paragrafo2}
                      %input{paragrafo3}
                      %input{paragrafo4}
                      %input{paragrafo5}
                      %input{paragrafo6}
                      \end{document}
                      `

                      Trovo che in questo modo compilare anche una sola riga alla volta sia molto più facile, no?!

                      Geniale. Nell’Arte. Subito. :mrgreen:

                    • #75392
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Mmmm! siamo sicuri che sia una buona idea?

                        Così per compilare un capitolo alla volta, bisogna decommentare o commentare direttive diverse.

                        Mi sembra una stortura.

                        I pacchetti “inutili” per comporre un dato capitolo quanta memoria impegnao rispetto alla memoria già impegnata dal nucleo di LaTeX?

                        Perché poi, visto che il nucleo di latex contiene migliaia di macro che non vengono usate tutte in una data composizone anche LaTeX non è modulare e non si possono caricare solo le macro che servono?

                        Perché poi compilando un capitolo alla volta con questo sistema bisogna ignorare i punti interrogativi e i warning di fine composizione per i riferimenti incrociati mancanti/ Come si fa ad essere sicuri che un dato punto interrogativo (semplice o doppio che sia) sia un riferimento ad una etichetta messa in un altro capitolo un una etichetta mancante per davvero? Ci se ne accorge poi quando si compone l’intero documento, ma è fastidioso.

                        Insomma, caricare per ogni capitolo solo i pacchetti strettamente indispensabili non è una buona idea anche se da un punto di vista di programmazione informatica è sicuramente meglio; ma ricordiamoci che il meglio è nemico del bene. Io mi accontenterei di comporre bene e vi garantisco: uso da sempre la procedura descritta nel §4.7 della GuidaGuit quando ho almeno 5 capitoli; con meno capitoli il gioco non vale la candela; per il libro di 500 pagine di Tommaso va sicuramente bene, ma per una tesi non logorroica direi che non vale la pena, anche se può essere utile.

                        Trovo inoltre che per il lavoro cooperativo la procedura del §4.7 sia essenziale; L’ho adattata anche al caso di scrivere lo stesso testo in un solo volume oppure in tre tomi, conservando in ogni tomo parti comuni a tutte e tre.

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

                          OldClaudio” post=74592Mmmm! siamo sicuri che sia una buona idea?

                          Era ironia, la mia. 😉

                          OldClaudio” post=74592Così per compilare un capitolo alla volta, bisogna decommentare o commentare direttive diverse.

                          Mi sembra una stortura.

                          I pacchetti “inutili” per comporre un dato capitolo quanta memoria impegnao rispetto alla memoria già impegnata dal nucleo di LaTeX?

                          Perché poi, visto che il nucleo di latex contiene migliaia di macro che non vengono usate tutte in una data composizone anche LaTeX non è modulare e non si possono caricare solo le macro che servono?

                          Perché poi compilando un capitolo alla volta con questo sistema bisogna ignorare i punti interrogativi e i warning di fine composizione per i riferimenti incrociati mancanti/ Come si fa ad essere sicuri che un dato punto interrogativo (semplice o doppio che sia) sia un riferimento ad una etichetta messa in un altro capitolo un una etichetta mancante per davvero? Ci se ne accorge poi quando si compone l’intero documento, ma è fastidioso.

                          Insomma, caricare per ogni capitolo solo i pacchetti strettamente indispensabili non è una buona idea anche se da un punto di vista di programmazione informatica è sicuramente meglio; ma ricordiamoci che il meglio è nemico del bene. Io mi accontenterei di comporre bene e vi garantisco: uso da sempre la procedura descritta nel §4.7 della GuidaGuit quando ho almeno 5 capitoli; con meno capitoli il gioco non vale la candela; per il libro di 500 pagine di Tommaso va sicuramente bene, ma per una tesi non logorroica direi che non vale la pena, anche se può essere utile.

                          Appunto! 🙂

                          Ciao,
                          Lorenzo

                        • #75394
                          Up
                          0
                          Down
                          ::

                          illinguista1972″ post=74568E che differenza c’è tra quello che hai fatto tu e quello che ho detto io? Due: la prima è l’estensione del file, la seconda è che tu carichi due file, io uno solo 🙂

                          Ciao
                          Tommaso

                          😳 Avevo scorso troppo rapidamente il filone intervento e non mi ero accorto del tuo intervento.

                          Il punto della mia osservazione in ogni caso, non era tanto sul numero di file impiegati, ma sull’estensione. Dal mio punto di vista l’utente finale non ha la necessità di sapere cosa sia un [tt].sty[/tt]: per caricare le impostazioni può usare, come nel mio intervento precedente, uno o più [tt].tex[/tt].

                          Ciao
                          Claudio

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

                            cfiandra” post=74595Il punto della mia osservazione in ogni caso, non era tanto sul numero di file impiegati, ma sull’estensione. Dal mio punto di vista l’utente finale non ha la necessità di sapere cosa sia un [tt].sty[/tt]: per caricare le impostazioni può usare, come nel mio intervento precedente, uno o più [tt].tex[/tt].

                            Tommaso e io abbiamo discusso se sia meglio una struttura del tipo:
                            `\documentclass{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{impostazioni}
                            \begin{document}
                            \input{…}
                            \input{…}
                            \input{…}
                            \end{document}`
                            dove impostazioni.sty è un pacchettino (messo nella cartella di lavoro) che contiene impostazioni e comandi personali, oppure del tipo
                            `\documentclass{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{…}
                            \input{impostazioni}
                            \begin{document}
                            \input{…}
                            \input{…}
                            \input{…}
                            \end{document}`
                            dove impostazioni.tex è un file (messo nella cartella di lavoro) che contiene impostazioni e comandi personali.

                            L’unico vantaggio di avere il .sty al posto del .tex è che nel .sty non è necessario scrivere (eventuali) \makeatletter e \makeatother, ma ora che ci penso il gioco non vale la candela. Difficilmente l’utente avrà bisogno di quei comandi (che peraltro nell’Arte non spieghiamo). Se ne avesse bisogno, peraltro, scriverli non è questa gran fatica.

                            Tommaso, sono per modificare l’Arte consigliando la seconda soluzione. Così vengono ribaditi due principi:
                            a) l’utente “normale” non scrive i pacchetti, ma li usa;
                            b) i .sty non si modificano mai.

                            La prossima revisione dell’Arte conterrà questa modifica.

                            Grazie,
                            L.

                          • #75396
                            Up
                            0
                            Down
                            ::

                            lorenzo.pantieri” post=74596

                            Il punto della mia osservazione in ogni caso, non era tanto sul numero di file impiegati, ma sull’estensione. Dal mio punto di vista l’utente finale non ha la necessità di sapere cosa sia un [tt].sty[/tt]: per caricare le impostazioni può usare, come nel mio intervento precedente, uno o più [tt].tex[/tt].

                            Tommaso e io abbiamo discusso se sia meglio una struttura del tipo:
                            `\documentclass{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{impostazioni}
                            \begin{document}
                            \input{…}
                            \input{…}
                            \input{…}
                            \end{document}`
                            dove impostazioni.sty è un pacchettino (messo nella cartella di lavoro) che contiene impostazioni e comandi personali, oppure del tipo
                            `\documentclass{…}
                            \usepackage{…}
                            \usepackage{…}
                            \usepackage{…}
                            \input{impostazioni}
                            \begin{document}
                            \input{…}
                            \input{…}
                            \input{…}
                            \end{document}`
                            dove impostazioni.tex è un file (messo nella cartella di lavoro) che contiene impostazioni e comandi personali.

                            L’unico vantaggio di avere il .sty al posto del .tex è che nel .sty non è necessario scrivere (eventuali) \makeatletter e \makeatother, ma ora che ci penso il gioco non vale la candela. Difficilmente l’utente avrà bisogno di quei comandi (che peraltro nell’Arte non spieghiamo). Se ne avesse bisogno, peraltro, scriverli non è questa gran fatica.

                            Tommaso, sono per modificare l’Arte consigliando la seconda soluzione. Così vengono ribaditi due principi:
                            a) l’utente “normale” non scrive i pacchetti, ma li usa;
                            b) i .sty non si modificano mai.

                            La prossima revisione dell’Arte conterrà questa modifica.

                            Grazie,
                            L.

                            E siamo alla modifica numero 62, Presidente 🙂

                            Ciao
                            Tommaso

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

                              illinguista1972″ post=74597E siamo alla modifica numero 62, Presidente 🙂

                              Jeez! 😉

                            • #75398
                              Up
                              0
                              Down
                              ::


                              grazie per la risposta… anche se vedo che si è andati un pò off topic e ho dovuto leggere ben 3 pagine (2 e mezza per la precisione) per correttezza , per evitare risposte non pertinenti alla mia domanda 😉

                              io lascerò i file .tex dei capitoli nella stessa cartella, per una questione di comodità!

                            • #75399
                              Up
                              0
                              Down
                              ::

                              Dr Spencer Reid” post=74633grazie per la risposta… anche se vedo che si è andati un pò off topic e ho dovuto leggere ben 3 pagine (2 e mezza per la precisione) per correttezza , per evitare risposte non pertinenti alla mia domanda 😉

                              io lascerò i file .tex dei capitoli nella stessa cartella, per una questione di comodità!

                              In realtà la prima risposta pertinente alla tua domanda era già tra le prime due 😉

                              Ciao
                              Tommaso

                            • #75400
                              OldClaudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Questa discussione non contiene off topic secondo me. Ad una prima domanda su come concatenare file multipli in un unico file si sono date diverse risposte e si è cercato di indirizzare l’utente novizio verso una procedura semplice e funzionale.
                                Certo sono stati emessi anche commenti sull’inutilità di mettere in pratica procedure che diano luogo a caricamento di pacchetti inutili per la compilazioni di particolari parti del documento.

                                Si sono anche fatte affermazioni sul fatto che l’utente novizio non ha bisogno di sapere che cosa sia un file .sty. Si è anche dimenticato che ci sono alcuni vincoli da rispettare nel caricare i pacchetti.

                                Si è affermato che non sarebbe improponibile che si voglia dar da leggere un capitolo alla volta a qualcun altro, ma questo sì, forse, è un po’ fuori tema, perché qualunque procedura va bene per comporre una parte alla volta.

                                Secondo me, non è molto importante che si usi l’accoppiata \includeonly + \include oppure il solo \input; si ottengono o si possono ottenere cose diverse e uno può scegliere a seconda delle proprie esigenze.

                                Invece ci si è dimenticati che LaTeX impone che i pacchetti siano caricati direttamente o indirettamente solo nel preambolo e che siano caricati una volta sola; ci si è dimenticati che se nelle direttive per il capitolo 3 si carica il pacchetto A con certe opzioni, non si può ricaricare lo stesso pacchetto con opzioni diverse per comporre il capitolo 5. Certo si può fare attenzione ad avitare cose di questo genere, ma queste sono molto più sottili che non quella di distinguere un file .tex con definizioni personali da un file con lo stesso contenuto e l’estensione .sty; anche il secondo può essere caricato con input , purché si espliciti l’estensione, che di default è solo .tex. Certo ci sono delle differenze, altrimenti non avrebbero estensioni diverse; ma in entrambi i casi si tratta di file di estensione: essi estendono le funzionalità di LaTeX con le definizioni personali.

                                La possibilità di fare cose esiziali separando i file da caricare è tale che tovo le soluzioni proposte assolutamente improponibili per un utente novizio, proprio perché bisognerebbe spiegargli che cosa sta facendo e i rischi che corre, e questo sarebbe più difficile che non semplicemente dirgli “carica tutti i pacchetti che ti servono con le loro opzioni e le loro configurazioni nel preambolo e scrivi nel preambolo le tue definizioni personali, oppure scrivile in un tuo file personale da immettere nel preambolo, poi usa \includeonly+\include oppure \input a tuo piacimento e commenta le righe necessarie per far compilare solo un capitolo alla volta. Questo grosso preambolo potrà essere sovrabbondante per compilare un dato capitolo, ma tanto quando comporrai il documento completo dovrai usarlo tutto. Non caricare invece pacchetti di cui non usi le funzionalità; questi sono inutili per un dato capitolo, ma restano inutili per l’intero documento.”

                                Mi sembra molto più semplice per l’utente novizio che non spiegargli i pericoli che corre a caricare pacchetti selettivamente a seconda del capitolo che vuole comporre; che non spiegargli il pericolo dell’option clash; che non spiegargli il fatto che anche senza option clash LaTeX non ricarica mai un pacchetto già caricato, e via di questo passo. Che con i pacchetti caricati con \usepackage si può usare il segno @ nei comandi senza usare \makeatletter, \makeatother, ma che così facendo richia di modificare comandi del nucleo di LaTeX e di combinare un pasticcio immane.

                                Insomma, la via maestra è quella di usare un solo preambolo fisso senza personalizzazioni per i singoli capitoli.

                                Poi con \includeonly + \include oppure con \input può, con risultati diversi (*), compilare un capitolo alla volta; può anche stamparlo e darlo da leggere, per esempio, al relatore.

                                Claudio

                                (*) I risultati diversi consistono nel fatto che con \includeonly+\include si mantengono i riferimenti incrociati anche dei capitoli già composti ma non ricomposti nella compilazione del capitolo corrente; con \input questo non si può fare. Altra caratteristica: \include genera sempre i comandi per svuotare le code degli oggetti mobili ancora in memoria e ricomincia a comporre su una nuova pagine, mentre \input immette subito il file specificato nel flusso di lettura del programma di composizione senza fare nessuna delle cose accessorie che fa \include.

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

                                  Dr Spencer Reid” post=74633grazie per la risposta… anche se vedo che si è andati un pò off topic e ho dovuto leggere ben 3 pagine (2 e mezza per la precisione) per correttezza , per evitare risposte non pertinenti alla mia domanda 😉

                                  Credo che se tu avessi letto con attenzione l’Arte, probabilmente avresti potuto fare a meno di aprire il topic…

                                  Dr Spencer Reid” post=74633Insomma, la via maestra è quella di usare un solo preambolo fisso senza personalizzazioni per i singoli capitoli.

                                  Giusto: è quello che proponiamo nell’Arte.

                                  L.

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

                              Go to top