texlive[69700] trunk: crossrefware (4feb24)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 4 22:10:40 CET 2024


Revision: 69700
          https://tug.org/svn/texlive?view=revision&revision=69700
Author:   karl
Date:     2024-02-04 22:10:39 +0100 (Sun, 04 Feb 2024)
Log Message:
-----------
crossrefware (4feb24)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bbl2bib.pl
    trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibdoiadd.pl
    trunk/Build/source/texk/texlive/linked_scripts/crossrefware/biburl2doi.pl
    trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibzbladd.pl
    trunk/Build/source/texk/texlive/linked_scripts/crossrefware/ltx2crossrefxml.pl
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/man/man1/bbl2bib.1
    trunk/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.1
    trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/bibmradd.1
    trunk/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/biburl2doi.1
    trunk/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/bibzbladd.1
    trunk/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf
    trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1
    trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf
    trunk/Master/texmf-dist/doc/support/crossrefware/README
    trunk/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf
    trunk/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl
    trunk/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl
    trunk/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl
    trunk/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl
    trunk/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl

Modified: trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bbl2bib.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bbl2bib.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bbl2bib.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -86,7 +86,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibdoiadd.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibdoiadd.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibdoiadd.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -85,7 +85,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Build/source/texk/texlive/linked_scripts/crossrefware/biburl2doi.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/crossrefware/biburl2doi.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/crossrefware/biburl2doi.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -39,7 +39,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2022  Boris Veytsman
+Copyright (C) 2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibzbladd.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibzbladd.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/crossrefware/bibzbladd.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -52,7 +52,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Build/source/texk/texlive/linked_scripts/crossrefware/ltx2crossrefxml.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/crossrefware/ltx2crossrefxml.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/crossrefware/ltx2crossrefxml.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -230,8 +230,15 @@
 
 Feature request: if anyone is interested in figuring out how to generate
 structured citations
-(L<https://data.crossref.org/reports/help/schema_doc/4.4.2/schema_4_4_2.html#citation>)
-instead of these flat text dumps, that would be great.
+(L<https://data.crossref.org/reports/help/schema_doc/5.3.1/schema_5_3_1.html#citation>)
+instead of these flat text dumps, that would be great. Except the schema
+seems to support much less than described at
+L<https://www.crossref.org/documentation/principles-practices/best-practices/bibliographic/>?
+Anyway, the most viable approach is probably to change tugboat.bst to
+output no-op TeX commands like \tubibauthor, \tubibtitle, etc. (a la
+biblatex), and use those commands to discern the various crossref field
+values. We can't start from the .bib because then we'd have to
+reimplement Bib(La)TeX.
 
 =head1 EXAMPLES
 
@@ -246,7 +253,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2012-2022  Boris Veytsman
+Copyright (C) 2012-2024  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License (any version)
@@ -318,7 +325,7 @@
 http://www.gnu.org/licenses/gpl.html (any version).
 There is NO WARRANTY, to the extent permitted by law.
 
-Written by Boris Veytsman with many additions by Karl Berry
+Written by Boris Veytsman.
 END
  use Getopt::Long;
  my %opts;
@@ -347,7 +354,7 @@
      binmode(OUT, ":utf8")
  }
 
-
+ our $ERROR_COUNT = 0;
  our $depositorName = 'DEPOSITOR_NAME';
  our $depositorEmail = 'DEPOSITOR_EMAIL';
  our $registrant = 'REGISTRANT';
@@ -361,7 +368,6 @@
  # https://data.crossref.org/reports/help/schema_doc/4.4.2/schema_4_4_2.html#doi_batch_id
  our $batchId="ltx2crossref-$timestamp-$$";
 
-
  if ($opts{c}) {
      if (-r $opts{c}) {
          # if config arg is absolute, fine; if not, prepend "./" as slightly
@@ -392,7 +398,7 @@
              #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} }
+	     foreach my $paper (sort { $a->{startpage} <=> $b->{startpage} }
 				     @{$paperList}) {
 		 PrintPaper($paper);
 	     }
@@ -401,7 +407,7 @@
  }
 
  PrintTail();
- exit(0);
+ exit($ERROR_COUNT);
 
 
 #####################################################
@@ -520,7 +526,8 @@
 	#
 	# allow empty \bibitem key for the sake of handwritten bbls.
 	# Similarly, might be more stuff on the line when handwritten.
-	if (s/^\s*\\bibitem(?:\[.*?\])?+\s*\{(.*?)\}//) {
+	# Ignore a TeX %comment following.
+	if (s/^\s*\\bibitem(?:\[.*?\])?+\s*\{(.*?)\}\s*(%.*$)?//) {
 	    my $newkey = $1;
 	    if ($insidebibliography) {
 		if ($currpaper) {
@@ -564,10 +571,11 @@
     
     # 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; check if ok\n";
     } elsif ($insidebibliography) {
         warn "$0: *** no \\end{thebibliography} found in: $bibfile\n";
         warn "$0:       so the last bib entry is missing!\n";
+        $ERROR_COUNT++;
     }
     return @result;
 }

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 69653 2024-01-31 21:52:46Z karl $
+# $Id: tlmgr.pl 69686 2024-02-03 07:34:54Z preining $
 # Copyright 2008-2024 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
@@ -8,8 +8,8 @@
 
 use strict; use warnings;
 
-my $svnrev = '$Revision: 69653 $';
-my $datrev = '$Date: 2024-01-31 22:52:46 +0100 (Wed, 31 Jan 2024) $';
+my $svnrev = '$Revision: 69686 $';
+my $datrev = '$Date: 2024-02-03 08:34:54 +0100 (Sat, 03 Feb 2024) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -7469,12 +7469,17 @@
   # save remote database if it is a net location
   # make sure that the writeout of the tlpdb is done in UNIX mode
   # since otherwise the checksum will change.
+  # For the main tlnet and tlcontrib, both of which are distributed
+  # via mirror.ctan, we make sure that we have only one hashed version
+  # of the tlpdb saved locally.
   if (!$local_copy_tlpdb_used && $location =~ m;^(https?|ftp)://;) {
     my $loc_digest = TeXLive::TLCrypto::tl_short_digest($location);
     my $loc_copy_of_remote_tlpdb =
       ($is_main ? 
         "$Master/$InfraLocation/texlive.tlpdb.main.$loc_digest" :
-        "$Master/$InfraLocation/texlive.tlpdb.$loc_digest");
+        ($location =~ m;texlive/tlcontrib/?$; ?
+          "$Master/$InfraLocation/texlive.tlpdb.tlcontrib.$loc_digest" :
+          "$Master/$InfraLocation/texlive.tlpdb.$loc_digest"));
     my $tlfh;
     if (!open($tlfh, ">:unix", $loc_copy_of_remote_tlpdb)) {
       # that should be only a debug statement, since a user without
@@ -7493,6 +7498,13 @@
           unlink($fn);
         }
       }
+      # Do the same for tlcontrib, which is also distributed via mirror.
+      if ($location =~ m;texlive/tlcontrib/?$;) {
+        for my $fn (<"$Master/$InfraLocation/texlive.tlpdb.tlcontrib.*">) {
+          next if ($fn eq $loc_copy_of_remote_tlpdb);
+          unlink($fn);
+        }
+      }
     }
   }
 
@@ -10364,7 +10376,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 69653 2024-01-31 21:52:46Z karl $
+$Id: tlmgr.pl 69686 2024-02-03 07:34:54Z preining $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/doc/man/man1/bbl2bib.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/bbl2bib.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/bbl2bib.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,84 +52,22 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "bbl2bib 1"
-.TH bbl2bib 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH bbl2bib 1 2023-08-20 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 bbl2bib.pl \- convert thebibliography environment to a bib file
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 bbl2bib.pl [\-d] [\-u] [\fB\-o\fR \fIoutput\fR] \fIfile\fR
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
-.IP "[\-d]" 4
+.IP [\-d] 4
 .IX Item "[-d]"
 Send debugging output to stdout
 .IP "\fB\-o\fR \fIoutput\fR" 4
@@ -152,20 +74,20 @@
 .IX Item "-o output"
 Output file.  If this option is not used, the name for the 
 output file is formed by changing the extension to \f(CW\*(C`.bib\*(C'\fR
-.IP "\fB\-u\fR" 4
+.IP \fB\-u\fR 4
 .IX Item "-u"
-Do not clean \s-1URL\s0 fields.
+Do not clean URL fields.
 .Sp
-Normally \f(CW\*(C`bbl2bib\*(C'\fR recognizes \s-1URL\s0 fields of the kind
-\&\f(CW\*(C`http://dx.doi.org\*(C'\fR and their variants and converts them to \s-1DOI\s0
+Normally \f(CW\*(C`bbl2bib\*(C'\fR recognizes URL fields of the kind
+\&\f(CW\*(C`http://dx.doi.org\*(C'\fR and their variants and converts them to DOI
 fields (see also \fBbiburl2doi\fR\|(1) script).  The switch \fB\-u\fR
 suppresses this cleanup.
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 The script tries to reconstruct a \f(CW\*(C`bib\*(C'\fR file from the corresponding
 \&\f(CW\*(C`thebibliography\*(C'\fR environment.  One can argue that this operation is
 akin to reconstructing a cow from the steak.  The way the script does
-it is searching for the entry in the \s-1MR\s0 database, and
+it is searching for the entry in the MR database, and
 creating the corresponding BibTeX fields.
 .PP
 The script reads a TeX or Bbl file and extracts from it the
@@ -175,7 +97,7 @@
 .SH "INPUT FILE"
 .IX Header "INPUT FILE"
 We assume some structure of the input file:
-.IP "1." 4
+.IP 1. 4
 The bibliography is contained between the lines
 .Sp
 .Vb 1
@@ -187,13 +109,13 @@
 .Vb 1
 \&   \eend{thebibliography}
 .Ve
-.IP "2." 4
+.IP 2. 4
 Each bibliography item starts from the line
 .Sp
 .Vb 1
 \&   \ebibitem[...]{....}
 .Ve
-.SH "EXAMPLES"
+.SH EXAMPLES
 .IX Header "EXAMPLES"
 .Vb 3
 \&   bbl2bib  \-o \- file.tex > result.bib
@@ -200,14 +122,14 @@
 \&   bbl2bib  \-o result.bib file.bbl
 \&   bbl2bib  file.tex
 .Ve
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman
 .SH "COPYRIGHT AND LICENSE"
 .IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2014\-2022  Boris Veytsman
+Copyright (C) 2014\-2021  Boris Veytsman
 .PP
 This is free software.  You may redistribute copies of it under the
-terms of the \s-1GNU\s0 General Public License
-<http://www.gnu.org/licenses/gpl.html>.  There is \s-1NO WARRANTY,\s0 to the
+terms of the GNU General Public License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/bbl2bib.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,82 +52,20 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "bibdoiadd 1"
-.TH bibdoiadd 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH bibdoiadd 1 2023-08-20 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 bibdoiadd.pl \- add DOI numbers to papers in a given bib file
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 bibdoiadd [\fB\-c\fR \fIconfig_file\fR] [\fB\-C\fR 1|0] [\fB\-e\fR 1|0] [\fB\-f\fR] [\fB\-o\fR \fIoutput\fR] \fIbib_file\fR
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
 .IP "\fB\-c\fR \fIconfig_file\fR" 4
 .IX Item "-c config_file"
@@ -152,12 +74,12 @@
 .IP "\fB\-C\fR 1|0" 4
 .IX Item "-C 1|0"
 Whether to canonize names in the output (1) or not (0).  By default, 1.
-.IP "\fB\-e\fR" 4
+.IP \fB\-e\fR 4
 .IX Item "-e"
 If 1 (default), add empty doi if a doi cannot be found.  This prevents
 repeated searches for the same entries if you add new entries to the
 file.  Calling \f(CW\*(C`\-e 0\*(C'\fR suppresses this behavior.
-.IP "\fB\-f\fR" 4
+.IP \fB\-f\fR 4
 .IX Item "-f"
 Force checking doi number even if one is present
 .IP "\fB\-o\fR \fIoutput\fR" 4
@@ -164,11 +86,11 @@
 .IX Item "-o output"
 Output file.  If this option is not used, the name for the 
 output file is formed by adding \f(CW\*(C`_doi\*(C'\fR to the input file
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 The script reads a BibTeX file.  It checks whether the entries have
 DOIs.  If not, it tries to contact http://www.crossref.org to get the
-corresponding \s-1DOI.\s0  The result is a BibTeX file with the fields
+corresponding DOI.  The result is a BibTeX file with the fields
 \&\f(CW\*(C`doi=...\*(C'\fR added.
 .PP
 The name of the output file is either set by the \fB\-o\fR option or 
@@ -181,7 +103,7 @@
 \&\f(CW\*(C`http://www.crossref.org/01company/free_services_agreement.html\*(C'\fR.  In
 the second case you have a username and password, and can use them for
 automatic queries.  I am not sure whether the use of this script is
-allowed for the free account holders.  Anyway if you try to add \s-1DOI\s0
+allowed for the free account holders.  Anyway if you try to add DOI
 to a large number of entries, you should register as a paid member.
 .SH "CONFIGURATION FILE"
 .IX Header "CONFIGURATION FILE"
@@ -195,20 +117,20 @@
 The important parameters are \f(CW$mode\fR (\f(CW\*(Aqfree\*(Aq\fR or \f(CW\*(Aqpaid\*(Aq\fR),
 \&\f(CW$email\fR (for free users) and \f(CW$username\fR & \f(CW$password\fR for paid
 members.
-.SH "EXAMPLES"
+.SH EXAMPLES
 .IX Header "EXAMPLES"
 .Vb 2
 \&   bibdoiadd \-c bibdoiadd.cfg \-o \- citations.bib > result.bib
 \&   bibdoiadd \-c bibdoiadd.cfg \-o result.bib citations.bib
 .Ve
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman
 .SH "COPYRIGHT AND LICENSE"
 .IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2014\-2022  Boris Veytsman
+Copyright (C) 2014\-2021  Boris Veytsman
 .PP
 This is free software.  You may redistribute copies of it under the
-terms of the \s-1GNU\s0 General Public License
-<http://www.gnu.org/licenses/gpl.html>.  There is \s-1NO WARRANTY,\s0 to the
+terms of the GNU General Public License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/bibdoiadd.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/bibmradd.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/bibmradd.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/bibmradd.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,99 +52,37 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "bibmradd 1"
-.TH bibmradd 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH bibmradd 1 2023-08-20 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 bibmradd.pl \- add MR numbers to papers in a given bib file
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 bibmradd  [\-d] [\fB\-f\fR] [\fB\-e\fR 1|0] [\fB\-o\fR \fIoutput\fR] \fIbib_file\fR
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
-.IP "\fB\-d\fR" 4
+.IP \fB\-d\fR 4
 .IX Item "-d"
 Debug mode
-.IP "\fB\-e\fR" 4
+.IP \fB\-e\fR 4
 .IX Item "-e"
 If 1 (default), add an empty mrnumber if a mr cannot be found.  This
 prevents repeated searches for the same entries if you add new entries
 to the file.  Calling \f(CW\*(C`\-e 0\*(C'\fR suppresses this behavior.
-.IP "\fB\-f\fR" 4
+.IP \fB\-f\fR 4
 .IX Item "-f"
-Force searching for \s-1MR\s0 numbers even if the entry already has one.
+Force searching for MR numbers even if the entry already has one.
 .IP "\fB\-o\fR \fIoutput\fR" 4
 .IX Item "-o output"
 Output file.  If this option is not used, the name for the 
 output file is formed by adding \f(CW\*(C`_mr\*(C'\fR to the input file
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 The script reads a BibTeX file.  It checks whether the entries have
 mrnumberss.  If not, tries to contact internet to get the numbers.  The
@@ -169,7 +91,7 @@
 .PP
 The name of the output file is either set by the \fB\-o\fR option or 
 is derived by adding the suffix \f(CW\*(C`_mr\*(C'\fR to the output file.
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman
 .SH "COPYRIGHT AND LICENSE"
@@ -177,6 +99,6 @@
 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
-<http://www.gnu.org/licenses/gpl.html>.  There is \s-1NO WARRANTY,\s0 to the
+terms of the GNU General Public License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/bibmradd.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/biburl2doi.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/biburl2doi.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/biburl2doi.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,84 +52,22 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "biburl2doi 1"
-.TH biburl2doi 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH biburl2doi 1 2023-08-20 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 biburl2doi.pl \- convert URLs pointing to doi.org to DOIs
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 biburl2doi  [\fB\-D\fR] [\fB\-o\fR \fIoutput\fR] \fIbib_file\fR
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
-.IP "\fB\-D\fR" 4
+.IP \fB\-D\fR 4
 .IX Item "-D"
 Do not delete URLs converted to DOIs
 .IP "\fB\-o\fR \fIoutput\fR" 4
@@ -152,19 +74,19 @@
 .IX Item "-o output"
 Output file.  If this option is not used, the name for the 
 output file is formed by adding \f(CW\*(C`_cleaned\*(C'\fR to the input file
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
-The script recognizes \s-1URL\s0 fields of the kind
-\&\f(CW\*(C`http://dx.doi.org\*(C'\fR and their variants and converts them to \s-1DOI\s0
+The script recognizes URL fields of the kind
+\&\f(CW\*(C`http://dx.doi.org\*(C'\fR and their variants and converts them to DOI
 fields.
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman
 .SH "COPYRIGHT AND LICENSE"
 .IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2022  Boris Veytsman
+Copyright (C) 2021  Boris Veytsman
 .PP
 This is free software.  You may redistribute copies of it under the
-terms of the \s-1GNU\s0 General Public License
-<http://www.gnu.org/licenses/gpl.html>.  There is \s-1NO WARRANTY,\s0 to the
+terms of the GNU General Public License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/biburl2doi.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/bibzbladd.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/bibzbladd.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/bibzbladd.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,92 +52,30 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "bibzbladd 1"
-.TH bibzbladd 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH bibzbladd 1 2023-08-20 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 bibzbladd.pl \- add Zbl numbers to papers in a given bib file
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 bibzbladd  [\-d] [\fB\-f\fR] [\fB\-e\fR 1|0] [\fB\-o\fR \fIoutput\fR] \fIbib_file\fR
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
-.IP "\fB\-d\fR" 4
+.IP \fB\-d\fR 4
 .IX Item "-d"
 Debug mode
-.IP "\fB\-e\fR" 4
+.IP \fB\-e\fR 4
 .IX Item "-e"
 If 1 (default), add an empty zblnumber if a zbl cannot be found.  This
 prevents repeated searches for the same entries if you add new entries
 to the file.  Calling \f(CW\*(C`\-e 0\*(C'\fR suppresses this behavior.
-.IP "\fB\-f\fR" 4
+.IP \fB\-f\fR 4
 .IX Item "-f"
 Force searching for Zbl numbers even if the entry already has one.
 .IP "\fB\-o\fR \fIoutput\fR" 4
@@ -160,7 +82,7 @@
 .IX Item "-o output"
 Output file.  If this option is not used, the name for the 
 output file is formed by adding \f(CW\*(C`_zbl\*(C'\fR to the input file
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 The script reads a BibTeX file.  It checks whether the entries have
 Zbls.  If not, tries to contact internet to get the numbers.  The
@@ -169,14 +91,14 @@
 .PP
 The name of the output file is either set by the \fB\-o\fR option or 
 is derived by adding the suffix \f(CW\*(C`_zbl\*(C'\fR to the output file.
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman
 .SH "COPYRIGHT AND LICENSE"
 .IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2014\-2022  Boris Veytsman
+Copyright (C) 2014\-2021  Boris Veytsman
 .PP
 This is free software.  You may redistribute copies of it under the
-terms of the \s-1GNU\s0 General Public License
-<http://www.gnu.org/licenses/gpl.html>.  There is \s-1NO WARRANTY,\s0 to the
+terms of the GNU General Public License
+<http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/bibzbladd.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.1	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,83 +52,21 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "ltx2crossrefxml 1"
-.TH ltx2crossrefxml 1 "2022-10-18" "" "LATEX CROSSREFWARE"
+.TH ltx2crossrefxml 1 2024-02-03 "" "LATEX CROSSREFWARE"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "NAME"
+.SH NAME
 ltx2crossrefxml.pl \- create XML files for submitting to crossref.org
-.SH "SYNOPSIS"
+.SH SYNOPSIS
 .IX Header "SYNOPSIS"
 ltx2crossrefxml [\fB\-c\fR \fIconfig_file\fR]  [\fB\-o\fR \fIoutput_file\fR] [\fB\-input\-is\-xml\fR]
                 \fIlatex_file1\fR \fIlatex_file2\fR ...
-.SH "OPTIONS"
+.SH OPTIONS
 .IX Header "OPTIONS"
 .IP "\fB\-c\fR \fIconfig_file\fR" 4
 .IX Item "-c config_file"
@@ -152,17 +74,17 @@
 See below for its format.
 .IP "\fB\-o\fR \fIoutput_file\fR" 4
 .IX Item "-o output_file"
-Output file.  If this option is not used, the \s-1XML\s0 is output to stdout.
-.IP "\fB\-rpi\-is\-xml\fR" 4
+Output file.  If this option is not used, the XML is output to stdout.
+.IP \fB\-rpi\-is\-xml\fR 4
 .IX Item "-rpi-is-xml"
-Do not transform author and title input strings, assume they are valid \s-1XML.\s0
+Do not transform author and title input strings, assume they are valid XML.
 .PP
 The usual \f(CW\*(C`\-\-help\*(C'\fR and \f(CW\*(C`\-\-version\*(C'\fR options are also supported. Options
 can begin with either \f(CW\*(C`\-\*(C'\fR or \f(CW\*(C`\-\-\*(C'\fR, and ordered arbitrarily.
-.SH "DESCRIPTION"
+.SH DESCRIPTION
 .IX Header "DESCRIPTION"
 For each given \fIlatex_file\fR, this script reads \f(CW\*(C`.rpi\*(C'\fR and (if they
-exist) \f(CW\*(C`.bbl\*(C'\fR files and outputs corresponding \s-1XML\s0 that can be uploaded
+exist) \f(CW\*(C`.bbl\*(C'\fR files and outputs corresponding XML that can be uploaded
 to Crossref (<https://crossref.org>). Any extension of \fIlatex_file\fR is
 ignored, and \fIlatex_file\fR itself is not read (and need not even exist).
 .PP
@@ -173,19 +95,19 @@
 also be created by hand or by whatever other method you implement.
 .PP
 Any \f(CW\*(C`.bbl\*(C'\fR files present are used for the citation information in the
-output \s-1XML.\s0 See the \s-1CITATIONS\s0 section below.
+output XML. See the CITATIONS section below.
 .PP
 Unless \f(CW\*(C`\-\-rpi\-is\-xml\*(C'\fR is specified, for all text (authors, title,
 citations), standard TeX control sequences are replaced with plain text
-or \s-1UTF\-8\s0 or eliminated, as appropriate. The \f(CW\*(C`LaTeX::ToUnicode::convert\*(C'\fR
+or UTF\-8 or eliminated, as appropriate. The \f(CW\*(C`LaTeX::ToUnicode::convert\*(C'\fR
 routine is used for this (<https://ctan.org/pkg/bibtexperllibs>).
 Tricky TeX control sequences will almost surely not be handled
 correctly. If \f(CW\*(C`\-\-rpi\-is\-xml\*(C'\fR is given, the author and title strings
-from the rpi files are output as-is, assuming they are valid \s-1XML\s0; no
+from the rpi files are output as-is, assuming they are valid XML; no
 checking is done. Citation text from \f(CW\*(C`.bbl\*(C'\fR files is always converted
 from LaTeX to plain text.
 .PP
-This script just writes an \s-1XML\s0 file. It's up to you to actually do the
+This script just writes an XML file. It's up to you to actually do the
 uploading to Crossref; for example, you can use their Java tool 
 \&\f(CW\*(C`crossref\-upload\-tool.jar\*(C'\fR
 (<https://www.crossref.org/education/member\-setup/direct\-deposit\-xml/https\-post>).
@@ -202,7 +124,7 @@
 \&    $variable = value ;
 .Ve
 .PP
-Usually the value is a \f(CW"string"\fR enclosed in \s-1ASCII\s0 double-quote or
+Usually the value is a \f(CW"string"\fR enclosed in ASCII double-quote or
 single-quote characters, per Perl syntax. The idea is to specify the
 user-specific and journal-specific values needed for the Crossref
 upload. The variables which are used are these:
@@ -278,9 +200,9 @@
 Each \f(CW\*(C`.rpi\*(C'\fR must contain information for only one article, but multiple
 files can be read in a single run. It would not be difficult to support
 multiple articles in a single \f(CW\*(C`.rpi\*(C'\fR file, but it makes debugging and
-error correction easier when each uploaded \s-1XML\s0 contains a single
+error correction easier when each uploaded XML contains a single
 article.
-.SS "\s-1MORE ABOUT AUTHOR NAMES\s0"
+.SS "MORE ABOUT AUTHOR NAMES"
 .IX Subsection "MORE ABOUT AUTHOR NAMES"
 The three formats for names recognized are (not coincidentally) the same
 as BibTeX:
@@ -312,24 +234,24 @@
 as an \f(CW\*(C`organization\*(C'\fR contributor, instead of the usual \f(CW\*(C`person_name\*(C'\fR,
 as the Crossref schema requires.
 .PP
-2) If \f(CW\*(C`|orcid=\f(CIvalue\f(CW|\*(C'\fR is specified, the \fIvalue\fR is output as an
+2) If \f(CW\*(C`|orcid=\fR\f(CIvalue\fR\f(CW|\*(C'\fR is specified, the \fIvalue\fR is output as an
 \&\f(CW\*(C`ORCID\*(C'\fR element for that \f(CW\*(C`person_name\*(C'\fR.
 .PP
 These two directives, \f(CW\*(C`|organization\*(C'\fR| and \f(CW\*(C`|orcid|\*(C'\fR are mutually
 exclusive, because that's how the Crossref schema defines them. The \f(CW\*(C`=\*(C'\fR
 sign after \f(CW\*(C`orcid\*(C'\fR is required, while all spaces after the \f(CW\*(C`orcid\*(C'\fR
-keyword are ignored. Other than that, the \s-1ORCID\s0 value is output
-literally. (E.g., the \s-1ORCID\s0 value of \f(CW123\fR above is clearly invalid,
+keyword are ignored. Other than that, the ORCID value is output
+literally. (E.g., the ORCID value of \f(CW123\fR above is clearly invalid,
 but it would be output anyway, with no warning.)
 .PP
 Extra \f(CW\*(C`|\*(C'\fR characters, at the beginning or end of the entire \f(CW%authors\fR
 string, or doubled in the middle, are accepted and ignored. Whitespace
 is ignored around all \f(CW\*(C`|\*(C'\fR characters.
-.SH "CITATIONS"
+.SH CITATIONS
 .IX Header "CITATIONS"
 Each \f(CW\*(C`.bbl\*(C'\fR file corresponding to an input \f(CW\*(C`.rpi\*(C'\fR file is read and
 used to output a \f(CW\*(C`citation_list\*(C'\fR element for that \f(CW\*(C`journal_article\*(C'\fR in
-the output \s-1XML.\s0 If no \f(CW\*(C`.bbl\*(C'\fR file exists for a given \f(CW\*(C`.rpi\*(C'\fR,
+the output XML. If no \f(CW\*(C`.bbl\*(C'\fR file exists for a given \f(CW\*(C`.rpi\*(C'\fR,
 no \f(CW\*(C`citation_list\*(C'\fR is output for that article.
 .PP
 The \f(CW\*(C`.bbl\*(C'\fR processing is rudimentary: only so-called
@@ -337,13 +259,13 @@
 the contents of the citation (each paragraph in the \f(CW\*(C`.bbl\*(C'\fR) is dumped
 as a single flat string without markup.
 .PP
-Bibliography text is unconditionally converted from TeX to \s-1XML,\s0 via the
+Bibliography text is unconditionally converted from TeX to XML, via the
 method described above. It is not unusual for the conversion to be
 incomplete or incorrect.  It is up to you to check for this; e.g., if
 any backslashes remain in the output, it is most likely an error.
 .PP
 Furthermore, it is assumed that the \f(CW\*(C`.bbl\*(C'\fR file contains a sequence of
-references, each starting with \f(CW\*(C`\ebibitem{\f(CIKEY\f(CW}\*(C'\fR (which itself must be
+references, each starting with \f(CW\*(C`\ebibitem{\fR\f(CIKEY\fR\f(CW}\*(C'\fR (which itself must be
 at the beginning of a line, preceded only by whitespace), and the whole
 bibliography ending with \f(CW\*(C`\eend{thebibliography}\*(C'\fR (similarly at the
 beginning of a line). A bibliography not following this format will not
@@ -350,7 +272,7 @@
 produce useful results. Bibliographies can be created by hand, or with
 BibTeX, or any other method.
 .PP
-The \f(CW\*(C`key\*(C'\fR attribute for the \f(CW\*(C`citation\*(C'\fR element is taken as the \fI\s-1KEY\s0\fR
+The \f(CW\*(C`key\*(C'\fR attribute for the \f(CW\*(C`citation\*(C'\fR element is taken as the \fIKEY\fR
 argument to the \f(CW\*(C`\ebibitem\*(C'\fR command. The sequential number of the
 citation (1, 2, ...) is appended. The argument to \f(CW\*(C`\ebibitem\*(C'\fR can be
 empty (\f(CW\*(C`\ebibitem{}\*(C'\fR, and the sequence number will be used on its own.
@@ -362,9 +284,16 @@
 .PP
 Feature request: if anyone is interested in figuring out how to generate
 structured citations
-(<https://data.crossref.org/reports/help/schema_doc/4.4.2/schema_4_4_2.html#citation>)
-instead of these flat text dumps, that would be great.
-.SH "EXAMPLES"
+(<https://data.crossref.org/reports/help/schema_doc/5.3.1/schema_5_3_1.html#citation>)
+instead of these flat text dumps, that would be great. Except the schema
+seems to support much less than described at
+<https://www.crossref.org/documentation/principles\-practices/best\-practices/bibliographic/>?
+Anyway, the most viable approach is probably to change tugboat.bst to
+output no-op TeX commands like \etubibauthor, \etubibtitle, etc. (a la
+biblatex), and use those commands to discern the various crossref field
+values. We can't start from the .bib because then we'd have to
+reimplement Bib(La)TeX.
+.SH EXAMPLES
 .IX Header "EXAMPLES"
 .Vb 2
 \&  ltx2crossrefxml.pl ../paper1/paper1.tex ../paper2/paper2.tex \e
@@ -372,14 +301,14 @@
 \&
 \&  ltx2crossrefxml.pl \-c myconfig.cfg paper.tex \-o paper.xml
 .Ve
-.SH "AUTHOR"
+.SH AUTHOR
 .IX Header "AUTHOR"
 Boris Veytsman <https://github.com/borisveytsman/crossrefware>
 .SH "COPYRIGHT AND LICENSE"
 .IX Header "COPYRIGHT AND LICENSE"
-Copyright (C) 2012\-2022  Boris Veytsman
+Copyright (C) 2012\-2024  Boris Veytsman
 .PP
 This is free software.  You may redistribute copies of it under the
-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
+terms of the GNU General Public License (any version)
+<https://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY, to the
 extent permitted by law.

Modified: trunk/Master/texmf-dist/doc/man/man1/ltx2crossrefxml.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/crossrefware/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/crossrefware/README	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/doc/support/crossrefware/README	2024-02-04 21:10:39 UTC (rev 69700)
@@ -1,5 +1,5 @@
 			 Crossrefware Bundle
-			  version 2022-10-10
+			  version 2024-01-31
 
 Scripts useful for working with Crossref, MathSciNet and Zentralblatt MATH.
 
@@ -30,6 +30,8 @@
 
 Changes:
 
+2024-01-31    - exit with bad status if no \end{thebibliography}.
+
 2022-09-11    - add "***" prefix to bib warnings.
 
 2022-07-28    - find dev checkout of bibtexperllibs.

Modified: trunk/Master/texmf-dist/doc/support/crossrefware/crossrefware.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/scripts/crossrefware/bbl2bib.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -86,7 +86,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/scripts/crossrefware/bibdoiadd.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -85,7 +85,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/scripts/crossrefware/biburl2doi.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -39,7 +39,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2022  Boris Veytsman
+Copyright (C) 2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/scripts/crossrefware/bibzbladd.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -52,7 +52,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2022  Boris Veytsman
+Copyright (C) 2014-2021  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License

Modified: trunk/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl	2024-02-04 18:27:47 UTC (rev 69699)
+++ trunk/Master/texmf-dist/scripts/crossrefware/ltx2crossrefxml.pl	2024-02-04 21:10:39 UTC (rev 69700)
@@ -230,8 +230,15 @@
 
 Feature request: if anyone is interested in figuring out how to generate
 structured citations
-(L<https://data.crossref.org/reports/help/schema_doc/4.4.2/schema_4_4_2.html#citation>)
-instead of these flat text dumps, that would be great.
+(L<https://data.crossref.org/reports/help/schema_doc/5.3.1/schema_5_3_1.html#citation>)
+instead of these flat text dumps, that would be great. Except the schema
+seems to support much less than described at
+L<https://www.crossref.org/documentation/principles-practices/best-practices/bibliographic/>?
+Anyway, the most viable approach is probably to change tugboat.bst to
+output no-op TeX commands like \tubibauthor, \tubibtitle, etc. (a la
+biblatex), and use those commands to discern the various crossref field
+values. We can't start from the .bib because then we'd have to
+reimplement Bib(La)TeX.
 
 =head1 EXAMPLES
 
@@ -246,7 +253,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2012-2022  Boris Veytsman
+Copyright (C) 2012-2024  Boris Veytsman
 
 This is free software.  You may redistribute copies of it under the
 terms of the GNU General Public License (any version)
@@ -318,7 +325,7 @@
 http://www.gnu.org/licenses/gpl.html (any version).
 There is NO WARRANTY, to the extent permitted by law.
 
-Written by Boris Veytsman with many additions by Karl Berry
+Written by Boris Veytsman.
 END
  use Getopt::Long;
  my %opts;
@@ -347,7 +354,7 @@
      binmode(OUT, ":utf8")
  }
 
-
+ our $ERROR_COUNT = 0;
  our $depositorName = 'DEPOSITOR_NAME';
  our $depositorEmail = 'DEPOSITOR_EMAIL';
  our $registrant = 'REGISTRANT';
@@ -361,7 +368,6 @@
  # https://data.crossref.org/reports/help/schema_doc/4.4.2/schema_4_4_2.html#doi_batch_id
  our $batchId="ltx2crossref-$timestamp-$$";
 
-
  if ($opts{c}) {
      if (-r $opts{c}) {
          # if config arg is absolute, fine; if not, prepend "./" as slightly
@@ -392,7 +398,7 @@
              #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} }
+	     foreach my $paper (sort { $a->{startpage} <=> $b->{startpage} }
 				     @{$paperList}) {
 		 PrintPaper($paper);
 	     }
@@ -401,7 +407,7 @@
  }
 
  PrintTail();
- exit(0);
+ exit($ERROR_COUNT);
 
 
 #####################################################
@@ -520,7 +526,8 @@
 	#
 	# allow empty \bibitem key for the sake of handwritten bbls.
 	# Similarly, might be more stuff on the line when handwritten.
-	if (s/^\s*\\bibitem(?:\[.*?\])?+\s*\{(.*?)\}//) {
+	# Ignore a TeX %comment following.
+	if (s/^\s*\\bibitem(?:\[.*?\])?+\s*\{(.*?)\}\s*(%.*$)?//) {
 	    my $newkey = $1;
 	    if ($insidebibliography) {
 		if ($currpaper) {
@@ -564,10 +571,11 @@
     
     # 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; check if ok\n";
     } elsif ($insidebibliography) {
         warn "$0: *** no \\end{thebibliography} found in: $bibfile\n";
         warn "$0:       so the last bib entry is missing!\n";
+        $ERROR_COUNT++;
     }
     return @result;
 }



More information about the tex-live-commits mailing list.