Thank you! Let me note a few places where I believe the bibtex could be improved. I have never written any Clojure so this is less useful than I think you’d like, but let’s at least start with “here are three things that could be done better” and then see the next steps.
Months
It appears that add-month
will always return a string surrounded with quotes (e.g., "jan"
). BibTeX instead has (built-in) abbreviations for months, and understands those abbreviations, and those abbreviations do NOT have quotes around them. (Then a local style could understand this abbreviation and produce a bibliography with, say, “January” or “Jan.” or “1/” or in a foreign language.) So instead of emitting
month = "jan",
or month = {Jan},
,
->bibtex
needs to emit
month = jan,
It appears that the months are capitalized somewhere in the process and I haven’t figured out how yet (because bibtex-month
has uncapitalized strings). But correct BibTeX months are lower-case and not in quotes.
(“It’s best to use the three-letter abbreviations for the month, rather than spelling out the month yourself. This lets the bibliography style be consistent.”—BibTeXing, Oren Patashnik [BibTeX’s author], February 8, 1988. https://bibtexml.sourceforge.net/btxdoc.pdf)
Extra credit: issued/date-parts
might have multiple dates. If there are two dates, does this encode things like “March–April”? If so, the correct BibTeX is month = aug # "\slash " # sep
.
@inproceedings
I’m looking at an article (doi:10.1145/3448016.3452841) that’s labeled as type: proceedings-article
that should be output as an @inproceedings
with the container-title
mapping to the field booktitle
. Instead the BibTeX output is an @article
with a journal
that contains container-title
.
Extra credit: It’d be nice for @inproceedings
to also output series =
with the contents of event/acronym
, if present.
Title + subtitle → title only
Same DOI as above. It has a title
and a subtitle
field. I believe add-titles
only takes into account title
. If subtitle
is also present, then title
and subtitle
should be joined with a colon and output as the BibTeX field title = ...
.