Da dbf a bib e Jabref
Calogero Massimo Cammalleri
palug@aacweb.it
Gio 3 Nov 2005 20:07:29 CET
iw9cmd flavio ha scritto:
> cut
> bibtex , che io ne sappia, non gestisce i campi personalizzati, per
> ogni categoria ha i suoi campi e basta. L'unica scappatoia è il campo
> annote che permette di scrivere un commento non visualizzato o il
> comando note che permette di scrivere un commento visualizzato nelle
> bibliografia.
> Puoi scrivere qualsiasi cosa con i commenti ma penso proprio che non
> sia questo che ti interessa.
>
> cut
> suggerimento:
> dividi gli articoli in tabelle diverse a seconda di che si tratta
> (oppure metti un flag di riconoscimento ad ogni voce della
> bibliografia che so a nel primo campo per articolo l per libro...).
> Esporta le tabelle una ad una in csv usando un separatore
> scognito, tipo @, $ o £. Poi converti con uno scriptino in bash o in
> perl che scriva un file bibtex. Poi unisci i file e il gioco è fatto.
> Se hai messo il flag lo script dovrà contenere un po' di logica di
> controllo tipo se il primo campo è una a allora...
> E in questo caso la tabella sarà unica.
> Ho uno scriptino in bash che se ne occupa ma è una ciofeca che va
> modificata per ogni tipo voce e che funziona per tabelle singole.
> L'ho fatto in un momento in cui avevo poco tempo per pensare a cose
> più complicate e avavo pochi tipi di voce. Altri sapranno fare
> certamente di meglio.
>
> #!/bin/bash
> entry=@Article{A_
> file=art.csv
> numlinee=`wc -l $file |cut -d" " -f1`
> i=0
> while [ $i -lt $numlinee ]
> do
> i=$(( $i + 1 ))
> linea=`head -n $i $file|tail -1`
> author=`echo $linea|tr -d \"|cut -d$ -f1`
> title=`echo $linea|tr -d \"|cut -d$ -f2`
> jour=`echo $linea|tr -d \"|cut -d$ -f3`
> year=`echo $linea|tr -d \"|cut -d$ -f4`
> vol=`echo $linea|tr -d \"|cut -d$ -f5`
> pag=`echo $linea|tr -d \"|cut -d$ -f6`
> echo $entry$i,
> echo author={$author},
> echo title={$title},
> echo journal={$jour},
> echo year={$year},
> echo volume={$vol},
> echo pages={$pag},
> echo }
>
> Questo converte un file csv (art.csv) solo di articoli coi campi
> separati da $ la cui
> sintassi è:
> autore$titolo$giornale$anno$volume$pagina$
> tr -d \" serve per levare " che avevo utilizzato come indicatore di
> testo. Con un case, un flag nel primo campo un po' di copia e incolla
> e un minimo di attenzione dovresti arrivare a quello che vuoi.
>
> cut
Ah, Ah, AH, ;-) .
> P.S.: altri avranno a che dire sull'uso improprio di bash e diranno
> che era meglio il perl, awk o altra roba del genere. A me veniva
> comodo così, anche se è poco ortodosso.
però funziona :-) :-$
C.
Maggiori informazioni sulla lista
palermo