diff options
Diffstat (limited to 'Master/texmf-dist')
20 files changed, 85 insertions, 40 deletions
diff --git a/Master/texmf-dist/doc/man/man1/bbl2bib.1 b/Master/texmf-dist/doc/man/man1/bbl2bib.1 index 8cec0f740e4..1fdd9e8dab8 100644 --- a/Master/texmf-dist/doc/man/man1/bbl2bib.1 +++ b/Master/texmf-dist/doc/man/man1/bbl2bib.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "bbl2bib 1" -.TH bbl2bib 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH bbl2bib 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -205,7 +205,7 @@ Each bibliography item starts from the line Boris Veytsman .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2014\-2021 Boris Veytsman +Copyright (C) 2014\-2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License diff --git a/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf b/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf Binary files differindex e7bfc4331f4..416986d3361 100644 --- a/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bibdoiadd.1 b/Master/texmf-dist/doc/man/man1/bibdoiadd.1 index 7c3e4ea3d02..90713407aa6 100644 --- a/Master/texmf-dist/doc/man/man1/bibdoiadd.1 +++ b/Master/texmf-dist/doc/man/man1/bibdoiadd.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "bibdoiadd 1" -.TH bibdoiadd 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH bibdoiadd 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -206,7 +206,7 @@ members. Boris Veytsman .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2014\-2021 Boris Veytsman +Copyright (C) 2014\-2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License diff --git a/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf b/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf Binary files differindex d3e0fa1b326..6f204c55457 100644 --- a/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bibmradd.1 b/Master/texmf-dist/doc/man/man1/bibmradd.1 index 2544d30900e..1dcbdecfacd 100644 --- a/Master/texmf-dist/doc/man/man1/bibmradd.1 +++ b/Master/texmf-dist/doc/man/man1/bibmradd.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "bibmradd 1" -.TH bibmradd 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH bibmradd 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,7 +174,7 @@ is derived by adding the suffix \f(CW\*(C`_mr\*(C'\fR to the output file. Boris Veytsman .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2014\-2021 Boris Veytsman +Copyright (C) 2014\-2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License diff --git a/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf b/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf Binary files differindex 556c41ff6a4..ff3b4dfdc26 100644 --- a/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/biburl2doi.1 b/Master/texmf-dist/doc/man/man1/biburl2doi.1 index 8222c42693d..300a43d7b9a 100644 --- a/Master/texmf-dist/doc/man/man1/biburl2doi.1 +++ b/Master/texmf-dist/doc/man/man1/biburl2doi.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "biburl2doi 1" -.TH biburl2doi 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH biburl2doi 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -162,7 +162,7 @@ fields. Boris Veytsman .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2021 Boris Veytsman +Copyright (C) 2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License diff --git a/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf b/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf Binary files differindex bb5c13c677e..d391c19e2ab 100644 --- a/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/bibzbladd.1 b/Master/texmf-dist/doc/man/man1/bibzbladd.1 index 5894f1677ad..a63765869c0 100644 --- a/Master/texmf-dist/doc/man/man1/bibzbladd.1 +++ b/Master/texmf-dist/doc/man/man1/bibzbladd.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "bibzbladd 1" -.TH bibzbladd 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH bibzbladd 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,7 +174,7 @@ is derived by adding the suffix \f(CW\*(C`_zbl\*(C'\fR to the output file. Boris Veytsman .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2014\-2021 Boris Veytsman +Copyright (C) 2014\-2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the terms of the \s-1GNU\s0 General Public License diff --git a/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf b/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf Binary files differindex 75650271fd3..63c5f78bf2b 100644 --- a/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1 b/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1 index cb8343aa609..b3cb4336898 100644 --- a/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1 +++ b/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "ltx2crossrefxml 1" -.TH ltx2crossrefxml 1 "2021-10-02" "" "LATEX CROSSREFWARE" +.TH ltx2crossrefxml 1 "2022-10-18" "" "LATEX CROSSREFWARE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -377,9 +377,9 @@ instead of these flat text dumps, that would be great. Boris Veytsman <https://github.com/borisveytsman/crossrefware> .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright (C) 2012\-2021 Boris Veytsman +Copyright (C) 2012\-2022 Boris Veytsman .PP This is free software. You may redistribute copies of it under the -terms of the \s-1GNU\s0 General Public License +terms of the \s-1GNU\s0 General Public License (any version) <https://www.gnu.org/licenses/gpl.html>. There is \s-1NO WARRANTY,\s0 to the extent permitted by law. diff --git a/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf b/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf Binary files differindex d7d89732a11..3e1ef2bcb2a 100644 --- a/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf diff --git a/Master/texmf-dist/doc/support/crossrefware/README b/Master/texmf-dist/doc/support/crossrefware/README index 1682b98fe32..a1c9425ea3f 100644 --- a/Master/texmf-dist/doc/support/crossrefware/README +++ b/Master/texmf-dist/doc/support/crossrefware/README @@ -1,5 +1,5 @@ Crossrefware Bundle - version 2021-10-02 + version 2022-10-10 Scripts useful for working with Crossref, MathSciNet and Zentralblatt MATH. @@ -30,7 +30,16 @@ Princeton University (Mathematics Department). Thank you! Changes: -2021-10-02 - changed TEXSELFAUTOPARENT to TEXMFROOT +2022-09-11 - add "***" prefix to bib warnings. + +2022-07-28 - find dev checkout of bibtexperllibs. + +2022-05-25 - consistently output both sequence number and contributor role. + +2022-11-01 - sort xml output by starting page, to be more or less stable. + +2021-10-02 - version 2.51 released. + - changed TEXSELFAUTOPARENT to TEXMFROOT 2021-01-18 - all conversions moved from ltx2crossrefxml to LaTeX::ToUnicode. - config file can provide a hook for processing. diff --git a/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf b/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf Binary files differindex c40afb1dee4..9d61473a3c5 100644 --- a/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf +++ b/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf diff --git a/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl b/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl index 2e3df9b6856..2babf10a378 100755 --- a/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl +++ b/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl @@ -86,7 +86,7 @@ Boris Veytsman =head1 COPYRIGHT AND LICENSE -Copyright (C) 2014-2021 Boris Veytsman +Copyright (C) 2014-2022 Boris Veytsman This is free software. You may redistribute copies of it under the terms of the GNU General Public License diff --git a/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl b/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl index bace84c0002..c41cd31b4ff 100755 --- a/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl +++ b/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl @@ -85,7 +85,7 @@ Boris Veytsman =head1 COPYRIGHT AND LICENSE -Copyright (C) 2014-2021 Boris Veytsman +Copyright (C) 2014-2022 Boris Veytsman This is free software. You may redistribute copies of it under the terms of the GNU General Public License diff --git a/Master/texmf-dist/scripts/crossrefware/bibmradd.pl b/Master/texmf-dist/scripts/crossrefware/bibmradd.pl index 5f6ae053d90..3fea62e3c5f 100755 --- a/Master/texmf-dist/scripts/crossrefware/bibmradd.pl +++ b/Master/texmf-dist/scripts/crossrefware/bibmradd.pl @@ -52,7 +52,7 @@ Boris Veytsman =head1 COPYRIGHT AND LICENSE -Copyright (C) 2014-2021 Boris Veytsman +Copyright (C) 2014-2022 Boris Veytsman This is free software. You may redistribute copies of it under the terms of the GNU General Public License @@ -61,13 +61,24 @@ extent permitted by law. =cut -use strict; +use strict; use warnings; +use Cwd; +use File::Basename; +use File::Spec; + BEGIN { # find files relative to our installed location within TeX Live chomp(my $TLMaster = `kpsewhich -var-value=TEXMFROOT`); # TL root if (length($TLMaster)) { unshift @INC, "$TLMaster/texmf-dist/scripts/bibtexperllibs"; } + # find development bibtexperllibs in sibling checkout to this script, + # even if $0 is a symlink. All irrelevant when using from an installation. + my $real0 = Cwd::abs_path($0); + my $scriptdir = File::Basename::dirname($real0); + my $dev_btxperllibs = Cwd::abs_path("$scriptdir/../bibtexperllibs"); + # we need the lib/ subdirectories inside ... + unshift (@INC, glob ("$dev_btxperllibs/*/lib")) if -d $dev_btxperllibs; } use IO::File; use BibTeX::Parser; diff --git a/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl b/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl index 33f7c674904..9482ba29315 100755 --- a/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl +++ b/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl @@ -39,7 +39,7 @@ Boris Veytsman =head1 COPYRIGHT AND LICENSE -Copyright (C) 2021 Boris Veytsman +Copyright (C) 2022 Boris Veytsman This is free software. You may redistribute copies of it under the terms of the GNU General Public License diff --git a/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl b/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl index c05a1137f76..4593e7e1721 100755 --- a/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl +++ b/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl @@ -52,7 +52,7 @@ Boris Veytsman =head1 COPYRIGHT AND LICENSE -Copyright (C) 2014-2021 Boris Veytsman +Copyright (C) 2014-2022 Boris Veytsman This is free software. You may redistribute copies of it under the terms of the GNU General Public License diff --git a/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl b/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl index 02f841361c7..76df0427b66 100755 --- a/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl +++ b/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl @@ -88,7 +88,6 @@ upload. The variables which are used are these: $abbrevTitle = "ABBR. TTL."; # optional $coden = "CODEN"; # optional - For a given run, all C<.rpi> data read is assumed to belong to the journal that is specified in the configuration file. More precisely, the configuration data is written as a C<journal_metadata> element, with @@ -247,10 +246,10 @@ Boris Veytsman L<https://github.com/borisveytsman/crossrefware> =head1 COPYRIGHT AND LICENSE -Copyright (C) 2012-2021 Boris Veytsman +Copyright (C) 2012-2022 Boris Veytsman This is free software. You may redistribute copies of it under the -terms of the GNU General Public License +terms of the GNU General Public License (any version) L<https://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. @@ -313,13 +312,13 @@ Releases: https://ctan.org/pkg/crossrefware END my $VERSION = <<END; -ltx2crossrefxml (crossrefware) 2.51 +ltx2crossrefxml (crossrefware) 2.52 This is free software: you are free to change and redistribute it, under the terms of the GNU General Public License http://www.gnu.org/licenses/gpl.html (any version). There is NO WARRANTY, to the extent permitted by law. -Written by Boris Veytsman. +Written by Boris Veytsman with many additions by Karl Berry END use Getopt::Long; my %opts; @@ -390,7 +389,11 @@ END foreach my $issue (keys %{$papers{$year}->{$volume}}) { PrintIssueHead($year, $volume, $issue); my $paperList = $papers{$year}->{$volume}->{$issue}; - foreach my $paper (@{$paperList}) { + #warn "papers for year=$year, volume=$volume, issue=$issue\n"; + # Nice to have the issue.xml in some stable order, so sort + # by starting page. Doesn't matter if it's not perfect. + foreach my $paper (sort { $a->{startpage} cmp $b->{startpage} } + @{$paperList}) { PrintPaper($paper); } } @@ -456,6 +459,7 @@ sub AddPaper { open (RPI, $rpifile) or die "open($rpifile) failed: $! (did you process $file?)\n"; my %data; + #warn "reading rpi file: $rpifile\n"; while (<RPI>) { chomp; if (/^%([^=]*)\s*=\s*(.*)\s*$/) { @@ -478,13 +482,15 @@ sub AddPaper { # Die if the fields we use unconditionally are empty. Not all of # them are required by the schema, but we can wait to generalize. - foreach my $field (qw(title year volume issue startpage endpage doi)) { + foreach my $field (qw(title year volume issue startpage endpage doi + paperUrl)) { if (! $data{$field}) { die ("$0: field must not be empty: $field\n " . &debug_hash_as_string("whole hash", %data)); } } + #warn &debug_hash_as_string("new issue $data{volume}:$data{issue}", %data); push @{$papers{$data{year}}->{$data{volume}}->{$data{issue}}}, \%data; } @@ -558,10 +564,10 @@ sub AddBibliography { # We look in the .rpi files too, which will generally have none. if (@result == 0 && $bibfile =~ /\.bbl$/) { - warn "$0: no \\bibitems found in: $bibfile\n"; + warn "$0: *** no \\bibitems found in: $bibfile\n"; } elsif ($insidebibliography) { - warn "$0: no \\end{thebibliography} found in: $bibfile\n"; - warn "$0: so the last bib entry is missing.\n"; + warn "$0: *** no \\end{thebibliography} found in: $bibfile\n"; + warn "$0: so the last bib entry is missing!\n"; } return @result; } @@ -587,6 +593,7 @@ END ############################################################### sub PrintPaper { my $paper = shift; + #warn (&debug_hash_as_string ("doing paper", $paper)); my $title = SanitizeText($paper->{title}); my $url = GetURL($paper); my $publication_type = GetPublicationType($paper->{publicationType}); @@ -736,22 +743,27 @@ sub PrintAuthor { . " $orig_author\n"); } + # for both author types, organization and person, we have to output + # the sequence number and the contributor role, which we assume to + # be author. + my $author_elts = qq!sequence="$seq" contributor_role="author"!; # for organizations, nothing to do but output it. if ($organization) { my $line = SanitizeText($author); print OUT <<END; - <organization>$line</organization> + <organization $author_elts>$line</organization> END return; } # what's left is the common case of a person, not an organization. print OUT <<END; - <person_name sequence="$seq" contributor_role="author"> + <person_name $author_elts> END - + # must split the person's name. my $person=new BibTeX::Parser::Author ($author); + #warn (debug_list_as_string ($author, $person)); if ($person->first) { my $line = $person->first; @@ -883,3 +895,16 @@ sub debug_hash_as_string { return "$str\n"; } + +############################################################## +# debug_list_as_string($LABEL, LIST) +# +# Same but for lists. +############################################################## +sub debug_list_as_string { + my ($label) = shift; + my (@list) = (ref $_[0] && $_[0] =~ /.*ARRAY.*/) ? @{$_[0]} : @_; + + my $str = "$label [" . join (",", @list) . "]"; + return "$str\n"; +} |