			 Crossrefware Bundle
			  version 2026-06-20

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:
2026-06-20    - Complete refactoring of bibmradd and bibzbladd using
	        published API interfaces

2026-04-20    - Remove math-shift $...$ pairs.
	      - Repair incorrect TeX en-dashes in issn value.
	      - Warn about missed "orcid=" key in lists-authinfo.txt

2025-09-25    - Updated address of mathscinet mirror

2025-09-20    - Silently remove a leading http(s)://(dx.)doi.org
                from doi values, since Crossref does not accept them.
              - bbl2bib now uses https protocol

2025-08-30    - Redesigned bibzbladd due to changes in zbmath output.
                Now the user can select the cutoff probability to
		accept the search results.

2025-07-28    - Switched to crossref schema 5.4.0

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
