View | Details | Raw Unified | Return to bug 6201
Collapse All | Expand All

(-)a/C4/Record.pm (-24 / +13 lines)
Lines 651-683 sub marc2bibtex { Link Here
651
651
652
    # Authors
652
    # Authors
653
    my $author;
653
    my $author;
654
    my @texauthors;
654
    my @texauthors;    
655
    my ( $mintag, $maxtag, $fields_filter );
655
    my @authorFields = ('100','110','111','700','710','711');
656
    if ( $marcflavour eq "UNIMARC" ) {
656
    @authorFields = ('700','701','702','710','711','721') if ( $marcflavour eq "UNIMARC" );
657
        $mintag        = "700";
657
    
658
        $maxtag        = "712";
658
    foreach my $field ( @authorFields ) {
659
        $fields_filter = '7..';
660
    }
661
    else {
662
        $mintag        = "700";
663
        $maxtag        = "720";
664
        $fields_filter = '7..';
665
    }
666
    foreach my $field ( $record->field($fields_filter) ) {
667
        next unless $field->tag() >= $mintag && $field->tag() <= $maxtag;
668
        # author formatted surname, firstname
659
        # author formatted surname, firstname
669
        my $texauthor = '';
660
        my $texauthor = '';
670
        if ( $marcflavour eq "UNIMARC" ) {
661
        if ( $marcflavour eq "UNIMARC" ) {
671
            $texauthor = join ', ',
662
           $texauthor = join ', ',
672
              ( $field->subfield('a'), $field->subfield('b') );
663
           ( $record->subfield($field,"a"), $record->subfield($field,"b") );
673
        }
664
       } else {
674
        else {
665
           $texauthor = $record->subfield($field,"a");                
675
            $texauthor = $field->subfield('a');
666
       }            
676
        }
667
       push @texauthors, $texauthor if $texauthor;
677
        push @texauthors, $texauthor if $texauthor;
678
    }
668
    }
679
    $author = join ' and ', @texauthors;
669
    $author = join ' and ', @texauthors;
680
670
    
681
    # Defining the conversion hash according to the marcflavour
671
    # Defining the conversion hash according to the marcflavour
682
    my %bh;
672
    my %bh;
683
    if ( $marcflavour eq "UNIMARC" ) {
673
    if ( $marcflavour eq "UNIMARC" ) {
Lines 726-732 sub marc2bibtex { Link Here
726
    }
716
    }
727
717
728
    $tex .= "\@book{";
718
    $tex .= "\@book{";
729
    $tex .= join(",\n", $id, map { $bh{$_} ? qq(\t$_ = "$bh{$_}") : () } keys %bh);
719
    $tex .= join(",\n", $id, map { $bh{$_} ? qq(\t$_ = {$bh{$_}}) : () } keys %bh);
730
    $tex .= "\n}\n";
720
    $tex .= "\n}\n";
731
721
732
    return $tex;
722
    return $tex;
733
- 

Return to bug 6201