crsh / citr

RStudio Addin to Insert Markdown Citations
Other
408 stars 46 forks source link

Use (Better) CSL JSON instead of BibTeX or BibLaTeX #59

Open bwiernik opened 4 years ago

bwiernik commented 4 years ago

Is your feature request related to a problem? Please describe. citr currently exports from Zotero/BBT as either BibTeX or BibLaTeX. This isn’t ideal when working with Markdown/pandoc. The native data format for citeproc-pandoc would be either CSL JSON or CSL YAML. Going to BibTeX leads to data loss for variables that are part of CSL without clear maps to BibTeX fields, such as archive, archive_location, director, references, etc. This isn’t much of a problem for typical journal article citations, but for users wanting to cite more obscure item types, it can lead to frustrating loss or data and incorrect formatting. This could be resolved by cutting out the middle man of converting from Zotero to BibTeX and back to CSL JSON when the BibTeX is processed by pandoc.

Describe the solution you’d like The best solution would be to switch to using Better CSL JSON as the output format from BBT as the default. This will ensure maximum compatibility with CSL styles and data fidelity. Alternatively, at least providing CSL JSON as an option would be okay, but setting the optimal default would be better.

Describe alternatives you've considered Currently, users can manually generate CSL JSON Files and add them to their YAML, but this means they cannot benefit from citr’s automatic database building.

crsh commented 4 years ago

This is a good point. If JSON becomes the new default I would like to also have a function that converts from JSON to BibTeX so users are not stuck when they want to switch from using pandoc-citeproc to BibTeX for their references.

As you may have seen, I'm planning to add support for the pandoc-zotxt Lua-filter, which already caches references from Zotero in JSON format. So this will definitely be supported.

bwiernik commented 4 years ago

I’m working on a CSL-JSON package. I can adapt better BibTeX’s translator to create a Bib(La)TeX converter in it.