Biblio-Citation-Parser
view release on metacpan or search on metacpan
lib/Biblio/Citation/Parser/Citebase.pm view on Meta::CPAN
# extract 'supplement' first before find_vol_no_pg_year()
$cite->find_supplement();
if ($cite->find_vol_no_pg_year() or
$cite->find_vol_pg_year()) {
$cite->find_jnl_name();
return 1
};
if ($cite->guess_vol_no_pg()) {
$cite->find_jnl_name();
return 1;
};
if ($cite->find_vol_no() or
$cite->find_vol_supl()) {
$cite->find_jnl_name();
$cite->find_page();
$cite->find_year();
return 1;
};
if ($cite->guess_vol_pg()) {
$cite->find_year();
$cite->find_jnl_name();
return 1;
};
if ($cite->guess_vol_year()) {
$cite->find_page();
$cite->find_jnl_name();
return 1;
};
my $Count = 0;
$Count++ if ($cite->find_year());
lib/Biblio/Citation/Parser/Citebase.pm view on Meta::CPAN
$cite->{'year'} = $1;
$Text =~ "\Q$` $'\E";
$cite->{'rest_text'} = $Text;
return 1
};
return 0;
}
# Apt'e, C., et al. ACM Transactions on Information Systems 12, 3, 233-251
sub guess_vol_no_pg {
my $cite = shift;
return 1 if ($cite->{'volume'} and $cite->{'issue'} and
$cite->{'spage'});
return 0 if ($cite->{'num_of_fig'} < 3);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
lib/Biblio/Citation/Parser/Citebase.pm view on Meta::CPAN
return 1
};
return 0
}
# '15:190' (15A:190-195, 14-15:190-180, or "Astrophys. J. 8, 103");
# Called this after '{find_vol_{no}_pg_year}' failed.
sub guess_vol_pg {
my $cite = shift;
return 1 if ($cite->{'volume'} and $cite->{'spage'});
return 0 if ($cite->{'num_of_fig'} < 2);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
lib/Biblio/Citation/Parser/Citebase.pm view on Meta::CPAN
return 0
};
return 0
};
#
# G. Smith and H. Gray; Pub. Astron. Soc. Japan, 2000, vol. 52
# To find $cite->{'jnl_epos'} currectly. Note that '2000' may be
# regarded as the journal name (by subroutine find_vol).
sub guess_vol_year {
my $cite = shift;
return 0 if ($cite->{'num_of_fig'} < 2);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
if ($Text =~
lib/Biblio/Citation/Parser/Jiao.pm view on Meta::CPAN
# extract 'supplement' first before find_vol_no_pg_year()
$cite->find_supplement();
if ($cite->find_vol_no_pg_year() or
$cite->find_vol_pg_year()) {
$cite->find_jnl_name();
return 1
};
if ($cite->guess_vol_no_pg()) {
$cite->find_jnl_name();
return 1;
};
if ($cite->find_vol_no() or
$cite->find_vol_supl()) {
$cite->find_jnl_name();
$cite->find_page();
$cite->find_year();
return 1;
};
if ($cite->guess_vol_pg()) {
$cite->find_year();
$cite->find_jnl_name();
return 1;
};
if ($cite->guess_vol_year()) {
$cite->find_page();
$cite->find_jnl_name();
return 1;
};
my $Count = 0;
$Count++ if ($cite->find_vol());
$Count++ if ($cite->find_issue());
lib/Biblio/Citation/Parser/Jiao.pm view on Meta::CPAN
$cite->{'year'} = $1;
$Text =~ "\Q$` $'\E";
$cite->{'rest_text'} = $Text;
return 1
};
return 0;
}
# Apt'e, C., et al. ACM Transactions on Information Systems 12, 3, 233-251
sub guess_vol_no_pg {
my $cite = shift;
return 1 if ($cite->{'volume'} and $cite->{'issue'} and
$cite->{'spage'});
return 0 if ($cite->{'num_of_fig'} < 3);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
lib/Biblio/Citation/Parser/Jiao.pm view on Meta::CPAN
return 1
};
return 0
}
# '15:190' (15A:190-195, 14-15:190-180, or "Astrophys. J. 8, 103");
# Called this after '{find_vol_{no}_pg_year}' failed.
sub guess_vol_pg {
my $cite = shift;
return 1 if ($cite->{'volume'} and $cite->{'spage'});
return 0 if ($cite->{'num_of_fig'} < 2);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
lib/Biblio/Citation/Parser/Jiao.pm view on Meta::CPAN
return 0
};
return 0
};
#
# G. Smith and H. Gray; Pub. Astron. Soc. Japan, 2000, vol. 52
# To find $cite->{'jnl_epos'} currectly. Note that '2000' may be
# regarded as the journal name (by subroutine find_vol).
sub guess_vol_year {
my $cite = shift;
return 0 if ($cite->{'num_of_fig'} < 2);
my $Text = $cite->{'rest_text'};
# change (1,1) alike to ().
$Text =~ s/\(\d+\s*,\s*\d+\s*\)/\(\)/g;
$Text =~ s/\(\d+\s*;\s*\d+\s*\)/\(\)/g;
if ($Text =~
( run in 0.959 second using v1.01-cache-2.11-cpan-702932259ff )