osf.io icon indicating copy to clipboard operation
osf.io copied to clipboard

Feature Proposal: Citations in Wiki Markdown

Open wtraylor opened this issue 5 years ago • 1 comments

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.bib as 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.

wtraylor avatar Mar 29 '20 15:03 wtraylor

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.

Proulx-S avatar Nov 17 '22 01:11 Proulx-S