\documentclass[11pt]{article}
\usepackage{makeidx,fullpage}
\usepackage[hidelinks]{hyperref}
\usepackage[T1]{fontenc} % so \{ works inside \texttt
\makeindex
\begin{document}
\sloppy \hbadness=10000
\title{Crossrefware documentation\thanks{This work was commissioned by
  Saint Louis University and Princeton University (Mathematics Department)}}
\author{Boris Veytsman\thanks{borisv@lk.net, boris@varphi.com}}
\maketitle
\tableofcontents

\section{Introduction}

These scripts can be used to create files for submission to Crossref,
check and add doi numbers, MathSciNet numbers and ZbMath numbers to
papers, and to convert `bbl' files to `bib' files.

Development sources and issue tracker are on github:
\url{https://github.com/borisveytsman/crossrefware}.
Releases are made on CTAN:
\url{https://ctan.org/pkg/crossrefware}
and from there included in \TeX\ Live and other distributions.

The script \path{ltx2crossrefxml} extracts information from \path{.rpi}
files and (if present) \path{.bbl} files and generates an XML file
suitable for submission to crossref.org. (Crossref is the organization
that handles DOI numbers for scholarly papers.) It does not actually
upload the submission, just outputs XML.

This \path{.rpi} file is a plain text representation of the metadata for
one article. It is written by the \path{resphilosophica} package
(\url{https://ctan.org/pkg/resphilosophica}) and the TUGboat publication
procedure (\url{https://tug.org/TUGboat/repository.html}). It can also
be created by hand.

Several scripts, \path{bibdoiadd}, \path{bibmradd} and \path{bibzbladd}
take a \path{bib} file, and add to each entry a DOI, MR or ZBL number
correspondingly, if they can find this entry in the corresponding
database.  The output of these scripts reformats the BibTeX entries
where the respective fields were not already present.

The \path{bbl2bib} script tries to reconstruct a \path{bib} file from the
corresponding \path{thebibliography} environment.  One can argue that
this operation is akin to reconstructing the cow from a steak.  The
way the script does it is by searching for the entry in the MR database,
and creating the corresponding Bib\TeX\ fields.

I am grateful to Josko Plazonic from the Princeton mathematics
department whose (unpublished) Python script was an inspiration for this
suite.

Following are manual pages for these scripts.  See also the
\texttt{BibTeX::Parser} package
(\url{https://ctan.org/pkg/bibtexperllibs}).
