Table of Contents e Subfiles

  • Creatore
    Topic
  • #91052
    Up
    0
    Down
    ::


    Ciao a tutti: sono uno studente del Politecnico di Milano, all’ultimo anno di LM, e ho deciso di utilizzare Latex per scrivere la tesi.
    Ora, premesso che un primo capitolo è quasi finito, volevo provare ad includerlo utilizzando \usepackage{subfiles} all’interno di un main, in modo da inserirlo sia nella Table of Contents che come file a se.

    La struttura delle cartelle è questa
    \TEX Files (la cartella dove è presente il Solo Main)
    \Chapter1 (la cartella dove è presente il file Chapter_1.tex e le immagini ad esso collegate)

    Ho provato prima una semplice inclusione tramite il comando \subfile{./Chapter1/Chapter_1.tex} con annssa sintassi e noto una cosa strana:
    -il documento “child” si compila con le impostazioni del main (e va bene, è quello che subfiles mi consente di fare), mentre nel main compare questo errore

    ! LaTeX Error: File `./NA’ not found.

    See the LaTeX manual or LaTeX Companion for explanation.
    Type H for immediate help.

    l.39 \includegraphics[scale=1.5]{./NA}

    (NA è il nome di una immagine, il ./ indica la directory riferita al file NA)

    Come Risolvere questo errore?

    Domanda 2: qualora questo problema si riesca a risolvere, come si può fare per avere una TOC modellata sulla struttura dei capitoli (ovvero: come includere i file “child” all’interno della TOC sita nel solo documento “root”)?

    Grazie della cortesia e della pazienza.

    WilhelmNabla

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #91053
      franen
      Partecipante
        Up
        0
        Down
        ::


        Ciao e benvenuto.
        Credo che la lettura del paragrafo de “l’Arte di scrivere con LaTeX” relativo ai documenti di grandi dimensioni possa aiutare.
        Non occorre usare subfiles, se ho ben capito cosa vuoi fare, ma ti basta scrivere [tt]\input{nomecapitolo}[/tt] nel file principale. Se il file nomecapitolo.tex contiene dei comandi di sezionamento (\chapter, \section) questi finiscono direttamente nel sommario.
        I sotto-file non avranno però un preambolo (quello che viene prima di \begin{document}), ma solo il testo del capitolo.
        (A meno che tu non abbia strane esigenze per cui tu debba avere diversi preamboli per diversi capitoli, ma lo troverei strano per una tesi di laurea).

        Fran

      • #91054
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Sì, @franen, è corretto, e tutto sommato più semplice che usare \includeonly e \inckude, come invece io preferisco fare; è ovvio che usando più informazione (includeonly e \include) si ottiene anche un risultato migliore durante la lavorazione della tesi, ma poi il risultato finale quando si include tutto è esattamente lo stesso.

          Ciao
          Claudio

        • #91055
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            @WillelmNabla, stai cercando di ammazzare una zanzara con un cannone; @frenen ti ha detto come fare, ma visto che la prima cosa da fare quando si comincia a lavorare con LaTeX è leggere una buona guida (come l’Arte di scirvere con LaTeX, liberamente scaricabile dalla sezione Documentazione di questo sito), sarei curioso di sapere dove hai trovato l’ispirazione di usare il pacchetto subfiles; Lo conosco; coonosco anche le motivazioni dell’autore, ma penso che anche lui abbia preso un granchio, almeno per risolvere i suoi problemi.

            Il pacchetto non è gran cosa, ma sostanzialmente il pacchetto ridefinisce i comandi \documentclass e \begin{document} e \end{document} provocando possibili danni che lui stesso, nella sua documentazione (l’hai letta?), non è sicuro di non provocare.

            Leggi l’Arte; non necessariamente tutta e subito; ma sfogliala tutta, in modo che tu sappia con precisione che cosa contiene; poi andrai in seguito ad approfondire gli argomenti che ti interesserà approfondire; ti garantisco è tutto tempo risparmiato; inoltre è scritta molto bene ed è un piacere leggerla, anche se l’argomento tecnico non è divertente come altri generi letterari.

          • #91056
            Up
            0
            Down
            ::

            OldClaudio” post=90618@WillelmNabla, stai cercando di ammazzare una zanzara con un cannone; @frenen ti ha detto come fare, ma visto che la prima cosa da fare quando si comincia a lavorare con LaTeX è leggere una buona guida (come l’Arte di scirvere con LaTeX, liberamente scaricabile dalla sezione Documentazione di questo sito), sarei curioso di sapere dove hai trovato l’ispirazione di usare il pacchetto subfiles; Lo conosco; coonosco anche le motivazioni dell’autore, ma penso che anche lui abbia preso un granchio, almeno per risolvere i suoi problemi.

            Il pacchetto non è gran cosa, ma sostanzialmente il pacchetto ridefinisce i comandi \documentclass e \begin{document} e \end{document} provocando possibili danni che lui stesso, nella sua documentazione (l’hai letta?), non è sicuro di non provocare.

            Leggi l’Arte; non necessariamente tutta e subito; ma sfogliala tutta, in modo che tu sappia con precisione che cosa contiene; poi andrai in seguito ad approfondire gli argomenti che ti interesserà approfondire; ti garantisco è tutto tempo risparmiato; inoltre è scritta molto bene ed è un piacere leggerla, anche se l’argomento tecnico non è divertente come altri generi letterari.

            Credo che uno dei due metodi generalmente seguiti, o quello di [tt]\include[/tt] o quello, leggermente meno macchinoso, di [tt]\input[/tt] facciano al caso tuo.

            Ciao
            Tommaso

          • #91057
            Up
            0
            Down
            ::

            franen” post=90615Ciao e benvenuto.
            Credo che la lettura del paragrafo de “l’Arte di scrivere con LaTeX” relativo ai documenti di grandi dimensioni possa aiutare.
            Non occorre usare subfiles, se ho ben capito cosa vuoi fare, ma ti basta scrivere [tt]\input{nomecapitolo}[/tt] nel file principale. Se il file nomecapitolo.tex contiene dei comandi di sezionamento (\chapter, \section) questi finiscono direttamente nel sommario.
            I sotto-file non avranno però un preambolo (quello che viene prima di \begin{document}), ma solo il testo del capitolo.
            (A meno che tu non abbia strane esigenze per cui tu debba avere diversi preamboli per diversi capitoli, ma lo troverei strano per una tesi di laurea).

            Fran


            @Franen
            : volevo utilizzare subfiles per mantenere la possibilità di compilare ciascun capitolo autonomamente rispetto al name. Inoltre lo stesso errore si ripresenta anche seguendo le indicazioni della guida (che si, è stata letta).
            Una cosa che non capisco, però, è dove vada scritto il comando \graphicspath, se nel preambolo (dove sono richiamati gli \usepackage{}) oppure all’inizio del documento (subito sotto \begin{document}).

            Sempre in merito alla guida una immagine esplicativa delll’organizzazione delle cartelle sarebbe stata utile, se affiancata alle parole 🙂

            WN

          • #91058
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::



              @WilhelmNabla
              , il tuo desiderio si risolve per quel che riguarda i capitoli in modo semplice; \graphicspath è un’altra cosa, ma lo metti nel rpemabolo dopo aver caricato graphicx, visto che lui deifnisce il comando; prima non potresti usarlo.

              Veniamo ai capitoli; come ho spiegato in una messaggio precedente non è prudente usare subfile; se la motivazione è quella che hai scritto, è la stessa motivazione debole dell’autore di subfiles.

              Dunque prepari un main file che disponga dell’intero preambolo e di una serie di \include (o di un \includeonly e una serie di \include). Supponiamo che la struttura del mainfile sia la seguente:
              `
              Mainfile:
              preambolo
              \begin{document}
              \input{./Capitoli/A}
              \input{./Capitoli/B}

              \end{document}`
              Supponiamo che tu voglia compilare solo il capitolo A.tex; commenti tutte le righe ‘input che contengono gli altri capitoli e sei a posto; vuoi compilare solo il capitolo B.tex: commenti tutte le righe \input tranne quella che si riferisce al capitolo B e sei a posto. Quando vuoi compilare l’intero documento togli tutti i commenti dalle righe \input.

              Cosa c’è di complicato? Nulla, assolutamente nulla. al massimo potresti avere la necessità di provvedere un path grafico epr le figure di ogni capitolo, che si trovano in una struttura di cartelle complessa, del tipo di questa:`
              Cartella del main file/
              capitoloA/ A.tex
              figureA/ aa.jpg
              bb.jpg
              cc.png
              dd/pdf

              capitoloB/ B.tex
              figureB/aaa.pdf
              bbb.png

              `
              Il comando \graphicspath definisce un path relativo alla cartella in vigore in quel momento, quindi quando esegui l’imput del file ./capitoloA/A.te specifichi dentro A,tex dove sono le sue figure.

              Questo è indipendente dal fatto che tu usi subfile o il metodo che ti ho indicato; tuttavia, anche se la cosa ti sembra più ordinata, è anche molto più complessa da gestire
              Sarebbe più facile se usassi la stessa struttura di file consigliata nell’Arte ed eseguita in pratica nei template di Lorenzo Pantieri del tipo di TesiClassica o di TesiModerna (vai nel sito di Lorenzo attraverso i link che trovi nella sezione Documentazione di questo sito).

              Personalmente credo che la struttura di cartella suggerita da Lorenzo sia sufficientemente ordinata, ma anche abbastanza complessa; di solito io mi accontento dei capitoli nella stesa cartella del mainfile, e delle figure tutte insieme in una cartella figure; ma ovviamente dipende dal numero di figure da gestire, con una ventina di figure in tutto la mia struttura rudimentale è sufficiente, con 50 figure non lo sarebbe e con 1000 figure credo che ci voglia proprio al tua struttura.

              Raccomandazione: LaTeX fa tante belle cose, ma non complicarti la vita inutilmente; LATeX fa già un ottimo lavoro senza bisogno che tu crei una moltitudine di cartelle che poi non riesci più a gestire.

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

          Go to top