diff options
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx')
-rw-r--r-- | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx index bfc159a131..8176810996 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx @@ -26,14 +26,50 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{2.9} -\def\bpl@rdate{2025/05/09} +\def\bpl@version{2.12} +\def\bpl@rdate{2024/07/16} \ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space biblatex citation style (JSP)] \RequireCitationStyle{numeric} +\DeclareCiteCommand{\citesecitem} + {\defcounter{maxnames}{999}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\usebibmacro{bpl:cite:secitem}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citesecitem} + {\defcounter{maxnames}{999}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\usebibmacro{bpl:cite:secitem}% + \usebibmacro{bpl:cite:secitemsec}% + } + {\multicitedelim} + {\usebibmacro{postnote}} + +\newbibmacro*{bpl:cite:secitem}{% + \ifcsdef{bpl@itemnumber:\thefield{entrykey}}% + {\mkbibbrackets{\csuse{bpl@itemnumber:\thefield{entrykey}}}}% + {\textbf{\mkbibbrackets{???}}}% +} + +\newcommand*\secitemsecref[1]{% + \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}% +} + +\newbibmacro*{bpl:cite:secitemsec}{% + \ifcsdef{bpl@itemsec:\thefield{entrykey}}% + {\addspace\secitemsecref{\csuse{bpl@itemsec:\thefield{entrykey}}}}% + {}% +} + \DeclareCiteCommand{\citeitem} {\defcounter{maxnames}{999}% \boolfalse{citetracker}% @@ -55,6 +91,28 @@ \printtext[labelnumberwidth]{\mkrefdesc{\thefield{labelnumber}}}% } +\newcommand*\itemrangesep{\bibrangedash} + +\newcommand*\citeitemrange[2]{% + \citeitem{#1}\itemrangesep\citeitem{#2}% +} + +\NewDocumentCommand\citesecitemrange{s m m} +{% + \IfBooleanTF{#1}% + {\ifcsdef{bpl@itemsec:#2}% + {\ifcsdef{bpl@itemsec:#3}% + {\ifcsequal{bpl@itemsec:#2}{bpl@itemsec:#3}% + {\citesecitem{#2}\itemrangesep}% + {\citesecitem*{#2}\,\itemrangesep\,}% + \citesecitem*{#3}}% + {\citesecitem*{#2}\itemrangesep\citesecitem*{#3}}% + }% + {\citesecitem{#2}\itemrangesep\citesecitem*{#3}}% + }% + {\citesecitem{#2}\itemrangesep\citesecitem{#3}}% +} + % Manual way to adjust numbering \csdef{bpl@secstartshift}{0} \newcommand*\shiftciteitem[1]{\csdef{bpl@secstartshift}{#1}} |