Catalogo film

  • Creatore
    Topic
  • #52979
    Up
    0
    Down
    ::


    Ho creato nel tempo un database su FileMaker con tutta una serie di film. Tuttavia la pecca più fastidiosa del programma (ma non troppo, e forse dovuta a mia ignoranza) è che non riesco a gestire campi che abbiano dimensione variabile con il contenuto. A volte la trama non compariva tutta perché più lunga dello spazio assegnato al campo, altre volte lasciava molto spazio vuoto essendo solo 5/6 righe.

    Mi sono allora chiesto se esistesse una soluzione TeX. Quello che vorrei è un pacchetto che mi consenta di inserire i dati del film (Titolo, anno, regista, attori, immagine, trama, …) e di ottenere varie uscite: ad esempio una sintetica a tabella (senza trama) e una più dettagliata con la trama.

    Altrimenti qualche indicazione su come fare in modo che Latex prenda da un file di testo (o altro) i campi che servono. Io un’idea di come organizzare le informazioni ce l’avrei anche (il titolo qua, gli attori la, la trama giù,… cioè un “disegno” di pagina) ma non so come fare in modo che Latex mi prenda, da un file con tutti i campi, solo quelli che mi interessano.

    Spero di essere stato chiaro e comprensibile. Aspetto vostra gentile risposta

    Davide

Visualizzazione 25 filoni di risposte
  • Autore
    Risposte
    • #52980
      mlgdominici
      Amministratore del forum
        Up
        0
        Down
        ::

        Ho creato nel tempo un database su FileMaker con tutta una serie di film. Tuttavia la pecca più fastidiosa del programma (ma non troppo, e forse dovuta a mia ignoranza) è che non riesco a gestire campi che abbiano dimensione variabile con il contenuto. A volte la trama non compariva tutta perché più lunga dello spazio assegnato al campo, altre volte lasciava molto spazio vuoto essendo solo 5/6 righe.

        Mi sono allora chiesto se esistesse una soluzione TeX. Quello che vorrei è un pacchetto che mi consenta di inserire i dati del film (Titolo, anno, regista, attori, immagine, trama, …) e di ottenere varie uscite: ad esempio una sintetica a tabella (senza trama) e una più dettagliata con la trama.

        Altrimenti qualche indicazione su come fare in modo che Latex prenda da un file di testo (o altro) i campi che servono. Io un’idea di come organizzare le informazioni ce l’avrei anche (il titolo qua, gli attori la, la trama giù,… cioè un “disegno” di pagina) ma non so come fare in modo che Latex mi prenda, da un file con tutti i campi, solo quelli che mi interessano.

        Spero di essere stato chiaro e comprensibile. Aspetto vostra gentile risposta

        Davide

        Dai un’occhiata al pacchetto datatool.

        Ciao,
        Max.

      • #52981
        Up
        0
        Down
        ::


        Ho provato a dare un’occhiata al pacchetto ma non ho trovato quasi nulla di interessante per il mio caso. Quel pacchetto aveva una “stampa a tabella” dei dati mentre la mia necessità è leggermente diversa.

        Un’immagine sarebbe più chiara ma non riesco a metterla e quindi proverò a descriverla.
        Quello che vorrei come modello dell’output del record è una “scatola” in cui mettere a sinistra a tutta altezza, l’immagine della copertina opportunamente scalata, e accanto il titolo (a larghezza rimanente (cioè quel che serve per riempire la larghezza della riga)) sotto in 2 colonne l’anno di uscita, la regia, la categoria (Film per tutti, VM14, ecc) e il genere.

        Sotto questa scatola “indivisibile” vorrei mettere a tutta larghezza (ma come testo quindi divisibile tra pagine) l’elenco (lineare) degli attori e la trama. Poi un filetto orizzontale e poi ripetere (senza che si inizi necessariamente una nuova pagina) il tutto per il record successivo.

        Ovviamente vorrei automatizzare tutto questo in modo che possa dirgli qualcosa del tipo \inseriscirecord{file.txt (o altro)} e ripeterlo per ogni record del catalogo o addirittura automatizzare ulteriormente in modo che con un solo comando mi processa tutto il catalogo.

        Tanto per dare un’idea ho fatto un tentativo con “Stampa unione” di Word che riusciva a gestire campi lunghi e corti (cioè trame molto lunghe o corte) ma iniziava una nuova pagina ad ogni record.

        Spero di aver chiarito a sufficienza il problema, perché credo che un problema chiaro e ben posto sia risolto a metà.
        Grazie di tutte le eventuali risposte.
        Davide

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

          Ho provato a dare un’occhiata al pacchetto ma non ho trovato quasi nulla di interessante per il mio caso. Quel pacchetto aveva una “stampa a tabella” dei dati mentre la mia necessità è leggermente diversa.

          Un’immagine sarebbe più chiara ma non riesco a metterla e quindi proverò a descriverla.
          Quello che vorrei come modello dell’output del record è una “scatola” in cui mettere a sinistra a tutta altezza, l’immagine della copertina opportunamente scalata, e accanto il titolo (a larghezza rimanente (cioè quel che serve per riempire la larghezza della riga)) sotto in 2 colonne l’anno di uscita, la regia, la categoria (Film per tutti, VM14, ecc) e il genere.

          Sotto questa scatola “indivisibile” vorrei mettere a tutta larghezza (ma come testo quindi divisibile tra pagine) l’elenco (lineare) degli attori e la trama. Poi un filetto orizzontale e poi ripetere (senza che si inizi necessariamente una nuova pagina) il tutto per il record successivo.

          Ovviamente vorrei automatizzare tutto questo in modo che possa dirgli qualcosa del tipo \inseriscirecord{file.txt (o altro)} e ripeterlo per ogni record del catalogo o addirittura automatizzare ulteriormente in modo che con un solo comando mi processa tutto il catalogo.

          Tanto per dare un’idea ho fatto un tentativo con “Stampa unione” di Word che riusciva a gestire campi lunghi e corti (cioè trame molto lunghe o corte) ma iniziava una nuova pagina ad ogni record.

          Spero di aver chiarito a sufficienza il problema, perché credo che un problema chiaro e ben posto sia risolto a metà.
          Grazie di tutte le eventuali risposte.
          Davide

          Quello che serve si chiama report.
          Un report è una struttura a griglia strutturata pronta per ospitare dati variabili.
          Quindi occorre considerare due cose:
          1 – modalità di gestione dei dati di partenza;
          2 – modalità di output in un report.

          Avendo già deciso di utilizzare LaTeX per il punto 2, ammettiamo che il sistema di gestione permetta di ottenere un file di testo per esempio CSV.

          Quando si modificano i dati (tipicamente per aggiungere un record al db), è necessario rigenerare il report.
          Vediamo, per mantenere le cose semplici, utilizzerei una soluzione che tempo fa mi ha permesso di realizzare una sorta di copertina con dati variabili.
          Occorre definire un comando che legga i dati e componga la riga di tabella del record, chiamiamolo \film.

          Per esempio, ammettiamo che i record del db siano estrapolati dal db in un file di testo, dal formato seguente:`\film{nomefilegrafico,data,regista,ecc}
          \film{nomefilegrafico,data,regista,ecc}
          \film{nomefilegrafico,data,regista,ecc}
          \film{nomefilegrafico,data,regista,ecc}`

          I passi necessari sono quindi:
          1 – definire il sorgente master in cui includere la definizione del comando \film;
          2 – definire il codice del comando \film
          3 – includere con il comando \input, il file di testo contenente i dati
          4 – fine

          Direi che l’argomento è una buona palestra. Richiede di risolvere non solo problemi in LaTeX, ma anche quelli relativi alla gestione del database.

          Aggiungo infine, che ho scritto una classe non ancore pubblica in grado di realizzare un report simile, ma con una filosofia completamente diversa.
          Il tuo problema mi sembra proprio un argomento ideale per un articolo su ArSTeXnica (la rivista del GuIT).
          Ciao.

        • #52983
          Up
          0
          Down
          ::


          Sì, direi che quello che mi serve è un report. I report però hanno la caratteristica (almeno per quelli che ho visto io) di accogliere dati variabili ma in strutture rigide, nel senso che se lo spazio per il campo è impostato per 20 righe ma in un particolare record quel campo ha 25 righe le ultime 5 non vengono visualizzate (analogamente se avesse 10 righe).

          Quello che a me serve è un report flessibile che oltretutto non inizi necessariamente ad un inizio pagina.

          Per come la vedo io (ma forse la vedo semplice) il problema è far leggere a LaTeX i vari dati dal file tipo CSV. Una volta fatto questo, mi pare relativamente semplice organizzare le varie scatole come mi serve.

          Se ho sollevato un problema interessante, lieto di averlo fatto. Attenderò con curiosità gli sviluppi.
          Ciao. Davide

        • #52984
          mlgdominici
          Amministratore del forum
            Up
            0
            Down
            ::

            Sì, direi che quello che mi serve è un report. I report però hanno la caratteristica (almeno per quelli che ho visto io) di accogliere dati variabili ma in strutture rigide, nel senso che se lo spazio per il campo è impostato per 20 righe ma in un particolare record quel campo ha 25 righe le ultime 5 non vengono visualizzate (analogamente se avesse 10 righe).

            Quello che a me serve è un report flessibile che oltretutto non inizi necessariamente ad un inizio pagina.

            Per come la vedo io (ma forse la vedo semplice) il problema è far leggere a LaTeX i vari dati dal file tipo CSV. Una volta fatto questo, mi pare relativamente semplice organizzare le varie scatole come mi serve.

            datatool non organizza necessariamente i dati del database in una tabella. Una volta che hai assegnato una variabile a un campo, puoi farci quello che vuoi:

            `
            \documentclass[a4paper]{article}

            \usepackage[italian]{babel}
            \usepackage[utf8]{inputenc}
            \usepackage[T1]{fontenc}
            \usepackage{graphicx}
            \usepackage{datatool}

            \DTLloaddb{catalogo}{catalogo.csv}

            \begin{document}

            \DTLforeach*{catalogo}{\titolo=Titolo,\anno=Anno,\regista=Regista,%
            \categoria=Categoria,\genere=Genere,\trama=Trama,\locandina=Locandina}{%
            \begin{list}{}{}
            \item[] Titolo: \titolo
            \item[] Anno: \anno
            \item[] Regia: \regista
            \item[] Categoria: \categoria
            \item[] Genere: \genere
            \end{list}

            \trama

            \includegraphics{\locandina}
            }

            \end{document}
            `

            Con il codice riportato qui sopra non avrai una tabella. (Ho supposto che nel campo “Locandina” ci sia il nome di un file e che il file si trovi in un punto in cui LaTeX può trovarlo.)

            Ciao,
            Max.

            Se ho sollevato un problema interessante, lieto di averlo fatto. Attenderò con curiosità gli sviluppi.
            Ciao. Davide

          • #52985
            Up
            0
            Down
            ::


            Alla fine ho curiosato meglio il pacchetto datatool e ho approntato questo soluzione, che mi soddisfa abbastanza, pur essendo perfettibile. Tra l’altro spero di aver usato in maniera corretta le varie scatole orizzontali e verticali (è il mio primo tentativo)
            `
            \DTLloaddb[noheader=false,keys={titolo,regia,attori,tipo,anno,classificazione,%
            genere,trama,categoria,disco,immagine}]{prova1}{prova1.csv}

            \begin{document}
            \graphicspath{{film/}{disney/}{serie/}}

            \DTLforeach*{prova1}{\titolo=titolo,\regia=regia,\attori=attori,\tipo=tipo,\anno=anno,%
            \classificazione=classificazione,\genere=genere,\trama=trama,%
            \categoria=categoria,\disco=disco,\immagine=immagine}{%
            \noindent
            \makebox{%
            \raisebox{2 ex}{\parbox[t][]{0.3\textwidth}{%
            \includegraphics[width=0.3\textwidth]{\immagine}
            }}
            \parbox[t][][t]{0.7\textwidth}{%
            {\large\textsc{\titolo}}\\ \normalsize
            Regia: \regia \hfill Disco: \disco\\
            Anno: \anno \hfill Genere: \genere \hfill \classificazione\\
            Attori: \attori\\
            \vfill
            }%
            }
            \\ \vspace*{1 ex} \\
            Trama:
            {\footnotesize \trama}
            \vspace*{2.5 ex}\par
            }
            `

            Tuttavia ad un certo punto, circa al 190-esimo record, il sistema mi ha dato questo messaggio di errore:

            `
            ! TeX capacity exceeded, sorry [main memory size=3000000].
            …size \trama } \vspace *{2.5 ex}\par
            l.41 }
            If you really absolutely need more capacity,
            you can ask a wizard to enlarge me.
            Here is how much of TeX's memory you used:
            3773 strings out of 495269
            54987 string characters out of 3179642
            2999999 words of memory out of 3000000
            6862 multiletter control sequences out of 15000+200000
            27177 words of font info for 29 fonts, out of 3000000 for 9000
            14 hyphenation exceptions out of 8191
            32i,8n,59p,30629b,240s stack positions out of 5000i,500n,10000p,200000b,50000s
            ! ==> Fatal error occurred, no output PDF file produced!`

            Da quanto mi è sembrato di capire, TeX non riesce a tenere tutto in memoria. Mi è venuto il dubbio che fosse un errore da qualche parte nell’ultimo record aggiunto. Lo ho cancellato e sostituito con un altro, ma il problema non si è risolto. C’è speranza che le cose si sblocchino (il mio database dovrebbe avere 426 righe) o non ci sono possibilità?
            Grazie a tutti.
            Davide

          • #52986
            Up
            0
            Down
            ::

            Alla fine ho curiosato meglio il pacchetto datatool e ho approntato questo soluzione, che mi soddisfa abbastanza, pur essendo perfettibile. Tra l’altro spero di aver usato in maniera corretta le varie scatole orizzontali e verticali (è il mio primo tentativo)

            `! ==> Fatal error occurred, no output PDF file produced!`

            Da quanto mi è sembrato di capire, TeX non riesce a tenere tutto in memoria. Mi è venuto il dubbio che fosse un errore da qualche parte nell’ultimo record aggiunto. Lo ho cancellato e sostituito con un altro, ma il problema non si è risolto. C’è speranza che le cose si sblocchino (il mio database dovrebbe avere 426 righe) o non ci sono possibilità?

            Senza un esempio del database è difficile fare una diagnosi.

            Ciao
            Enrico

            PS: Mi sono permesso di modificare il tuo messaggio per evitare righe troppo lunghe che fanno andare fuori squadra la pagina.

          • #52987
            Up
            0
            Down
            ::


            Ho fatto varie ipotesi che ho cercato di mettere alla prova e la conclusione a cui sono giunto è che in questo modo non posso trattare file troppo lunghi.
            Ho pensato che potesse essere un problema legato ad un record. Tuttavia se lo stampavo da solo, la cosa andava liscia ma se lo mettevo in coda al file su cui lavoravo mi riempiva la memoria.
            Ho provato a non metterlo e la stampa filava, ma se aggiungevo in coda altri “record” in numero sufficiente (8-12) mi si riempiva la memoria.
            Quindi ho concluso che fosse un problema non di singolo record ma di quantità di record. Mi sembra strano ma gli indizi che ho puntano lì.

            Tra l’altro ho provato ad usare wrapfig (che in realtà mi sarebbe piaciuto di più come effetto) ma ho avuto qualche problema di poszionamento della figura e ho abbandonato, non avendo neanche risolto il problema della liscia composizione totale.

            La vedo difficile. Spero possiate illuminarmi.

            Posterei anche un record ma sono tutti parecchio grossi (la trama di solito è almeno 3/4 di A4 scritto) per cui evito. In caso posterò.

            Grazie e ciao. Davide.

          • #52988
            Up
            0
            Down
            ::

            Ho fatto varie ipotesi che ho cercato di mettere alla prova e la conclusione a cui sono giunto è che in questo modo non posso trattare file troppo lunghi.
            Ho pensato che potesse essere un problema legato ad un record. Tuttavia se lo stampavo da solo, la cosa andava liscia ma se lo mettevo in coda al file su cui lavoravo mi riempiva la memoria.
            Ho provato a non metterlo e la stampa filava, ma se aggiungevo in coda altri “record” in numero sufficiente (8-12) mi si riempiva la memoria.
            Quindi ho concluso che fosse un problema non di singolo record ma di quantità di record. Mi sembra strano ma gli indizi che ho puntano lì.

            Tra l’altro ho provato ad usare wrapfig (che in realtà mi sarebbe piaciuto di più come effetto) ma ho avuto qualche problema di poszionamento della figura e ho abbandonato, non avendo neanche risolto il problema della liscia composizione totale.

            La vedo difficile. Spero possiate illuminarmi.

            Posterei anche un record ma sono tutti parecchio grossi (la trama di solito è almeno 3/4 di A4 scritto) per cui evito. In caso posterò.

            Basta un esempio, soprattutto per capire la struttura del database; a moltiplicare i record si fa presto.

            Ciao
            Enrico

          • #52989
            Up
            0
            Down
            ::


            Ok. Allora riporto la struttura di un record.

            `
            Futurama – Stagione 4,
            “Matt Groening, David X. Cohen”,
            “Billy West, Fabrizio Manfredi, (Philip J. Fry), , Katey Sagal, Pinella Dragani, (Turanga Leela), , John DiMaggio, Dario Penne, (Bender Bending Rodriguez), , %
            Billy West, Sergio Graziani, (Prof. Hubert J. Farnsworth), , Billy West, Claudio Fattoretto, (Dott. John Zoidberg), , Lauren Tom, Rossella Acerbo, (Amy Wong), , %
            Phil LaMarr, Simone Mori, (Hermes Conrad), , Billy West, Alessandro Rossi, (Cap. Zapp Brannigan), , Maurice LaMarche, Vittorio Stagni, (Kif Kroker), , %
            Frank Welker, Davide Chevalier, (Mordicchio), , Billy West, Nino Prester, Michele Gammino, (Testa del Presidente Nixon)”,
            Divx,
            2003,
            Film per tutti,
            Serie TV,
            “ALIENA VITA DA ALIENO. Continua […] Guest star: Lauren Tom (Amy), Phil LaMarr, David Herman, Frank Welker, Maurice LaMarche (Kif). MUTA COME UN PESCE. Leela fa una visita all'orfanotrofio dove è stata allevata e riceve un premio per aver fatto strada ne […]”,Futurama,Fu04,Futurama—4.jpg
            `

            Dove c’è […] ho tagliato alcuni pezzi. Lo ho messo due volte, perchè ogni tanto nella trama ci sono delle parole tutte in maiuscolo (titoli degli episodi). Non dovrebbe essere Sono andato a capo a ogni campo. Ovviamente il file non va a capo.
            Ho anche messo degli a capo (% + a capo) nel campo degli attori, per provare a non squadrarvi la pagina. Se li ho messi male, ripiazzateli; tanto la struttura non cambia

            Spero abbiate gli elementi per la diagnosi.
            Buon lavoro e grazie ancora.
            Davide

          • #52990
            Up
            0
            Down
            ::

            Non dovrebbe essere Sono andato a capo a ogni campo

            Scusate me ne sono accorto dopo. La frase è: Non dovrebbe essere un problema, ma per completezza lo ho messo. Sono andato a capo…

            Scusate ancora
            Davide

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


              Dovresti provare con una soluzione più artigianale, ovvero che non fa uso del pacchetto datatool, che forse non è così potente come si potrebbe sperare.

              Un file CSV può benissimo essere caricato in un foglio di calcolo. Si ottiene una tabella in cui le righe sono i record e la singola cella è un campo. A questo punto in un secondo foglio “ombra” inserisci le formule per trasformare un campo in un comando LaTeX: per esempio se nella cella A1 è contenuta la data di uscita del film, nella cella A1 del secondo foglio inserisco la formula:
              `= “\data{“& Foglio1!A1&”}`
              In questo modo basterà fare un copia incolla dal foglio ombra (che di fatto rappresenta una vista sui dati), in un editor e dare la definizione delle macro:

              Le macro di campo devono memorizzare l’argomento in una macro interna chiamata per esempio \my@data:
              `\makeatother
              \def\data#1{\def\my@data{#1}}
              \makeatletter`

              A questo punto posso costruire un unico comando per comporre il record in LaTeX come preferisci, dove all’interno compariranno le macro \my@nomecampo.

              Un esempio con tre campi chiarirà meglio:

              `
              % definizione delle macro di campo
              \makeatother
              \def\data#1{\def\my@data{#1}}
              \def\titolo#1{\def\my@titolo{#1}}
              \def\regia#1{\def\my@regia{#1}}

              % definizione del comando unico
              % di composizione del record
              \def\print{%
              Data di uscita nella sale: \my@data.

              Regia di: \my@regia

              Titolo dell'opera: \my@titolo

              Fine del record.
              }
              \makeatletter

              % nel documento dopo il copia incolla:
              \data{1987}\titolo{La scenata}\regia{Scenografo}\print
              \data{1492}\titolo{Sbarco in India}\regia{Colombo}\print
              \data{1992}\titolo{Barcellona}\regia{Olimpic Committee}\print
              \data{1982}\titolo{La finale}\regia{Bearzot}\print
              \data{2001}\titolo{2001 Odissea nella spazio}\regia{Stanley}\print
              `

              Questa soluzione ha il pregio di richiedere un minimo impegno di memoria perché viene memorizzato solo un record alla volta nelle macro interne che, contenendo il carattere @ non sono normalmente accessibili nel documento.
              Se ti interessa leggi con attenzione il seguente post http://www.guit.sssup.it/phpbb/viewtopic.php?t=3620 .

              Oppure puoi scrivere uno script che costruisca il sorgente LaTeX e lo compili, a partire dal file CSV (non è così difficile), anzi sembra un esperimento divertente.
              Ciao

            • #52992
              Up
              0
              Down
              ::

              Ok. Allora riporto la struttura di un record.

              `
              Futurama – Stagione 4,
              “Matt Groening, David X. Cohen”,
              “Billy West, Fabrizio Manfredi, (Philip J. Fry), , Katey Sagal, Pinella Dragani, (Turanga Leela), , John DiMaggio, Dario Penne, (Bender Bending Rodriguez), , %
              Billy West, Sergio Graziani, (Prof. Hubert J. Farnsworth), , Billy West, Claudio Fattoretto, (Dott. John Zoidberg), , Lauren Tom, Rossella Acerbo, (Amy Wong), , %
              Phil LaMarr, Simone Mori, (Hermes Conrad), , Billy West, Alessandro Rossi, (Cap. Zapp Brannigan), , Maurice LaMarche, Vittorio Stagni, (Kif Kroker), , %
              Frank Welker, Davide Chevalier, (Mordicchio), , Billy West, Nino Prester, Michele Gammino, (Testa del Presidente Nixon)”,
              Divx,
              2003,
              Film per tutti,
              Serie TV,
              “ALIENA VITA DA ALIENO. Continua […] Guest star: Lauren Tom (Amy), Phil LaMarr, David Herman, Frank Welker, Maurice LaMarche (Kif). MUTA COME UN PESCE. Leela fa una visita all'orfanotrofio dove è stata allevata e riceve un premio per aver fatto strada ne […]”,Futurama,Fu04,Futurama—4.jpg
              `

              Dove c’è […] ho tagliato alcuni pezzi. Lo ho messo due volte, perchè ogni tanto nella trama ci sono delle parole tutte in maiuscolo (titoli degli episodi). Non dovrebbe essere Sono andato a capo a ogni campo. Ovviamente il file non va a capo.
              Ho anche messo degli a capo (% + a capo) nel campo degli attori, per provare a non squadrarvi la pagina. Se li ho messi male, ripiazzateli; tanto la struttura non cambia

              Spero abbiate gli elementi per la diagnosi.
              Buon lavoro e grazie ancora.
              Davide

              Temo che datatool sia del tutto inadatto a un’applicazione del genere, visto che carica in memoria l’intero database prima di cominciare a produrre il risultato. 😯

              A te serve invece qualcosa che legga “riga per riga”. Probabilmente l’approccio migliore è con Perl: uno script che trasformi il csv in un file ben strutturato per LaTeX come suggerito da robitex.

              Ciao
              Enrico

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


                Consiglierei anche Lua come linguaggi di scripting.
                Impararlo almeno ha il vantaggio che in futuro si sarà in grado di sfruttare al meglio LuaTeX.

                Sto lavorando ad un articoletto in merito per il blog.
                Stay tuned.
                Bye

              • #52994
                Up
                0
                Down
                ::


                D’accordo. Farò dei tentativi nella direzione che mi avete indicato.

                A questo punto però vorrei risolvere un (spero) piccolo problema di impaginazione, cioè io vorrei mettere in una scatola (penso verticale) l’immagine nell’angolo in alto a sinistra, contornata dal testo (come organizzazione delle scatole, tipo capolettera). Tuttavia, poichè mettevo nelle righe degli \hfill perchè mi serviva sulla stessa riga materiale allineato a destra e materiale allineato a sinistra, il risultato non mi veniva quello che volevo. Per rifarmi alla discussione precedente, vorrei mettere tutte le informazioni che non sono la trama in una scatola (per poter eventualmente fare un report con solo quelle) e in questa scatola vorrei mettere l’immagine in un angolo (alto a destra).

                Inoltre come tirare un filetto a tutto pagina? Devo aprire una tabella solo per il filetto? Devo aprire un ambiente figura?

                Scusate le domande. Spero anche di aver scelto correttamente di farle in questo post. Per me sono collegate. Altrimenti ditemi dove è meglio porle.

                Grazie ancora.
                Davide

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

                  Consiglierei anche Lua come linguaggi di scripting.
                  Impararlo almeno ha il vantaggio che in futuro si sarà in grado di sfruttare al meglio LuaTeX.

                  Sto lavorando ad un articoletto in merito per il blog.
                  Stay tuned.
                  Bye

                  Ecco fatto!!! il post http://robitex.wordpress.com/2010/12/13/reinventare-inventario/ tratta di una problema di creazione di un report riguardante un inventario di magazzino (in una versione potenziata utilizzo veramente lo script in ambiente lavorativo).

                  Opportunamente adattato può risolvere il problema oggetto del post.
                  Grazie ed alla prossima.

                • #52996
                  Up
                  0
                  Down
                  ::


                  Sperando di non risultare seccante, volevo chiedervi risposta alle due domande che ho posto nel risposta precedente (impaginazione e filetto a tutta larghezza)

                  In realtà per il secondo punto pensavo di usare \hrule. E’ la scelta corretta?

                  Per il resto penso che seguirò la “linea artigianale” con i fogli Excel, utilizzando però un editor di file CVS che ho trovato e che mi consente inserimenti in testa o in coda a ogni campo.

                  Grazie per le risposte. Davide

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

                    Sperando di non risultare seccante, volevo chiedervi risposta alle due domande che ho posto nel risposta precedente (impaginazione e filetto a tutta larghezza)

                    In realtà per il secondo punto pensavo di usare \hrule. E’ la scelta corretta?

                    Per il resto penso che seguirò la “linea artigianale” con i fogli Excel, utilizzando però un editor di file CVS che ho trovato e che mi consente inserimenti in testa o in coda a ogni campo.

                    Grazie per le risposte. Davide

                    Scusa, potrebbe essere interessante conoscere quale editor di testi CVS hai menzionato. Di solito uso SciTE per l’elaborare file del genere che mi permette modifiche tramite regular expression e selezioni di aree di test.

                    Per l’impaginazione forse dovresti aprire un nuovo post dove riportare il codice compilabile che stai usando e descrivere le necessità di impaginazione.
                    Grazie.

                  • #52998
                    Up
                    0
                    Down
                    ::


                    Ho usato CVSed trovato a questo indirizzo
                    http://csved.sjfrancke.nl/

                    Per il resto d’accordo. Appena possibile aprirò un post con le richieste fatte.
                    A presto Davide

                  • #52999
                    Up
                    0
                    Down
                    ::


                    Scusate il tempo che ci ho messo per fare le prove, ma il mio tempo libero per LaTeX non è molto.

                    Ho fatto una prova con i “campi interni” che mi suggerivate, ma mi da un messaggio di errore del tipo
                    `
                    ! Use of \my doesn't match its definition.
                    \print ->Data di uscita nella sale: \my @d
                    ata. \par Regia di: \my @regia \pa…
                    l.34 …titolo{La scenata}\regia{Scenografo}\print
                    If you say, e.g., `\def\a1{…}', then you must always
                    put `1' after `\a', since control sequence names are
                    made up of letters only. The macro here has not been
                    followed by the required stuff, so I'm ignoring it.
                    `
                    e io non so bene come risolvere. Per completezza vi posto il listato LaTeX di prova che ho usato (essendo corto)
                    `
                    \documentclass[a4paper]{article}

                    \usepackage[italian]{babel}
                    \usepackage[latin1]{inputenc}
                    \usepackage{lmodern}
                    \usepackage[T1]{fontenc}
                    \usepackage[pdftex]{color, graphicx}

                    \begin{document}

                    % definizione delle macro di campo
                    \makeatother
                    \def\data#1{\def\my@data{#1}}
                    \def\titolo#1{\def\my@titolo{#1}}
                    \def\regia#1{\def\my@regia{#1}}

                    % definizione del comando unico
                    % di composizione del record
                    \def\print{%
                    Data di uscita nella sale: \my@data.

                    Regia di: \my@regia

                    Titolo dell'opera: \my@titolo

                    Fine del record.
                    }
                    \makeatletter

                    % nel documento dopo il copia incolla:
                    \data{1987}\titolo{La scenata}\regia{Scenografo}\print
                    \data{1492}\titolo{Sbarco in India}\regia{Colombo}\print
                    \data{1992}\titolo{Barcellona}\regia{Olimpic Committee}\print
                    \data{1982}\titolo{La finale}\regia{Bearzot}\print
                    \data{2001}\titolo{2001 Odissea nella spazio}\regia{Stanley}\print
                    \end{document}
                    `

                    Ho anche provato a mettere la definizione dei campi (quel \def\data#1{\def….) nel preambolo, ma non cambia molto.

                    Aspetto vostre spiegazioni. Grazie. Davide

                  • #53000
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Sostituisci \makeatother con \makeatletter

                    • #53001
                      Up
                      0
                      Down
                      ::


                      Ho fatto le sostituzioni indicate (in effetti una volta segnalate anche io mi sono detto: “ci potevo arrivare”) ed è andato bene con gli esempi che mi avevate dato. Tuttavia quando ho provato a mettere un record del mio database, latex è entrato in crisi con i caratteri accentati. Non li metteva come tali ma come caratteri strani (al volo non me li ricordo, qualcosa tipo … per la “è” ecc…).

                      Ho pensato a problemi di codifica e ho cambiato da latin1 a ansinew, ma non è servito. Inoltre ciò ha fatto sì che Latex aprisse e chiudesse l’ambiente matematico un po’ a caso, sballando il risultato finale (compromesso comunque dalla non codifica delle lettere accentate).

                      Non ho il codice sotto mano. Spero possiate aiutarmi. Altrimenti ve lo posto appena posso.
                      Grazie. Davide

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

                        Ho fatto le sostituzioni indicate (in effetti una volta segnalate anche io mi sono detto: “ci potevo arrivare”) ed è andato bene con gli esempi che mi avevate dato. Tuttavia quando ho provato a mettere un record del mio database, latex è entrato in crisi con i caratteri accentati. Non li metteva come tali ma come caratteri strani (al volo non me li ricordo, qualcosa tipo … per la “è” ecc…).

                        Ho pensato a problemi di codifica e ho cambiato da latin1 a ansinew, ma non è servito. Inoltre ciò ha fatto sì che Latex aprisse e chiudesse l’ambiente matematico un po’ a caso, sballando il risultato finale (compromesso comunque dalla non codifica delle lettere accentate).

                        Non ho il codice sotto mano. Spero possiate aiutarmi. Altrimenti ve lo posto appena posso.
                        Grazie. Davide

                        Innanzi tutto l’ordine corretto di caricamento dei tre pacchetti base è mnemonicamente definito dalla sigla “fib”, ovvero 1:fontenc 2:inputenc 3:babel.
                        Poi si caricano gli altri pacchetti.

                        La codifica del file sorgente deve essere passata come opzione al pacchetto inputenc, ma solo tu conosci quale codifica hai usato. Se per esempio lavori sotto Windows la codifica è generalmente latin1 (ovvero la ISO8859), ma se lavori con un editor tipo TeXWorks il file potrebbe essere codificato come Unicode (utf8).
                        Studiati una guida di base al paragrafo che tratta della codifica e vedrai che il problema si risolverà in un attimo.

                        Ciao

                      • #53003
                        Up
                        0
                        Down
                        ::


                        Sperando di non sollevare le vostre ire, vi spiego come ho risolto il mio problema.

                        Ho creato un database con Access che poi ho usato con per una stampa unione con Word. Mi rendo conto che parlare bene di Office in casa dei Latexiani (spero si possa dire) possa apparire un po’ strano, ma tant’è. Sono anche riuscito a fare in modo che la stampa unione inserisca le immagini variabili per record, che i record alla fine vengano uno dopo l’altro e tante altre cose che desideravo.

                        Certamente Latex potrebbe fare uguale ma io non ci sono riuscito e non avevo il tempo sufficiente da dedicarci.

                        Una risposta finale mi sembrava doverosa, anche se non fatta con Latex.

                        Saluti e al prossimo topic.
                        Davide

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

                          Sperando di non sollevare le vostre ire, vi spiego come ho risolto il mio problema.

                          Ho creato un database con Access che poi ho usato con per una stampa unione con Word. Mi rendo conto che parlare bene di Office in casa dei Latexiani (spero si possa dire) possa apparire un po’ strano, ma tant’è. Sono anche riuscito a fare in modo che la stampa unione inserisca le immagini variabili per record, che i record alla fine vengano uno dopo l’altro e tante altre cose che desideravo.

                          Certamente Latex potrebbe fare uguale ma io non ci sono riuscito e non avevo il tempo sufficiente da dedicarci.

                          Una risposta finale mi sembrava doverosa, anche se non fatta con Latex.

                          Saluti e al prossimo topic.
                          Davide

                          Tranquillo, non ci arrabbiamo (almeno io) 😆

                          Volevo solo dire che la tua soluzione con Office non ne esclude una seconda con strumenti più potenti portabili e liberi.
                          Anzi, credo che sarebbe assai utile confrontarle se un giorno o l’altro lo farai con LaTeX con il clamoroso titolo:
                          —— Office vs LaTeX ——
                          Ciao.

                        • #53005
                          Up
                          0
                          Down
                          ::


                          Riapro questo topic dopo molto tempo che avevo trovato una soluzione ragionevolmente soddisfacente. E’ (mi piacerebbe scriverlo senza apostrofo ma al volo non riesco) sorto un problema nella gestione con Word: dopo la stampa unione, l’aggiornamento dei campi sembrava andare a buon fine, ma al momento del salvataggio in pdf (o alternativamente della stampa verso Bullzip) qualcosa andava storto e mi trovavo “senza” (ne senso che c’è uno spazio grosso modo vuoto) alcune immagini che pure avevo.
                          Ora io non vengo qui a chiedervi come risolvere un problema con Word e la sua stampa unione. Non sarebbe il forum opportuno.
                          Ho allora pensato di usare Word per produrre un file da salvare in .txt e dare in pasto a LateX per produrre quanto desiderato e le cose sono andate abbastanza bene (finchè ho fatto qualche prova su qualche decina di film).
                          I problemi sono nati quando ho tentato il colpo grosso su circa 500 titoli. Quello che è successo è che, senza che me ne ricordassi, alcuni titoli e alcune trame contenevano al loro interno caratteri speciali come $ (serie Tv 2 Broke Girl$ (così compare nelle prime schermate)) o come & (in una trama di parla di “Dungeons & Dragons”).
                          La domanda in sintesi è: esiste un modo per far interpretare a Latex questi caratteri come effettivi e non speciali (per evitare la modifica a mano di tutte le loro occorrenze)?
                          Vi allego il file .tex che uso in cui trovate il modello di un record (Cattivissimo Me 3) tutto commentato e il comando \input con cui richiamo il file .txt di cui ho parlato.
                          Per quanto riguarda il percorso in cui sono salvate le immagini, ha gli spazi nella sua definizione, ma quanto da me scritto mi sembra funzionare degnamente. Ho trovato tali indicazioni qua e là sul vostro forum.
                          Grazie in anticipo delle risposte.
                          Saluti.
                          D. B.

                          Attachments:
                          You must be logged in to view attached files.
                      Visualizzazione 25 filoni di risposte
                      • Devi essere connesso per rispondere a questo topic.

                      Go to top