Skip to content

stefanbringuier/JuliaPkgCitations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

Julia Pkg Citations

Valid .bib file

This repo provides the file juliapkgs.bib (WIP) that contains several entries for many popular and personally useful Julia packages. The repo was inspired by Miles Cranmer python repo.

Note that if a peer-reviewed publication is available for a given Julia package, this is choosen as the default work to cite. Otherwise the github repo or other sources are used.

List of citation keys

All keys use lowercase for the package name and contain the .jl extension, the only exception is the julia language itself which is just \cite{julia}. The year and author have been excluded.

Citation Key Package Use
\cite{julia} Julia Language Programming Language
\cite{chemistryfeaturization.jl} ChemistryFeaturization.jl Featurization schema
\cite{dataframes.jl} DataFrames.jl Data structures
\cite{dftk.jl} DFTK.jl Electronic structure
\cite{differentialequations.jl} DifferentialEquations.jl Solver library
\cite{distributions.jl} Distributions.jl Probability
\cite{drwatson.jl} DrWatson.jl Workflow mangement
\cite{flux.jl} Flux.jl Deep learning framework
\cite{franklin.jl} Franklin.jl Static websites
\cite{geometricflux.jl} GeometricFlux.jl Graph neural networks
\cite{jump.jl} JuMP.jl Optimization
\cite{latexify.jl} Latexify.jl Latex representations
\cite{luxor.jl} Luxor.jl Drawing graphics
\cite{makie.jl} Makie.jl Plotting and visualization
\cite{measurements.jl} Measurements.jl Uncertainty propagation
\cite{metaheuristics.jl} Metaheuristics.jl Advanced optimization
\cite{mlj.jl} MLJ.jl Machine learning framework
\cite{ohmyrepl.jl} OhMyREPL.jl REPL enhancement
\cite{plots.jl} Plots.jl High-level plotting
\cite{pluto.jl} Pluto.jl Notebook environment
\cite{pptx.jl} PPTX.jl Presentation slides
\cite{revise.jl} Revise.jl Julia REPL tool
\cite{scikitlearn.jl} ScikitLearn.jl API for scikit-learn1
\cite{symbolics.jl} Symbolics.jl Symbolic programming
\cite{symbolicregression.jl} SymbolicRegression.jl Symbolic expression search
\cite{taylorseries.jl} TaylorSeries.jl Polynomial expansion
\cite{turing.jl} Turing.jl Probablistic programming
\cite{unitful.jl} Unitful.jl Physical units
\cite{zygote.jl} Zygote.jl Automatic differentiation

Notes on Usage

  • The bib entries contain unicode so its recommended to use LuaLaTeX or XeLaTeX when compiling.
  • Many \bibliographystyle settings/styles won't handle @misc or @software entries very well (#1), therefore, I suggest using BibLaTeX.

Here is an example on Overleaf.

Cite all Packages

The following will cite all packages:

\cite{julia, chemistryfeaturization.jl, dataframes.jl, dftk.jl, differentialequations.jl, distributions.jl, drwatson.jl, flux.jl, franklin.jl, geometricflux.jl, jump.jl, latexify.jl, luxor.jl, makie.jl, measurements.jl, metaheuristics.jl, mlj.jl, ohmyrepl.jl, plots.jl, pluto.jl, pptx.jl, scikitlearn.jl, symbolics.jl, symbolicregression.jl, taylorseries.jl, turing.jl, unitful.jl, zygote.jl} 

Standardization

There are four classes of bibtex entries used in juliapkgs.bib: @article, @software, @misc, and @inproceedings. The use of @misc instead of @software is a bit arbitary.

The juliapkgs.bib file is checked and reformatted using the command/github-action:

biber --tool --validate-datamodel juliapkgs.bib

The github-action will create a release with the processed .bib file.

Contributing

Pull request for updates/edits to existing entries or adding new entries are most certainly welcomed. Please be sure to use one of the classes indicated in the standardization section above. For any major restructuring of the juliapkgs.bib or the README.md files, please open an issue first to discuss changes.

Footnotes

  1. Citing this package also would likely require citing the python library.