diff options
author | Karl Berry <karl@freefriends.org> | 2015-12-29 00:16:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-12-29 00:16:03 +0000 |
commit | d3c8410c4bf38ea695fb6580785720e426a71a87 (patch) | |
tree | 62d8ec81a9b6ca9fc63d53121d29249e9f56d01b /Master/texmf-dist/source/support | |
parent | bac237f29f6ca325050af70f4720d1af61c45bbe (diff) |
bibtexperllibs (26dec15)
git-svn-id: svn://tug.org/texlive/trunk@39224 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/support')
15 files changed, 232 insertions, 93 deletions
diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Changes b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Changes index 6aed797f987..57ba094ac68 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Changes +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Changes @@ -1,5 +1,10 @@ Revision history for BibTeX-Parser +0.66 2015-12-23 19:52:55-05:00 + Corrected bug 67419. + Added $entry->to_string function + No Do not remove braces from the authors' names + 0.65 2013-09-03 21:04:43 Add links in documentation. diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/MANIFEST b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/MANIFEST index b9b800a52e7..a08640964d6 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/MANIFEST +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/MANIFEST @@ -20,17 +20,23 @@ t/07-parse_englishbib.t t/08-parse_large.t t/09-complex.t t/10-funnyname.t +t/11-split_braced.t +t/12-von_token.t +t/13_output.t t/bibs/01.bib t/bibs/06.bib t/bibs/09-complex.bib t/bibs/10-funnyname.bib +t/bibs/braces.bib t/bibs/endnote.txt t/bibs/engineering_village.txt t/bibs/english.bib t/bibs/mathscinet.txt t/bug66325.t +t/bug67419.t t/cleaned_field.t t/pod-coverage.t t/pod.t t/release-pod-coverage.t t/release-pod-syntax.t +META.json Module JSON meta-data (added by MakeMaker) diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/META.yml b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/META.yml index c8bb09663ed..8cee4bb38eb 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/META.yml +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/META.yml @@ -1,22 +1,27 @@ --- abstract: 'A pure perl BibTeX parser' author: - - 'Gerhard Gossen <gerhard.gossen@googlemail.com>' + - 'Gerhard Gossen <gerhard.gossen@googlemail.com> and Boris Veytsman <boris@varphi.com>' build_requires: - Test::More: 0.88 + Test::More: '0.88' configure_requires: - ExtUtils::MakeMaker: 6.30 -dynamic_config: 0 -generated_by: 'Dist::Zilla version 4.300037, CPAN::Meta::Converter version 2.120921' + ExtUtils::MakeMaker: '6.30' +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 7.1, CPAN::Meta::Converter version 2.150005' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: BibTeX-Parser +no_index: + directory: + - t + - inc requires: - File::Spec: 0 - IO::File: 0 - IO::String: 0 - LaTeX::ToUnicode: 0.02 - Test::More: 0 -version: 0.65 + File::Spec: '0' + IO::File: '0' + IO::String: '0' + LaTeX::ToUnicode: '0.02' + Test::More: '0' +version: '0.66' +x_serialization_backend: 'CPAN::Meta::YAML version 0.016' diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Makefile.PL b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Makefile.PL index bd0f7c0d16b..b800aa6f863 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Makefile.PL +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/Makefile.PL @@ -10,7 +10,7 @@ use ExtUtils::MakeMaker 6.30; my %WriteMakefileArgs = ( "ABSTRACT" => "A pure perl BibTeX parser", - "AUTHOR" => "Gerhard Gossen <gerhard.gossen\@googlemail.com>", + "AUTHOR" => "Gerhard Gossen <gerhard.gossen\@googlemail.com> and Boris Veytsman <boris\@varphi.com>", "BUILD_REQUIRES" => {}, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.30" @@ -29,7 +29,7 @@ my %WriteMakefileArgs = ( "TEST_REQUIRES" => { "Test::More" => "0.88" }, - "VERSION" => "0.65", + "VERSION" => "0.66", "test" => { "TESTS" => "t/*.t" } diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/README b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/README index 016740c5516..0960f8935e5 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/README +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/README @@ -1,13 +1,16 @@ This archive contains the distribution BibTeX-Parser, -version 0.65: +version 0.66: A pure perl BibTeX parser -This software is copyright (c) 2013 by Gerhard Gossen. +This software is copyright (c) 2013--2015 by Gerhard Gossen and Boris Veytsman This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. +Version 0.66 is the first version released by Boris Veytsman. +It has an important change: now braces in names are kept to +allow the proper output of the entries
\ No newline at end of file diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/dist.ini b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/dist.ini index 60d9924ad7a..5e435b528c2 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/dist.ini +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/dist.ini @@ -1,8 +1,8 @@ name = BibTeX-Parser -version = 0.65 -author = Gerhard Gossen <gerhard.gossen@googlemail.com> +version = 0.66 +author = Gerhard Gossen <gerhard.gossen@googlemail.com> and Boris Veytsman <boris@varphi.com> license = Perl_5 -copyright_holder = Gerhard Gossen +copyright_holder = Gerhard Gossen and Boris Veytsman [@Classic] diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t index 92597173a94..e4d0e1b18cc 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t @@ -1,61 +1,61 @@ -#!/usr/bin/perl -w - -use Test::More tests => 2; - -use IO::String; -use BibTeX::Parser; - -{ - my $string = q|@article{lin1973, - author = "Shen Lin and Brian W. Kernighan", - title = "An Effective Heuristic Algorithm for the Travelling-Salesman Problem", - journal = "Operations Research", - volume = 21, - year = 1973, - pages = "498--516" - }|; - my $fh = IO::String->new($string); - - my $parser = BibTeX::Parser->new( $fh ); - -#my @result = BibTeX::Parser->_parse($fh); - - my $entry = $parser->next; - - is_deeply($entry, {_type => 'ARTICLE', _key => 'lin1973', author => "Shen Lin and Brian W. Kernighan", - title => "An Effective Heuristic Algorithm for the Travelling-Salesman Problem", - journal => "Operations Research", - volume => 21, - year => 1973, - pages => "498--516", _parse_ok => 1, - _raw => $string}, "parse \@ARTICLE"); - -} -{ - my $string = q|@InProceedings{Herper:2001:MVS, - author = {Henry Herper}, - title = {{M}odellierung von {S}ystemen: ein - {A}pplikationsgebiet im {I}nformatikunterricht}, - booktitle = {Informatikunterricht und Medienbildung, INFOS 2001 - (9. Fachtagung Informatik und Schule, Paderborn - 17.-20- September 2001) -- Tagungsband}, - editor = {Reinhard Keil-Slavik and Johannes Magenheim}, - year = {2001}, -}|; - my $fh = IO::String->new($string); - - my $parser = BibTeX::Parser->new( $fh ); - - my $entry = $parser->next; - - is_deeply($entry, { - _type => 'INPROCEEDINGS', - _key => 'Herper:2001:MVS', - author => "Henry Herper", - title => "{M}odellierung von {S}ystemen: ein {A}pplikationsgebiet im {I}nformatikunterricht", - booktitle => "Informatikunterricht und Medienbildung, INFOS 2001 (9. Fachtagung Informatik und Schule, Paderborn 17.-20- September 2001) -- Tagungsband", - editor => "Reinhard Keil-Slavik and Johannes Magenheim", - year => 2001, - _parse_ok => 1, - _raw => $string}, "parse \@ARTICLE"); -} +#!/usr/bin/perl -w
+
+use Test::More tests => 2;
+
+use IO::String;
+use BibTeX::Parser;
+
+{
+ my $string = q|@article{lin1973,
+ author = "Shen Lin and Brian W. Kernighan",
+ title = "An Effective Heuristic Algorithm for the Travelling-Salesman Problem",
+ journal = "Operations Research",
+ volume = 21,
+ year = 1973,
+ pages = "498--516"
+ }|;
+ my $fh = IO::String->new($string);
+
+ my $parser = BibTeX::Parser->new( $fh );
+
+#my @result = BibTeX::Parser->_parse($fh);
+
+ my $entry = $parser->next;
+
+ is_deeply($entry, {_type => 'ARTICLE', _key => 'lin1973', author => "Shen Lin and Brian W. Kernighan",
+ title => "An Effective Heuristic Algorithm for the Travelling-Salesman Problem",
+ journal => "Operations Research",
+ volume => 21,
+ year => 1973,
+ pages => "498--516", _parse_ok => 1,
+ _raw => $string}, "parse \@ARTICLE");
+
+}
+{
+ my $string = q|@InProceedings{Herper:2001:MVS,
+ author = {Henry Herper},
+ title = {{M}odellierung von {S}ystemen: ein
+ {A}pplikationsgebiet im {I}nformatikunterricht},
+ booktitle = {Informatikunterricht und Medienbildung, INFOS 2001
+ (9. Fachtagung Informatik und Schule, Paderborn
+ 17.-20- September 2001) -- Tagungsband},
+ editor = {Reinhard Keil-Slavik and Johannes Magenheim},
+ year = {2001},
+}|;
+ my $fh = IO::String->new($string);
+
+ my $parser = BibTeX::Parser->new( $fh );
+
+ my $entry = $parser->next;
+
+ is_deeply($entry, {
+ _type => 'INPROCEEDINGS',
+ _key => 'Herper:2001:MVS',
+ author => "Henry Herper",
+ title => "{M}odellierung von {S}ystemen: ein {A}pplikationsgebiet im {I}nformatikunterricht",
+ booktitle => "Informatikunterricht und Medienbildung, INFOS 2001 (9. Fachtagung Informatik und Schule, Paderborn 17.-20- September 2001) -- Tagungsband",
+ editor => "Reinhard Keil-Slavik and Johannes Magenheim",
+ year => 2001,
+ _parse_ok => 1,
+ _raw => $string}, "parse \@ARTICLE");
+}
diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/05-author.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/05-author.t index cae7824099e..45bc5413df1 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/05-author.t +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/05-author.t @@ -26,7 +26,7 @@ my %names = ( " " => [undef, undef, undef, undef], "\n" => [undef, undef, undef, undef], "al." => [undef, undef, "al.", undef], - "et. al." => [undef, undef, "et. al.", undef], + "et.~al." => [undef, undef, "et.~al.", undef], "O'Malley, A." => ["A.", undef, "O'Malley", undef], "A. O'Malley" => ["A.", undef, "O'Malley", undef], "Arthur O'Malley" => ["Arthur", undef, "O'Malley", undef], @@ -36,9 +36,9 @@ my %names = ( 'L.M. M"uller' => ["L.M.", undef, 'M"uller', undef], 'M"uller, L.M.' => ["L.M.", undef, 'M"uller', undef], 'van Beethoven, Ludwig' => ["Ludwig", "van", "Beethoven", undef ], - '{Barnes and Noble, Inc.}' => [undef, undef, 'Barnes and Noble, Inc.', undef], - "Ludwigg {van Beethoven}" => ["Ludwigg", undef, "van Beethoven", undef], - '{van Beethoven}, Ludwig' => ["Ludwig", undef, "van Beethoven", undef ], + '{Barnes and Noble, Inc.}' => [undef, undef, '{Barnes and Noble, Inc.}', undef], + "Ludwigg {van Beethoven}" => ["Ludwigg", undef, "{van Beethoven}", undef], + '{van Beethoven}, Ludwig' => ["Ludwig", undef, "{van Beethoven}", undef ], ); plan tests => (keys(%names) * 6 + 5); diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t new file mode 100644 index 00000000000..85a29be86fd --- /dev/null +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t @@ -0,0 +1,28 @@ +#!/usr/bin/perl -w + +use Test::More tests => 12; + +use BibTeX::Parser; +use IO::File; + +my @tokens = BibTeX::Parser::_split_braced_string("a and b", '\s+and\s+'); +is(scalar @tokens,2); +is($tokens[0],'a'); +is($tokens[1],'b'); + +@tokens = BibTeX::Parser::_split_braced_string("a {and} b", '\s+and\s+'); +is(scalar @tokens,1); +is($tokens[0],'a {and} b'); + +@tokens = BibTeX::Parser::_split_braced_string("a {and b", '\s+and\s+'); +is(scalar @tokens,0); + +@tokens = BibTeX::Parser::_split_braced_string("} a {", '\s+'); +is(scalar @tokens,0); + +@tokens = BibTeX::Parser::_split_braced_string("{a b} c {d}e u", '\s+'); +is(scalar @tokens,4); +is($tokens[0],'{a b}'); +is($tokens[1],'c'); +is($tokens[2],'{d}e'); +is($tokens[3],'u'); diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t new file mode 100644 index 00000000000..6daceafa960 --- /dev/null +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t @@ -0,0 +1,12 @@ +#!/usr/bin/perl -w + +use Test::More tests => 5; + +use BibTeX::Parser::Author; +use IO::File; + +is(BibTeX::Parser::Author::_is_von_token('von'),1); +is(BibTeX::Parser::Author::_is_von_token('Von'),0); +is(BibTeX::Parser::Author::_is_von_token('\noop{von}Von'),1); +is(BibTeX::Parser::Author::_is_von_token('\noop{Von}von'),0); +is(BibTeX::Parser::Author::_is_von_token('\noop{AE}{\AE}schylus'),0); diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/13_output.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/13_output.t new file mode 100644 index 00000000000..2d2e1ebfd36 --- /dev/null +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/13_output.t @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w + +use Test::More; + +use BibTeX::Parser; +use IO::File; + + +my $fh = new IO::File "t/bibs/01.bib", "r" ; + +my $parser = new BibTeX::Parser $fh; + + +while (my $entry = $parser->next) { + if($entry->key eq 'key01') { + my $result='@ARTICLE{key01, + month = {January~1}, + title = {Title text}, + author = {Duck, Donald and Else, Someone}, + year = {1950}, +}'; + is($entry->to_string,$result); + } + +} + +done_testing(); diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib new file mode 100644 index 00000000000..3791fb57604 --- /dev/null +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib @@ -0,0 +1,21 @@ +@Article{scholkopf98kpca, + author = {Bernhard {Sch\"olkopf} and Alex Smola and K.R. Muller}, + title = {Nonlinear component analysis as a kernel eigenvalue +problem}, + journal = {Neural Computation}, + year = {1998}, + volume = {10}, + pages = {1299--1319} +} + +@article{brownetal93, + author = {Peter F. Brown and Stephen A. {Della Pietra} and + Vincent J. {Della Pietra} and Robert~L. Mercer}, + title = {The Mathematics of Statistical Machine Translation: + Parameter Estimation}, + journal = {Computational Linguistics}, + year = 1993, + volume = 19, + number = 2, + pages = {263-311} +} diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib index 6893e1e4111..eda85e24d05 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib @@ -1,4 +1,4 @@ -$Id: english.bib,v 1.1.1.1 2015/10/25 01:25:20 boris Exp $ +$Id: english.bib,v 1.2 2015/12/24 18:46:53 boris Exp $ Please notify Adrian F Clark <alien@uk.ac.essex.ese> of any additions or corrections to this list. diff --git a/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bug67419.t b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bug67419.t new file mode 100644 index 00000000000..0f944f373a9 --- /dev/null +++ b/Master/texmf-dist/source/support/bibtexperllibs/BibTeX-Parser/t/bug67419.t @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w + +use Test::More; + +use BibTeX::Parser; +use IO::File; + +my $fh = new IO::File "t/bibs/braces.bib", "r" ; +my $parser = new BibTeX::Parser $fh; +while (my $entry=$parser->next) { + is($entry->parse_ok,1); + if ($entry->key eq 'scholkopf98kpca') { + @authors=$entry->author; + is(scalar @authors,3); + is("$authors[0]", '{Sch\"olkopf}, Bernhard'); + is("$authors[1]", 'Smola, Alex'); + is("$authors[2]", 'Muller, K.R.'); + } + if ($entry->key eq 'brownetal93') { + @authors=$entry->author; + is(scalar @authors,4); + is("$authors[0]", 'Brown, Peter F.'); + is("$authors[1]", '{Della Pietra}, Stephen A.'); + is("$authors[2]", '{Della Pietra}, Vincent J.'); + is("$authors[3]", 'Mercer, Robert~L.'); + } +} + +done_testing(); diff --git a/Master/texmf-dist/source/support/bibtexperllibs/README b/Master/texmf-dist/source/support/bibtexperllibs/README index 9915b70105a..6266323fb8f 100644 --- a/Master/texmf-dist/source/support/bibtexperllibs/README +++ b/Master/texmf-dist/source/support/bibtexperllibs/README @@ -1,13 +1,16 @@ BibTeX Perl Libs - Version 0.1 - Gerhard Gossen + Version 0.2 + Gerhard Gossen and Boris Veytsman This package provides BibTeX related Perl libraries by Gerhard Gossen, -repacked by Boris Veytsman, boris@varphi.com, for TeXLive and other -TDS-compliant distributions. The libraries are written in pure -Perl, so shoud work out of the box on any architecture. They are packaged -mostly for Boris Veytsman's BibTeX suite, but can be used in any -other Perl script. +maintained and repacked by Boris Veytsman, boris@varphi.com, for +TeXLive and other TDS-compliant distributions. The libraries are +written in pure Perl, so shoud work out of the box on any +architecture. To use them in your scripts, add to the @INC variable the directory -scripts/bibtexperllibs in your TeX distribution. +scripts/bibtexperllibs inside your TeX distribution. + +Changes: + + version 0.2 New upstream version for BibTeX::Parser (0.66) |