From a1cbf6d2c6f7847ae75d6eca30f61cf4512b2317 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 30 Apr 2020 21:27:51 +0000 Subject: biblatex-software (30apr20) git-svn-id: svn://tug.org/texlive/trunk@54950 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-software/software.bbx | 76 ++++++++++++++++++++-- .../tex/latex/biblatex-software/software.dbx | 12 ++++ 2 files changed, 83 insertions(+), 5 deletions(-) (limited to 'Master/texmf-dist/tex') 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 @@ -40,6 +40,20 @@ \DeclareLanguageMapping{english}{english-software} \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 % @@ -47,11 +61,7 @@ \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}{ @@ -86,6 +96,22 @@ #1\isdot \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 % @@ -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, -- cgit v1.2.3