Cartelle: percorsi relativi

  • Creatore
    Topic
  • #34746
    admin
    Amministratore del forum
      Up
      0
      Down
      ::


      ciao a tutti,

      vorrei sottoporvi un problema:

      con il comando `\input{file-da-includere}` è possibile inserire nel documento principale dei file esterni.
      Se il file è contenuto in una cartella inclusa in quella dove viene compilato il file, è sufficiente specificare il percorso relativo alla maniera unix: `\input{cartella/file-da-includere}`
      Sempre alla maniera unix, è possibile specificare la cartella precedente (o a monte) di quella corrente con ../. Tuttavia, a LaTeX non sembra piacere questa sintassi.
      Ad esempio, se il file da includere si trova nella cartella superiore:
      `\input{../file-da-includere}`
      sembra non venga trovato,il file non viene compilato, e viene restituito l’errore file non trovato.

      Suggerimenti?

    Visualizzazione 14 filoni di risposte
    • Autore
      Risposte
      • #34747
        Up
        0
        Down
        ::

        ciao a tutti,

        vorrei sottoporvi un problema:

        con il comando `\input{file-da-includere}` è possibile inserire nel documento principale dei file esterni.
        Se il file è contenuto in una cartella inclusa in quella dove viene compilato il file, è sufficiente specificare il percorso relativo alla maniera unix: `\input{cartella/file-da-includere}`
        Sempre alla maniera unix, è possibile specificare la cartella precedente (o a monte) di quella corrente con ../. Tuttavia, a LaTeX non sembra piacere questa sintassi.
        Ad esempio, se il file da includere si trova nella cartella superiore:
        `\input{../file-da-includere}`
        sembra non venga trovato,il file non viene compilato, e viene restituito l’errore file non trovato.

        Non puoi dare percorsi relativi che vadano verso l’alto.

        Ciao
        Enrico

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


          ok, grazie. però sarebbe stato bello 😀

          tuttavia, ho posto la domanda perché qui (sezione Using different paths) sembra possibile farlo.

          L’informazione di questo wikibook è quanto meno ambigua…

        • #34749
          Up
          0
          Down
          ::

          ok, grazie. però sarebbe stato bello 😀

          tuttavia, ho posto la domanda perché qui (sezione Using different paths) sembra possibile farlo.

          L’informazione di questo wikibook è quanto meno ambigua…

          Che sistema usi?

          Ciao
          Enrico

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


            uso LaTeX disponibile con Ubuntu 8.10 (intrepid), TeXlive. Editor Kile.

          • #34751
            Up
            0
            Down
            ::

            uso LaTeX disponibile con Ubuntu 8.10 (intrepid), TeXlive. Editor Kile.

            È assai probabile che Ubuntu, seguendo le politiche molto restrittive di Debian, imposti una certa variabile in modo diverso da altre distribuzioni; prova a dare il comando
            `$ kpsexpand \$openin_any`
            da una shell (il primo $ rappresenta il prompt della shell). La risposta è `p’?

            Ciao
            Enrico

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


              `al@al-laptop:~$ kpsexpand \$openin_any
              a
              al@al-laptop:~$`

            • #34753
              Up
              0
              Down
              ::

              `al@al-laptop:~$ kpsexpand \$openin_any
              a
              al@al-laptop:~$`

              Allora dovresti essere in grado di dare percorsi in salita. Prova a dare questi comandi:
              `$ mkdir -p xyz/ppp
              $ echo “Ecco un testo” > xyz/abc.tex
              $ echo '\input ../abc \bye' > xyz/ppp/prova.tex
              $ enrico% cd xyz/ppp/
              $ tex prova`
              Ciò che ottengo è
              `This is TeX, Version 3.1415926 (Web2C 7.5.7)
              (./prova.tex (../abc.tex) [1] )
              Output written on prova.dvi (1 page, 224 bytes).
              Transcript written on prova.log.`
              Ciao
              Enrico

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

                al@al-laptop:~$ mkdir -p xyz/ppp
                al@al-laptop:~$ echo “Ecco un testo” > xyz/abc.tex
                al@al-laptop:~$ echo ‘\input ../abc \bye’ > xyz/ppp/prova.tex
                al@al-laptop:~$ cd xyz/ppp/
                al@al-laptop:~/xyz/ppp$ tex prova
                This is TeX, Version 3.141592 (Web2C 7.5.6)
                (./prova.tex (../abc.tex) [1] )
                Output written on prova.dvi (1 page, 224 bytes).
                Transcript written on prova.log.

                Grazie, l’esempio funziona.
                Dato che compilo in PDFLaTeX, potrebbe essere dovuto a lui?

                Alessandro

              • #34755
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  `al@al-laptop:~$ kpsexpand \$openin_any
                  a
                  al@al-laptop:~$`

                  Allora dovresti essere in grado di dare percorsi in salita. Prova a dare questi comandi:
                  `$ mkdir -p xyz/ppp
                  $ echo “Ecco un testo” > xyz/abc.tex
                  $ echo '\input ../abc \bye' > xyz/ppp/prova.tex
                  $ enrico% cd xyz/ppp/
                  $ tex prova`
                  Ciò che ottengo:
                  `This is TeX, Version 3.1415926 (Web2C 7.5.7)
                  (./prova.tex (../abc.tex) [1] )
                  Output written on prova.dvi (1 page, 224 bytes).
                  Transcript written on prova.log.`
                  Ciao
                  Enrico

                  Interessante. Nel prossimo futuro dovrei ristrutturare alcuni file di classe personali che uso per comporre diversi tipi di documenti aziendali.
                  Moltissimi dati sono comuni a questi documenti, quindi l’idea è di inserirli in un unico file posizionato in una directory principale e di caricarlo (attraverso una semplice opzione di classe) all’interno del documento che si trova nell’albero inferiore delle directory. Attualmente questo file viene posizionato direttamente nella cartella di classe nell’albero principale TDS. Non è per niente comodo in quanto devo salvare i file dati in una posizione “lenta” da raggiungere e rigenerare con texhash. Per iniziare andava bene ma adesso non più.

                  Ho fatto il test proposto con le cartelle xyz e ppp per una distribuzione TeXlive 2008 sotto Windows ed ha funzionato. Dunque, è ammesso caricare file localizzati al di sopra della dir di lavoro.

                  Ecco cosa ottengo io:`C:\Documents and Settings\admin\Desktop\xyz\ppp>tex prova.tex
                  This is TeX, Version 3.1415926 (Web2C 7.5.7)
                  (./prova.tex (../abc.tex) [1] )
                  Output written on prova.dvi (1 page, 224 bytes).
                  Transcript written on prova.log.`

                  Grazie e ciao.

                • #34756
                  Up
                  0
                  Down
                  ::

                  al@al-laptop:~$ mkdir -p xyz/ppp
                  al@al-laptop:~$ echo “Ecco un testo” > xyz/abc.tex
                  al@al-laptop:~$ echo ‘\input ../abc \bye’ > xyz/ppp/prova.tex
                  al@al-laptop:~$ cd xyz/ppp/
                  al@al-laptop:~/xyz/ppp$ tex prova
                  This is TeX, Version 3.141592 (Web2C 7.5.6)
                  (./prova.tex (../abc.tex) [1] )
                  Output written on prova.dvi (1 page, 224 bytes).
                  Transcript written on prova.log.

                  Grazie, l’esempio funziona.
                  Dato che compilo in PDFLaTeX, potrebbe essere dovuto a lui?

                  Mi sembrerebbe strano. Prova a scrivere
                  `al@al-laptop:~$ echo '\documentclass{minimal}\begin{document}a' > xyz/abc.tex
                  al@al-laptop:~$ echo '\input ../abc \stop' > xyz/ppp/prova.tex
                  al@al-laptop:~$ cd xyz/ppp/
                  al@al-laptop:~/xyz/ppp$ pdflatex prova`
                  Ciao
                  Enrico

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


                    `al@al-laptop:~/temp$ mkdir -p xyz/ppp
                    al@al-laptop:~/temp$ echo '\documentclass{minimal}\begin{document}a' > xyz/abc.tex
                    al@al-laptop:~/temp$ echo '\input ../abc \stop' > xyz/ppp/prova.tex
                    al@al-laptop:~/temp$ cd xyz/ppp/
                    al@al-laptop:~/temp/xyz/ppp$ pdflatex prova
                    This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
                    %&-line parsing enabled.
                    entering extended mode
                    (./prova.tex
                    LaTeX2e <2005/12/01>
                    Babel and hyphenation patterns for english, usenglishmax, dumylang, noh
                    yphenation, italian, loaded.
                    (../abc.tex (/usr/share/texmf-texlive/tex/latex/base/minimal.cls
                    Document Class: minimal 2001/05/25 Standard LaTeX minimal class
                    )
                    No file prova.aux.
                    ) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] )
                    Output written on prova.pdf (1 page, 3734 bytes).
                    Transcript written on prova.log.
                    al@al-laptop:~/temp/xyz/ppp$
                    `
                    In questo caso indubbiamente funziona.
                    Mi chiedo come mai.
                    Potrebbe essere la sintassi di \input?
                    Nei miei documenti uso
                    `\input{../abc}`
                    invece di
                    `\input ../abc`
                    Come mai questa differenza di sintassi? (e come mai il documento si chiude con \stop e non con \end{document}?)

                  • #34758
                    Up
                    0
                    Down
                    ::

                    `al@al-laptop:~/temp$ mkdir -p xyz/ppp
                    al@al-laptop:~/temp$ echo '\documentclass{minimal}\begin{document}a' > xyz/abc.tex
                    al@al-laptop:~/temp$ echo '\input ../abc \stop' > xyz/ppp/prova.tex
                    al@al-laptop:~/temp$ cd xyz/ppp/
                    al@al-laptop:~/temp/xyz/ppp$ pdflatex prova
                    This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
                    %&-line parsing enabled.
                    entering extended mode
                    (./prova.tex
                    LaTeX2e <2005/12/01>
                    Babel and hyphenation patterns for english, usenglishmax, dumylang, noh
                    yphenation, italian, loaded.
                    (../abc.tex (/usr/share/texmf-texlive/tex/latex/base/minimal.cls
                    Document Class: minimal 2001/05/25 Standard LaTeX minimal class
                    )
                    No file prova.aux.
                    ) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] )
                    Output written on prova.pdf (1 page, 3734 bytes).
                    Transcript written on prova.log.
                    al@al-laptop:~/temp/xyz/ppp$
                    `
                    In questo caso indubbiamente funziona.
                    Mi chiedo come mai.
                    Potrebbe essere la sintassi di \input?
                    Nei miei documenti uso
                    `\input{../abc}`
                    invece di
                    `\input ../abc`
                    Come mai questa differenza di sintassi? (e come mai il documento si chiude con \stop e non con \end{document}?)

                    La sintassi non c’entra: ripeti l’esperimento con \input{../abc} e vedrai.

                    Qui \stop è del tutto equivalente (per i nostri scopi) a \end{document} e ci si mette meno a scriverlo. 🙂

                    Suppongo che il problema stia da qualche altra parte del tuo documento.

                    Ciao
                    Enrico

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


                      Grazie per quanto fatto fino ad ora 🙂

                      Avendo risolto il problema per quanto riguarda le inclusioni con \input, provo ad estenderlo: è possibile fare lo stesso per specificare il percorso di un file .bib?

                    • #34760
                      Up
                      0
                      Down
                      ::

                      Grazie per quanto fatto fino ad ora 🙂

                      Avendo risolto il problema per quanto riguarda le inclusioni con \input, provo ad estenderlo: è possibile fare lo stesso per specificare il percorso di un file .bib?

                      La variabile openin_any è impostata con il valore “a”; questo indica a TeX e programmi associati che si può leggere un file che si trovi ovunque nel proprio file system.

                      Ciao
                      Enrico

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


                        Non ho parole.. Spettacolare!

                        Grazie mille per l’aiuto!

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

                    Go to top