texlive[50989] Master/texmf-dist: biblatex-publist (16apr19)
commits+karl at tug.org
commits+karl at tug.org
Sun May 5 00:47:27 CEST 2019
Revision: 50989
http://tug.org/svn/texlive?view=revision&revision=50989
Author: karl
Date: 2019-05-05 00:47:27 +0200 (Sun, 05 May 2019)
Log Message:
-----------
biblatex-publist (16apr19)
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 2019-05-04 22:47:13 UTC (rev 50988)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/README 2019-05-04 22:47:27 UTC (rev 50989)
@@ -45,6 +45,9 @@
== CHANGES ==
+* V. 1.16 (2019-04-16):
+ - Major code cleanup.
+
* V. 1.15 (2019-02-22):
- Add support for omitting multiple authors.
- Fix documentation issues.
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 2019-05-04 22:47:13 UTC (rev 50988)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex 2019-05-04 22:47:27 UTC (rev 50989)
@@ -87,6 +87,8 @@
% Conditional page breaks
\def\condbreak#1{%
\vskip 0pt plus #1\pagebreak[3]\vskip 0pt plus -#1\relax}
+% \condbr{<number of lines>}
+\newcommand*\condbr[1]{\condbreak{#1\baselineskip}}
\renewcommand{\lstlistingname}{Example}
@@ -100,7 +102,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 1.15, 2019/02/22}
+\date{Version 1.16, 2019/04/16}
\maketitle
\begin{abstract}
@@ -244,7 +246,7 @@
\end{description}
-\subsection{Multiple authors and\slash or name variants}\label{sec:multiauthors}
+\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
in addition to a specification via the options \joption{plauthorname}, \joption{plauthorname} and
@@ -254,9 +256,9 @@
list (for instance to mark contributions of a research team):
\begin{lstlisting}[moretexcs={[2]{plauthorname}}]
\usepackage[style=publist,plauthorhandling=highlight]{biblatex}
-\plauthorname[John]{Doe}
-\plauthorname[Mary][van]{Smith}
-\plauthorname{Wittgenstein}
+\plauthorname[Cristiano]{Ronaldo}
+\plauthorname[\'Angel][Di]{Mar\'ia}
+\plauthorname{Neymar}
\end{lstlisting}
%
Multiple specifications can also be used to deal with name variants:
@@ -273,8 +275,8 @@
which have to be adjusted accordingly if names are omitted). However, it does not strike me sensible to do so (in other words,
if you need to deal with a \emph{team} of authors, you should really consider to use \joption{plauthorhandling=highlight}).
-Note that this also applies to filtering (see sec.~\ref{sec:filtering}), i.\,e., the \joption{mine} filter considers
-entries authored by \emph{any} of the specified persons.
+Note that multiple specifications also affect filtering (see sec.~\ref{sec:filtering}), i.\,e., the \joption{mine} filter selects
+entries authored or edited by any and all specified persons.
\section{Customization}
@@ -532,11 +534,16 @@
\endrefcontext
\end{lstlisting}
-\clearpage
+\condbr{4}
\section{Revision Log}
\begin{description}
+ \item [{V. 1.16 (2019-04-16):}]~
+ \begin{itemize}
+ \item Major code cleanup.
+ \end{itemize}
+
\item [{V. 1.15 (2019-02-22):}]~
\begin{itemize}
\item Add support for omitting multiple authors. See sec.~\ref{sec:multiauthors}.
@@ -588,7 +595,7 @@
of the publication list items
\item Documentation improvements.
\end{itemize}
-\clearpage
+\condbr{3}
\item [{V.~1.8 (2017-11-14):}]~
\begin{itemize}
\item Adapt to \bibltx\ 3.8. This version is now required.
@@ -632,7 +639,7 @@
\item Assure the margin text always starts uppercased (relevant for pubstates).
\item Minor corrections to the manual.
\end{itemize}
-\clearpage
+\condbr{3}
\item [{V.~1.3 (2016-08-06):}]~
\begin{itemize}
Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx 2019-05-04 22:47:13 UTC (rev 50988)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx 2019-05-04 22:47:27 UTC (rev 50989)
@@ -25,19 +25,19 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl at version{1.15}
-\def\bpl at rdate{2019/02/22}
+\def\bpl at version{1.16}
+\def\bpl at rdate{2019/04/16}
\ProvidesFile{publist.bbx}[\bpl at rdate\space v.\bpl at version\space
biblatex bibliography style (JSP)]
\@ifpackagelater{biblatex}{2017/11/04}
- {}
- {\PackageError{biblatex-publist}
- {Outdated 'biblatex' package\MessageBreak
- Upgrade to biblatex v3.8 (2017/11/04) or later.\MessageBreak
- I found: '\csuse{ver at biblatex.sty}'.\MessageBreak
- This is a fatal error. I'm aborting now}%
+ {}
+ {\PackageError{biblatex-publist}
+ {Outdated 'biblatex' package\MessageBreak
+ Upgrade to biblatex v3.8 (2017/11/04) or later.\MessageBreak
+ I found: '\csuse{ver at biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now}%
\endinput}
@@ -47,17 +47,20 @@
% Deprecated Options (as of v. 1.4)
\DeclareBibliographyOption{omitname}{%
- \PackageWarning{biblatex-publist}{The omitname option is deprecated!\MessageBreak
- Please use plauthorname instead.}{}%
- \def\bpl at osurname{#1}}
+ \PackageWarning{biblatex-publist}
+ {The omitname option is deprecated!\MessageBreak
+ Please use plauthorname instead.}{}%
+ \def\bpl at osurname{#1}}
\DeclareBibliographyOption{omitfirstname}{%
- \PackageWarning{biblatex-publist}{The omitfirstname option is deprecated!\MessageBreak
- Please use plauthorfirstname instead.}{}%
- \def\bpl at ofirstname{#1}}
+ \PackageWarning{biblatex-publist}
+ {The omitfirstname option is deprecated!\MessageBreak
+ Please use plauthorfirstname instead.}{}%
+ \def\bpl at ofirstname{#1}}
\DeclareBibliographyOption{omitnameprefix}{%
- \PackageWarning{biblatex-publist}{The omitnameprefix option is deprecated!\MessageBreak
- Please use plauthornameprefix instead.}{}%
- \def\bpl at ovonpart{#1}}
+ \PackageWarning{biblatex-publist}
+ {The omitnameprefix option is deprecated!\MessageBreak
+ Please use plauthornameprefix instead.}{}%
+ \def\bpl at ovonpart{#1}}
% Valid options
\DeclareBibliographyOption{plauthorname}{\def\bpl at osurname{#1}}
@@ -141,9 +144,9 @@
% Default sorting depends on plauthorhandling
\if at hlauthor%
- \ExecuteBibliographyOptions{sorting=ydnt}
+ \ExecuteBibliographyOptions{sorting=ydnt}
\else
- \ExecuteBibliographyOptions{sorting=ydt}
+ \ExecuteBibliographyOptions{sorting=ydt}
\fi
% Execute these options only with the standard base style
@@ -168,21 +171,22 @@
% http://tex.stackexchange.com/a/79583/19291)
% and normalize spaces
\def\bpl at normalize#1#2{%
- \begingroup
- \def\bibnamedelima{ }%
- \def\bibnamedelimb{ }%
- \def\IeC##1{##1}%
- \protected at edef\@tempa{#1}%
- \gdef\@gtempa{}%
- \expandafter\bpl@@normalize\@tempa\@nil
- \endgroup
- \let#2\@gtempa
+ \begingroup
+ \def\bibnamedelima{ }%
+ \def\bibnamedelimb{ }%
+ \def\IeC##1{##1}%
+ \protected at edef\@tempa{#1}%
+ \gdef\@gtempa{}%
+ \expandafter\bpl@@normalize\@tempa\@nil
+ \endgroup
+ \let#2\@gtempa
}
\def\bpl@@normalize#1{%
- \ifx#1\@nil\else
- \expandafter\gdef\expandafter\@gtempa\expandafter{\@gtempa#1}%
- \expandafter\bpl@@normalize
- \fi
+ \ifx#1\@nil\else
+ \expandafter\gdef\expandafter%
+ \@gtempa\expandafter{\@gtempa#1}%
+ \expandafter\bpl@@normalize
+ \fi
}
%
% Check first token of macro
@@ -189,13 +193,13 @@
% (based on a suggestion by Qrrbrbirlbel at
% https://tex.stackexchange.com/a/132254)
\newcommand*{\iffirstinitialsequal}{%
- \@expandtwoargs\if at startswith}
+ \@expandtwoargs\if at startswith}
\newcommand*{\if at startswith}[2]{%
- \if\@car#1.\@nil\@car#2.\@nil
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
+ \if\@car#1.\@nil\@car#2.\@nil
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
}
%
% Split plauthors list item
@@ -217,13 +221,59 @@
% Fully expanded comparison
% (adapted from scrbase.sty)
\newcommand\bpl at ifstreq[2]{%
- \begingroup\edef\@tempa{#1}\edef\@tempb{#2}%
- \ifx\@tempa\@tempb
- \endgroup\expandafter\@firstoftwo
- \else
- \endgroup\expandafter\@secondoftwo
- \fi
+ \begingroup\edef\@tempa{#1}\edef\@tempb{#2}%
+ \ifx\@tempa\@tempb
+ \endgroup\expandafter\@firstoftwo
+ \else
+ \endgroup\expandafter\@secondoftwo
+ \fi
}
+%
+% Check if we have an entry in plauthors
+% \bpl at ifplauthor{firstname}{prefix}{surname}{true}{false}
+\newcommand*\bpl at ifplauthor[3]{%
+ \newtoggle{checkplauthor}%
+ \bpl at normalize{#1}{\bpl at tfirstname}%
+ \bpl at normalize{#2}{\bpl at tvonpart}%
+ \bpl at normalize{#3}{\bpl at tsurname}%
+ \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
+ \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
+ \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
+ % Check if we are dealing with a plauthor
+ % First the plauthorname as set via option
+ \ifboolexpr{
+ test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
+ and
+ ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
+ or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
+ )
+ and
+ ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
+ {\toggletrue{checkplauthor}}{\togglefalse{checkplauthor}}%
+ % Then the name(s) set via macro
+ \def\bpl at lsurname{}%
+ \def\bpl at lfirstname{}%
+ \def\bpl at lvonpart{}%
+ \renewcommand*{\do}[1]{%
+ \jsp at splitpllist{##1}%
+ \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
+ \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
+ \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
+ \ifboolexpr{
+ test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
+ and
+ ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
+ or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
+ )
+ and
+ ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
+ {\toggletrue{checkplauthor}}{}%
+ }%
+ \dolistloop{\bpl at plauthors}%
+ \iftoggle{checkplauthor}%
+ {\expandafter\@firstoftwo}%
+ {\expandafter\@secondoftwo}%
+}
%
@@ -239,7 +289,7 @@
% List to store multiple pl authors (for highlight only)
\def\bpl at plauthors{}
%
-% Manual way to specify publication list author name
+% Manual way to specify publication list author(s) name
\def\plauthorname{%
\@ifnextchar[%
{\plauthorname at i}
@@ -257,13 +307,13 @@
%
% Formatting of year in margin par (if requested)
\providecommand*\plmarginyear[1]{%
- \raggedleft\small\textbf{#1}%
+ \raggedleft\small\textbf{#1}%
}
%
% Highlighting auf publist author with plauthorhandling=highlight
\providecommand*\plauthorhl[1]{%
- \mkbibbold{#1}%
+ \mkbibbold{#1}%
}
@@ -291,24 +341,28 @@
\setlength\extralabelnumberwidth{0pt}
\defbibenvironment{bibliography}
- {\addtolength{\labelnumberwidth}{\extralabelnumberwidth}%
- \list
- {\printtext[labelnumberwidth]{%
- \printfield{labelprefix}%
- \printfield{labelnumber}}}
- {\setlength{\labelwidth}{\labelnumberwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\bibitemsep}%
- \setlength{\parsep}{\bibparsep}}%
- \renewcommand*{\makelabel}[1]{\hss##1}}%
- {\endlist
- \ifnumgreater{\c at refsection}{\bbx at saverefsection}%
- {\csnumgdef{bbx at itemtotal}{\csuse{bbx at itemtotal}+\csuse{bbx at currentitem}}}{}%
- \csnumgdef{bbx at saverefsection}{\c at refsection}%
- }
- {\item}
+ {%
+ \addtolength{\labelnumberwidth}{\extralabelnumberwidth}%
+ \list
+ {\printtext[labelnumberwidth]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}}%
+ }
+ {\setlength{\labelwidth}{\labelnumberwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ }%
+ \renewcommand*{\makelabel}[1]{\hss##1}%
+ }%
+ {\endlist
+ \ifnumgreater{\c at refsection}{\bbx at saverefsection}%
+ {\csnumgdef{bbx at itemtotal}{\csuse{bbx at itemtotal}+\csuse{bbx at currentitem}}}{}%
+ \csnumgdef{bbx at saverefsection}{\c at refsection}%
+ }
+ {\item}
\DeclareFieldFormat{labelnumber}{%
\ifbool{newsection}{%
@@ -322,10 +376,13 @@
% Print labelnumber as actual number, plus item total
\newrobustcmd{\mkbibdesc}[1]{%
- \number\numexpr\csuse{bbx at itemtotal}+#1\relax}
+ \number\numexpr\csuse{bbx at itemtotal}+#1\relax%
+}
% Way to manual shift the numbering (undocumented)
-\newcommand*\decreasebbxnumbering[1]{\csnumgdef{bbx at itemtotal}{\csuse{bbx at itemtotal}-#1}}
+\newcommand*\decreasebbxnumbering[1]{%
+ \csnumgdef{bbx at itemtotal}{\csuse{bbx at itemtotal}-#1}%
+}
%
@@ -332,10 +389,12 @@
% New environment for (foreign) reviews
%
\defbibenvironment{reviews}
- {\begin{enumerate}%
- \small\setlength\itemsep{0pt}}
- {\end{enumerate}}
- {\item}
+ {%
+ \begin{enumerate}%
+ \small\setlength\itemsep{0pt}%
+ }
+ {\end{enumerate}}
+ {\item}
%
@@ -346,102 +405,30 @@
\DeclareBibliographyCategory{filtered}
\DeclareIndexNameFormat{authorfiltered}{%
- \bpl at normalize{\namepartfamily}{\bpl at tsurname}%
- \bpl at normalize{\namepartgiven}{\bpl at tfirstname}%
- \bpl at normalize{\namepartprefix}{\bpl at tvonpart}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\addtocategory{filtered}{\thefield{entrykey}}}%
- {}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\addtocategory{filtered}{\thefield{entrykey}}}%
- {}%
- }%
- \dolistloop{\bpl at plauthors}%
+ \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
+ {\addtocategory{filtered}{\thefield{entrykey}}}%
+ {}%
}
\DeclareIndexNameFormat{editorfiltered}{%
- \edef\bpl at tsurname{\namepartfamily}%
- \edef\bpl at tfirstname{\namepartgiven}%
- \edef\bpl at tvonpart{\namepartprefix}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\addtocategory{filtered}{\thefield{entrykey}}}%
- {}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\addtocategory{filtered}{\thefield{entrykey}}}%
- {}%
- }%
- \dolistloop{\bpl at plauthors}%
+ \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
+ {\addtocategory{filtered}{\thefield{entrykey}}}%
+ {}%
}
\DeclareIndexNameFormat[inbook,inproceedings,incollection]{editorfiltered}{}%
-\DeclareDelimFormat{bplfinalnamedelim}{%
- \ifnumgreater{\value{nonplauthors}}{2}{\finalandcomma}{}%
- \addspace\bibstring{and}\space}
+\DeclareDelimFormat[author]{bplfinalnamedelim}{%
+ \ifnumgreater{\value{nonplauthors}}{2}{\finalandcomma}{}%
+ \addspace\bibstring{and}\space}
-\DeclareDelimFormat{bplfinalnamedelimed}{%
- \ifnumgreater{\value{nonpleditors}}{2}{\finalandcomma}{}%
- \addspace\bibstring{and}\space}
+\DeclareDelimFormat[editor]{bplfinalnamedelim}{%
+ \ifnumgreater{\value{nonpleditors}}{2}{\finalandcomma}{}%
+ \addspace\bibstring{and}\space}
\AtDataInput{%
- \indexnames[authorfiltered]{author}%
- \indexnames[editorfiltered]{editor}%
+ \indexnames[authorfiltered]{author}%
+ \indexnames[editorfiltered]{editor}%
}
\defbibfilter{mine}{category=filtered}
@@ -454,106 +441,28 @@
\newcounter{nonplauthors}
\DeclareIndexNameFormat{nonplauthorcount}{%
- \newtoggle{havenonplauthor}%
- \toggletrue{havenonplauthor}%
- \bpl at normalize{\namepartfamily}{\bpl at tsurname}%
- \bpl at normalize{\namepartgiven}{\bpl at tfirstname}%
- \bpl at normalize{\namepartprefix}{\bpl at tvonpart}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\togglefalse{havenonplauthor}}%
- {}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\togglefalse{havenonplauthor}}%
- {}%
- }%
- \dolistloop{\bpl at plauthors}%
- \iftoggle{havenonplauthor}{\stepcounter{nonplauthors}}{}%
+ \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
+ {}%
+ {\stepcounter{nonplauthors}}%
}
\newcounter{nonpleditors}
\DeclareIndexNameFormat{nonpleditorcount}{%
- \newtoggle{havenonplauthor}%
- \toggletrue{havenonplauthor}%
- \edef\bpl at tsurname{\namepartfamily}%
- \edef\bpl at tfirstname{\namepartgiven}%
- \edef\bpl at tvonpart{\namepartprefix}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\togglefalse{havenonplauthor}}%
- {}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\togglefalse{havenonplauthor}}%
- {}%
- }%
- \dolistloop{\bpl at plauthors}%
- \iftoggle{havenonplauthor}{\stepcounter{nonpleditors}}{}%
+ \bpl at ifplauthor{\namepartgiven}{\namepartprefix}{\namepartfamily}%
+ {}%
+ {\stepcounter{nonpleditors}}%
}
\newcounter{nonplauthor}
\newcounter{nonpleditor}
\AtEveryBibitem{%
- \setcounter{nonplauthors}{0}%
- \setcounter{nonpleditors}{0}%
- \setcounter{nonplauthor}{0}%
- \setcounter{nonpleditor}{0}%
- \indexnames[nonplauthorcount]{author}%
- \indexnames[nonpleditorcount]{editor}%
+ \setcounter{nonplauthors}{0}%
+ \setcounter{nonpleditors}{0}%
+ \setcounter{nonplauthor}{0}%
+ \setcounter{nonpleditor}{0}%
+ \indexnames[nonplauthorcount]{author}%
+ \indexnames[nonpleditorcount]{editor}%
}
%
@@ -563,287 +472,136 @@
\newtoggle{hadplauthor}
\newtoggle{isplauthor}
-
-\DeclareNameFormat{author}{%
- \bpl at normalize{\namepartfamily}{\bpl at tsurname}%
- \bpl at normalize{\namepartgiven}{\bpl at tfirstname}%
- \bpl at normalize{\namepartprefix}{\bpl at tvonpart}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\global\toggletrue{isplauthor}}{\global\togglefalse{isplauthor}}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\global\toggletrue{isplauthor}}{}%
- }%
- \dolistloop{\bpl at plauthors}%
- %
- % First case: plauthorhandling=highlight
- \if at hlauthor%
- % Highlight plauthor(s)
- \ifthenelse{\value{listcount}=1}{}{%
- \ifnumless{\value{listcount}}{\value{liststop}}%
- {\multinamedelim}%
- {\finalnamedelim}%
- }%
- \iftoggle{isplauthor}{%
- \plauthorhl{%
- \if at givenfirst% given name first
- \ifgiveninits
- {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
- {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
- \ifdefvoid{\namepartprefix}%
+% 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\togglefalse{isplauthor}}%
+ %
+ % First case: plauthorhandling=highlight
+ \if at hlauthor%
+ % Highlight plauthor(s)
+ \ifthenelse{\value{listcount}=1}{}{%
+ \ifnumless{\value{listcount}}{\value{liststop}}%
+ {\multinamedelim}%
+ {\finalnamedelim}%
+ }%
+ \iftoggle{isplauthor}{%
+ \plauthorhl{%
+ \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
+ }%
+ }{%
+ \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%
- \else% family name first
- \ifdefvoid{\namepartprefix}%
- {}%
- {\namepartprefix\addspace}%
- \namepartfamily%
- \ifgiveninits
- {\ifdefvoid{\namepartgiveni}{}{\addcomma\addspace\namepartgiveni\addspace}}%
- {\ifdefvoid{\namepartgiven}{}{\addcomma\addspace\namepartgiven\isdot\addspace}}%
- \fi
- }%
- }{%
- \if at givenfirst% given name first
+ \namepartfamily%
+ \ifgiveninits
+ {\ifdefvoid{\namepartgiveni}{}{\addcomma\addspace\namepartgiveni\addspace}}%
+ {\ifdefvoid{\namepartgiven}{}{\addcomma\addspace\namepartgiven\isdot\addspace}}%
+ \fi
+ }%
+ \usebibmacro{name:andothers}%
+ %
+ % Second case: plauthorhandling=omit
+ \else% \if at hlauthor false
+ \ifthenelse{\value{listcount}=1}%
+ {\ifthenelse{\value{nonpl#1s}>0}%
+ {\bibopenparen\bibstring{with}\addspace}%
+ {}%
+ \iftoggle{isplauthor}%
+ {\global\toggletrue{plauthorprecedes}}%
+ {\global\togglefalse{plauthorprecedes}}%
+ }%
+ {}%
+ % Exclude omitted author
+ \iftoggle{isplauthor}%
+ {% <- TRUE condition
+ \global\toggletrue{hadplauthor}%
+ }% <- end TRUE condition
+ {% <- FALSE condition
+ \stepcounter{nonpl#1}%
+ \ifthenelse{\value{listcount}=1}%
+ {\global\togglefalse{hadplauthor}}%
+ {%
+ \iftoggle{plauthorprecedes}%
+ {}%
+ {%
+ \ifnumless{\value{nonpl#1}}{\value{nonpl#1s}}%
+ {\multinamedelim}%
+ {\printdelim[#1]{bplfinalnamedelim}}%
+ }%
+ }%
\ifgiveninits
{\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
{\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
- \ifdefvoid{\namepartprefix}%
- {}%
- {\namepartprefix\addspace}%
+ \ifdefvoid{\namepartprefix}{}{\namepartprefix\addspace}%
+ \global\togglefalse{plauthorprecedes}%
\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}%
- %
- % Second case: plauthorhandling=omit
- \else% \if at hlauthor false
- \ifthenelse{\value{listcount}=1}%
- {\ifthenelse{\value{nonplauthors}>0}%
- {\bibopenparen\bibstring{with}\addspace}%
- {}%
- \iftoggle{isplauthor}%
- {\global\toggletrue{plauthorprecedes}}%
- {\global\togglefalse{plauthorprecedes}}%
- }%
- {}%
- % Exclude omitted author
- \iftoggle{isplauthor}%
- {% <- TRUE condition
- \global\toggletrue{hadplauthor}%
- }% <- end TRUE condition
- {% <- FALSE condition
- \stepcounter{nonplauthor}%
- \ifthenelse{\value{listcount}=1}%
- {\global\togglefalse{hadplauthor}}%
- {%
- \iftoggle{plauthorprecedes}%
- {}%
- {%
- \ifnumless{\value{nonplauthor}}{\value{nonplauthors}}%
- {\multinamedelim}%
- {\bplfinalnamedelim}%
- }%
- }%
- \ifgiveninits
- {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
- {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
- \ifdefvoid{\namepartprefix}{}{\namepartprefix\addspace}%
- \global\togglefalse{plauthorprecedes}%
- \namepartfamily%
- }% <- end FALSE condition
- %
- \usebibmacro{name:andothers}%
- \ifthenelse{\value{nonplauthors}>0\AND\value{listcount}=\value{liststop}}{\unspace\bibcloseparen}{}%
- \fi% end of \if at hlauthor else condition
+ }% <- end FALSE condition
+ %
+ \usebibmacro{name:andothers}%
+ \ifthenelse{\value{nonpl#1s}>0\AND\value{listcount}=\value{liststop}}%
+ {\unspace\bibcloseparen}%
+ {}%
+ \fi% end of \if at hlauthor else condition
}
+\DeclareNameFormat{author}{%
+ \usebibmacro{bpl:handlenames}%
+}
+
\DeclareNameFormat{editor}{%
- \bpl at normalize{\namepartfamily}{\bpl at tsurname}%
- \bpl at normalize{\namepartgiven}{\bpl at tfirstname}%
- \bpl at normalize{\namepartprefix}{\bpl at tvonpart}%
- \bpl at normalize{\bpl at osurname}{\bpl at esurname}%
- \bpl at normalize{\bpl at ofirstname}{\bpl at efirstname}%
- \bpl at normalize{\bpl at ovonpart}{\bpl at evonpart}%
- % Check if we are dealing with a plauthor
- % First the plauthorname as set via option
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at esurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at efirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at ofirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at efirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at evonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at ovonpart}{} }) }
- {\global\toggletrue{isplauthor}}{\global\togglefalse{isplauthor}}%
- % Then the name(s) set via macro
- \def\bpl at lsurname{}%
- \def\bpl at lfirstname{}%
- \def\bpl at lvonpart{}%
- \renewcommand*{\do}[1]{%
- \jsp at splitpllist{##1}%
- \bpl at normalize{\bpl at lsurname}{\bpl at elsurname}%
- \bpl at normalize{\bpl at lfirstname}{\bpl at elfirstname}%
- \bpl at normalize{\bpl at lvonpart}{\bpl at elvonpart}%
- \ifboolexpr{
- test { \bpl at ifstreq{\bpl at elsurname}{\bpl at tsurname} }
- and
- ( test { \bpl at ifstreq{\bpl at elfirstname}{\bpl at tfirstname} } or test { \ifdefstring{\bpl at lfirstname}{} }
- or ( test { \iftoggle{firstinit} } and test{ \iffirstinitialsequal{\bpl at lfirstname}{\bpl at tfirstname} } )
- )
- and
- ( test { \bpl at ifstreq{\bpl at elvonpart}{\bpl at tvonpart} } or test { \ifdefstring{\bpl at lvonpart}{} }) }
- {\global\toggletrue{isplauthor}}{}%
- }%
- \dolistloop{\bpl at plauthors}%
- %
- % First case: plauthorhandling=highlight
- \if at hlauthor
- % Highlight omitted editor
- \ifthenelse{\value{listcount}=1}{}{%
- \ifnumless{\value{listcount}}{\value{liststop}-1}%
- {\multinamedelim}%
- {\finalnamedelim}%
- }%
- \iftoggle{isplauthor}{%
- \plauthorhl{%
- \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
- }%
- }{%
- \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}%
- %
- % Second case: plauthorhandling=omit
- \else% \if at hlauthor false
- \ifthenelse{\value{listcount}=1}%
- {\ifthenelse{\value{nonpleditors}>0}%
- {\bibopenparen\bibstring{with}\addspace}%
- {}%
- \iftoggle{isplauthor}%
- {\global\toggletrue{plauthorprecedes}}%
- {\global\togglefalse{plauthorprecedes}}%
- }%
- {}%
- % Exclude omitted editor
- \iftoggle{isplauthor}%
- {% <- TRUE condition
- \global\toggletrue{hadplauthor}%
- }% <- end TRUE condition
- {% <- FALSE condition
- \stepcounter{nonpleditor}%
- \ifthenelse{\value{listcount}=1}%
- {\global\togglefalse{hadplauthor}}%
- {%
- \iftoggle{plauthorprecedes}%
- {}%
- {%
- \ifnumless{\value{nonpleditor}}{\value{nonpleditors}}%
- {\multinamedelim}%
- {\bplfinalnamedelimed}%
- }%
- }%
- \ifgiveninits
- {\ifdefvoid{\namepartgiveni}{}{\namepartgiveni\addspace}}%
- {\ifdefvoid{\namepartgiven}{}{\namepartgiven\addspace}}%
- \ifdefvoid{\namepartprefix}{}{\namepartprefix\addspace}%
- \global\togglefalse{plauthorprecedes}%
- \namepartfamily%
- }% <- end FALSE condition
- %
- \usebibmacro{name:andothers}%
- \ifthenelse{\value{nonpleditors}>0\AND\value{listcount}=\value{liststop}}{\unspace\bibcloseparen}{}%
- \fi% end of \if at hlauthor else condition
+ \usebibmacro{bpl:handlenames}[editor]%
}
\DeclareNameFormat{bookauthor}{%
- \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
- \ifthenelse{\value{listcount}<\value{liststop}}
- {\ifnumless{\value{listcount}}{\value{liststop}-1}%
- {\multinamedelim}%
- {\finalnamedelim}}%
- {}%
- \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
+ \ifthenelse{\value{listcount}<\value{liststop}}
+ {\ifnumless{\value{listcount}}{\value{liststop}-1}%
+ {\multinamedelim}%
+ {\finalnamedelim}}%
+ {}%
+ \usebibmacro{name:andothers}%
+}
%
@@ -851,191 +609,229 @@
%
\renewbibmacro*{author}{%
- \if at hlauthor
- \ifnameundef{author}
- {}
- {\usebibmacro{bpl:marginyear}%
- \printnames{author}%
- \setunit{\addspace}%
- \iffieldundef{nameaddon}
- {}
- {\mkbibbrackets{\bibstring{alias}%
- \addspace\printfield{nameaddon}}}}
- \adddot\addspace\usebibmacro{bpl:year+labelyear}%
- \else% \if at hlauthor false
- \ifnameundef{author}
- {}
- {\usebibmacro{bpl:marginyear}%
- \usebibmacro{bpl:year+labelyear}\addspace%
- \printnames{author}%
- \setunit{\addspace}%
- \iffieldundef{nameaddon}
- {}
- {\mkbibbrackets{\bibstring{alias}%
- \addspace\printfield{nameaddon}}}}
- \fi% end of \if at hlauthor else condition
+ \if at hlauthor
+ \ifnameundef{author}
+ {}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \printnames{author}%
+ \setunit{\addspace}%
+ \iffieldundef{nameaddon}
+ {}
+ {%
+ \mkbibbrackets{%
+ \bibstring{alias}%
+ \addspace\printfield{nameaddon}%
+ }%
+ }%
+ }%
+ \adddot\addspace\usebibmacro{bpl:year+labelyear}%
+ \else% \if at hlauthor false
+ \ifnameundef{author}
+ {}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \usebibmacro{bpl:year+labelyear}\addspace%
+ \printnames{author}%
+ \setunit{\addspace}%
+ \iffieldundef{nameaddon}
+ {}
+ {%
+ \mkbibbrackets{%
+ \bibstring{alias}%
+ \addspace\printfield{nameaddon}%
+ }%
+ }%
+ }%
+ \fi% end of \if at hlauthor else condition
}
\renewbibmacro*{editor}{%
- \if at hlauthor
- \ifnameundef{editor}
- {}
- {\usebibmacro{bpl:marginyear}%
- \printnames{editor}%
- \setunit{\addspace}%
- \usebibmacro{editorstrg}}
- \adddot\addspace%
- \usebibmacro{bpl:year+labelyear}%
- \else% \if at hlauthor false
- \ifnameundef{editor}
- {}
- {\usebibmacro{bpl:marginyear}%
- \usebibmacro{bpl:year+labelyear}%
- \addspace%
- \printnames{editor}%
- \setunit{\addspace}%
- \usebibmacro{editorstrg}}
- \fi% end of \if at hlauthor else condition
+ \if at hlauthor
+ \ifnameundef{editor}
+ {}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \printnames{editor}%
+ \setunit{\addspace}%
+ \usebibmacro{editorstrg}%
+ }%
+ \adddot\addspace%
+ \usebibmacro{bpl:year+labelyear}%
+ \else% \if at hlauthor false
+ \ifnameundef{editor}
+ {}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \usebibmacro{bpl:year+labelyear}%
+ \addspace%
+ \printnames{editor}%
+ \setunit{\addspace}%
+ \usebibmacro{editorstrg}%
+ }%
+ \fi% end of \if at hlauthor else condition
}
\renewbibmacro*{editor+others}{%
-\if at hlauthor
- \ifboolexpr{
- test \ifuseeditor
- and
- not test {\ifnameundef{editor}}
- }
- {\usebibmacro{bpl:marginyear}%
- \printnames{editor}%
- \setunit{\addcomma\space}%
- \usebibmacro{editor+othersstrg}%
- \adddot\addspace%
- \usebibmacro{bpl:year+labelyear}%
- \clearname{editor}}
- {}%
-\else% \if at hlauthor false
- \ifboolexpr{
- test \ifuseeditor
- and
- not test {\ifnameundef{editor}}
- }
- {\usebibmacro{bpl:marginyear}%
- \usebibmacro{bpl:year+labelyear}%
- \addspace%
- \printnames{editor}%
- \setunit{\addcomma\space}%
- \usebibmacro{editor+othersstrg}%
- \clearname{editor}}
- {}%
-\fi% end of \if at hlauthor else condition
+ \if at hlauthor
+ \ifboolexpr{
+ test \ifuseeditor
+ and not test {\ifnameundef{editor}}}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \printnames{editor}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{editor+othersstrg}%
+ \adddot\addspace%
+ \usebibmacro{bpl:year+labelyear}%
+ \clearname{editor}%
+ }
+ {}%
+ \else% \if at hlauthor false
+ \ifboolexpr{
+ test \ifuseeditor
+ and not test {\ifnameundef{editor}}}
+ {%
+ \usebibmacro{bpl:marginyear}%
+ \usebibmacro{bpl:year+labelyear}%
+ \addspace%
+ \printnames{editor}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{editor+othersstrg}%
+ \clearname{editor}%
+ }
+ {}%
+ \fi% end of \if at hlauthor else condition
}
\renewbibmacro*{name:andothers}{%
- \ifthenelse{\value{listcount}=\value{liststop}\AND
- \ifmorenames}
- {\ifnum\value{liststop}>1 \finalandcomma\fi
- \andothersdelim\biblcstring{andothers}}
- {}}
+ \ifthenelse{\value{listcount}=\value{liststop}\AND\ifmorenames}
+ {%
+ \ifnum\value{liststop}>1 \finalandcomma\fi
+ \andothersdelim\biblcstring{andothers}%
+ }
+ {}%
+}
\ifbpl at standardbasestyle
-% Work around issue in authoryear.bbx:
-% test for empty year before printing parens
-\renewbibmacro*{issue+date}{%
- \ifboolexpr{test {\iffieldundef{year}}
- and test {\iffieldundef{issue}}}
- {}
- {\printtext[parens]{%
- \printfield{issue}%
- \setunit*{\addspace}%
- \usebibmacro{date}}}%
- \newunit}
+ % Work around issue in authoryear.bbx:
+ % test for empty year before printing parens
+ \renewbibmacro*{issue+date}{%
+ \ifboolexpr{test {\iffieldundef{year}}
+ and test {\iffieldundef{issue}}}
+ {}
+ {%
+ \printtext[parens]{%
+ \printfield{issue}%
+ \setunit*{\addspace}%
+ \usebibmacro{date}}%
+ }%
+ \newunit%
+ }
\fi
\newbibmacro*{bpl:date:makedate}{%
- \printtext{%
- \iffieldundef{year}{%
- \iffieldundef{pubstate}{}{%
- \printfield{pubstate}%
+ \printtext{%
+ \iffieldundef{year}{%
+ \iffieldundef{pubstate}%
+ {}
+ {\printfield{pubstate}}%
+ }{%
+ \iffieldundef{month}%
+ {\printdateextra}%
+ {\printdate}%
}%
- }{%
- \iffieldundef{month}{%
- \printdateextra}%
- {\printdate}%
- }%
- }%
+ }%
}
\newbibmacro*{bpl:date:labeldate+extradate}{%
- \mkbibbold{\usebibmacro{bpl:date:makedate}}%
+ \mkbibbold{\usebibmacro{bpl:date:makedate}}%
}
\AtBeginDocument{%
-\if at unboldyear
-\renewbibmacro*{bpl:date:labeldate+extradate}{%
- \usebibmacro{bpl:date:makedate}%
+ \if at unboldyear
+ \renewbibmacro*{bpl:date:labeldate+extradate}{%
+ \usebibmacro{bpl:date:makedate}%
+ }
+ \fi
}
-\fi
-}
\newbibmacro*{bpl:marginyear}{%
-\if at marginyear%
- \iffieldundef{year}{%
- \iffieldundef{pubstate}{}{%
- \iffieldequals{pubstate}{\bbx at lasthash}{}{%
- \printtext{\marginpar{\small\plmarginyear{\bibsentence\printfield{pubstate}}}}%
- }%
- }%
- }{%
- \iffieldequals{year}{\bbx at lasthash}{}{%
- \printtext{\marginpar{\small\plmarginyear{\bibsentence\printfield{year}}}}%
- }%
- }%
-\fi
+ \if at marginyear%
+ \iffieldundef{year}{%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldequals{pubstate}{\bbx at lasthash}%
+ {}%
+ {%
+ \printtext{\marginpar{\small\plmarginyear{\bibsentence\printfield{pubstate}}}}%
+ }%
+ }%
+ }{%
+ \iffieldequals{year}{\bbx at lasthash}%
+ {}%
+ {%
+ \printtext{\marginpar{\small\plmarginyear{\bibsentence\printfield{year}}}}%
+ }%
+ }%
+ \fi
}
\newbibmacro*{bpl:year+labelyear}{%
- \iffieldundef{year}{%
- \iffieldundef{pubstate}{\let\bbx at lasthash\undefined}{%
- \usebibmacro{bpl:date:labeldate+extradate}%
- \savefield{pubstate}{\bbx at lasthash}%
- \clearfield{pubstate}%
- }%
+ \iffieldundef{year}{%
+ \iffieldundef{pubstate}%
+ {\let\bbx at lasthash\undefined}%
+ {%
+ \usebibmacro{bpl:date:labeldate+extradate}%
+ \savefield{pubstate}{\bbx at lasthash}%
+ \clearfield{pubstate}%
+ }%
}{%
- \usebibmacro{bpl:date:labeldate+extradate}%
- \savefield{year}{\bbx at lasthash}%
- \clearfield{year}%
+ \usebibmacro{bpl:date:labeldate+extradate}%
+ \savefield{year}{\bbx at lasthash}%
+ \clearfield{year}%
}%
}
\newbibmacro*{bpl:review:author/label}{%
- \ifnameundef{author}
- {\usebibmacro{label}}
- {\usebibmacro{bpl:review:author}}
+ \ifnameundef{author}
+ {\usebibmacro{label}}
+ {\usebibmacro{bpl:review:author}}
}
\newbibmacro*{bpl:review:author}{%
- \ifnameundef{author}
- {\let\bbx at lasthash\undefined}
- {\ifthenelse{\iffieldequals{namehash}{\bbx at lasthash}\AND\NOT
- \iffirstonpage}
- {\bibnamedash}
- {\savefield{namehash}{\bbx at lasthash}%
- \printnames{author}%
- \setunit{\addspace}}}%
+ \ifnameundef{author}
+ {\let\bbx at lasthash\undefined}
+ {%
+ \ifthenelse{\iffieldequals{namehash}{\bbx at lasthash}\AND\NOT\iffirstonpage}
+ {\bibnamedash}
+ {%
+ \savefield{namehash}{\bbx at lasthash}%
+ \printnames{author}%
+ \setunit{\addspace}%
+ }%
+ }%
\iffieldundef{nameaddon}
- {}
- {\mkbibbrackets{\bibstring[\unspace]{alias}\addspace\printfield{nameaddon}}%
- \addspace}%
- \usebibmacro{bpl:review:year+labelyear}}
+ {}
+ {%
+ \mkbibbrackets{\bibstring[\unspace]{alias}\addspace\printfield{nameaddon}}%
+ \addspace%
+ }%
+ \usebibmacro{bpl:review:year+labelyear}%
+}
\newbibmacro*{bpl:review:year+labelyear}{%
- \iffieldundef{year}
- {}
- {\printtext[parens]{%
- \printfield{labelyear}%
- \printfield{extradate}}}}
+ \iffieldundef{year}
+ {}
+ {%
+ \printtext[parens]{%
+ \printfield{labelyear}%
+ \printfield{extradate}%
+ }%
+ }%
+}
%
% l7n
@@ -1043,16 +839,16 @@
\NewBibliographyString{with}
\NewBibliographyString{parttranslationof}
\DefineBibliographyStrings{english}{%
- parttranslationof = {partial translation of},
- with = {with}
+ parttranslationof = {partial translation of},
+ with = {with}
}
\DefineBibliographyStrings{french}{%
- parttranslationof = {traduction partielle de},
- with = {avec}
+ parttranslationof = {traduction partielle de},
+ with = {avec}
}
\DefineBibliographyStrings{german}{%
- parttranslationof = {Teil\"ubersetzung von},
- with = {mit}
+ parttranslationof = {Teil\"ubersetzung von},
+ with = {mit}
}
@@ -1061,29 +857,30 @@
%
\DeclareBibliographyDriver{review}{%
- \usebibmacro{bpl:review:author/label}%
- \setunit*{\addcolon\space}%
- \usebibmacro{title}%
- \newunit\newblock
- \usebibmacro{in:}%
- \usebibmacro{journal+issuetitle}%
- \newunit\newblock
- \printfield{note}%
- \setunit{\addcomma\space}%
- \printfield{pages}
- \newunit\newblock
- \printfield{issn}%
- \newunit\newblock
- \printfield{doi}%
- \setunit{\addspace}
- \usebibmacro{addendum+pubstate}%
- \newunit\newblock
- \usebibmacro{url+urldate}%
- \newunit\newblock
- \usebibmacro{pageref}%
- \newunit\newblock
- \usebibmacro{related}%
- \usebibmacro{finentry}}
+ \usebibmacro{bpl:review:author/label}%
+ \setunit*{\addcolon\space}%
+ \usebibmacro{title}%
+ \newunit\newblock
+ \usebibmacro{in:}%
+ \usebibmacro{journal+issuetitle}%
+ \newunit\newblock
+ \printfield{note}%
+ \setunit{\addcomma\space}%
+ \printfield{pages}
+ \newunit\newblock
+ \printfield{issn}%
+ \newunit\newblock
+ \printfield{doi}%
+ \setunit{\addspace}
+ \usebibmacro{addendum+pubstate}%
+ \newunit\newblock
+ \usebibmacro{url+urldate}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{related}%
+ \usebibmacro{finentry}%
+}
%
% Sorting schemes
@@ -1092,107 +889,107 @@
% Consider the whole date (year-month-day)
% Sorting date (descending), name, title
\DeclareSortingTemplate{ddnt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort[direction=descending]{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort[direction=descending]{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sortname}
- \field{author}
- \field{editor}
- \field{translator}
- \field{sorttitle}
- \field{title}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort[direction=descending]{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort[direction=descending]{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort[direction=descending]{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sortname}
+ \field{author}
+ \field{editor}
+ \field{translator}
+ \field{sorttitle}
+ \field{title}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Sorting year (descending), month, day, name, title
\DeclareSortingTemplate{ydmdnt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sortname}
- \field{author}
- \field{editor}
- \field{translator}
- \field{sorttitle}
- \field{title}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort[direction=descending]{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sortname}
+ \field{author}
+ \field{editor}
+ \field{translator}
+ \field{sorttitle}
+ \field{title}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Sorting date (ascending), name, title
\DeclareSortingTemplate{dnt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sortname}
- \field{author}
- \field{editor}
- \field{translator}
- \field{sorttitle}
- \field{title}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sortname}
+ \field{author}
+ \field{editor}
+ \field{translator}
+ \field{sorttitle}
+ \field{title}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Sorting schemes without name
@@ -1199,103 +996,103 @@
% Sorting year (descending), title
\DeclareSortingTemplate{ydt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort[direction=descending]{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Consider the whole date (year-month-day)
% Sorting date (descending), title
\DeclareSortingTemplate{ddt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort[direction=descending]{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort[direction=descending]{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort[direction=descending]{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort[direction=descending]{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort[direction=descending]{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Sorting year (descending), month, day, title
\DeclareSortingTemplate{ydmdt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort[direction=descending]{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
% Sorting date (ascending), title
\DeclareSortingTemplate{dt}{
- \sort{
- \field{presort}
- }
- \sort[final]{
- \field{sortkey}
- }
- \sort{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
- \literal{9999}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{month}
- \literal{00}
- }
- \sort{
- \field[padside=left,padwidth=2,padchar=0]{day}
- \literal{00}
- }
- \sort{
- \field{sorttitle}
- \field{title}
- }
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort{
+ \field[strside=left,strwidth=4]{sortyear}
+ \field[strside=left,strwidth=4]{year}
+ \literal{9999}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{month}
+ \literal{00}
+ }
+ \sort{
+ \field[padside=left,padwidth=2,padchar=0]{day}
+ \literal{00}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
}
@@ -1307,39 +1104,39 @@
% ignore author constellation on extralabel assignment.
\if at hlauthor
\else
-\DeclareStyleSourcemap{
- \maps[datatype=bibtex]{
- \map[overwrite]{
- \step[fieldset=shortauthor, fieldvalue={1111}]
- }
- }
+ \DeclareStyleSourcemap{
+ \maps[datatype=bibtex]{
+ \map[overwrite]{
+ \step[fieldset=shortauthor, fieldvalue={1111}]
+ }
+ }
}
\fi
% Correctly sort pubstates.
\DeclareStyleSourcemap{
- \maps[datatype=bibtex]{
- \map{
- \step[fieldsource=year, final]
- \step[fieldset=sortyear, origfieldval]
+ \maps[datatype=bibtex]{
+ \map{
+ \step[fieldsource=year, final]
+ \step[fieldset=sortyear, origfieldval]
+ }
+ \map{
+ \step[fieldsource=pubstate, match=\regexp{forthcoming}, final]
+ \step[fieldset=sortyear, fieldvalue={2222}]
+ }
+ \map{
+ \step[fieldsource=pubstate, match=\regexp{inpress}, final]
+ \step[fieldset=sortyear, fieldvalue={3333}]
+ }
+ \map{
+ \step[fieldsource=pubstate, match=\regexp{submitted}, final]
+ \step[fieldset=sortyear, fieldvalue={4444}]
+ }
+ \map{
+ \step[fieldsource=pubstate, match=\regexp{inpreparation}, final]
+ \step[fieldset=sortyear, fieldvalue={5555}]
+ }
}
- \map{
- \step[fieldsource=pubstate, match=\regexp{forthcoming}, final]
- \step[fieldset=sortyear, fieldvalue={2222}]
- }
- \map{
- \step[fieldsource=pubstate, match=\regexp{inpress}, final]
- \step[fieldset=sortyear, fieldvalue={3333}]
- }
- \map{
- \step[fieldsource=pubstate, match=\regexp{submitted}, final]
- \step[fieldset=sortyear, fieldvalue={4444}]
- }
- \map{
- \step[fieldsource=pubstate, match=\regexp{inpreparation}, final]
- \step[fieldset=sortyear, fieldvalue={5555}]
- }
- }
}
@@ -1351,17 +1148,18 @@
% Issue a warning if used.
\newtoggle{bpl:omitname}
\def\omitname{%
- \toggletrue{bpl:omitname}%
- \@ifnextchar[%
- {\plauthorname at i}
- {\plauthorname at i[]}%
+ \toggletrue{bpl:omitname}%
+ \@ifnextchar[%
+ {\plauthorname at i}
+ {\plauthorname at i[]}%
}
\AtEndPreamble{%
- \iftoggle{bpl:omitname}{
- \PackageWarning{biblatex-publist}{The \protect\omitname\space macro is deprecated!\MessageBreak
- Please use \protect\plauthorname\space instead.}{}%
- }
+ \iftoggle{bpl:omitname}{%
+ \PackageWarning{biblatex-publist}%
+ {The \protect\omitname\space macro is deprecated!\MessageBreak
+ Please use \protect\plauthorname\space instead.}{}%
+ }%
}
Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx 2019-05-04 22:47:13 UTC (rev 50988)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx 2019-05-04 22:47:27 UTC (rev 50989)
@@ -26,8 +26,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl at version{1.15}
-\def\bpl at rdate{2019/02/22}
+\def\bpl at version{1.16}
+\def\bpl at rdate{2019/04/16}
\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