v0.4.2
Version of record for --arxiv
arXiv reports two kinds of DOI: its own 10.48550/* DataCite DOI, and a journal DOI meaning the paper was formally published. Citing the version of record is the correct scholarly practice, so --arxiv now acts on the difference:
- Journal DOI present → the item is built from CrossRef instead of as a
preprint: proper item type, venue, volume/pages (article numbers included — think PRL's 061102), formal publication date. The arXiv identity is preserved:arXiv: <id>in Extra,urlstays the open-access abs page (the journal link is carried by the DOI field), the arXiv abstract fills in when CrossRef has none — very common — and the PDF still downloads from arXiv (green OA;--no-pdfunchanged). Dry-run announces it:1602.03837 → journal DOI 10.1103/PhysRevLett.116.061102, building journal record. - CrossRef lookup fails (network, 404) → the item quietly degrades to the familiar preprint record with a warning; it never fails the batch.
- Only a DataCite DOI, or no DOI → exactly the v0.4.1 preprint behavior.
Abstract provenance
Any abstract zotkit writes — via --arxiv or --doi — is now tagged in Extra with abstract-source: arxiv or abstract-source: crossref, naming where the text actually came from (the hybrid journal-record-with-arXiv-abstract case is labeled arxiv). No abstract, no line. Extra lines always append to existing content, never overwrite.
The CrossRef requests ride the existing per-host rate-limit layer — batches stay polite with zero caller involvement.
Install/upgrade: pipx upgrade zotkit