-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[6574] Added support for biblatex-software #6747
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Add Native Support for BibLatex-Sotware | ||
* Deciders: Oliver Kopp | ||
|
||
Technical Story: [6574-Adding support for biblatex-software](https://github.com/JabRef/jabref/issues/6574) | ||
|
||
## Context and Problem Statement | ||
|
||
JabRef does not right now have support for Biblatex-Software out of the box, users have to add custome entry type. | ||
With citing software becoming fairly common , native support is helpful. | ||
|
||
|
||
## Decision Drivers | ||
|
||
* None of the existing flows should be impacted | ||
|
||
## Considered Options | ||
|
||
* Add the new entry types to the existing biblatex types | ||
* Add a divider with label Biblatex-Software under which the new entries are listed : Native support for Biblatex-Software | ||
* Support via customized entry types : A user can load a customized bib file | ||
|
||
## Decision Outcome | ||
|
||
Chosen option: Add a new divider, because comes out best (see below). | ||
|
||
### Positive Consequences | ||
|
||
* Inbuilt coverage for a entry type that is getting more and more importance | ||
|
||
### Negative Consequences | ||
|
||
* Adds a little bit more clutter to the Add Entry pane | ||
|
||
## Pros and Cons of the Options | ||
|
||
### Adding the new entry types to the existing biblatex types | ||
|
||
* Good, because there is no need for a new category in the add entry pane | ||
|
||
### Add a divider with label Biblatex-Software with relevant types | ||
|
||
* Good, since this gives the user a bit more clarity | ||
|
||
### Support via customized entry types | ||
|
||
* Good, because no code needs to be changed | ||
* Bad, because documentation is needed | ||
* Bad, because the users are not guided through the UI, but have to do other steps. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package org.jabref.model.entry.types; | ||
|
||
import java.util.Arrays; | ||
import java.util.List; | ||
|
||
import org.jabref.model.entry.BibEntryType; | ||
import org.jabref.model.entry.BibEntryTypeBuilder; | ||
import org.jabref.model.entry.field.OrFields; | ||
import org.jabref.model.entry.field.StandardField; | ||
|
||
public class BiblatexSoftwareEntryTypeDefinitions { | ||
private static final BibEntryType SOFTWARE = new BibEntryTypeBuilder() | ||
.withType(StandardEntryType.Software) | ||
.withImportantFields(StandardField.DATE, StandardField.DOI, StandardField.EPRINTTYPE, StandardField.EPRINTCLASS, StandardField.EPRINT, | ||
StandardField.EDITOR, StandardField.FILE, StandardField.HALID, StandardField.HALVERSION, StandardField.INSTITUTION, StandardField.INTRODUCEDIN, | ||
StandardField.LICENSE, StandardField.MONTH, StandardField.NOTE, StandardField.ORGANIZATION, StandardField.PUBLISHER, StandardField.RELATED, | ||
StandardField.RELATEDSTRING, StandardField.REPOSITORY, StandardField.SWHID, StandardField.URLDATE, StandardField.VERSION) | ||
.withRequiredFields(new OrFields(StandardField.AUTHOR, StandardField.EDITOR), StandardField.TITLE, StandardField.URL, StandardField.VERSION, StandardField.YEAR) | ||
.build(); | ||
|
||
private static final BibEntryType SOFTWAREVERSION = new BibEntryTypeBuilder() | ||
.withType(StandardEntryType.SoftwareVersion) | ||
.withImportantFields(StandardField.DATE, StandardField.EPRINTCLASS, StandardField.EPRINTTYPE, StandardField.HALID, StandardField.HALVERSION, | ||
StandardField.INSTITUTION, StandardField.INTRODUCEDIN, StandardField.LICENSE, StandardField.MONTH, StandardField.NOTE, StandardField.ORGANIZATION, | ||
StandardField.PUBLISHER, StandardField.RELATED, StandardField.RELATEDTYPE, StandardField.RELATEDSTRING, | ||
StandardField.REPOSITORY, StandardField.SWHID, StandardField.SUBTITLE, StandardField.URLDATE) | ||
.withRequiredFields(new OrFields(StandardField.AUTHOR, StandardField.EDITOR), StandardField.TITLE, StandardField.URL, StandardField.YEAR, StandardField.VERSION) | ||
.withDetailFields(StandardField.DATE, StandardField.EPRINTCLASS, StandardField.EPRINTTYPE, StandardField.HALID, StandardField.HALVERSION, | ||
StandardField.INSTITUTION, StandardField.INTRODUCEDIN, StandardField.LICENSE, StandardField.MONTH, StandardField.NOTE, StandardField.ORGANIZATION, | ||
StandardField.PUBLISHER, StandardField.RELATED, StandardField.RELATEDTYPE, StandardField.RELATEDSTRING, | ||
StandardField.REPOSITORY, StandardField.SWHID, StandardField.SUBTITLE, StandardField.URLDATE) | ||
.withRequiredFields(new OrFields(StandardField.AUTHOR, StandardField.EDITOR), StandardField.TITLE, StandardField.URL, StandardField.YEAR) | ||
.build(); | ||
private static final BibEntryType SOFTWAREMODULE = new BibEntryTypeBuilder() | ||
.withType(StandardEntryType.SoftwareModule) | ||
.withImportantFields(StandardField.DATE, StandardField.DOI, StandardField.EPRINTTYPE, StandardField.EPRINTCLASS, StandardField.EPRINT, | ||
StandardField.EDITOR, StandardField.FILE, StandardField.HALID, StandardField.HALVERSION, StandardField.INSTITUTION, StandardField.INTRODUCEDIN, | ||
StandardField.LICENSE, StandardField.MONTH, StandardField.NOTE, StandardField.ORGANIZATION, StandardField.PUBLISHER, StandardField.RELATED, | ||
StandardField.RELATEDSTRING, StandardField.REPOSITORY, StandardField.SWHID, StandardField.URLDATE, StandardField.VERSION) | ||
.withRequiredFields(StandardField.AUTHOR, StandardField.SUBTITLE, StandardField.URL, StandardField.YEAR) | ||
.build(); | ||
|
||
private static final BibEntryType CODEFRAGMENT = new BibEntryTypeBuilder() | ||
.withType(StandardEntryType.CodeFragment) | ||
.withImportantFields(StandardField.DATE, StandardField.DOI, StandardField.EPRINTTYPE, StandardField.EPRINTCLASS, StandardField.EPRINT, | ||
StandardField.EDITOR, StandardField.FILE, StandardField.HALID, StandardField.HALVERSION, StandardField.INSTITUTION, StandardField.INTRODUCEDIN, | ||
StandardField.LICENSE, StandardField.MONTH, StandardField.NOTE, StandardField.ORGANIZATION, StandardField.PUBLISHER, StandardField.RELATED, | ||
StandardField.RELATEDSTRING, StandardField.REPOSITORY, StandardField.SWHID, StandardField.URLDATE, StandardField.VERSION) | ||
.withRequiredFields(StandardField.URL) | ||
.build(); | ||
|
||
public static final List<BibEntryType> ALL = Arrays.asList(SOFTWAREVERSION, SOFTWARE, SOFTWAREMODULE, CODEFRAGMENT); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
@softwareversion {delebecque:hal-02090402-condensed, | ||
title = {Scilab}, | ||
author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice | ||
and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe}, | ||
url = {https://www.scilab.org/}, | ||
date = {1994-01}, | ||
file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz}, | ||
institution = {Inria}, | ||
license = {Scilab license}, | ||
hal_id = {hal-02090402}, | ||
hal_version = {v1}, | ||
swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a; | ||
origin=https://hal.archives-ouvertes.fr/hal-02090402}, | ||
version = {1.1}, | ||
note = {First Scilab version. It was distributed by anonymous ftp.}, | ||
repository= {https://github.com/scilab/scilab}, | ||
abstract = {Software for Numerical Computation freely distributed.} | ||
} | ||
|
||
@software {delebecque:hal-02090402, | ||
title = {Scilab}, | ||
author = {Delebecque, Fran{\c c}ois and Gomez, Claude and Goursat, Maurice | ||
and Nikoukhah, Ramine and Steer, Serge and Chancelier, Jean-Philippe}, | ||
date = {1994}, | ||
institution = {Inria}, | ||
license = {Scilab license}, | ||
hal_id = {hal-02090402}, | ||
hal_version = {v1}, | ||
url = {https://www.scilab.org/}, | ||
abstract = {Software for Numerical Computation freely distributed.}, | ||
repository= {https://github.com/scilab/scilab}, | ||
} | ||
|
||
@softwareversion {delebecque:hal-02090402v1, | ||
version = {1.1}, | ||
date = {1994-01}, | ||
file = {https://hal.inria.fr/hal-02090402/file/scilab-1.1.tar.gz}, | ||
swhid = {swh:1:dir:1ba0b67b5d0c8f10961d878d91ae9d6e499d746a; | ||
origin=https://hal.archives-ouvertes.fr/hal-02090402}, | ||
note = {First Scilab version. It was distributed by anonymous ftp.}, | ||
crossref = {delebecque:hal-02090402} | ||
} | ||
|
||
@software {cgal, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add an empty line before |
||
title = {The Computational Geometry Algorithms Library}, | ||
author = {{The CGAL Project}}, | ||
editor = {{CGAL Editorial Board}}, | ||
date = {1996}, | ||
url = {https://cgal.org/} | ||
} | ||
|
||
@softwareversion{cgal:5-0-2, | ||
crossref = {cgal}, | ||
version = {{5.0.2}}, | ||
url = {https://docs.cgal.org/5.02}, | ||
date = {2020}, | ||
swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; | ||
origin=https://github.com/CGAL/cgal/} | ||
} | ||
|
||
@softwaremodule{cgal:lp-gi-20a, | ||
crossref = {cgal:5-0-2}, | ||
author = {Menelaos Karavelas}, | ||
subtitle = {{2D} Voronoi Diagram Adaptor}, | ||
license = {GPL}, | ||
introducedin = {cgal:3-1}, | ||
url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, | ||
} | ||
|
||
@softwaremodule{cgal:lp-gi-20a-condensed, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add an empty line before |
||
title = {The Computational Geometry Algorithms Library}, | ||
subtitle = {{2D} Voronoi Diagram Adaptor}, | ||
author = {Menelaos Karavelas}, | ||
editor = {{CGAL Editorial Board}}, | ||
license = {GPL}, | ||
version = {{5.0.2}}, | ||
introducedin = {cgal:3-1}, | ||
date = {2020}, | ||
swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; | ||
origin=https://github.com/CGAL/cgal/}, | ||
url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, | ||
} | ||
|
||
@software {parmap, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add an empty line before |
||
title = {The Parmap library}, | ||
author = {Di Cosmo, Roberto and Marco Danelutto}, | ||
date = {2020}, | ||
version = {1.1.1}, | ||
institution = {{Inria} and {University of Paris} and {University of Pisa}}, | ||
license = {LGPL-2.0}, | ||
url = {https://rdicosmo.github.io/parmap/}, | ||
repository= {https://github.com/rdicosmo/parmap}, | ||
} | ||
|
||
@codefragment {simplemapper, | ||
subtitle = {Core mapping routine}, | ||
swhid = {swh:1:cnt:43a6b232768017b03da934ba22d9cc3f2726a6c5; | ||
lines=192-228; | ||
origin=https://github.com/rdicosmo/parmap}, | ||
crossref = {parmap} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add an empty line before