summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-30 21:27:51 +0000
committerKarl Berry <karl@freefriends.org>2020-04-30 21:27:51 +0000
commita1cbf6d2c6f7847ae75d6eca30f61cf4512b2317 (patch)
tree7c6ce79e7700d65cd7e49b7976d1fa4247f15a51 /Master
parent8731099968c37c17c6a916dcb3100922e73a70e1 (diff)
biblatex-software (30apr20)
git-svn-id: svn://tug.org/texlive/trunk@54950 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/biblio.bib2
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/history.tex3
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/manual.bib12
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdfbin109881 -> 112874 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex1
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdfbin167058 -> 169749 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex29
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-software/swentries.tex22
-rw-r--r--Master/texmf-dist/source/latex/biblatex-software/Makefile9
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-software/software.bbx76
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-software/software.dbx12
11 files changed, 145 insertions, 21 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/biblio.bib b/Master/texmf-dist/doc/latex/biblatex-software/biblio.bib
index 41f7c025329..53b227a4b67 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/biblio.bib
+++ b/Master/texmf-dist/doc/latex/biblatex-software/biblio.bib
@@ -84,7 +84,7 @@
author = {Di Cosmo, Roberto and Marco Danelutto},
year = {2020},
version = {1.1.1},
- institution = {Inria},
+ 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},
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/history.tex b/Master/texmf-dist/doc/latex/biblatex-software/history.tex
index e193b2d3197..28e960569ed 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/history.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-software/history.tex
@@ -1,3 +1,5 @@
+\begin{release}{bltx-v1.1}{2020-04-29} \item Add support for the institution, organization, eprint, eprinttype and eprintclass fields Force urls output when they are the only reference available Updates to the documentation \end{release}
+\begin{release}{bltx-v1.0}{2020-04-25} \item First public release \end{release}
\begin{release}{bltx-v0.9}{2020-04-25} \item Preparing for public release: Licence, Readme, update documentation, handle suggestions from the Working Group \end{release}
\begin{release}{bltx-v0.8}{2020-04-09} \item Make the style usable as an extension, and keep possibility of generating extended styles \end{release}
\begin{release}{bltx-v0.7}{2020-04-09} \item Move to diff model approach to be more portable \end{release}
@@ -7,4 +9,3 @@
\begin{release}{bltx-v0.3}{2020-04-05} \item Biblatex style with first complete example \end{release}
\begin{release}{bltx-v0.2}{2020-04-02} \item Biblatex style sent for review \end{release}
\begin{release}{bltx-v0.1}{2020-04-02} \item First version of the biblatex style \end{release}
-\begin{release}{bltx-1.0}{2020-04-25} \item First public release \end{release}
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/manual.bib b/Master/texmf-dist/doc/latex/biblatex-software/manual.bib
index 44b37465340..c9bc76a4ec6 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/manual.bib
+++ b/Master/texmf-dist/doc/latex/biblatex-software/manual.bib
@@ -1,3 +1,14 @@
+@software{2013ascl.soft05002P,
+ author = {{Pontzen}, A. and {Ro{\v s}kar}, R. and {Stinson}, G. and {Woods}, R.},
+ title = "{pynbody: N-Body/SPH analysis for python}",
+ editor = {{Astrophysics Source Code Library}},
+ year = 2013,
+ month = may,
+ eprint = {1305.002},
+ eprinttype = "ascl",
+ url = {http://adsabs.harvard.edu/abs/2013ascl.soft05002P},
+ note = {Provided by the SAO/NASA Astrophysics Data System}
+}
@manual {scilabdoc,
title = {The offical Scilab documentation},
@@ -77,3 +88,4 @@
urllocal = "http://www.dicosmo.org/Articles/2020-CiSE-swhid.pdf",
Journal = {Computing in Science and Engineering}
}
+
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdf b/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdf
index 31ee8ffde3b..2be521992ee 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex b/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex
index 93c502933b9..918eb4eec54 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex
@@ -76,6 +76,7 @@ extended with the \texttt{software} module.
\item softwaremodule entry Voronoi: from the chain of crossrefs \cite{cgal:lp-gi-20a}, and the from the condensed bibtem \cite{cgal:lp-gi-20a-condensed} (they should be identical)
\item software entry Parmap \cite{parmap}
\item codefragment entry simplemapper \cite{simplemapper}
+\item software entry from the Astrophysics Source Code Library, using the eprint field \cite{2013ascl.soft05002P}
\item documentation in a software entry \cite{scilabdoc}
\end{itemize}
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdf
index d445d6ed783..e6a6a612454 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex b/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex
index 71aeac13506..5e04310ba80 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex
@@ -14,7 +14,7 @@
url={http://mirror.ctan.org/macros/latex/exptl/biblatex-contrib/biblatex-software/},
author={Roberto Di Cosmo},
email={roberto@dicosmo.org},
- revision={1.0},
+ revision={1.1},
date={\today}}
\hypersetup{%
@@ -199,6 +199,33 @@ of the source code of the software described in the entry. The default is |true|
\noindent This option controls the inclusion of the url of the code hosting
platform where the software described in the enttry is developed. The default is |true|.
+\subsection{Adding support for additional software identifiers}
+
+It would not be reasonable to have a dedicated field for each of the many software releated identifiers that exist.
+If you want to create bibliographic records that use identifiers not natively supported by this package, you
+can use the standard Bib\LaTeX\ mechanism that uses the ~eprint~, ~eprinttype~ and ~eprintclass~ fields.\\
+
+The default formatting of these fields may be what you want, but if it's not the case, you can define
+your own format, as explained in the official Bib\LaTeX\ documentation.\\
+
+As an example, this style already contains a specific formatting definition for the Astrophysics Source Code Library (ASCL) software records,
+via the following declaration in the ~software.bbx~ file:
+
+\begin{verbatim}
+\DeclareFieldFormat{eprint:ascl}{%
+ ascl\addcolon\space
+ \ifhyperref
+ {\href{https://ascl.net/#1}{%
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}
+ {\nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}
+\end{verbatim}
+
\section{Details}
The detailed information for this style is contained in the example document and
diff --git a/Master/texmf-dist/doc/latex/biblatex-software/swentries.tex b/Master/texmf-dist/doc/latex/biblatex-software/swentries.tex
index 14199707002..03aaee2c9ac 100644
--- a/Master/texmf-dist/doc/latex/biblatex-software/swentries.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-software/swentries.tex
@@ -8,7 +8,7 @@ Computer software.
\emph{Required fields:} \texttt{author} / \texttt{editor}, \texttt{title}, \texttt{url}, \texttt{year}
-\emph{Optional fields:} \texttt{abstract}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\emph{Optional fields:} \texttt{abstract}, \texttt{date}, \texttt{doi}, \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
\texttt{institution}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{urldate}, \texttt{version}
@@ -18,7 +18,7 @@ fields from the entry mentioned in the \texttt{crossref} field.
\emph{Required fields:} \texttt{author} / \texttt{editor}, \texttt{title}, \texttt{url}, \texttt{version}, \texttt{year}
-\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{subtitle}, \texttt{urldate}
@@ -29,7 +29,7 @@ fields from the entry mentioned in the \texttt{crossref} field.
\emph{Required fields:} \texttt{author}, \texttt{subtitle}, \texttt{url}, \texttt{year}
-\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{editor}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\emph{Optional fields:} \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}, \texttt{editor}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{title}, \texttt{urldate}, \texttt{version}
@@ -40,7 +40,7 @@ Inherits values of missing fields from the entry mentioned in the \texttt{crossr
\emph{Required fields:} \texttt{url}
-\emph{Optional fields:} \texttt{author}, \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
+\emph{Optional fields:} \texttt{author}, \texttt{abstract}, \texttt{crossref}, \texttt{date}, \texttt{doi}, \texttt{eprint}, \texttt{eprintclass}, \texttt{eprinttype}, \texttt{file}, \texttt{hal\_id}, \texttt{hal\_version},
\texttt{institution}, \texttt{introducedin}, \texttt{license}, \texttt{month}, \texttt{note}, \texttt{organization}, \texttt{publisher},
\texttt{related}, \texttt{relatedtype}, \texttt{relatedstring}, \texttt{repository}, \texttt{swhid}, \texttt{subtitle}, \texttt{title}, \texttt{urldate}, \texttt{version}, \texttt{year}
@@ -63,6 +63,9 @@ style. It is not used by all standard bibliography styles.
\item[{editor}] list (name). The coordinator(s) of large modular software projects.
\item[{file}] field (verbatim). A link to download a copy of the work.
\item[{doi}] field (verbatim). The Digital Object Identifier of the work.
+\item[{eprint [biblatex only]}] field (verbatim). An electronic identifier of the work. This field can be used to accommodate electronic identifiers different from the ones that have a dedicate field in this style.
+\item[{eprinttype [biblatex only]}] field (verbatim). The type of eprint identifier, e. g., the name of the archive, repository, service, or system the eprint field refers to. Will be typeset by default as a prefix of the content of the eprint field.
+\item[{eprintclass [biblatex only]}] field (verbatim). Additional information related to the resource indicated by the eprinttype field. This could be a section of an archive, a path indicating a service, a classification of some sort.
\item[{\texttt{hal\_id} [not in biblatex standard styles]}] field (verbatim). A digital identifier for the
software record including its description and metadata on HAL.
\item[{\texttt{hal\_version} [not in biblatex standard styles]}] field (verbatim). The version of the HAL software record designated by \texttt{hal\_id}.
@@ -74,14 +77,11 @@ For compatibility with BibTeX, one can also use the three letter
abbreviations \emph{jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec},
which must be given without any braces or quotes.
\item[{note}] field (literal). Release note of the cited version.
-\item[{institution}] field (literal). The institution(s) that took part in the
-software project.
+\item[{institution}] list (literal). The institution(s) that took part in the software project.
\item[{introducedin [not in biblatex standard styles]}] field (literal). If this is a software module or fragment,
the version of the containing project where it has been first introduced.
-\item[{organization}] field (literal). The organization(s) that took part in the
-software project.
-\item[{publisher}] list (literal). The name(s) of the publisher(s) of the software
-record (we need to define the notion of a research software publisher, see issue \href{https://gitlab.inria.fr/gt-sw-citation/bibtex-sw-entry/issues/2}{\#2}).
+\item[{organization}] list (literal). The organization(s) that took part in the software project.
+\item[{publisher}] list (literal). The name(s) of the publisher(s) of the \emph{qualified} software record.
\item[{related [biblatex only]}] field (separated values). Citation keys of other entries which have a relationship to this entry.
\item[{relatedtype [biblatex only]}] field (identifier).
\item[{relatedstring [biblatex only]}] field (literal).
@@ -233,7 +233,7 @@ we can do this as follows:
author = {Di Cosmo, Roberto and Marco Danelutto},
year = {2020},
version = {1.1.1},
- institution = {Inria},
+ 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},
diff --git a/Master/texmf-dist/source/latex/biblatex-software/Makefile b/Master/texmf-dist/source/latex/biblatex-software/Makefile
index 9db14d0e6df..2abba8d41a4 100644
--- a/Master/texmf-dist/source/latex/biblatex-software/Makefile
+++ b/Master/texmf-dist/source/latex/biblatex-software/Makefile
@@ -6,20 +6,25 @@ all: $(MAIN).pdf
biblatex-styles: stublist mkbiblatexstubs.sh
bash mkbiblatexstubs.sh < stublist
+biblio.bib: ../swentry.org
+ ../bin/extract-bibtex.pl < $< > $@
+
swentries.tex: ../swentry.org
../bin/export-org-to-latex $<
../bin/extract-entries.pl < ../swentry.tex > $@
-software-biblatex.pdf: software-biblatex.tex swentries.tex history.tex
+software-biblatex.pdf: software-biblatex.tex swentries.tex history.tex biblio.bib manual.bib
pdflatex software-biblatex.tex
bibtex software-biblatex
pdflatex software-biblatex.tex
pdflatex software-biblatex.tex
+sample-use-sty.pdf: biblio.bib
+
history.tex:
git for-each-ref --format="\begin{release}{%(refname:short)}{%(taggerdate:short)} \item %(subject) \end{release}" refs/tags | grep bltx | tac > history.tex
-sample.tex : biblatex-styles
+sample.tex : biblio.bib biblatex-styles
%.pdf: %.tex
ifeq (, $(shell PATH=$(PATH) which rubber))
diff --git a/Master/texmf-dist/tex/latex/biblatex-software/software.bbx b/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
index 3b7f8d07360..007d6e83250 100644
--- a/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-software/software.bbx
@@ -41,17 +41,27 @@
\DeclareLanguageMapping{french}{french-software}
%
+% Macros
+%
+
+\newbibmacro*{swurl+urldate}{%
+ \mkbibacro{URL}\addcolon\addspace%
+ \ifhyperref%
+ {\href{\strfield{url}}{\nolinkurl{\strfield{url}}}}%
+ {\nolinkurl{\strfield{url}}}%
+ \iffieldundef{urlyear}%
+ {}%
+ {\setunit*{\addspace}%
+ \usebibmacro{urldate}}}
+
+%
% Formatting fields for the software entries
%
\DeclareFieldFormat[softwaremodule,codefragment]{subtitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{url}{
\iftoggle{bbx:url}%
- {\mkbibacro{URL}\addcolon\addspace%
- \ifhyperref%
- {\href{#1}{\nolinkurl{#1}}}%
- {\nolinkurl{#1}}%
- }%
+ {\usebibmacro{swurl+urldate}}
{}%
}
\DeclareFieldFormat[software,softwareversion,softwaremodule,codefragment]{hal_id}{
@@ -87,6 +97,22 @@
\usebibmacro{list:andothers}}
%
+% Add here special eprint formats
+%
+\DeclareFieldFormat{eprint:ascl}{%
+ ascl\addcolon\space
+ \ifhyperref
+ {\href{https://ascl.net/#1}{%
+ \nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}
+ {\nolinkurl{#1}%
+ \iffieldundef{eprintclass}
+ {}
+ {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}}
+
+%
% Macros to format output
%
\newbibmacro*{swtitleauthoreditoryear}{%
@@ -161,11 +187,35 @@
\setunit*{\addcomma\addspace}%
\printfield{hal_id}%
\setunit*{\addcomma\addspace}%
+ \iftoggle{bbx:eprint}
+ {\usebibmacro{eprint}}
+ {}%
+ \setunit*{\addcomma\addspace}%
\printfield{url}%
\setunit*{\addcomma\addspace}%
\printfield{repository}%
\setunit*{\addcomma\addspace}%
\printfield{swhid}%
+ %
+ % If only the url is present, output it regardless of bbx:url directive
+ %
+ \ifboolexpr{%
+ not test {\iftoggle{bbx:url}}%
+ and
+ not test {\iffieldundef{url}}%
+ and
+ test {\iffieldundef{doi}}%
+ and
+ test {\iffieldundef{eprint}}%
+ and
+ test {\iffieldundef{hal_id}}%
+ and
+ test {\iffieldundef{swhid}}%
+ and
+ test {\iffieldundef{repository}}%
+ }%
+ {\usebibmacro{swurl+urldate}}%
+ {}%
}
\newbibmacro*{swrelated}{%
@@ -184,6 +234,10 @@
\iftoggle{bbx:swlabels}{\bibstring{software}{\addspace}}{}%
\usebibmacro{swtitleauthoreditoryear}%
\newunit\newblock%
+ \printlist{institution}
+ \newunit\newblock%
+ \printlist{organization}
+ \newunit\newblock%
\usebibmacro{licenses}%
\newunit\newblock%
\usebibmacro{swids}%
@@ -197,6 +251,10 @@
\iftoggle{bbx:swlabels}{\bibstring{swversion}\addspace}{}%
\usebibmacro{swsubtitleauthoreditoryear}%
\newunit\newblock%
+ \printlist{institution}
+ \newunit\newblock%
+ \printlist{organization}
+ \newunit\newblock%
\usebibmacro{licenses}%
\newunit\newblock%
\usebibmacro{swids}%
@@ -210,6 +268,10 @@
\iftoggle{bbx:swlabels}{\bibstring{swmodule}\addspace}{}%
\usebibmacro{swsubtitleauthoreditoryear}%
\newblock\newblock%
+ \printlist{institution}
+ \newunit\newblock%
+ \printlist{organization}
+ \newunit\newblock%
\usebibmacro{licenses}%
\newunit\newblock%
\usebibmacro{swids}%
@@ -223,6 +285,10 @@
\iftoggle{bbx:swlabels}{\bibstring{swexcerpt}\addspace}{}%
\usebibmacro{codefragmenttitleauthoreditoryear}%
\newunit\newblock%
+ \printlist{institution}
+ \newunit\newblock%
+ \printlist{organization}
+ \newunit\newblock%
\usebibmacro{licenses}%
\newunit\newblock%
\usebibmacro{swids}%
diff --git a/Master/texmf-dist/tex/latex/biblatex-software/software.dbx b/Master/texmf-dist/tex/latex/biblatex-software/software.dbx
index 05422738801..4d45bc7fcc0 100644
--- a/Master/texmf-dist/tex/latex/biblatex-software/software.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-software/software.dbx
@@ -28,6 +28,9 @@
date,
doi,
editor,
+ eprint,
+ eprintclass,
+ eprinttype,
file,
hal_id,
hal_version,
@@ -69,6 +72,9 @@
date,
doi,
editor,
+ eprint,
+ eprintclass,
+ eprinttype,
file,
hal_id,
hal_version,
@@ -114,6 +120,9 @@
date,
doi,
editor,
+ eprint,
+ eprintclass,
+ eprinttype,
file,
hal_id,
hal_version,
@@ -154,6 +163,9 @@
crossref,
date,
doi,
+ eprint,
+ eprintclass,
+ eprinttype,
file,
hal_id,
hal_version,