Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra citations #7

Open
SebastianM-C opened this issue Jun 7, 2021 · 1 comment
Open

Extra citations #7

SebastianM-C opened this issue Jun 7, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@SebastianM-C
Copy link
Owner

As mentioned in #1 (comment), Cite.jl could provide some functionality to cite something more specific in a package, like the algorithm(s) used for the results (as mentioned by @ChrisRackauckas).

There are 2 things to consider

  • signaling that a package has extra citations
  • getting the citations information from the package to Cite.jl

Both of them can be solved by either multiple dispatch and the creation of a lightweight (no deps) package that provides some functions or by imposing a structure for CITATION.bib.

The extra citation signaling could be done in 2 ways

  • Multiple dispatch: We have a has_extra_citations(Val{PkgName}) that each package can define
  • The structure of the CITATION.bib. As mentioned in Document what happens if there are multiple entries in CITATION.bib #5 we could use the fact that there is more that one entry in the .bib file to mean that the package has extra citations. I'm not sure if there would be packages which have more than one article to be cited.

For the citation information, we would need to standardize where the information lives inside the participating packages. The most obvious place would be CITATION.bib (as mentioned by @oxinabox), but in this case we would have to change the current behavior and have a separation between package citation(s) and extra citations. To support packages with multiple package citations we could have a package_citations(Val{PkgName}) to return the keys in the .bib file that should be considered in the case that we need more than the first one.

There could be something like alg_citation(alg::AlgInPackage) which would return a key in CITATION.bib to which the algorithm corresponds.

Regarding what features Cite.jl exposes, we could have

  • an algorithms::StructsInPkgs[] argument to get_citations and get_tool_citation which would add the citation to the produced .bib file (and maybe to the generated sentence).
  • and @info message when a package has extra citations informing users that they might want to cite specific algorithms
@oschulz
Copy link

oschulz commented Jun 18, 2021

This would be really nice to have. I've recently been thinking about a way for BAT.jl (which uses lot's of other packages/algorithms under the hood) to generate citations for users based on the algorithms that were actually used, to give due credit to the work in the packages BAT.jl relies on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants