diff options
author | Karl Berry <karl@freefriends.org> | 2020-04-30 21:27:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-04-30 21:27:51 +0000 |
commit | a1cbf6d2c6f7847ae75d6eca30f61cf4512b2317 (patch) | |
tree | 7c6ce79e7700d65cd7e49b7976d1fa4247f15a51 /Master | |
parent | 8731099968c37c17c6a916dcb3100922e73a70e1 (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.bib | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/history.tex | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/manual.bib | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.pdf | bin | 109881 -> 112874 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/sample-use-sty.tex | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.pdf | bin | 167058 -> 169749 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/software-biblatex.tex | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex-software/swentries.tex | 22 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/biblatex-software/Makefile | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-software/software.bbx | 76 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-software/software.dbx | 12 |
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 Binary files differindex 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 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 Binary files differindex 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 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, |