Re: Catalogo film

#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.

    Go to top