SebastianM-C / PkgCite.jl

Cite Julia packages in your papers the easy way
MIT License
82 stars 7 forks source link

Fallback citation for packages without CITATION.bib #24

Open nalimilan opened 2 years ago

nalimilan commented 2 years ago

Many packages do not provide CITATION.bib because they are not associated with a paper and/or because their authors are not in academia and don't care about this. I realized recently when writing a paper which cites many packages that it's really painful to cite them for this reason.

For these cases, it would be nice to have a fallback citation generation mechanism, like citation does in R. Project.toml contains an author field which could be reused. The result could be something like "$AUTHORS, $DATE, $PACKAGE, Julia package version $VERSION, $URL." Doing this would also help establishing a convention about how to cite Julia packages.

It could also be interesting to extract the project description from GitHub but that would require a bit more work I guess.

KronosTheLate commented 2 years ago

I second this. It is most likely the reason for the issue I came here to open, namely that only a fraction of the packages I have used contain a Citation.bib file. Below you can see the severity of the issue:

(StatisticalMachineLearning) pkg> st
      Status `~/StatisticalMachineLearning_drwatson/Project.toml`
  [cbdf2221] AlgebraOfGraphics v0.6.5
  [5d742f6a] CSVFiles v1.0.1
  [aaaa29a8] Clustering v0.14.2
  [a93c6f00] DataFrames v1.3.2
  [b4f34e82] Distances v0.10.7
  [634d3b9d] DrWatson v2.9.1
  [e9467ef8] GLMakie v0.5.5
  [6a3955dd] ImageFiltering v0.7.1
  [6f286f6a] MultivariateStats v0.9.1
  [b8a86587] NearestNeighbors v0.4.9
  [6fe1bfb0] OffsetArrays v1.10.8
  [50d0efc5] PkgCite v0.1.2
  [08abe8d2] PrettyTables v1.3.1
  [92933f4c] ProgressMeter v1.7.1
  [df47a6cb] RData v0.8.3
  [ce6b1742] RDatasets v0.7.7
  [90137ffa] StaticArrays v1.4.2
  [2913bbd2] StatsBase v0.33.16
  [f3b207a7] StatsPlots v0.14.33
  [a759f4b9] TimerOutputs v0.5.16

julia> get_tool_citation()
This work was done in \cite[Julia v1.7.1]{Julia-2017} and made use of the following packages: ArrayInterface.jl\cite[ArrayInterface]{DifferentialEquations.jl-2017}, Distributions.jl\cite[Distributions]{JSSv098i16,Distributions.jl-2019}, DrWatson.jl\cite[DrWatson]{DrWatson2020}, FFTW.jl\cite[FFTW]{FFTW.jl-2005}, Makie.jl\cite[Makie]{DanischKrumbiegel2021} and QuadGK.jl\cite[QuadGK]{quadgk}.
[ Info: The above sentence was copied to your clipboard.
┌ Warning: Overwriting julia_citations.bib
└ @ PkgCite ~/.julia/packages/PkgCite/T49Bu/src/citations.jl:69
[ Info: A julia_citations.bib file with the citations for DrWatson, QuadGK, Makie, Distributions, Julia, ArrayInterface and FFTW was generated in the current working directory (/home/legolas/StatisticalMachineLearning_drwatson).

7 out of 20 packages. And several of the most important/relevant ones are missing. I would love if the packages were at least mentioned by name and version, for giving credit and improving reproducibility.