diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx | 80 |
1 files changed, 65 insertions, 15 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx index c7d385b452d..d3d4381a9ab 100644 --- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx @@ -25,8 +25,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{2.9} -\def\bpl@rdate{2025/05/09} +\def\bpl@version{2.11} +\def\bpl@rdate{2024/07/02} \ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space biblatex bibliography style (JSP)] @@ -552,16 +552,29 @@ {}{\PackageWarning{biblatex-publist}{Patching refsection failed!}} }{} -\newcommand*\GetSectionCount[1][\empty]{% - \edef\bpl@secno{#1}% - \ifx\bpl@secno\empty% - \csnumdef{bpltmprefsection}{\c@refsection}% +\ExplSyntaxOn + +\int_new:N \l_bpl_sec_cnt_int + +\NewDocumentCommand \GetSectionCount { >{\SplitList{,}} o } +{ + \IfNoValueTF{#1}{% + \csnumdef{bpltmprefsection}{\c@refsection} \csuse{bpl@secitems:\bpltmprefsection}% - \else% - \csuse{bpl@secitems:#1}% - \fi% + }{ + \int_zero:N \l_bpl_sec_cnt_int + \ProcessList{#1}{\__bpl_add_section_count} + \int_use:N \l_bpl_sec_cnt_int + } } +\cs_new:Npn \__bpl_add_section_count #1 +{ + \int_add:Nn \l_bpl_sec_cnt_int { \use:c{bpl@secitems:#1} } +} + +\ExplSyntaxOff + \newcommand*\GetTotalCount{% \csuse{bpl@items}% } @@ -897,7 +910,15 @@ \newrobustcmd{\mkbibdesc}[1]{% % Print labelnumber as actual number, plus item total - \number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax% + \edef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax}% + \bpl@current@item@no% + % Store number in pbx file + \if@filesw% + \protected@write\bpl@bpxfile{}{% + \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}% + \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}% + }% + \fi% }% % Way to manually shift the numbering @@ -1112,21 +1133,25 @@ % from publist \defbibcheck{nosubmitted}{% \edef\tmpps{\bibstring{submitted}}% - \iffieldequals{pubstate}{\tmpps}{\skipentry}{}% + \iffieldequals{pubstate}{\tmpps}{\skipentry}{% + \iffieldequalstr{pubstate}{submitted}{\skipentry}{}}% } % check to exclude work in preparation % from publist \defbibcheck{noprepared}{% \edef\tmpps{\bibstring{inpreparation}}% - \iffieldequals{pubstate}{\tmpps}{\skipentry}{}% + \iffieldequals{pubstate}{\tmpps}{\skipentry}{% + \iffieldequalstr{pubstate}{inpreparation}{\skipentry}{}}% } % check to exclude all work which is not (pre-)published \defbibcheck{onlypublished}{% \iffieldundef{pubstate}{}{% \edef\tmpps{\bibstring{prepublished}}% - \iffieldequals{pubstate}{\tmpps}{}{\skipentry}% + \iffieldequals{pubstate}{\tmpps}{% + \iffieldequalstr{pubstate}{prepublished}{}{\skipentry}% + }{\skipentry}% }% } @@ -1137,12 +1162,37 @@ \edef\tmppss{\bibstring{forthcoming}}% \iffieldequals{pubstate}{\tmpps}{}{% \iffieldequals{pubstate}{\tmppss}{}{% - \skipentry}% - }% + \iffieldequalstr{pubstate}{prepublished}{}{% + \iffieldequalstr{pubstate}{forthcoming}{}{% + \skipentry}% + }% + }% + }% + }% +} + +% check to exclude all work which is not peer-reviewed +\defbibcheck{onlypr}{% + \iffieldundef{peerreview}{\skipentry}{% + \edef\tmppr{\bibstring{no}}% + \iffieldequals{peerreview}{\tmpps}{\skipentry}{% + \iffieldequalstr{peerreview}{no}{\skipentry}{}% + }% + }% +} + +% check to exclude all work which *is* peer-reviewed +\defbibcheck{nopr}{% + \iffieldundef{peerreview}{}{% + \edef\tmppr{\bibstring{no}}% + \iffieldequals{peerreview}{\tmpps}{}{% + \iffieldequalstr{peerreview}{no}{}{\skipentry} + }% }% } + % % Count non-plauthors % |