Stessi dati, più documenti

  • Creatore
    Topic
  • #65786
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::


      Ciao,
      quando genero i documenti che compongono un progetto, ad esempio un recupero di un edificio, alcuni dati sono sempre gli stessi.
      Eccone alcuni: data emissione, legge di finanziamento, titolo progetto, comune, progettista, ecc

      La soluzione che adopero è quella di caricare in un file i dati generali, e salvarlo nell’albero personale di texmf. Creare poi una directory nella home utente che conterrà tutti i file del progetto.
      La cosa è piuttosto semplice: assegno ad una opzione di classe il numero dell’intervento — classe personale opportunamente programmata — tipo job=144 e nel documento posso contare su alcune macro valorizzate correttamente e contenute nel file 144.dat posto nell’albero personale texmf.

      Ad ogni nuovo progetto, questa soluzione mi costringe a creare un file .dat nell’albero personale ed ad eseguire texhash per poterlo poi “vedere” in compilazione.
      Non è elegante.
      Vorrei invece mantenere il file di dati nella cartella dove conservo tutti i file del progetto, come è giusto che sia. Tuttavia questa directory può avere una struttura piuttosto complessa ed i vari sorgenti di LaTeX possono trovarsi in sotto directory anche con molti livelli di annidamento.

      Esiste una soluzione?
      In altri termini, esiste un modo per caricare un file di testo (con \input) che si trova in una directory superiore mentre il sorgente LaTeX è in una sua sotto directory interna?

      Grazie.

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #65787
        Up
        0
        Down
        ::

        robitex” post=64866Ciao,
        quando genero i documenti che compongono un progetto, ad esempio un recupero di un edificio, alcuni dati sono sempre gli stessi.
        Eccone alcuni: data emissione, legge di finanziamento, titolo progetto, comune, progettista, ecc

        La soluzione che adopero è quella di caricare in un file i dati generali, e salvarlo nell’albero personale di texmf. Creare poi una directory nella home utente che conterrà tutti i file del progetto.
        La cosa è piuttosto semplice: assegno ad una opzione di classe il numero dell’intervento — classe personale opportunamente programmata — tipo job=144 e nel documento posso contare su alcune macro valorizzate correttamente e contenute nel file 144.dat posto nell’albero personale texmf.

        Questa soluzione mi costringe ad ogni nuovo progetto, a creare un file .dat nell’albero personale ed ad eseguire texhash per poterlo poi “vedere” in compilazione.
        Non è elegante.
        Vorrei invece mantenere il file di dati nella cartella dove conservo tutti i file del progetto. Tuttavia questa directory può avere una struttura piuttosto complessa ed i vari sorgenti di LaTeX possno trovarsi in sotto directory anche conmolti livelli di annidamento.

        Esiste una soluzione?
        In altri termini, esiste un modo per caricare un file di testo (con \input) che si trova in una directory superiore mentre il sorgente LaTeX è in una sua sotto directory interna?

        Grazie.

        Non occorre dare texhash per l’albero personale. Se per caso hai forzato una volta la creazione di ls-R, cancella quel file. Nota che l’albero personale è in ~/texmf, che è distinto dall’albero locale che sta in /usr/local/texlive/texmf-local.

        Se invece vuoi consultare ricorsivamente le sottocartelle della cartella di lavoro, imposta la variabile di ambiente TEXINPUTS:
        `export TEXINPUTS=.//:`

        Il mio consiglio è di mettere i dati nell’albero personale.

        Ciao
        Enrico

      • #65788
        Up
        0
        Down
        ::


        Hai provato con i percorsi relativi? Io ho una situazione simile e usando TexLive 2011 con Windows XP non ho problemi.

        Ciao
        Paolo

      • #65789
        Up
        0
        Down
        ::


        I percorsi relativi che si riferiscono a directory superiori a quella corrente (come ../file.dat) sono ammessi se usi input ma non con include, che deve scrivere il file .aux, la scrittura in directory genitrice è disabilitata per ragioni di sicurezza, la lettura dovrebbe essere sempre possibile.

        Ciao,
        Matteo

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


          Grazie a tutti per le risposte.
          L’idea dell’albero personale (che come avete capito confondevo con l’albero locale), mi è piaciuta.
          Ho pensato di creare una directory DatiProgetti dove sistemare questi file dati, che essendo nell’area del file system gestita dall’utente, mi sembra sia un buon equilibrio tra facilità di gestione e comodità d’uso da parte del codice TeX.

          Sotto Windows XP tuttavia, non ho trovato nella directory C:\Documents and Settings\nomeutente una cartella texmf.
          L’ho creata sistemandovi un file di prova ma a “run time” ottengo un errore ! LaTeX Error: File `45454.dat’ not found.
          Esiste una cartella .texlive ma non funziona nemmeno con questa.
          Forse è un problema di percorsi.

          Mi aiutate a creare l’albero personale sotto Windows XP? Dispongo di TeX Live 2010.
          Grazie.

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

            pal72″ post=64871Hai provato con i percorsi relativi? Io ho una situazione simile e usando TexLive 2011 con Windows XP non ho problemi.

            Ciao
            Paolo

            Mi fai un esempio, non ho capito quello che intendi.
            Grazie

          • #65792
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::

              robitex” post=64882Grazie a tutti per le risposte.
              L’idea dell’albero personale (che come avete capito confondevo con l’albero locale), mi è piaciuta.
              Ho pensato di creare una directory DatiProgetti dove sistemare questi file dati, che essendo nell’area del file system gestita dall’utente, mi sembra sia un buon equilibrio tra facilità di gestione e comodità d’uso da parte del codice TeX.

              Sotto Windows XP tuttavia, non ho trovato nella directory C:\Documents and Settings\nomeutente una cartella texmf.
              L’ho creata sistemandovi un file di prova ma a “run time” ottengo un errore ! LaTeX Error: File `45454.dat’ not found.
              Esiste una cartella .texlive ma non funziona nemmeno con questa.
              Forse è un problema di percorsi.

              Mi aiutate a creare l’albero personale sotto Windows XP? Dispongo di TeX Live 2010.
              Grazie.

              Roberto,
              sotto XP io ho l’albero personale \texmf radicato in:
              `
              C:\Documents and Settings\Claudio\texmf\
              `
              e ci tengo dentro praticamante solo le informazioni che riguardano i font miei personali, che spesso ho disegnato io stesso, o per i queli ho scritto i file .fd per accedervi.
              Per quel che mi risulta le mappe vengono viste, coì i file .tfm e .type1 oltre ai file .fd.
              Non uso mai il programmino per creare o aggiornare i file name database, e il file LS-R non c’è in questo albero e non c’è nessun altro file che possa far pensare ad una funzione simile. Nota che da quando uso (ormai pochissimo) i SO operativi della serie Windows, configuro sempre il programma di visualizzazione dei file nei vari alberi, rami e cartelle del sistema in modo che mi siano mostrate sempre sia le estensioni dei file sia i file nascosto, quindi non dovrebbe sfuggirmi nulla.

              L’albero di configurazione di TeXworks è innestato accanto all’albero texmf sempre nella stessa cartella Claudio\ e anche TeXworks funziona perfettamente.

              Nota che sia in Windows XP, sia sul Mac sia con Ubuntu l’albero personale può essere radicato in diversi posti (il porta innesto può essere diverso) ma non è mai preceduto dalla cartella TeXLive, né dalla cartella dell’anno.

              Infatti l’idea dell’albero personale NON deve venire aggiornato quando si passa dalla distribuzione TL2010 alla TL2011, per esempio.

              Come hai visto l’albero locale è un’altra cosa e serve per soddisfare le esigenze di tutti gli utenti della stessa macchina.

              Leggi con texdoc texlive il paragrafo relativo agli alberi di TeX Live.

            • #65793
              Up
              0
              Down
              ::


              Mi riferisco al meccanismo a cui avevi partecipato anche tu: http://www.guitex.org/home/index.php?option=com_kunena&func=view&catid=5&id=37105&Itemid=71&lang=it

              Ho definito il comando \filevariabili{progetto.dat} che legge il file e mi definisce i comandi come nella discussione che ho riportato sopra. In questo modo scrivo all’interno del file una qualsiasi variabile nella forma nome=Pinco e all’interno dei documenti utilizzando \nome ho il contenuto della variabile che posso usare quanto e dove voglio. La mia stuttura dati prevede una cartella di progetto con il file progetto.dat e una serie di sottocartelle (es. Lettere, Documenti, Calcoli, Foto). Se ho il documento LaTeX Relazione.tex nella sottocartella Documenti/Relazioni mi basta richiamare il comando \filevariabili{../../progetto.dat} e sono a posto.

              Ciao
              Paolo

            • #65794
              Up
              0
              Down
              ::

              robitex” post=64882Grazie a tutti per le risposte.
              L’idea dell’albero personale (che come avete capito confondevo con l’albero locale), mi è piaciuta.
              Ho pensato di creare una directory DatiProgetti dove sistemare questi file dati, che essendo nell’area del file system gestita dall’utente, mi sembra sia un buon equilibrio tra facilità di gestione e comodità d’uso da parte del codice TeX.

              Sotto Windows XP tuttavia, non ho trovato nella directory C:\Documents and Settings\nomeutente una cartella texmf.
              L’ho creata sistemandovi un file di prova ma a “run time” ottengo un errore ! LaTeX Error: File `45454.dat’ not found.
              Esiste una cartella .texlive ma non funziona nemmeno con questa.
              Forse è un problema di percorsi.

              Mi aiutate a creare l’albero personale sotto Windows XP? Dispongo di TeX Live 2010.
              Grazie.

              Se sono file di input per LaTeX (in qualsiasi forma)
              `…/texmf/tex/latex/DatiProgetti`
              Ciao
              Enrico

            • #65795
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::

                robitex” post=64882
                Sotto Windows XP tuttavia, non ho trovato nella directory C:\Documents and Settings\nomeutente una cartella texmf.
                L’ho creata sistemandovi un file di prova ma a “run time” ottengo un errore ! LaTeX Error: File `45454.dat’ not found.
                Esiste una cartella .texlive ma non funziona nemmeno con questa.
                Forse è un problema di percorsi.

                Mi aiutate a creare l’albero personale sotto Windows XP? Dispongo di TeX Live 2010.
                Grazie.

                Sempre leggendo la documentazione di TeX Live con texdoc texlive devi costruire tutto l’albero personale con la TeX Directory Structure; naturalmente non è necessario che oltre alla radice e al tronco tu metta tutti i rami, sottorami, diramazioni, biforacazioni fino alle ultime foglie dell’intero albero/sistema TeX, ma devi rispettare i percorsi di ricerca, sempre spiegati nella documentazione; per esempio Enrico ti ha suggerito una parte del percorso; dopo …tex\latex\ ogni programma del sistema TeX è capace di trovare quello che gli serve ricercando in sequenza tutte le diramazioni fino alle ultime foglie, ma indipendentemente dal nome delle cartelle; ma fine a …\tex\latex il percorso deve essere quello; questo vale per i file da leggere da parte dei programmi, per la documentazione devi mettere il tutto sotto …\doc\latex, per i file sorgente devi mettere sotto a …\sorce\latex; eccetera. usa come modello il file texxmf-dist\

                Ovviamente queste sono le uniche regole a cui deve soddisfare l’albero personale ma l’installatore non può creartelo se non sa che lo vuoi usare e quale parte vuoi usare; rischierebbe di creare una struttura di sole cartelle, par altro del tutto vuoto, che occuperebbe non poca memoria, visto che la struttura completa potrebbe contenere più di 100 000 file.

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


                  Sono tornato a casa ed ho provato con Linux.
                  Ho creato l’albero ~/texmf/tex/latex/DatiProgetti. Nell’ultima cartella ho sistemato un file dati.
                  Poi sulla Scrivania ho messo un sorgente LaTeX che carica il file, un semplice comando \input{nomefile} ed ha funzionato.

                  Domani mattina proverò con Windows XP.

                  Preferisco questa soluzione del comodo albero personale piuttosto che dover gestire a mano il numero dei livelli di directory da risalire nei vari file sorgente di LaTeX.

                  Grazie a tutti.
                  Un problema affrontato e risolto nel migliore dei modi.

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


                    Confermo che funziona anche in Windows XP.
                    La cartella dell’albero personale è:
                    `C:\Documents and Settings\robitex\texmf\tex\latex\DatiProgetti`
                    Di nuovo grazie.
                    R.

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

                Go to top