#!/usr/bin/perl #undef $/; for my $a (@ARGV) { next unless -f $a; ($title,$auts)= getHead($a); my @aut=split(/\s*\d*,\d*\s*|\s*\band\b\s*/, $auts ); for (@aut){ next unless /\w/; print "\\aut{$_}\n"; } print "\\art{$title}{$auts}{$a}\n\n"; } sub getHead{ # local $/=''; my $a = shift; # open(F,"ps2ascii $a | head |") or die("cant ps2ascii $a\n"); open(F,"pdftotext -enc Latin1 $a - | head |") or die("cant pdftotext $a\n"); my $title=; chomp($title); my $auts=; chomp($auts); close(F); $auts = norm($auts); $title = norm($title); $auts =~ s/\(.*?\)//g; $auts =~ s/\d+/,/g; $auts =~ s/\s*\band\b\s*/,/g; $auts =~ s/(,\s*)+/, /g; $auts =~ s/,\s*$//; ($title,$auts) } sub norm{ my $a=shift; for ($a){ s/,c/ç/g; s/c,/ç/g; s/'a/á/g; s/a'/á/g; s/'e/é/g; s/e'/é/g; s/'i/í/g; s/i'/í/g; s/'o/ó/g; s/o'/ó/g; s/'u/ú/g; s/u'/ú/g; s/\^a/â/g; s/\^e/ê/g; s/\^o/ô/g; s/a~o/ão/g; s/o~e/õe/g; s/~a/ã/g; s/~o/õ/g; } $a; }