Crossrefware Bundle
                         version 2025-07-09

Scripts useful for working with Crossref, MathSciNet and Zentralblatt MATH.

bibdoiadd.pl       - add DOI numbers to papers in a given bib file
bibzbladd.pl       - add Zbl numbers to papers in a given bib file
bibmradd.pl        - add MR  numbers to papers in a given bib file
bbl2bib.pl         - convert `thebibliography' environment to a bib file
biburl2doi.pl      - convert urls pointing to doi.org to dois
ltx2crossrefxml.pl - create XML files for submission to crossref.org

Bug reports, source code: https://github.com/borisveytsman/crossrefware
Releases: https://ctan.org/pkg/crossrefware

These scripts rely on the bibtexperllibs libraries (replace
/crossrefware with /bibtexperllibs in the above urls).

For an example of using ltx2crossrefxml and associated code, see the
TUGboat processing:
 https://github.com/TeXUsersGroup/tugboat/tree/trunk/capsules/crossref

Installation:
1.  Move *.pl files to the binaries directory in your system.
2.  Use *.cfg files as configuration files samples.
3.  Move *.1 to the man pages directory in your system.

This work was commissioned by The Saint Louis University and
Princeton University (Mathematics Department). Thank you!

Changes:

2025-07-09    - Use entities in structured citation output;
               avoid uploading unaccepted structured citations

2025-05-26    - Added processing of .bib files to get structured citations

2024-08-27    - output crossref schema 5.3.1:
               https://www.crossref.org/documentation/schema-library/schema-versions/
               (and update various doc urls that crossref broke.)
             - more documentation on the bib*add scripts.

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.

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.

2018/04/15    - Fixed a bug in bibzbladd
             - Work around a bug in mathscinet

2017/11/26    - Switched to date-based versioning for the bundle.
             - bbl2bib now converts urls starting with
               http(s)://(dx.)doi.org to dois.  This functionality
               is also provided by a separate script biburl2doi
             - bibadddoi now has the option to (not) canonize names

Version 2.2:  We now treat absent CA permissively.
             New debug options for bbl2bib

Version 2.1a: Bug in bbl2bib corrected

Version 2.1:  New options to add empty doi and zbl when doi or zbl
             are not found to prevent repeated searches.
             Added bibmradd.pl
             Added bbl2bib.pl

Version 2.0:  Moved to BibTeX::Parser suite.
             Now we use new Zbmath interface.
             Now we use bibtexperllibs libraries

Version 1.1:  workaround for a bug with macrons in TeX::Encode