SuperAPI AI Directory

reference-manager-interop

Writing & research

View repository

Updated 10-21 16:19

About this skill

Reference Manager Interoperability

Every reference manager speaks at least one of three interchange formats:

Format Best for Notes
BibTeX / BibLaTeX (.bib) LaTeX, Overleaf, JabRef BibLaTeX adds @online, @dataset, @software, UTF-8 via biber
RIS (.ris) EndNote, Mendeley, Scopus/WoS/PubMed exports Tag-per-line, loses some structure (e.g. corporate authors)
CSL-JSON (.json) Pandoc, Quarto, Zotero, citeproc-js, Word/Docs plugins The richest interchange format, native to citation styles

Convert between formats

python scripts/convert_refs.py library.ris references.bib        # EndNote/Mendeley -> LaTeX
python scripts/convert_refs.py references.bib references.json    # LaTeX -> Pandoc/Quarto
python scripts/convert_refs.py export.json out.ris --from csljson --to ris

Conversion is lossy for exotic fields. Always diff counts (grep -c "^@" refs.bib, grep -c "^TY -" lib.ris) and spot-check authors with particles (van, de, von) and corporate authors. Then run the bibtex-hygiene linter on any produced .bib.

Tool-specific recipes

Zotero (recommended hub)

  • Install the Better BibTeX plugin, then right-click a collection → Export → Keep updated to write an auto-refreshing .bib next to the manuscript with stable citation keys.
  • Programmatic access: the pyzotero skill (Zotero Web API; needs a user API key).
  • Word/Google Docs: the Zotero connector plugins insert live citations and bibliography.

Mendeley Reference Manager

  • Export: select references → Export → BibTeX (.bib), RIS or EndNote XML.
  • To migrate to Zotero: import the .ris/.bib export, or use Zotero's built-in Mendeley importer.
  • Don't build new automation against Mendeley's web API. Work from exported files instead.

EndNote

  • Export: File → Export with output style "RefMan (RIS) Export" (.ris) or XML.
  • Import .ris back with the "Reference Manager (RIS)" filter. Check the encoding is UTF-8.

JabRef: native BibTeX/BibLaTeX. Use Quality → Cleanup entries and Check integrity before submission.

Overleaf: link a Zotero/Mendeley account or upload the .bib. With an auto-exported Better BibTeX file, re-upload it or sync via Git.

Rendering citations with CSL styles (Pandoc / Quarto)

pandoc paper.md --citeproc --bibliography references.json --csl nature.csl -o paper.docx

Quarto front matter:

bibliography: references.json
csl: apa.csl          # fetch from https://github.com/citation-style-language/styles

Pick the exact style file for the target journal from the CSL repository (over 10,000 styles). Never approximate a journal's style by editing a similar one unless none exists.

Migration checklist

  1. Export from the source tool in its richest format (CSL-JSON or native XML > RIS > BibTeX).
  2. Record the reference count before and after.
  3. Convert with scripts/convert_refs.py if the target cannot import the source format.
  4. Import, then check 10 random entries for authors, title case, container, year, DOI.
  5. Re-attach PDFs separately. Attachments never travel inside RIS/BibTeX/CSL-JSON.
  6. Rebuild citation keys only if the manuscript does not already cite the old keys.

Related skills

bibtex-hygiene, citation-verification, citation-management, pyzotero.