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; |
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); |
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 |
|
|
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 |
} |
} |
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"); |
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 |
} |
} |
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 |
} |
} |
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 |
|
|
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) = @_; |
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; |
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 (@_) { |