summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-26 03:02:41 +0000
committerNorbert Preining <norbert@preining.info>2020-04-26 03:02:41 +0000
commit7d9d2e08fcab92adcc759e3f1e4bb0a15a63f220 (patch)
tree8b20347f7722711d9a3577782906d96684424c9a /macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
parent7a7be7eaa67109eac37916ea48662c24ddc570d0 (diff)
CTAN sync 202004260302
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx184
1 files changed, 184 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
new file mode 100644
index 0000000000..0542273880
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-software/software.dbx
@@ -0,0 +1,184 @@
+\ProvidesFile{software.dbx}[2020/04/02 datamodel extension for software entries, Roberto Di Cosmo]
+\RequireBiber[3]
+%
+% the software entry type family, with their fields
+%
+\DeclareDatamodelEntrytypes{software,softwareversion,softwaremodule,codefragment}
+\DeclareDatamodelFields[type=field,datatype=literal]{
+ introducedin,
+}
+\DeclareDatamodelFields[type=list,datatype=literal]{
+ license,
+}
+\DeclareDatamodelFields[type=field,datatype=uri]{
+ repository,
+}
+\DeclareDatamodelFields[type=field, datatype=verbatim]{
+ hal_id,
+ hal_version,
+ swhid,
+}
+
+%
+% Fields for software entry
+%
+\DeclareDatamodelEntryfields[software]{
+ abstract,
+ author,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ repository,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[software]{
+ \constraint[type=mandatory]{
+ \constraintfieldsor{
+ \constraintfield{author}
+ \constraintfield{editor}
+ }
+ \constraintfield{title}
+ \constraintfield{url}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for softwareversion entry
+%
+\DeclareDatamodelEntryfields[softwareversion]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[softwareversion]{
+ \constraint[type=mandatory]{
+ \constraintfieldsor{
+ \constraintfield{author}
+ \constraintfield{editor}
+ }
+ \constraintfield{title}
+ \constraintfield{url}
+ \constraintfield{version}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for softwaremodule entry
+%
+\DeclareDatamodelEntryfields[softwaremodule]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ editor,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[softwaremodule]{
+ \constraint[type=mandatory]{
+ \constraintfield{author}
+ \constraintfield{subtitle}
+ \constraintfield{url}
+ \constraintfield{year}
+ }
+}
+
+%
+% Fields for codefragment entry
+%
+\DeclareDatamodelEntryfields[codefragment]{
+ abstract,
+ author,
+ crossref,
+ date,
+ doi,
+ file,
+ hal_id,
+ hal_version,
+ institution,
+ introducedin,
+ license,
+ month,
+ note,
+ organization,
+ publisher,
+ related,
+ relatedstring,
+ relatedtype,
+ repository,
+ subtitle,
+ swhid,
+ title,
+ url,
+ urldate,
+ version,
+ year,
+}
+\DeclareDatamodelConstraints[codefragment]{
+ \constraint[type=mandatory]{
+ \constraintfield{url}
+ }
+}
+