[Risolto] Percorso relativo e assoluto

  • Creatore
    Topic
  • #102457
    Up
    0
    Down
    ::


    Buongiorno a tutti e a tutte,
    sto scrivendo un documento utilizzando TexWorks su TeXLive 2015, Windows.
    Il documento é articolato in più documenti che richiamo tramite input e include.
    In L’ arte di scrivere con LateX nel paragrafo 3.14.1 Il metodo di \input, ho trovato indicato: Si abbia cura che l’eventuale percorso dei file inclusi (anche quelli con
    \graphicspath ) sia relativo (un percorso assoluto verrebbe addirittura rifiutato da L A T E X per motivi di sicurezza) e non contenga spazi.

    Sapreste darmi qualche riferimento a come si indica un percorso relativo e assoluto?
    Grazie

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #102458
      Up
      0
      Down
      ::


      Il percorso è assoluto quando è completo e indica tutte le cartelle a partire dalla radice. Nel tuo caso, su Windows, il percorso assoluto è quello che parte da [tt]C:\\[/tt] fino alla cartella che ti interessa. Per esempio
      `
      \input{C:/Users/Utente/Desktop/mio.tex}
      `
      ti permette di accedere al file [tt]mio.tex[/tt] presente sul desktop da qualsiasi file tu ti trova.

      Il percorso relativo invece parte dalla stessa cartella in cui si trova il file che stai utilizzando. Per cui se il file principale è nella cartella [tt]C:/Users/Utente/Documenti/[/tt], allora scrivere [tt]\input{mio.tex}[/tt] equivale a [tt]\input{C:\\Users\Utente\Documenti\mio.tex}. I vantaggi di questo metodo sono:

      1. Non scrivere tutte le volte l’indirizzo per intero, basta che i file siano nella stessa cartella
      2. Legato al punto 1, se sposti la cartella che contiene i file, non devi aggiornare tutti i riferimenti ai vari file, perché tanto sono relativi sempre a quella cartella. Oltre che premetterti una maggiore flessibilità, questo sistema garantisce anche la condivisione del file: se lo devi spedire a qualcuno perché lo compili, basta inviargli la cartella con tutti i file senza preoccuparsi di dove verrà collocata.

    • #102459
      Up
      0
      Down
      ::


      Grazie infinite!
      Dunque, un esempio concreto.

      Un progetto complesso dal titolo casa, è strutturato nel modo seguente:
      la cartella che contiene tutto, che chiamiamocasa contiene:
      il file che compone tutto, casa.tex
      la cartella con i files del frontmatter e del backmatter, chiamiamola INZIOFINE
      la cartella delle immagini, foto, a sua volta divisa in sottocartelle, ad esempio la cartella scrivanie
      la cartella dei grafici, grafici
      la cartella piani, in cui si trovano le parti.

      A sua volta la cartella piani, è organizzata così:
      tre cartelle chiamate piano1, piano2 e piano3
      La cartella piano2, ad esempio, contiene a sua volta:
      il file piano2.tex e delle sottocartelle, i capitoli.
      Uno di questi capitoli è particolarmente lungo e complesso, così ad esempio salotto conterrà salotto.tex e delle sottocartelle per i paragrafi, ad esempio angolostudio.

      Ora, nel file casa.tex, quello che compone tutto, inserisco nel preambolo \graphicspath{{foto/},{grafici/}} così quando “carico” un’immagine devo solo precisare la sottocartella della cartella foto o grafici.

      Domanda:
      poiché il documento é complesso, qualora volessi comporre i file .tex singolarmente, nel “caricare” le foto o i grafici dovrei cambiare i riferimenti relativi? Ovvero, c’é una differenza nel percorso dell’immagine a seconda che il file tex che la “carica” si trovi allo stesso livello della cartella foto o all’interno di una sottocartella dei capitoli?

      Grazie mille!

    • #102460
      Up
      0
      Down
      ::

      hellotex” post=102359Domanda:
      poiché il documento é complesso, qualora volessi comporre i file .tex singolarmente, nel “caricare” le foto o i grafici dovrei cambiare i riferimenti relativi? Ovvero, c’é una differenza nel percorso dell’immagine a seconda che il file tex che la “carica” si trovi allo stesso livello della cartella foto o all’interno di una sottocartella dei capitoli?

      Grazie mille!

      Che intendi per “qualora volessi comporre i file .tex singolarmente”? Quali file? Quelli in [tt]piano[/tt] o [tt]salotto[/tt]? Come intendi fare una cosa del genere?

      Comunque, regola generale: il percorso relativo da indicare è relativo alla posizione dalla quale viene invocato il compilatore. Se usi compilare solo editor quale TeXworks, che hai nominato, il compilatore viene invocato nella cartella del file principale di un documento.

    • #102461
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        I metodi descritti nell’Arte con \input oppure con \include non sono equivalenti.
        \include ti permette di compilare per esempio un solo capitolo mantenendo invariati i riferimenti agli altri capitoli. \input non te lo consente.

        Un’altra differenza è che \include include il suo materiale dopo aver ricominciato a comporre su una pagina di destra, se stai componendo fronte-retro; comunque da una nuova pagina anche se stati componendo solo fronte. \include è accompagnato dalla lista dei file da includere, che costituiscono una lista separata da virgole, che forma il contenuto del comando \includeonly. \include non ha nulla del genere e per una compilazione selettiva e priva dei riferimenti agli altri capitoli bisogna materialmente commentare il comando \input.

        Infine i comandi \input possono essere annidati a qualunque livello; i comandi \include non possono essere annidati ma i file inclusi con \include possono contenere comandi \input annidati a qualunque livello. Per “qualunque livello” non si prenda il significato letterale; ogni programma del sistema TeX può aprire contemporaneamente al massimo 16 file, e di suo, spesso, ne apre una dozzina e talvolta anche di più.

        Io preferisco di gran lunga usare il metodo \include; ma le sue “limitazioni” lo rendono utile solo per includere file a livello di capitolo. Tuttavia a me va benissimo così e cerco sempre di evitare di costruire capitoli troppo complessi; un capitolo non dovrebbe mai essere diviso in più di 9 paragrafi, ognuno dei quali non dovrebbe contenere più di 9 sotto paragrafi, che a sua volta… eccetera; altrimenti non solo l’indice viene composto molto male, ma cercare informazioni in un capitolo così complesso diventa molto difficile.

      • #102462
        Up
        0
        Down
        ::


        Innanzitutto, grazie mille per le risposte.
        Dunque per “qualora volessi comporre i file .tex singolarmente” intendevo dire che nel file principale ho caricato la struttura, cioé gli input dei vari pezzi che verranno via via scritti. Per questa ragione sentivo la necessità di comporre singolarmente i vari pezzi man mano che li scrivo.
        Il file casa.tex, il principale, richiama, fra gli altri, piano2.tex che richiama a sua volta salotto.tex il quale carica angolostudio. Se io comincio a scrivere angolostudio e ho necessità di controllare il layout dei comandi che scrivo, usando \input per via degli annidamenti, non volevo stare a commentare tutta la struttura del file principale per comporre da li, quindi mi chiedevo se i riferimenti relativi alle cose da caricare fossero sempre rispetto al file principale o relativi al pezzo che compongo.
        Non avevo però letto con attenzione l’Arte e grazie all’appunto di OldClaudio ho saputo che file inclusi possono contenere \input, quindi posso comporre tutto dal file principale con includeonly.
        Ancora grazie

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

    Go to top