- Questo topic ha 26 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 8 mesi fa da
Davide B.
-
CreatoreTopic
-
26 Novembre 2010 alle 9:24 #52979::
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
-
CreatoreTopic
-
AutoreRisposte
-
-
26 Novembre 2010 alle 11:06 #52980::
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.
-
29 Novembre 2010 alle 8:08 #52981::
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
-
29 Novembre 2010 alle 9:20 #52982::
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.
DavideQuello 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 – fineDirei 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.
-
29 Novembre 2010 alle 10:48 #52983::
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
-
29 Novembre 2010 alle 11:22 #52984::
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 -
5 Dicembre 2010 alle 15:13 #52985::
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
-
5 Dicembre 2010 alle 15:35 #52986::
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
EnricoPS: Mi sono permesso di modificare il tuo messaggio per evitare righe troppo lunghe che fanno andare fuori squadra la pagina.
-
6 Dicembre 2010 alle 18:11 #52987::
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.
-
6 Dicembre 2010 alle 18:20 #52988::
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
-
7 Dicembre 2010 alle 18:08 #52989::
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 cambiaSpero abbiate gli elementi per la diagnosi.
Buon lavoro e grazie ancora.
Davide
-
7 Dicembre 2010 alle 18:11 #52990
-
7 Dicembre 2010 alle 21:44 #52991::
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
-
7 Dicembre 2010 alle 22:36 #52992::
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 cambiaSpero abbiate gli elementi per la diagnosi.
Buon lavoro e grazie ancora.
DavideTemo 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
-
8 Dicembre 2010 alle 11:31 #52993
-
13 Dicembre 2010 alle 9:29 #52994::
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
-
13 Dicembre 2010 alle 13:35 #52995::
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.
ByeEcco 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.
-
15 Dicembre 2010 alle 10:22 #52996::
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
-
15 Dicembre 2010 alle 11:29 #52997::
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.
-
15 Dicembre 2010 alle 14:32 #52998::
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
-
26 Dicembre 2010 alle 9:27 #52999::
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
-
26 Dicembre 2010 alle 10:27 #53000
-
28 Dicembre 2010 alle 7:35 #53001::
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
-
28 Dicembre 2010 alle 11:26 #53002::
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. DavideInnanzi 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
-
11 Febbraio 2011 alle 9:17 #53003::
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
-
14 Febbraio 2011 alle 9:14 #53004::
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.
DavideTranquillo, 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.
-
16 Dicembre 2017 alle 14:50 #53005::
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.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.