| Lines 661-714
          sub marc2bibtex {
      
      
        Link Here | 
        
          | 661 |     $author = join ' and ', @texauthors; | 661 |     $author = join ' and ', @texauthors; | 
        
          | 662 |  | 662 |  | 
        
          | 663 |     # Defining the conversion hash according to the marcflavour | 663 |     # Defining the conversion hash according to the marcflavour | 
          
            
              | 664 |     my %bh; | 664 |     my @bh; | 
        
          | 665 |     if ( $marcflavour eq "UNIMARC" ) { | 665 |     if ( $marcflavour eq "UNIMARC" ) { | 
          
            
              | 666 | 	 | 666 |  | 
            
              | 667 | 	# FIXME, TODO : handle repeatable fields | 667 |         # FIXME, TODO : handle repeatable fields | 
            
              | 668 | 	# TODO : handle more types of documents | 668 |         # TODO : handle more types of documents | 
            
              | 669 |  | 669 |  | 
            
              | 670 | 	# Unimarc to bibtex hash | 670 |         # Unimarc to bibtex hash | 
            
              | 671 | 	%bh = ( | 671 |         @bh = ( | 
            
              | 672 |  | 672 |  | 
            
              | 673 | 	    # Mandatory | 673 |             # Mandatory | 
            
              | 674 | 	    author    => $author, | 674 |             author    => $author, | 
            
              | 675 | 	    title     => $record->subfield("200", "a") || "", | 675 |             title     => $record->subfield("200", "a") || "", | 
            
              | 676 | 	    editor    => $record->subfield("210", "g") || "", | 676 |             editor    => $record->subfield("210", "g") || "", | 
            
              | 677 | 	    publisher => $record->subfield("210", "c") || "", | 677 |             publisher => $record->subfield("210", "c") || "", | 
            
              | 678 | 	    year      => $record->subfield("210", "d") || $record->subfield("210", "h") || "", | 678 |             year      => $record->subfield("210", "d") || $record->subfield("210", "h") || "", | 
            
              | 679 |  | 679 |  | 
            
              | 680 | 	    # Optional | 680 |             # Optional | 
            
              | 681 | 	    volume  =>  $record->subfield("200", "v") || "", | 681 |             volume  =>  $record->subfield("200", "v") || "", | 
            
              | 682 | 	    series  =>  $record->subfield("225", "a") || "", | 682 |             series  =>  $record->subfield("225", "a") || "", | 
            
              | 683 | 	    address =>  $record->subfield("210", "a") || "", | 683 |             address =>  $record->subfield("210", "a") || "", | 
            
              | 684 | 	    edition =>  $record->subfield("205", "a") || "", | 684 |             edition =>  $record->subfield("205", "a") || "", | 
            
              | 685 | 	    note    =>  $record->subfield("300", "a") || "", | 685 |             note    =>  $record->subfield("300", "a") || "", | 
            
              | 686 | 	    url     =>  $record->subfield("856", "u") || "" | 686 |             url     =>  $record->subfield("856", "u") || "" | 
            
              | 687 | 	); | 687 |         ); | 
        
          | 688 |     } else { | 688 |     } else { | 
        
          | 689 |  | 689 |  | 
          
            
              | 690 | 	# Marc21 to bibtex hash | 690 |         # Marc21 to bibtex hash | 
            
              | 691 | 	%bh = ( | 691 |         @bh = ( | 
            
              | 692 |  | 692 |  | 
            
              | 693 | 	    # Mandatory | 693 |             # Mandatory | 
            
              | 694 | 	    author    => $author, | 694 |             author    => $author, | 
            
              | 695 | 	    title     => $record->subfield("245", "a") || "", | 695 |             title     => $record->subfield("245", "a") || "", | 
            
              | 696 | 	    editor    => $record->subfield("260", "f") || "", | 696 |             editor    => $record->subfield("260", "f") || "", | 
            
              | 697 |         publisher => $record->subfield("264", "b") || $record->subfield("260", "b") || "", | 697 |             publisher => $record->subfield("264", "b") || $record->subfield("260", "b") || "", | 
            
              | 698 |         year      => $record->subfield("264", "c") || $record->subfield("260", "c") || $record->subfield("260", "g") || "", | 698 |             year      => $record->subfield("264", "c") || $record->subfield("260", "c") || $record->subfield("260", "g") || "", | 
            
              | 699 |  | 699 |  | 
            
              | 700 | 	    # Optional | 700 |             # Optional | 
            
              | 701 | 	    # unimarc to marc21 specification says not to convert 200$v to marc21 | 701 |             # unimarc to marc21 specification says not to convert 200$v to marc21 | 
            
              | 702 | 	    series  =>  $record->subfield("490", "a") || "", | 702 |             series  =>  $record->subfield("490", "a") || "", | 
            
              | 703 |         address =>  $record->subfield("264", "a") || $record->subfield("260", "a") || "", | 703 |             address =>  $record->subfield("264", "a") || $record->subfield("260", "a") || "", | 
            
              | 704 | 	    edition =>  $record->subfield("250", "a") || "", | 704 |             edition =>  $record->subfield("250", "a") || "", | 
            
              | 705 | 	    note    =>  $record->subfield("500", "a") || "", | 705 |             note    =>  $record->subfield("500", "a") || "", | 
            
              | 706 | 	    url     =>  $record->subfield("856", "u") || "" | 706 |             url     =>  $record->subfield("856", "u") || "" | 
            
              | 707 | 	); | 707 |         ); | 
        
          | 708 |     } | 708 |     } | 
        
          | 709 |  | 709 |  | 
        
          | 710 |     $tex .= "\@book{"; | 710 |     $tex .= "\@book{"; | 
          
            
              | 711 |     $tex .= join(",\n", $id, map { $bh{$_} ? qq(\t$_ = {$bh{$_}}) : () } keys %bh); | 711 |     my @elt; | 
            
              |  |  | 712 |     for ( my $i = 0 ; $i < scalar( @bh ) ; $i = $i + 2 ) { | 
            
              | 713 |         next unless $bh[$i+1]; | 
            
              | 714 |         push @elt, qq|\t$bh[$i] = {$bh[$i+1]}|; | 
            
              | 715 |     } | 
            
              | 716 |     $tex .= join(",\n", $id, @elt); | 
        
          | 712 |     $tex .= "\n}\n"; | 717 |     $tex .= "\n}\n"; | 
        
          | 713 |  | 718 |  | 
        
          | 714 |     return $tex; | 719 |     return $tex; | 
            
              | 715 | -  |  |  |