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

Add a bib entry file to make it easy to cite Julia. #31794

Merged
merged 5 commits into from
Apr 24, 2019
Merged

Conversation

ViralBShah
Copy link
Member

@ViralBShah ViralBShah commented Apr 22, 2019

The proposal is to have a CITATION.bib file in the top-level directory of a package. The key for the bib entry should be <PackageName.jl>-<year>-<letter (if multiple citations in same year)>. If the Example.jl package has two papers in the same year, the citation keys should be Example-2019-a and Example-2019-b.

Once packages start having CITATION.bib files, we can have tools that can take a manifest file and gather all the citations into a single bib file for a particular project.

It is worth noting that package authors can submit to the Journal of Open Source Software to have something that is archived and a citable reference.

This is based on a discussion in the #academia channel on slack and being put into action starting with Julia itself.

The plan is to have the same convention in packages, thus making
it easy to cite Julia and packages.
@StefanKarpinski
Copy link
Sponsor Member

Maybe four-space indent like other code in the repo?

@StefanKarpinski
Copy link
Sponsor Member

I would also propose that the citation key be the verbatim package name (not lowercased) and then the year. In this case, it doesn't change since the julia repo is already lowercase, but it would be Example2019 instead of example2019. I also wonder about keeping .jl in the key since that would ensure no collisions between Julia and non-Julia citations.

@ViralBShah ViralBShah added the domain:docs This change adds or pertains to documentation label Apr 22, 2019
CITATION.bib Outdated Show resolved Hide resolved
url={https://doi.org/10.1137/141000671}
@article{Julia.jl,
title={Julia: A fresh approach to numerical computing},
author={Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B},
Copy link
Sponsor Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really how names are supposed to be listed in bibtex entries? It looks so bizarre. It looks like this paper is the work of

  • Bezanson
  • Jeff and Edelman
  • Alan and Karpinski
  • Stefan and Shah
  • Viral B

It's like our names got put in a blender and fished out.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really how names are supposed to be listed in bibtex entries

Yes, the "and" keyword separates authors, the comma separates the family name(s) from the given names of each author.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup. That is right, and bibtex knows how to deal with it also. This bibtex entry is from SIAM - not something I wrote.

@non-Jedi
Copy link
Contributor

non-Jedi commented Apr 22, 2019

I'm not sure I understand the utility of generating a bib file for all
dependencies and recursive dependencies of a package (by looking at a
Manifest). When citing a paper, you wouldn't ever really want to
recurse down the tree of papers that paper cites. That said, if there
is utility there, this approach misses the ability to allow packages
to cite non-packages unless we define some other conventions for entry
keys which seems a highly inelegant path to go down.

In general, when defining how packages can communicate the proper
citation for themselves, thought should be given to how whatever
convention is chosen interacts with the slightly different goal of
allowing easy citation (of packages and non-packages) within
docstrings and other documentation. Maybe those two goals are
orthogonal enough to be considered separately; not sure at a glance.

@ViralBShah
Copy link
Member Author

Recursively generating a bib file in my opinion is ok, because the author will still cite only whatever they need to, but it provides everything at one's fingertips. One can also choose to also just go down one level, or do it manually. Other tools can pull in the bibtex data for inclusion in Julia docs and do many other interesting things with it - perhaps by reviving BibTeX.jl.

There are many other cases related to citing non-packages, citing non-Julia software, and for inclusion in non-latex systems. This is solving a much simpler problem: having a clear and standard way for package authors to communicate how to cite their software.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:docs This change adds or pertains to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants