/[bibulus]/bibulus/Bibulus.pm
ViewVC logotype

Diff of /bibulus/Bibulus.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.19 by twid, Sun Jul 20 10:01:56 2003 UTC revision 1.20 by twid, Sun Jul 20 20:42:07 2003 UTC
# Line 257  sub insertentry { Line 257  sub insertentry {
257    my $self = shift;    my $self = shift;
258    my ($t, $elt) = @_;    my ($t, $elt) = @_;
259    
260    print STDERR $self->lang, "\n";    print STDERR "Language is ", $self->lang, "\n" if $DEBUG;
261    
262    if (defined($self->{CITEALL}) or defined($self->{CITES}{$elt->id})) {    if (defined($self->{CITEALL}) or defined($self->{CITES}{$elt->id})) {
263      push @{$self->{EL}}, $elt;      push @{$self->{EL}}, $elt;
# Line 1084  sub formatnumberseries { Line 1084  sub formatnumberseries {
1084    if (!$number) {    if (!$number) {
1085      $t = $series;      $t = $series;
1086    } else {    } else {
1087      $t = $self->getstate eq 'midsentence'? 'number': 'Number';      $self->warning("There's a <number> but no <series>") unless $series;
1088      $t .= " $number";      $t .= $self->numberseries($number, $series);
     if (!$series) {  
       $self->warning("There's a <number> but no <series>");  
     } else {  
       $t .= " in $series";  
     }  
1089    }    }
1090    
1091    $self->outputtext($t);    $self->outputtext($t);
# Line 1100  sub outputtext { Line 1095  sub outputtext {
1095    my $self = shift;    my $self = shift;
1096    my $t = shift;    my $t = shift;
1097    if ($t) {    if ($t) {
1098        # Upcase first letter if necessary (will this work for all languages?):
1099        $self->getstate eq 'midsentence' or $t = "\u$t";
1100    
1101        # Output punctuation and change state:
1102      $self->outputnonnull;      $self->outputnonnull;
1103    
1104        # Output the text:
1105      $self->{CURR} .= $t;      $self->{CURR} .= $t;
1106      $self->{DIDWRITESOMETHING} = 1;      $self->{DIDWRITESOMETHING} = 1;
   } else {  
 #    $self->{DIDWRITESOMETHING} = 0;  
1107    }    }
1108  }  }
1109    
# Line 1145  sub formatbvolume { Line 1144  sub formatbvolume {
1144    my $number = $self->getfield('number'); # only needed for validation!    my $number = $self->getfield('number'); # only needed for validation!
1145    
1146    if ($volume) {    if ($volume) {
1147      $t = "volume" . $self->nobreakspace . $volume;      $t = $self->volume($volume, $series && $self->emph($series));
     if ($series) {  
       $t .= " of " . $self->emph($series);  
     }  
1148      if ($number) {      if ($number) {
1149        $self->warning("Can't use both <volume> and <number> fields");        $self->warning("Can't use both <volume> and <number> fields");
1150      }      }
# Line 1163  sub formatthesistype { Line 1159  sub formatthesistype {
1159    my $type = $self->getatt('type');    my $type = $self->getatt('type');
1160    
1161    if ($type eq 'phd') {    if ($type eq 'phd') {
1162      $self->outputtext('PhD thesis');      $self->outputtext($self->phdthesis);
1163    
1164    } elsif ($type eq 'master') {    } elsif ($type eq 'master') {
1165      $self->outputtext('Master\'s thesis');      $self->outputtext($self->mastersthesis);
1166    
1167    } else {    } else {
1168      $self->warning("Unknown or missing type attribute");      $self->warning("Unknown or missing type attribute");
# Line 1195  sub formatedition { Line 1191  sub formatedition {
1191    
1192    my $t = $self->getfield('edition');    my $t = $self->getfield('edition');
1193    
1194    $t and $t = $t . 'th edition'; #FIXME    $t and $t = $self->edition($t);
1195    
1196    $self->outputtext($t);    $self->outputtext($t);
1197  }  }
# Line 1241  sub formatchapterpages { Line 1237  sub formatchapterpages {
1237      $self->formatpages;      $self->formatpages;
1238    } else {    } else {
1239      # TYPE has been eliminated -- might come in again as attribute      # TYPE has been eliminated -- might come in again as attribute
1240      my $t = "chapter $chapter";      my $t = $self->chapter($chapter);
1241      $pages and $t .= ", $pages";      $pages and $t .= ", $pages";
1242      $self->outputtext($t);      $self->outputtext($t);
1243    }    }
# Line 1253  sub formattrnumber { Line 1249  sub formattrnumber {
1249    my $number = $self->getfield('number');    my $number = $self->getfield('number');
1250    
1251    # TYPE has been eliminated -- might come in again as attribute    # TYPE has been eliminated -- might come in again as attribute
1252    my $t = 'Technical Report' . $self->nobreakspace . $number;    my $t = $self->technicalreport($number);
1253    $self->outputtext($t);    $self->outputtext($t);
1254  }  }
1255    
# Line 1293  sub item_end { return ''; } Line 1289  sub item_end { return ''; }
1289    
1290  sub newblock { return ''; }  sub newblock { return ''; }
1291    
 # return text in given language  
 sub language {  
   my $self = shift;  
   my ($lang, $t) = @_;  
   
   return $t;  
 }  
   
1292  sub brackets {  sub brackets {
1293    my $self = shift;    my $self = shift;
1294    my ($t) = @_;    my ($t) = @_;
# Line 1341  sub doublequote { Line 1329  sub doublequote {
1329    return "\"$t\"";    return "\"$t\"";
1330  }  }
1331    
 sub in {  
   my $self = shift;  
   my $t = shift;  
   return "in $t";  
 }  
   
1332  sub outputcite {  sub outputcite {
1333    my $self = shift;    my $self = shift;
1334    my $c = shift;    my $c = shift;
# Line 1357  sub nobreakspace { Line 1339  sub nobreakspace {
1339    return ' ';    return ' ';
1340  }  }
1341    
 sub comma {  
   return ', ';  
 }  
   
 sub fullstop {  
   return '. ';  
 }  
   
1342  # Language stuff  # Language stuff
   
1343  sub lang {  sub lang {
1344    my $self = shift;    my $self = shift;
1345    if (@_) {    if (@_) {

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26