- Questo topic ha 15 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 5 mesi fa da
letteracdp.
-
CreatoreTopic
-
12 Marzo 2015 alle 10:26 #100729::
Salve,
Nell’ implementare “un altro pezzo” della mia documentazione, sono giunto al punto di fare una semplice lettera, destinata a più utenti.
Ho ripreso un vecchio documento, fatto qualche anno fà, che utilizzava la classe datatool, per accedere un file .CSVMAGICAMENTE, non funziona più 😕
Da una prima semplice occhiata, non sono riuscito a capire il problema. Allora mi chiedevo:
Esiste una cosa più semplice dell’ utilizzo del pacchetto datatool, per caricare da un file (csv o altro) dei dati ? (ovviamente sto parlando di una cosa tipo: nome, cognome, indirizzo, citta…)Grazie
Renatops
se avete dei semplici esempi per fare questa cosa con datatool…va ugualmente bene 🙂
-
CreatoreTopic
-
AutoreRisposte
-
-
12 Marzo 2015 alle 12:57 #100730::
renareto” post=100428Salve,
Nell’ implementare “un altro pezzo” della mia documentazione, sono giunto al punto di fare una semplice lettera, destinata a più utenti.
Ho ripreso un vecchio documento, fatto qualche anno fà, che utilizzava la classe datatool, per accedere un file .CSVMAGICAMENTE, non funziona più 😕
Da una prima semplice occhiata, non sono riuscito a capire il problema. Allora mi chiedevo:
Esiste una cosa più semplice dell’ utilizzo del pacchetto datatool, per caricare da un file (csv o altro) dei dati ? (ovviamente sto parlando di una cosa tipo: nome, cognome, indirizzo, citta…)Grazie
Renatops
se avete dei semplici esempi per fare questa cosa con datatool…va ugualmente bene 🙂Ciao Renato.
Hai molte diverse soluzioni. La più semplice è usare LaTeX senza pacchetti aggiuntivi, tenendo i dati in un file TeX a parte.
Mi spiego meglio: se usi una macro \lettera che prende i vari argomenti e compone la lettera, nel file hai una sequenza di queste macro che produrranno il mail merge.R.
-
12 Marzo 2015 alle 14:00 #100731
-
12 Marzo 2015 alle 15:10 #100732::
renareto” post=100439Ciao,
hai un esempio da farmi vedere?Renato
Per esempio leggi qui http://www.guitex.org/home/it/forum/5-tex-e-latex/18491-copertine-con-dati-variabili
Guarda anche il pacchetto mailmerge.
R.
-
13 Marzo 2015 alle 10:32 #100733::
Scusate,
sto impazzendo da ieri, con questo esempio (in pratica, userò Datatool, per il mio compito, ma anche se ho già un esempio fatto, che non funziona più, non so perch, vorrei cminciare da zero).
Stoprovando questo
`%\documentclass[]{letteracdp}[2015/01/20]
\documentclass[]{letter}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{datatool}
%\usepackage[english]{cdpbabel}
%\usepackage[customletterhead]{cdpaddon}[2015/01/21]
\usepackage{url,lipsum}
\usepackage{epstopdf}
%\usepackage{calctab}%nome,cognome,via,civico,localita,cap,prov
\DTLloaddb{indirizzi}{indirizzi.csv}
\DTLforeach*{indirizzi}{%
\Nome=nome,\Cognome=cognome,%
\Via=via,\Numero=civico,%
\Citta=localita,\Prov=prov,\CAP=cap}{%\begin{letter}{\Nome\ \Cognome\\
\Via, \Numero\\
\CAP\ — \Citta\ (\Prov)}
\opening{Caro socio,}
\closing{Cordialmente,}
\end{letter}
}\signature{Massimiliano Dominici}
\city{Pisa}
\date{\today}
\subject{Adesione al \GuITtext}`
ma non c’è verso di compilare…potreste aiutarmi…:roll:Grazie
Renato
-
13 Marzo 2015 alle 13:21 #100734
-
13 Marzo 2015 alle 14:51 #100735
-
13 Marzo 2015 alle 17:17 #100736::
ok, una parte…l’ ho risolta. Questo codice:
`\documentclass[]{letter}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{datatool}
%\usepackage[english]{cdpbabel}
%\usepackage[customletterhead]{cdpaddon}[2015/01/21]
\usepackage{url,lipsum}
\usepackage{epstopdf}
%\usepackage{calctab}
\begin{document}
%nome,cognome,via,civico,localita,cap,prov
\DTLloaddb{indirizzi}{indirizzi.csv}
\DTLforeach*{indirizzi}{%
\Nome=nome,\Cognome=cognome,%
\Via=via,\Numero=civico,%
\Citta=localita,\Prov=prov,\CAP=cap}{%
\begin{letter}{\Nome\ \Cognome\\
\Via, \Numero\\
\CAP\ — \Citta\ (\Prov)}
\opening{Caro socio,}
\closing{Cordialmente,}
\end{letter}
\end{document}
}
\signature{Massimiliano Dominici}
\city{Pisa}
\date{\today}
\subject{Adesione al \GuITtext}`riesce a produrre una lettera, pescando la prima riga del .csv. (non avevo messo la lettera dentro al document, cioè non avevo messo il tag `\begin{document}…\end(document)`
ma come faccio a fare tante lettere quante sono le righe del .csv? Crede
-
14 Marzo 2015 alle 12:16 #100737
-
14 Marzo 2015 alle 13:12 #100738::
Nel 1991 non esisteva ancora LaTeX2e; non esistevano nemmeno l’infinità di pacchetti oggi disponibili.
Eppure ebbi l’audacia di scrivere al prima guida per l’uso di LATeX presso la Hoepli. Ora credo che sia esaurita e fuori stampa ed è giusto che sia così. Dopo questi quasi 25 anni sarebbe un oggetto interessante solo per uso archeologico.Però già allora fra gli esempi avevo messo un esempio per scrivere lettere con il medesimo testo a una moltitudine di destinatari; se si poteva fare con LaTeX209 e senza pacchetti esterni, vuol dire che quel paio di macro che servivano erano alla portata di chiunque.
No, quest’affermazione è troppo forte; allora per imparare ad usare LaTeX si era fortunati se si riusciva a comperare negli USA la prima edizione del manuale di LaTeX di Leslie Lamport. Nessun’altra guida era disponibile (e infatti questa assenza mi spinse a scrivere la mia). In qui tempi per capire fino in fondo come funzionava bisognava cercare di interpretare il codice sorgente del nucleo di LaTeX.Lasciamo perdere i ricordi nostalgici, ma davvero come hai usato un comando che contiene “foreach”. Quella è la chiave per fare tutto quello che vuoi fare, anche se nell’esempio che hai mostrato e che conteneva quel “foreach” ti eri dimenticato di aprire e poi chiudere l’ambiente document.
-
15 Marzo 2015 alle 14:16 #100739::
Penultima cosa…e poi è finita anche questa 😉
ho completato anche la lettera (classe letteracdp, su carta intesta ottenuta con classe letteracdp)
mi manca una cosa…(forse due 🙄 )1 – posso inserire un immagine (la mia firma scansionata – immagine raster – ) nella linea sovrastante il mio nome? Sto cercando in qualche opzione di \makesignature, ma non trovo nulla…
2 – il documento mi esce in due pagine. E’ possibile farlo entrare in un unica pagina, oviamente senza cambiare le proporzioni fra gli spazi?Ho provato a riddurre il carattere (da 12 a 10 punti, 8 non è possibile).
Renato
ps
ovviamente, alla fine invierò il listato
-
15 Marzo 2015 alle 14:45 #100740::
renareto” post=100495Penultima cosa…e poi è finita anche questa 😉
2 – il documento mi esce in due pagine. E’ possibile farlo entrare in un unica pagina, ovviamente senza cambiare le proporzioni fra gli spazi?
In scrlttr2 c’è l’opzione “enlargefirstpage=true”, non so se esista qualcosa di simile in letteracdp. Puoi provare altrimenti \enlargethispage{1\baselineskip} (guarda l’Arte pag. 187,188)
Ciao
Andrea
-
15 Marzo 2015 alle 18:28 #100741::
Che problema c’è a scandire al tua forma e salvarla in formato png. Il risultato dopo averla scontornata è che puoi sempre inserirla dove ti pare con \includegraphics, senza ricorrere all’ambiente figure.
Ma il formato png ti permette di gestire la trasparenza, in modo che quando inserisci la firma puoi sovrascivere qualcosa, ma solo dove “passa la penna”, non di ricoprire la pagina con il rettanglo a sfondo bianco opaco che rachcide la firma.
Per rendere “trasparente” le parti bianche del file che contiene la firma puoi ricorrere al programma gratuito di elaborazione di immagini GIMP (Gnu Image Managment Progra); probabilmente anche altri programmi gratuiti o commerciale possono farlo. È interessante avere i background trasparente, perché puoi applicarla anche su carta colorata.
-
15 Marzo 2015 alle 19:55 #100742::
OldClaudio” post=100500Che problema c’è a scandire al tua forma e salvarla in formato png. Il risultato dopo averla scontornata è che puoi sempre inserirla dove ti pare con \includegraphics, senza ricorrere all’ambiente figure.
Ma il formato png ti permette di gestire la trasparenza, in modo che quando inserisci la firma puoi sovrascivere qualcosa, ma solo dove “passa la penna”, non di ricoprire la pagina con il rettanglo a sfondo bianco opaco che rachcide la firma.
Per rendere “trasparente” le parti bianche del file che contiene la firma puoi ricorrere al programma gratuito di elaborazione di immagini GIMP (Gnu Image Managment Progra); probabilmente anche altri programmi gratuiti o commerciale possono farlo. È interessante avere i background trasparente, perché puoi applicarla anche su carta colorata.si, ma io dicevo, come faccio a metterla lì dove devo metterla. cioè sulla riga tracciata dove sotto c’ è il mio nome. Non ho visto paramtri particolari in \includegraphics che me lo permettano.
l’ immagine ce l’ ho in diversi formati (dal .xcf, poi posso salvare qualsiasi raster in qualsiasi modo).
Il problema è quello di posizionarlo lì, dove serve. (come dicevo, immaginavo un qualche parametro di makesignature)Renato
-
15 Marzo 2015 alle 21:09 #100743::
Io in raaltà non la metterei in automatico; prima farei il pdf, poi userei AcrobatReader per firmarla; probabilmnete non c’è nsa sicurezza maggiore, ma io faccio così.Se invece vuoi metterla in automatico, allora, diamine, come faresti a mettere una “a” sopra o soto, a destra o a sinistra di una parola già esistente nel file sorgente? Bene, invece di una “a” ci metti \includegraphics.
Sulla stessa riga è particolarmente facile, perché si basta usare una \makebox di larghezza nulla; supra o sotto richiede di usare \raisebox per lazare o abbassare la \makebox di larghezza nulla con un valore dell’alzata positivo o negativo. Se quella dimensione in altezza ti scompone il resto, metti il tutto dentro l’argomento di \smash il cui significato è trasparente.
Poi, se non si fosse prevenuti verso sistemi troppo semplici, si potrebbe usare l’ambiente picure di dimensioni nulle con cui si può mettere qualunque cosa in qualunque punto della lettera.
-
27 Marzo 2015 alle 17:29 #100744::
Leggo per caso, con notevole ritardo, questa domanda:renareto” post=100495Penultima cosa…e poi è finita anche questa 😉
ho completato anche la lettera (classe letteracdp, su carta intesta ottenuta con classe letteracdp)
mi manca una cosa…(forse due 🙄 )1 – posso inserire un immagine (la mia firma scansionata – immagine raster – ) nella linea sovrastante il mio nome? […]
La risposta è stata già data, in pratica, da @OldClaudio. Per i pigerrimi :wink:, ecco però un esempio compilabile:
`
\documentclass
[twoside,boldsubject,italicsignature,shortindent,signaturerule]
{letteracdp}
\usepackage[T1]{fontenc}
\usepackage[italian]{cdpbabel}
\usepackage{graphics}
\usepackage{lipsum}\address{
Silvestro \textsc{Gatto}\\
Dipartimento di Ornitologia\\
Prospettiva dei Cardellini, 28\\
PESCHIERA DEL GATTA
}
\signature{Silvestro Gatto\hwsignatureabove[-1.75ex]{Firma}}
% Si suppone che `Firma.png' (o altri formati) sia il file che contiene
% l'immagine della firma.
\place{Peschiera del Gatta}
\date{1~aprile 2015}% Il primo argomento opzionale regola la posizione verticale dell'immagine che
% contiene la firma: bisogna andare un po' per tentativi.
\newcommand*\hwsignatureabove[2][0pt]{%
\unskip\\*[-\baselineskip]%
\raisebox{#1}[0pt][0pt]{\includegraphics{#2}}%
}% Non badate alle due linee seguenti: sono solo un mio sintomo nevrotico!
\hfuzz = 0pt
\vfuzz = 0pt
\lastlinefit = 750\begin{document}
\begin{foldedletter}[Tina Taria]{
Pregistissima\\
D.E.S. Tina \textsc{Taria}\\
Piazza della Posta, 1\\
35123\quad PADOVA\quad PD
}[
Firma a mano.
]\opening{Carissima Tina,}
\lipsum[1-2]
\closing{Cordiali saluti.}
\end{foldedletter}
\end{document}
`
Perché il risultato sia minimamente accettabile, è indispensabile che il file grafico che contiene la firma supporti quanto meno la trasparenza, per mezzo di un colore trasparente; un supporto completo del «canale alfa» è però altamente raccomandabile.Ciao.
—
Gustavo
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.