Feature Proposal: Citations in Wiki Markdown
Background
When I write Markdown documents, I generally work with Pandoc and pandoc-citeproc to include literature references from a BibTeX bibliography file.
Proposal
Benefits
Including citations in Pandoc syntax in the OSF Wiki would be useful:
- Scientific documents are full of references, and defining them manually (as hyperlinks or footnotes) is cumbersome and prone to errors.
- An existing Pandoc markdown file could be copied as is into the Wiki or directly uploaded.
Suggested Behavior
- A user uploads a BibTeX file to a project’s OSF storage.
- Either there is a button to define this file as the Bibliography of the project,
- or the OSF engine automatically recognizes a file named
bibliography.bibas the project’s Bibliography. - Alternatively to an uploaded BibTeX file, perhaps an integration with the OSF citation add-ons might be possible.
- Citations in Markdown files of the Wiki and in the OSF storage are parsed from the project’s Bibliography. A reference section is appended at the end of the Markdown file.
- The user should be able to define the heading of the reference section manually in order to integrate with languages other than English.
- The citation syntax can be much simpler than the Pandoc syntax because OSF doesn’t need to render print-ready output. A minimum subset of Pandoc’s features could look like this:
-
@brown1999 say that …→ “Brown et al. (1999) say that” -
Prior research [@brown1999] suggests that …→ “Prior research (Brown et al. 1999) suggests that …” -
Prior research [@brown1999; @smith2000] suggests that …→ “Prior research (Brown et al. 1999; Smith & Fox 2000) suggests that …”
-
- Ideally, a user-provided or user-selected CSL file would define the citation style, but in order to start simple, one predefined style would be good enough: either author-number or author-year.
Implementation Ideas
I could not find a Markdown-It plugin for citations. Perhaps that would need to be implemented from scratch.
I agree citation management should be integrated to the wiki editing interface, as I mention in #10120 along with other suggestion.
I would further suggest that the syntax could leverage DOIs. @wtraylor proposes something like [@brown1999; @smith2000], which would refer to entries in some user-provided data base. But why not [doi:10.1016/j.neuroimage.2013.10.044; doi:10.1016/j.neuroimage.2013.10.045], which could automatically retrieve the information online and build the database on-the-fly, while still allowing wtraylor-style referencing once the given work is entered in the database.