From 92cec824af2c643ec0cb870e5243eee8923ae13e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 8 Jun 2023 19:49:38 +0000 Subject: biblatex-publist (8jun23) git-svn-id: svn://tug.org/texlive/trunk@67302 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/biblatex-publist/README | 4 + .../latex/biblatex-publist/biblatex-publist.pdf | Bin 408650 -> 411014 bytes .../latex/biblatex-publist/biblatex-publist.tex | 30 +++++- .../tex/latex/biblatex-publist/publist.bbx | 103 +++++++++++++-------- .../tex/latex/biblatex-publist/publist.cbx | 4 +- .../tex/latex/biblatex-publist/publist.dbx | 2 +- 6 files changed, 96 insertions(+), 47 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/README b/Master/texmf-dist/doc/latex/biblatex-publist/README index 7ba4c4a901f..2cd3e8834d2 100644 --- a/Master/texmf-dist/doc/latex/biblatex-publist/README +++ b/Master/texmf-dist/doc/latex/biblatex-publist/README @@ -46,6 +46,10 @@ instructions. == CHANGES == +* V. 2.5 (2023-06-08): + - New macros \GetSectionCount[] and \GetTotalCount to output statistics (#46). + - Fix issues with fixyear=false (#47). + * V. 2.4 (2023-05-18) - New option "fixyear" to opt-out special year handling and positioning (#45). - Make delimiters of author list with plauthorhandling=omit configurable. diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf index 39a3d201f43..f935cfcd901 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf and b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex index 2f396bb757a..12358b0589e 100644 --- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex +++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex @@ -115,7 +115,7 @@ \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}% } -\date{Version 2.4, 2023/05/18} +\date{Version 2.5, 2023/06/08} \maketitle \begin{abstract} @@ -273,7 +273,8 @@ By default, the year (or pubstate, if no year is given) is positioned on a fixed (at the very beginning with \joption{plauthorhandling=omit}, after the author list with \joption{plauthorhandling=highlight}). If you want to have the year at the position determined by your base style instead, use \joption{fixyear=false}. Note that this removes any highlighting -of the year, independent of \joption{hlyear}. +of the year, independent of \joption{hlyear}. Also note that \bibltx's \jfoption{mergedate} option +is not well supported by \bpl. \item [{\joption{hlyear{[}=true|false{]}}}] default: \emph{true}.\footnote{% Named \joption{boldyear} up to \bpl\ 1.27. The old option is still supported.} @@ -467,6 +468,22 @@ repeatedly and applies to all subsequent items as of the next section that foll For the numbering output by \jfcsmacro{citeitem}, analogous shifting can be done via the macro \jcsmacro*{shiftciteitem}. +\subsection{Statistics}\label{sec:stats} + +The macro \jcsmacro*{GetTotalCount} outputs the total number of entries in your publication list. + +If you want to output the number of publications per section (when employing \jfcsmacro{refsection}), +you can use the macro \jcsmacro*{GetSectionCount} which takes one optional argument, the section +number. For instance, +\begin{lstlisting}[moretexcs={[4]{GetSectionCount}}] +\GetSectionCount[1] +\end{lstlisting} +outputs the number of items in the first section. If the optional argument is not given, the +statistics for the current section is output (this requires the macro to be within a \jfcsmacro{refsection}). + +Note that both values might require additional \LaTeX\ runs to get properly set. You will +get a package warning if additional runs are needed. + \subsection{Handling Multiple Authors and\slash or Name Variants}\label{sec:multiauthors} If multiple \jcsmacro{plauthorname} specifications have been entered (or a \jcsmacro{plauthorname} specification @@ -927,11 +944,18 @@ until further change). \begin{description} + \item [{V. 2.5 (2023/06/08):}]~ + \begin{itemize} + \item New macros \jcsmacro{GetSectionCount[]} and \jcsmacro{GetTotalCount} + to output statistics (see sec.~\ref{sec:stats}). + \item Fix issues with \joption{fixyear=false}. + \end{itemize} + \item [{V. 2.4 (2023/05/18):}]~ \begin{itemize} \item New option \joption{fixyear} to opt-out special year handling and positioning. \item Make delimiters of author list with \joption{plauthorhandling=omit} configurable - (see sec.~\ref*{sec:auxmacros}). + (see sec.~\ref{sec:auxmacros}). \end{itemize} \item [{V. 2.3 (2023/03/18):}]~ diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx index 4d9a50efa2b..b7d1a97c5eb 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.4} -\def\bpl@rdate{forthcoming} +\def\bpl@version{2.5} +\def\bpl@rdate{2023/06/08} \ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space biblatex bibliography style (JSP)] @@ -553,6 +553,20 @@ {}{\PackageWarning{biblatex-publist}{Patching refsection failed!}} }{} +\newcommand*\GetSectionCount[1][\empty]{% + \edef\bpl@secno{#1}% + \ifx\bpl@secno\empty% + \csnumdef{bpltmprefsection}{\c@refsection}% + \csuse{bpl@secitems:\bpltmprefsection}% + \else% + \csuse{bpl@secitems:#1}% + \fi% +} + +\newcommand*\GetTotalCount{% + \csuse{bpl@items}% +} + % % Removing braces from names (courtesy of egreg at % http://tex.stackexchange.com/a/79583/19291) @@ -838,30 +852,33 @@ \fi \csnumgdef{bpl@saverefsection}{\c@refsection}% \if@bpl@reversenum% - % Write item count to the bpx file + % Check if we have a changed value \global\boolfalse{needbpxrerun}% + \ifcsdef{bpl@items:\therefsection}{% + \ifnumequal{\value{bplitems}}{\numexpr\csuse{bpl@items:\therefsection}\relax}{}{% + \global\booltrue{needbpxrerun} + } + }{\global\booltrue{needbpxrerun}} + % Write item count to the bpx file \if@filesw% - % Check if we have a changed value - \ifcsdef{bpl@items:\therefsection}{% - \ifnumequal{\value{bplitems}}{\numexpr\csuse{bpl@items:\therefsection}\relax}{}{% - \global\booltrue{needbpxrerun} - } - }{\global\booltrue{needbpxrerun}} \protected@write\bpl@bpxfile{}{% \protect\csdef{bpl@items:\therefsection}{\thebplitems}% - \protect\csdef{bpl@items}{\thebplitems}% - \protect\csdef{bpl@secitems:\therefsection}{\thebplsecitems}% \protect\csdef{bpl@savesecitems:\theplnumgroup}{\thebplbgitems}% }% \fi \fi + % Write item count to the bpx file + \if@filesw% + \protected@write\bpl@bpxfile{}{% + \protect\csdef{bpl@items}{\thebplitems}% + \protect\csdef{bpl@secitems:\therefsection}{\thebplsecitems}% + }% + \fi } {% - \if@bpl@reversenum% - % We count all really output items for proper reverse numbering - % (global and per section) - \stepcounter{bplitems}% - \fi% + % We count all really output items for proper reverse numbering + % (global and per section) and \GetTotalCount + \stepcounter{bplitems}% \stepcounter{bplsecitems}% \ifbool{plnumgroup}{% \stepcounter{bplbgitems}% @@ -916,30 +933,28 @@ % Reverse numbering % \AtBeginDocument{% - \if@bpl@reversenum - \newread\bpl@read@bpxfile - \immediate\openin\bpl@read@bpxfile=\jobname.bpx - \loop\unless\ifeof\bpl@read@bpxfile - \read\bpl@read@bpxfile to\bpx@data - \ifeof\bpl@read@bpxfile% - \else - \bpx@data - \fi - \repeat - \immediate\closein\bpl@read@bpxfile - \newwrite\bpl@bpxfile - \immediate\openout\bpl@bpxfile=\jobname.bpx - \if@filesw% - \protected@write\bpl@bpxfile{}{\@percentchar\space biblatex-publist auxiliary file: - count of items for reverse numbering}% - \fi - \AtEndDocument{% - \ifbool{needbpxrerun}{% - \PackageWarning{biblatex-publist}{Please rerun LaTeX!\MessageBreak - Still counting items}% - }{} - } + \newread\bpl@read@bpxfile + \immediate\openin\bpl@read@bpxfile=\jobname.bpx + \loop\unless\ifeof\bpl@read@bpxfile + \read\bpl@read@bpxfile to\bpx@data + \ifeof\bpl@read@bpxfile% + \else + \bpx@data + \fi + \repeat + \immediate\closein\bpl@read@bpxfile + \newwrite\bpl@bpxfile + \immediate\openout\bpl@bpxfile=\jobname.bpx + \if@filesw% + \protected@write\bpl@bpxfile{}{\@percentchar\space biblatex-publist auxiliary file: + count of items for reverse numbering and stats}% \fi + \AtEndDocument{% + \ifbool{needbpxrerun}{% + \PackageWarning{biblatex-publist}{Please rerun LaTeX!\MessageBreak + Still counting items}% + }{} + } } \AtEndOfPackage{% @@ -1387,8 +1402,10 @@ \usebibmacro{bpl:year+labelyear}% \addspace% \fi% - \printnames[][-\value{listtotal}]{author}% - \setunit{\addspace}% + \ifthenelse{\value{nonplauthors}>0\AND{\value{plauthors}}>0} + {\printnames[][-\value{listtotal}]{author}% + \setunit{\addspace}}% + {}% \iffieldundef{nameaddon} {} {% @@ -1490,6 +1507,10 @@ \printtext[parens]{% \printfield{issue}% \setunit*{\addspace}% + \if@fixyear\else% + % turn of mergedate, as this doesn't play well with us. + \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}% + \fi% \usebibmacro{date}}% }% \newunit% diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx index 5587789cc40..f9f0395685b 100644 --- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx @@ -26,8 +26,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{2.4} -\def\bpl@rdate{forthcoming} +\def\bpl@version{2.5} +\def\bpl@rdate{2023/06/08} \ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space biblatex citation style (JSP)] diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx index ccc929ac45c..5305ff52416 100644 --- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx @@ -1,5 +1,5 @@ % publist.dbx, biblatex data model specification for the biblatex-publist -% package, version 2.4 (2023/05/18). +% package, version 2.5 (2023/06/08). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 -- cgit v1.2.3