summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-publist
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-08-02 03:03:49 +0000
committerNorbert Preining <norbert@preining.info>2020-08-02 03:03:49 +0000
commit1498fd91bffe57cfb36b3164ea5237cff0915559 (patch)
tree7f6d434ce2d84f807d78b9e557d0dbf89c15e232 /macros/latex/contrib/biblatex-contrib/biblatex-publist
parent614c1765c3e9a6f5665cbf4f4fb60e768054c2d4 (diff)
CTAN sync 202008020303
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-publist')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/README6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdfbin355590 -> 358192 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex41
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx173
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx4
5 files changed, 167 insertions, 57 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
index cfc3c42f5a..ceb2264c24 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
@@ -45,6 +45,12 @@ instructions.
== 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.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
index 55ccaa2f3f..2e467d8ac2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
index 001ee67721..29fba98258 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
@@ -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 @@ Note that multiple specifications also affect filtering (see sec.~\ref{sec:filte
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 @@ or
\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}.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
index 4c8f91ff62..4184304332 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{1.17}
-\def\bpl@rdate{2020/07/10}
+\def\bpl@version{1.18}
+\def\bpl@rdate{2020/07/31}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -378,6 +378,12 @@
\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@ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
- {}%
+ {\stepcounter{plauthors}}
{\stepcounter{nonplauthors}}%
}
-\newcounter{nonpleditors}
-
\DeclareIndexNameFormat{nonpleditorcount}{%
\bpl@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@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@hlauthor%
% Highlight plauthor(s)
- \ifthenelse{\value{listcount}=1}{}{%
- \ifnumless{\value{listcount}}{\value{liststop}}%
- {\multinamedelim}%
- {\finalnamedelim}%
- }%
+ \usebibmacro{bpl:omissiondelim}[#1]%
\iftoggle{isplauthor}{%
\plauthorhl{%
\if@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@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@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@hlauthor false
@@ -606,17 +667,21 @@
\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}}%
\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@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@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}%
}
{}%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
index d70ac4dbf5..62d0525d23 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
@@ -26,8 +26,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{1.17}
-\def\bpl@rdate{2020/07/10}
+\def\bpl@version{1.18}
+\def\bpl@rdate{2020/07/31}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]