texlive[56028] Master/texmf-dist: biblatex-publist (2aug20)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 2 23:05:34 CEST 2020


Revision: 56028
          http://tug.org/svn/texlive?view=revision&revision=56028
Author:   karl
Date:     2020-08-02 23:05:34 +0200 (Sun, 02 Aug 2020)
Log Message:
-----------
biblatex-publist (2aug20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/README
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
    trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2020-08-02 21:05:13 UTC (rev 56027)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2020-08-02 21:05:34 UTC (rev 56028)
@@ -45,6 +45,12 @@
 
 == CHANGES ==
 
+* V. 1.18 (2020-07-31)
+	- Support name truncation via maxnames.
+	- Fix mine filter with author lists longer than maxnames.
+	- Fix double editor with @periodical type.
+	- Use editortypedelim.
+
 * V. 1.17 (2020-07-10):
 	- Add options to get clickable titles.
 

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex	2020-08-02 21:05:13 UTC (rev 56027)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex	2020-08-02 21:05:34 UTC (rev 56028)
@@ -102,13 +102,13 @@
 \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
 }
 
-\date{Version 1.17, 2020/07/10}
+\date{Version 1.18, 2020/07/31}
 \maketitle
 
 \begin{abstract}
-\noindent The \bpl\ package provides a \emph{biblatex bibliography style file}
-({*}.bbx) for publication lists, i.\,e.\ a bibliography containing one's own
-publications. The style file draws on \bibltx's \emph{authoryear} style per default
+\noindent The \bpl\ package provides a \bibltx\ style file
+for publication lists, i.\,e.\ a bibliography containing one's own
+publications. It draws on \bibltx's \emph{authoryear} style by default
 (which can be changed), but provides some extra features needed for publication lists,
 such as the omission or highlighting of the own name from\slash in author or editor data.
 The package requires at least version 3.8 of the \bibltx\ package\footnote{For \bibltx, see
@@ -311,6 +311,31 @@
 entries authored or edited by any and all specified persons.
 
 
+\subsection{Truncation of name lists}\label{sec:trunc}
+
+Truncation of name lists via the \jfoption{maxnames} and \jfoption{minnames} \bibltx\ options is supported.
+However, it works a bit differently than normal truncation, since the publication list authors have to be
+taken care of specifically.
+
+With \joption{plauthorhandling=omit}, the \jfoption{maxnames} value specifies how many co-authors are added in parenthesis (the omitted
+author name is not counted here). If the treshold is reached, \emph{et al.}\ (or the corresponding localized string) is appended (and the list truncated
+to the \jfoption{minnames} value, \jfoption{1} by default). So you get something like:
+\begin{quote}
+	\textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{quote}
+%
+With \joption{plauthorhandling=highlight}, \bpl\ outputs all publist authors, even if the \jfoption{maxnames} treshold has been reached.
+However, other authors (beyond \jfoption{minnames}) are omitted. If they come before a publist author, this is indicated by [\ldots\unkern],
+if authors follow after all publication list authors, \emph{et al.} is appended, as in:
+\begin{quote}
+	Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{quote}
+%
+The omission indicator, \jcsmacro*{plnameomission}, can be redefined. The default definition is:
+\begin{lstlisting}[moretexcs={[4]{plnameomission,bibellipsis,addcomma,addspace}}]
+\newcommand*\plnameomission{\bibellipsis\addcomma\addspace}
+\end{lstlisting}
+
 \section{Customization}
 
 \subsection{Auxiliary macros and lengths}\label{sec:auxmacros}
@@ -592,6 +617,14 @@
 \section{Revision Log}
 
 \begin{description}
+	\item [{V. 1.18 (2020-07-31):}]~
+	\begin{itemize}
+		\item Support name truncation via \jfoption{maxnames}. See sec.~\ref{sec:trunc}.
+		\item Fix \joption{filter=mine} with author lists longer than \jfoption{maxnames}.
+		\item Fix double editor with \texttt{@periodical} type.
+		\item Use \jfcsmacro{editortypedelim}.
+	\end{itemize}
+
 	\item [{V. 1.17 (2020-07-10):}]~
 	\begin{itemize}
 		\item Add options to get clickable titles. See sec.~\ref{sec:clicktitles}.

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2020-08-02 21:05:13 UTC (rev 56027)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2020-08-02 21:05:34 UTC (rev 56028)
@@ -25,8 +25,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.17}
-\def\bpl at rdate{2020/07/10}
+\def\bpl at version{1.18}
+\def\bpl at rdate{2020/07/31}
 
 \ProvidesFile{publist.bbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex bibliography style (JSP)]
@@ -378,7 +378,13 @@
 \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}
 \DeclareFieldFormat{related:parttranslationof}{\mkbibbrackets{#1}}
 
+%
+% Delimiters
+%
+% Omission of names in truncated autor list
+\newcommand*\plnameomission{\bibellipsis\addcomma\addspace}
 
+
 %
 % Deal with numbering (resume numbers in refsections)
 %
@@ -480,8 +486,8 @@
     \addspace\bibstring{and}\space}
     
 \AtDataInput{%
-    \indexnames[authorfiltered]{author}%
-    \indexnames[editorfiltered]{editor}%
+    \indexnames[authorfiltered][-\value{listtotal}]{author}%
+    \indexnames[editorfiltered][-\value{listtotal}]{editor}%
 }
 
 \defbibfilter{mine}{category=filtered}
@@ -492,30 +498,39 @@
 %
 
 \newcounter{nonplauthors}
+\newcounter{nonpleditors}
+\newcounter{plauthor}
+\newcounter{pleditor}
+\newcounter{plauthors}
+\newcounter{pleditors}
+\newcounter{realliststop}
+\newcounter{nonplauthor}
+\newcounter{nonpleditor}
 
 \DeclareIndexNameFormat{nonplauthorcount}{%
     \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
-       {}%
+       {\stepcounter{plauthors}}
        {\stepcounter{nonplauthors}}%
 }
 
-\newcounter{nonpleditors}
-
 \DeclareIndexNameFormat{nonpleditorcount}{%
     \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
-       {}%
+       {\stepcounter{pleditors}}%
        {\stepcounter{nonpleditors}}%
 }
 
-\newcounter{nonplauthor}
-\newcounter{nonpleditor}
 \AtEveryBibitem{%
     \setcounter{nonplauthors}{0}%
     \setcounter{nonpleditors}{0}%
+    \setcounter{plauthor}{0}%
+    \setcounter{pleditor}{0}%
+    \setcounter{plauthors}{0}%
+    \setcounter{pleditors}{0}%
     \setcounter{nonplauthor}{0}%
     \setcounter{nonpleditor}{0}%
-    \indexnames[nonplauthorcount]{author}%
-    \indexnames[nonpleditorcount]{editor}%
+    \setcounter{realliststop}{0}%
+    \indexnames[nonplauthorcount][-\value{listtotal}]{author}%
+    \indexnames[nonpleditorcount][-\value{listtotal}]{editor}%
 }
 
 %
@@ -524,23 +539,66 @@
 \newtoggle{plauthorprecedes}
 \newtoggle{hadplauthor}
 \newtoggle{isplauthor}
+\newtoggle{plnameomitted}
+\newtoggle{plnameafteromission}
 
+\newbibmacro*{bpl:omissiondelim}[1][author]
+{%
+    \ifthenelse{\value{listcount}=1}{\global\togglefalse{plnameafteromission}}{%
+        \ifnumless{\value{listcount}}{\value{liststop}}%
+            {%
+              \ifnumgreater{\value{listcount}}{\value{realliststop}}{%
+                \iftoggle{plnameomitted}{%
+                  \multinamedelim\iftoggle{isplauthor}{\plnameomission\global\togglefalse{plnameomitted}%
+                                                       \global\toggletrue{plnameafteromission}}{}%
+                }{%
+                  \ifnumless{\value{pl#1}}{\value{pl#1s}}{%
+                    \iftoggle{isplauthor}
+                        {\multinamedelim\plnameomission\global\togglefalse{plnameomitted}}
+                        {\global\toggletrue{plnameomitted}}%
+                  }{}%
+                }%
+              }{%
+                \multinamedelim\global\togglefalse{plnameomitted}%
+              }%
+            }{%
+              \ifnumgreater{\value{listcount}}{\value{realliststop}}{%
+                \iftoggle{isplauthor}{\iftoggle{plnameomitted}{\multinamedelim\plnameomission}{}%
+                                      \finalnamedelim\global\togglefalse{plnameomitted}}{}%
+              }{%
+                \iftoggle{plnameomitted}{%
+                     \ifnumequal{\value{listcount}}{\value{liststop}}%
+                            {\finalnamedelim}
+                            {\multinamedelim\iftoggle{isplauthor}{\global\togglefalse{plnameomitted}}{}}%                  
+                }{%
+                 \ifnumgreater{\value{listcount}}{\value{realliststop}}{%
+                   \ifnumgreater{\value{pl#1}}{\value{pl#1s}}{%
+                     \iftoggle{isplauthor}{\plnameomission\global\toggletrue{plnameomitted}}%
+                   }{}%
+                 }{\finalnamedelim}%
+                }%
+              }%
+            }%
+    }%
+}
+
 % Omission/highlighting routine
 % (common code for authors and editors)
 % \usebibmacro{bpl:handlenames}[author|editor]
 \newbibmacro{bpl:handlenames}[1][author]{%
     \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
-       {\global\toggletrue{isplauthor}}%
+       {\global\toggletrue{isplauthor}\stepcounter{pl#1}}%
        {\global\togglefalse{isplauthor}}%
     %
+    % Calculate real list stop
+    \ifnumless{\value{liststop}}{\value{maxnames}}
+         {\setcounter{realliststop}{\theliststop}}
+         {\setcounter{realliststop}{\value{minnames}}}%
+    %
     % First case: plauthorhandling=highlight
     \if at hlauthor%
         % Highlight plauthor(s)
-        \ifthenelse{\value{listcount}=1}{}{%
-            \ifnumless{\value{listcount}}{\value{liststop}}%
-                {\multinamedelim}%
-                {\finalnamedelim}%
-        }%
+        \usebibmacro{bpl:omissiondelim}[#1]%
         \iftoggle{isplauthor}{%
             \plauthorhl{%
                 \if at givenfirst% given name first
@@ -561,26 +619,29 @@
                         {\ifdefvoid{\namepartgiven}{}{\addcomma\addspace\namepartgiven\isdot\addspace}}%
                 \fi
             }%
+            \ifnumequal{\value{listcount}}{\value{liststop}}{}{\usebibmacro{name:andothers}}%
         }{%
-            \if at givenfirst% given name first
-                \ifgiveninits
-                    {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
-                    {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
-                \ifdefvoid{\namepartprefix}%
-                    {}%
-                    {\namepartprefix\addspace}%
-                \namepartfamily%
-            \else% family name first
-                \ifdefvoid{\namepartprefix}%
-                      {}%
-                      {\namepartprefix\addspace}%
-                \namepartfamily%
-                \ifgiveninits
-                   {\ifdefvoid{\namepartgiveni}{}{\addcomma\addspace\namepartgiveni\addspace}}%
-                   {\ifdefvoid{\namepartgiven}{}{\addcomma\addspace\namepartgiven\isdot\addspace}}%
-            \fi
+           \ifnumgreater{\value{listcount}}{\value{realliststop}}{}{%
+             \if at givenfirst% given name first
+                 \ifgiveninits
+                     {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
+                     {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
+                 \ifdefvoid{\namepartprefix}%
+                     {}%
+                     {\namepartprefix\addspace}%
+                 \namepartfamily%
+             \else% family name first
+                 \ifdefvoid{\namepartprefix}%
+                       {}%
+                       {\namepartprefix\addspace}%
+                 \namepartfamily%
+                 \ifgiveninits
+                    {\ifdefvoid{\namepartgiveni}{}{\addcomma\addspace\namepartgiveni\addspace}}%
+                    {\ifdefvoid{\namepartgiven}{}{\addcomma\addspace\namepartgiven\isdot\addspace}}%
+             \fi
+           }%
+           \usebibmacro{name:andothers}%
         }%
-        \usebibmacro{name:andothers}%
     %
     % Second case: plauthorhandling=omit
     \else% \if at hlauthor false
@@ -606,11 +667,14 @@
                      \iftoggle{plauthorprecedes}%
                          {}%
                          {%
-                           \ifnumless{\value{nonpl#1}}{\value{nonpl#1s}}%
-                              {\multinamedelim}%
-                              {\printdelim[#1]{bplfinalnamedelim}}%
+                           \ifnumgreater{\value{listcount}}{\value{realliststop}}{}{%
+                              \ifnumless{\value{nonpl#1}}{\value{nonpl#1s}}%
+                                 {\multinamedelim}%
+                                 {\printdelim[#1]{bplfinalnamedelim}}%
+                            }%
                          }%
                    }%
+             \ifnumgreater{\value{listcount}}{\value{realliststop}}{}{%
               \ifgiveninits
                   {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
                   {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
@@ -617,6 +681,7 @@
               \ifdefvoid{\namepartprefix}{}{\namepartprefix\addspace}%
               \global\togglefalse{plauthorprecedes}%
               \namepartfamily%
+             }%
             }% <- end FALSE condition
         %
         \usebibmacro{name:andothers}%
@@ -667,7 +732,7 @@
             {}
             {%
              \usebibmacro{bpl:marginyear}%
-             \printnames{author}%
+             \printnames[][-\value{listtotal}]{author}%
              \setunit{\addspace}%
              \iffieldundef{nameaddon}
                  {}
@@ -685,7 +750,7 @@
             {%
              \usebibmacro{bpl:marginyear}%
              \usebibmacro{bpl:year+labelyear}\addspace%
-             \printnames{author}%
+             \printnames[][-\value{listtotal}]{author}%
              \setunit{\addspace}%
              \iffieldundef{nameaddon}
                  {}
@@ -705,12 +770,13 @@
             {}
             {%
              \usebibmacro{bpl:marginyear}%
-             \printnames{editor}%
-             \setunit{\addspace}%
+             \printnames[][-\value{listtotal}]{editor}%
+             \setunit{\printdelim{editortypedelim}}%
              \usebibmacro{editorstrg}%
             }%
             \adddot\addspace%
             \usebibmacro{bpl:year+labelyear}%
+            \clearname{editor}%
     \else% \if at hlauthor false
         \ifnameundef{editor}
             {}
@@ -718,9 +784,10 @@
              \usebibmacro{bpl:marginyear}%
              \usebibmacro{bpl:year+labelyear}%
              \addspace%
-             \printnames{editor}%
-             \setunit{\addspace}%
+             \printnames[][-\value{listtotal}]{editor}%
+             \setunit{\printdelim{editortypedelim}}%
              \usebibmacro{editorstrg}%
+             \clearname{editor}%
             }%
     \fi% end of \if at hlauthor else condition
 }
@@ -732,8 +799,8 @@
             and not test {\ifnameundef{editor}}}
             {%
              \usebibmacro{bpl:marginyear}%
-             \printnames{editor}%
-             \setunit{\addcomma\space}%
+             \printnames[][-\value{listtotal}]{editor}%
+             \setunit{\printdelim{editortypedelim}}%
              \usebibmacro{editor+othersstrg}%
              \adddot\addspace%
              \usebibmacro{bpl:year+labelyear}%
@@ -748,8 +815,8 @@
              \usebibmacro{bpl:marginyear}%
              \usebibmacro{bpl:year+labelyear}%
              \addspace%
-             \printnames{editor}%
-             \setunit{\addcomma\space}%
+             \printnames[][-\value{listtotal}]{editor}%
+             \setunit{\printdelim{editortypedelim}}%
              \usebibmacro{editor+othersstrg}%
              \clearname{editor}%
             }
@@ -758,9 +825,13 @@
 }
 
 \renewbibmacro*{name:andothers}{%
-    \ifthenelse{\value{listcount}=\value{liststop}\AND\ifmorenames}
+    \ifthenelse{\value{listcount}=\value{liststop}\AND\value{liststop}>\value{realliststop}}
         {%
-         \ifnum\value{liststop}>1 \finalandcomma\fi
+         \ifboolexpr{
+            test {\ifnumgreater{\value{realliststop}}{1}}
+            or
+            test {\iftoggle{plnameafteromission}}
+         }{\finalandcomma}{}%
          \andothersdelim\biblcstring{andothers}%
         }
         {}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2020-08-02 21:05:13 UTC (rev 56027)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2020-08-02 21:05:34 UTC (rev 56028)
@@ -26,8 +26,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.17}
-\def\bpl at rdate{2020/07/10}
+\def\bpl at version{1.18}
+\def\bpl at rdate{2020/07/31}
 
 \ProvidesFile{publist.cbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex citation style (JSP)]



More information about the tex-live-commits mailing list.