Preambolo in un documento multifile

  • Creatore
    Topic
  • #115628
    Up
    0
    Down
    ::


    ciao a tutti,

    sto scrivendo un testo abbastanza complesso con molte immagini. A causa di ciò la compilazione è diventata molto lenta. Guardando su internet e leggendo la sezione 3.14 dell’Arte ho scoperto il comando \include ed effettivamente ha circa dimezzato il tempo di dimezzamento. Mi è però sorto un dubbio sull’utilizzo del preambolo.

    La situazione attuale è questa:

    Main.tex: `\documentclass[11pt,a4paper,twoside]{book}

    Preambolo…

    \begin{document}
    include{Ch1}
    \include{Ch2}
    \end{document}`

    Ch1.tex: `\chapter(Capitolo 1)
    Blablablabla…`

    Visto che il preambolo è solo nel file principale, non posso modificare i singoli capitoli perché mi da ovviamente errore.

    La mia domanda è: esiste un modo per creare un preambolo “standard” così da inserirlo velocemente nei singoli capitoli in caso di modifica? Qaulcosa del tipo:
    Ch1:
    `\preambolo
    \chapter(capitolo 1)
    blablabla`

    Spero di essere abbanza chiaro e grazie per l’aiuto 🙂

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #115629
      lavocedilassù
      Partecipante
        Up
        0
        Down
        ::

        Athos” post=116019ciao a tutti,

        sto scrivendo un testo abbastanza complesso con molte immagini. A causa di ciò la compilazione è diventata molto lenta. Guardando su internet e leggendo la sezione 3.14 dell’Arte ho scoperto il comando \include ed effettivamente ha circa dimezzato il tempo di dimezzamento. Mi è però sorto un dubbio sull’utilizzo del preambolo.

        La situazione attuale è questa:

        Main.tex: `\documentclass[11pt,a4paper,twoside]{book}

        Preambolo…

        \begin{document}
        include{Ch1}
        \include{Ch2}
        \end{document}`

        Ch1.tex: `\chapter(Capitolo 1)
        Blablablabla…`

        Visto che il preambolo è solo nel file principale, non posso modificare i singoli capitoli perché mi da ovviamente errore.

        La mia domanda è: esiste un modo per creare un preambolo “standard” così da inserirlo velocemente nei singoli capitoli in caso di modifica? Qaulcosa del tipo:
        Ch1:
        `\preambolo
        \chapter(capitolo 1)
        blablabla`

        Spero di essere abbanza chiaro e grazie per l’aiuto 🙂

        Intanto benvenuto nel Forum.

        Nei documenti con molti capitoli sarebbe meglio utilizzare la tecnica indicata da OldClaudio, non mi ricordo però in quale guida, del sistema di \includeonly da inserire nel preambolo, dove vengono elencati tutti i file che vanno inclusi nel documento master. Commentandone uno o più, si limita la compilazione solo agli altri, pur mantenendo tutti i riferimenti dovuti.

        `\includeonly{%
        file1%
        %file2%
        file3%
        %file…%
        }
        `

        Il preambolo, con tutti i pacchetti che occorrono, va inserito esclusivamente nel file master.

        Nei file secondari va indicato il percorso del file master
        `
        % !TEX root = ../FileMaster.tex
        `

        dove i punti prima del file indicano che la cartella dove è il file master è gerarchicamente superiore

        Ciao,
        Gianni

      • #115630
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Nella guida tematica Il LaTeX Reference Manuale commentato paragrafo 1.10.3.

          Nella guida generale Introduzione all’arte della composizione tipografica con LaTeX, paragrafo 5.8.

          Entrambe le guide si trovano nella sezione Documentazione di questo forum

          Preciso che il meccanismo \includeonly con i vari \include serve proprio per quel che serve ad @Athos; lavorare con \input solamente forse è più veloce, ma \input serve per altre cose; il primo metodo è quello che consiglierei ad @Athos ed è quello che io uso sempre per testi voluminosi.

          L’Introduzione all’arte della composizione spiega queste cose e le differenze nell’uso molto dettagliatamente.

        • #115631
          Up
          0
          Down
          ::


          Ciao,

          grazie mille per la risposta, è proprio quello che mi serviva!!

          lavocedilassù” post=116020

          Nei file secondari va indicato il percorso del file master
          `
          % !TEX root = ../FileMaster.tex
          `

          dove i punti prima del file indicano che la cartella dove è il file master è gerarchicamente superiore.

          L’unica cosa è che questo comando non riesco ad utilizzarlo, mi da sempre errore. Come editor uso Texmaker e per farlo funzionare devo aprire il FileMaster.tex e usare il menu “Opzioni” per renderlo il master. Ogni volta che però apro l’editor devo reimpostare il tutto. Il file master e i capitoli sono tutti nella stessa cartella, non capisco perchè il comando che mi hai scritto non va…

          Questo è quello che ho scritto nei file secondari, è giusto?
          `
          % !TEX root = ../FileMaster.tex
          \chapter(Capitolo 1)
          bla bla bla
          `

        • #115632
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Vedi, il comando non funziona se i capitoli e il master file sono nella stessa cartella.
            Questo succede perché ormai nessuno conosce più i fondamanti della sintassi della linea di comando. Vediamo se riesco a spiegartelo.

            Tu scrivi nella prima riga di ogni file di capitolo la stringa [tt]% !TEX root = ../FileMaster.tex[/tt] e questo commento non viene letto dal compilatore, ma viene letto dall’editor perché è una riga magica, un commento magico, un commento di autoconfigurazione, chiamalo ocme vuoi.
            Ma che cosa significa? Alla lettera significa” Il file master (TEX root) di questo file si chiama FileMaster.tex e si torva nella cartella PATERNA (../) di quella dove risiede questo file”. Ovviamante non funziona perché il master file si trova nella stessa cartella dove ci sono i file dei capitoli, non nella cartella paerna.

            La riga giusta da scrivere sarebbe invece [tt] % !TEX root = ./FileMaster.tex[/tt]; vedi la differenza? Consiste nel fatto che prima della barra c’è un solo punto.

            Ricapitolando [tt]./[/tt] vuol dire :in questa cartella” e[tt]../[/tt] vuol dire nella cartea dentro la quale si trova questa cartella (cioè la cartella paterna.

            Sempre per continuare ad esemplificare, se tu nella cartella pippo/ hai i file FileMster.tex, capitolo1.trex, capitolo2.tex, eccetera (come è il tuo caso, devi usare un solo punto: ./FileMaster.tex.

            Invece se tu hai nella cartella pippo/ FileMaster.tex e un certo numero di cartelle che contengono ciascuno un file di capitolo e i suoi annessi e connessi, per esempio capitolo1/capitolo1.tex insieme a foto1.1.jpg foto1.2.jpg, eccetera; poi pippo/ contien anche capitolo2/capitolo2.tex insieme a foto1,1,jpg foto2.2.jpg, eccetera, allora dentro ciascun capitolo devi sempre indicare che il file root è ../FileMaster.tex. Però devi anche stare attento a come inserisci le foto in ciascun capitolo, perché devi specificare l’indirizzo completo riferito alla cartella pippo/. Per esempio nel capitolo 1 importerai la folo1.2.jpg con [tt]\includegraphics[…]{capitolo1/foto1.2}[/tt].

            Puoi obbiettarmi che suddividere i capitoli in cartelle figlie della cartella pippo/ rende le cose più complicate. In prima battura è così, ma renditi conto che in questo modo ogni cartella figlia hai tutto e solo il materiale che riguarda un solo capitolo, comprese le figure o gli altri file da importare con \input. Il tutto rimane molto più ordinato a man mano che vai avanti con la tesi, ti rendi conto che l’apparente complicazione in realtà era una vera benedizione.

            Ovviamente tutta questa complicazione (apparente) non merita se i file da immettere durante al compilazione del FileMaster.tex sono solo file .tex senza file subalterni e non contengono fotografie o altre immagini da includere con \includegraphics.

            Con l’esperienza impari a suddividere in modo logico i vari file componenti il tuo documento e apprezzerai moltissimo questa apparente complicazione.

          • #115633
            Up
            0
            Down
            ::


            Grazie mille per tutte le spiegazioni.

            Creando le varie sottocartelle per i capitoli sono riuscito a far funzionare il tutto 🙂

            Grazie ancora per l’aiuto!!

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

        Go to top