% !TeX spellcheck = en_US
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% File biblatex-publist.tex
%%
%% Manual of the biblatex-publist package.
%%
%% This file is part of the biblatex-publist package.
%%
%% Author: Juergen Spitzmueller <juergen.spitzmueller@univie.ac.at>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%% 
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Code repository and issue tracker: https://github.com/jspitz/jslectureplanner
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[english]{article}
\usepackage[osf]{libertine}
\usepackage[scaled=0.76]{beramono}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}

\usepackage{listings}
\lstset{%
	language={[LaTeX]TeX},
	basicstyle={\small\ttfamily},
	frame=single}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{url}
\usepackage[svgnames]{xcolor}
\usepackage[unicode=true]{hyperref}
\hypersetup{%
	pdftitle={The biblatex-publist manual},
	pdfauthor={Jürgen Spitzmüller},
	pdfkeywords={biblatex,publication list}
	bookmarks=true,
	bookmarksnumbered=false,
	bookmarksopen=false,
	breaklinks=false,
	backref=false,
	colorlinks,
	linkcolor=black,
	filecolor=Maroon,
	urlcolor=Maroon,
	citecolor=black
}

% Tweak the TOC (make it more compact)
\usepackage{tocloft}
\setlength{\cftaftertoctitleskip}{6pt}
\setlength{\cftbeforesecskip}{3pt}
\setlength{\cftbeforesubsecskip}{0pt}
\renewcommand{\cfttoctitlefont}{\normalsize\bfseries}
\renewcommand{\cftsecfont}{\small\bfseries}
\renewcommand{\cftsecpagefont}{\small\bfseries}
\renewcommand{\cftsubsecfont}{\small}
\renewcommand{\cftsubsecpagefont}{\small}
\renewcommand{\cftsubsubsecfont}{\small}
\renewcommand{\cftsubsubsecpagefont}{\small}

% Some semantic markup
\makeatletter
\newcommand*\@marginmacro[2][]{%
	\marginpar{\IfBlankTF{#1}{}{\hspace*{#1em}}\raggedleft\small\textcolor{Maroon}{\texttt{#2}}}%
}
\def\jmacro{\@ifstar\@@jmacro\@jmacro}
\newcommand*\@jmacro[1]{\textbf{\texttt{#1}}}
\newcommand*\@@jmacro[2][]{\@jmacro{#2}\IfBlankTF{#1}{\@marginmacro{#2}}{\@marginmacro[#1]{#2}}}
\def\jcsmacro{\@ifstar\@@jcsmacro\@jcsmacro}
\newcommand*\@jcsmacro[1]{\@jmacro{\textbackslash{#1}}}
\newcommand*\@@jcsmacro[2][]{\IfBlankTF{#1}{\@@jmacro{\textbackslash{#2}}}{\@@jmacro[#1]{\textbackslash{#2}}}}
\newcommand*\joption[1]{\textbf{\texttt{#1}}}
\newcommand*\jfoption[1]{\texttt{#1}}
\newcommand*\jfmacro[1]{\texttt{#1}}
\newcommand*\jfcsmacro[1]{\jfmacro{\textbackslash{#1}}}
\newcommand*\jmmacro[1]{\@marginmacro{#1}}
\newcommand*\jmcsmacro[1]{\@marginmacro{\textbackslash{#1}}}
\def\jenviron{\@ifstar\@@jenviron\@jenviron}
\newcommand*\@jenviron[1]{\textbf{\texttt{#1}}}
\newcommand*\@@jenviron[1]{\marginpar{\raggedleft\small\textcolor{Maroon}{\texttt{#1}}}%
	\textbf{\texttt{\textbackslash begin\{#1\}$\ldots$\textbackslash end\{#1\}}}%
}
\newcommand*\bpl{\texttt{biblatex-publist}}
\newcommand*\bibltx{\texttt{biblatex}}
\makeatother

\reversemarginpar

% 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}

%
%%
\begin{document}

\title{biblatex-publist}

\author{Jürgen Spitzmüller%%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}

\date{Version 2.8, 2024/03/08}
\maketitle

\begin{abstract}
\noindent The \bpl\ package provides a \bibltx\ \cite{bibltx} style file
for publication lists -- a bibliography listing one's own
publications. It employs \bibltx's \emph{author\-year} style by default
(which can be changed), but provides extra features needed for publication lists,
such as the omission or highlighting of the own name from\slash in author or editor data
and specific numbering.
The package requires at least version 3.8 of \bibltx\ and \texttt{biber}
(the respective version as required by \bibltx).
\end{abstract}

\tableofcontents

\section{Aim of the Package}

The \bpl\ package provides a \bibltx\ bibliography style specifically for academic publication lists.
Such lists, which are a central part of the academic CV, contain all or selected
publications of a specific author, usually sorted by genre and year.
Even though publication lists are actually nothing else than (specific) bibliographies,
they diverge from those in some respects. Most notably, it is widespread practice
to omit your own name in your publication list and only list your co-authors,
if there are any, or to highlight your own name (e.\,g., with bold face letters).
If you want to follow this practice, a normal bibliography style does not
produce the desired result.

Given the fact that maintaining a publication list is a routine task
in an academian's life, it is surprising how few specified solutions
are at disposal to generate such lists (particularly from Bib\TeX\ data). For
classic Bib\TeX, Nicolas Markey provides (off CTAN) a Bib\TeX\ style file
dedicated to that task, \emph{publist.bst}%
\footnote{See \url{http://www.lsv.fr/~markey/BibTeX/publist/publist.bst}
	for the style file, \url{http://www.lsv.fr/~markey/BibTeX/publist/doc.ps.gz}
	for documentation; see also \cite{ttb}.}.
The \bpl\ package started off as the attempt to emulate the features of
\emph{publist.bst} with \bibltx's means; it thus partly draws on
its conceptual ideas. Meanwhile, however, it has significantly exceeded
that initial goal and provides many more features than \emph{publist.bst},
thereby accounting for my own needs and for requests that reached me.

The list of features includes:

\begin{itemize}
	\setlength\itemsep{0pt}
	\item Omit or hide selected author names, with a specific indication of co-authors in the former case
	\item Filter publications of specific authors from heterogeneous bibliography databases
	\item Date-centric sorting (as typical for publication lists)
	\item Number items in ascending or descending order, globally or sectional
	\item Highlight the year of publication
	\item Optionally indicate the year of publication (sets) in the margin
	\item Clickable titles, linking to the URL, DOI, or a web catalog
	\item Indicate if/how a title has been peer-reviewed
	\item Mark OpenAccess publications
	\item Give bibliometric information (journal impact factor)
	\item List reviews of specific titles
	\item Adjustable base bibliography style
\end{itemize}
%
Many features have been suggested by users of the package.
If you miss a specific feature, feel free to suggest it via
\url{https://github.com/jspitz/biblatex-publist/issues}.

\subsection*{Requirements and Caveats}

Note that \bpl\ relies on rather advanced features of \bibltx\ for some of its own features.
These are only available with the \texttt{biber} backend of \bibltx. Hence \bpl\ requires
the use of \texttt{biber} as well -- the \texttt{bibtex} backend won't work!
Furthermore, the package employs some newer \LaTeXe\ and \texttt{latex3} features. So a quite
recent \LaTeX\ distribution is required.

Also note that the aim of \bpl\ is to generate publication lists, so it is \emph{not suitable}
for normal bibliographies. Specifically, while basic citing works, more advanced
forms of citing may break or not produce the expected result. The reason is that
\bpl\ needs to perform internal tweaks (e.\,g., to \textsf{shortauthor},
\textsf{labelname} and numbering) which might bite you with customized cite formats.


\section{Usage}

\subsection{Standard Usage\label{sec:standard-usage}}

The standard way of using the package is to load the style file via
\begin{lstlisting}[moretexcs={[1]{plauthorname}}]
\usepackage[bibstyle=publist]{biblatex}
\plauthorname[first name][von-part]{surname}
\end{lstlisting}
The \jcsmacro*{plauthorname} macro\footnote{The macro was named \jfcsmacro{omitname} until v.\,1.4
of the \bpl\ package. The old macro still works, but is marked as deprecated.}
(at least with the mandatory \emph{surname} argument) needs to be given (at least\footnote{See
sec.~\ref{sec:multiauthors} for the case of handling multiple authors and name variants.}) once. 
It informs the style file which name(s) it should suppress or highlight in the
author\slash editor list or which entries it should retrieve from a database. In other words,
it defines the name(s) of the person(s) whose publications are listed.

By default, the author\slash editor name(s) will be omitted completely
for all publications which are authored or edited only by the specified person(s), as in:
\begin{quote}
\textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
Practice} 56, pp.~34--86.
\end{quote}
If there are co-authors\slash co-editors, your name(s) will be filtered
out and the collaborators added in parentheses, as in:
\begin{quote}
\textbf{1987} (with John Doe and Mary Hall). Are there new trends
in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
\end{quote}
If \joption{plauthorhandling=highlight} is used (see next section), the plauthor(s)
will be printed in bold face instead, as in:
\begin{quote}
	Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends
	in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
\end{quote}
%
Note that \jcsmacro{plauthorname} expects the name constituents as they are recorded in the
database (special characters are handled). The option \joption{plauthorfirstinit} (see next section),
however, allows you to pass only an initial character instead of a first name.

If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key>\}} within your publication list.
This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.


\subsection{Additional Options}\label{sec:addopts}

Currently, the following additional options are provided (next to the
options provided by the \bibltx\ package itself%
\footnote{Please refer to the \bibltx\ manual \cite{bibltx} for those.}):
\begin{description}
\item [{\joption{plauthorname=<surname>}}]
\item [{\joption{plauthorfirstname=<first name>}}]
\item [{\joption{plauthornameprefix=<von-part>}}] ~

This is an alternative to the \jcsmacro{plauthorname} macro
described in sec.~\ref{sec:standard-usage} to set the publication list author.%
\footnote{The options were called \jfoption{omitname}, \jfoption{omitfirstname} and \jfoption{omitnameprefix}
	until v.\,1.4 of \bpl. The old options still work, but are marked as deprecated.}
As opposed to the macro, however, the options do not provide for multiple authors and name variants
(see sec.~\ref{sec:multiauthors}).

\item [{\joption{plauthorhandling{[}=omit|highlight{]}}}] default: \emph{omit}.

By default, the publist author (as defined with \jcsmacro{plauthorname}) is omitted from
the author or editor list. If you use the option \joption{plauthorhandling=highlight},
it is highlighted instead (set in bold face by default; see sec.~\ref{sec:auxmacros} how to change that).

\item [{\joption{nameorder{[}=family-given|given-family{]}}}] default: \emph{family-given}.

By default, the author and editor names with \joption{plauthorhandling=highlight} are output in the order \enquote{Lastname, Given Names}.
To change the order to \enquote{Given Names Lastname}, pass the option \joption{nameorder=given-family} to \bibltx.

\item [{\joption{fixyear{[}=true|false{]}}}] default: \emph{true}.

By default, the year (or pubstate, if no year is given) is positioned on a fixed slot
(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}. 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.}

By default, the year (or pubstate, if no year is given) is highlighted (printed in bold face).
To prevent this, pass the option \joption{hlyear=false} to \bibltx. The form of highlighting
can be customized as well (see sec.~\ref{sec:auxmacros}). Note that this has no effect if
\joption{fixyear=false}.

\item [{\joption{marginyear{[}=true|false{]}}}] default: \emph{false}.

With this option set to \joption{true}, the publication year (or pubstate) will
be printed in the margin once a new year starts. The option also has
the effect that all marginpars are printed \enquote{reversed}, i.\,e.
on the left side in one-sided documents (via \jfcsmacro{reversemarginpar}).

\item [{\joption{pubstateextra{[}=true|false{]}}}] default: \emph{false}.

If this is \texttt{true}, the extradate marker (a, b etc.) is also appended to pubstates if there are multiple
indentical pubstates; e.\,g., \emph{Forthcoming(a)}, \emph{Forthcoming(b)}.

\item [{\joption{plsorting=<sorting scheme>}}] default: \emph{ydt}.

This option works like the \joption{sorting} option you know from \bibltx. It is provided since \bpl\ sets its
own sorting schemes (differently depending on \joption{plauthorhandling}) and thus overrides any setting made
via \bibltx. You can overwrite those settings here yourself and set an own sorting scheme (see also sec.~\ref{sec:sorting}).

\item [{\joption{plnumbering{[}=global|local|global-descending|local-descending|none{]}}}] default: \emph{global}.%
\footnote{Up to \bpl\ 1.27, numbering was controlled by two separate options, \joption{plnumbered} and \joption{reversenumbering}.
These options (and their differently named values) are still supported, but you get a warning if you use them and are encouraged
to use the new options.}

By default, the publication list is numbered in continuous ascending order. If you divide your publication list into sections
by means of \jfcsmacro{refsection}s (as documented in section~\ref{sec:example}), you will thus get a global numbering over
all sections.

If you prefer the numbering to start from 1 at each section instead, set this option to \joption{local}.

If you prefer descending rather than ascending enumeration, starting from the total
number of entries back to 1 (either globally or within each section), use the \joption{*-descending} variants.

If you do not want to have any numbers at all, set this option to \joption{none}.

Note that if you use descending enumeration, \bpl\ will have to do a full counting of all printed items first
in order to calculate the numbering properly (considering any filtering you might have done).
For this calculation, a specific auxiliary file, \emph{<filename>.bpx}, is used. The package will warn you if more
\texttt{latex} runs are required. See sec.~\ref{sec:numbers} for details.

\item [{\joption{plauthorfirstinit{[}=true|false{]}}}] default: \emph{false}.

If you set this option to \joption{true}, you can (and are supposed to) pass only an initial character as first name value of
\jcsmacro{plauthorname} (e.\,g., \jcsmacro{plauthorname[J]\{Doe\}} or \jcsmacro{plauthorname[J][van]\{Doe\}}).
In consequence, \bpl\ will consider all entries of the specified given name (and prefix, if specified)
whose prename starts with the specified character. This allows you to deal with databases that record entries of your work
with abbreviated and full first name (\textsc{J. Doe} and well as \textsc{John Doe} and \textsc{John Robert Doe}) \emph{as well as}
works of colleagues with the same surname (maybe your family members), which you will not want to mark as your own's.
Of course, the solution does not help if there is an entry with same surname and same first name initial (such as \textsc{Jane Doe}).

\item [{\joption{jifinfo{[}=true|false{]}}}] default: \emph{false}.

If this option is \joption{true}, the journal impact factor, as specified via the \texttt{impactfactor} field
(see section~\ref{sec:impactfactor}), will be appended to the entries.

\item [{\joption{oainfo{[}=simple|verbose|none{]}}}] default: \emph{none}.

If \joption{simple} or \joption{verbose} is selected, open-access information, as specified via the \texttt{openaccess} field
(see section~\ref{sec:openaccess}), will be appended to the entries. With \joption{verbose}, different OpenAccess strategies
(\enquote*{gold}, \enquote*{green}) will be differentiated in the output.


\item [{\joption{prinfo{[}=true|false{]}}}] default: \emph{true}.

If this option is \joption{true}, peer review information, as specified via the \texttt{peerreview} field
(see section~\ref{sec:peerreview}), will be appended to the entries.

\end{description}
%
The following option is available if \textsf{hyperref} is loaded:

\begin{description}

\item [{\joption{linktitles={[}all|doi|url|isbn|issn|none{]}}}] default: \emph{none}.

Turns the title (and subtitle, if available) into a clickable hyperlink to either the DOI, the URL, the ISBN,
or the ISSN (the latter two via customizable search provider), if any of these is available.\footnote{%
Up to v.\,1.27, \bpl\ provided a range of boolean options for this task. These are still supported, but considered deprecated.
} The option \joption{all} activates all these targets, \joption{none} deactivates them.
To enable several targets, multiple values might be passed to the option, embraced and separated by comma
(e.\,g., \joption{linktitles=\{doi, isbn,issn\}}). If an entry provides several targets, the first found from
the order DOI \textrightarrow\ URL \textrightarrow\ ISBN \textrightarrow\ ISSN is used, so the order passed to the
option does not matter, except for  \joption{all} and  \joption{none}, which activate or deactivate all at their
position in the chain (and options that follow might re-enable them, as in \joption{linktitles=\{none,url\}}).
See section~\ref{sec:clicktitles} for details.

\end{description}
%
All options listed here should be passed directly to \bibltx\ via \jfcsmacro{usepackage} when loading \bibltx, and they apply to the whole
document.

For most options, it is possible to change them (repeatedly) within the document. To this end, the macro
\jcsmacro*[-3]{ExecutePublistOptions} is provided. It takes a comma-separated list of options as its mandatory argument
and can be used (repeatedly) in preamble or anywhere in the document body.
The executed options apply as of the next bibliography (\jfcsmacro{printbibliography}) that follows.
Options that \emph{cannot} be changed within a document that way are \joption{plnumbering} and \joption{pubstateextra},
as these options employ features that can only be set once per document.
However, please refer to sec.~\ref{sec:numbers} on how to address some frequently requested numbering changes.
Also note that with the \joption{plauthor*} options, as opposed to repeated \jcsmacro{plauthorname} calls,
repeated setting of these name options respectively \emph{overwrite}, and not extend, the previous name settings.


\subsection{Numbers Games}\label{sec:numbers}

Among the peculiarities of publication lists is the greater variety of numbering conventions, as compared
with normal bibliographies in academic works. If a numeric citation style is used in the latter, the items are
as a rule numbered in ascending order, and each entry has a unique number. The main function of the
number here is to provide fast access from a reference to the referred entry, and a continuous ascending
enumeration fits this purpose best.

In publication lists, this is only a secondary function of the number, as publication lists are not meant for citing.
The main function here is, in fact, \emph{metrical}. In our increasingly metricalized academic cultures, and against the
backdrop of the \enquote{publish or perish} imperative scholars find themselves confronted with, the sheer number
of publications a scholar has is, next to weighted references to them (e.\,g., the\emph{ h-index}), social capital.
The numbering of items in publication lists is thus, if you will, a sort of account balance.

Now since publication genres (e.\,g., journal papers vs. chapters)
are usually valued differently (\enquote*{impact!}), many people prefer to have a more differentiated balance in
the sense that the publication lists should swiftly tell the reader how many papers, monographs, chapters, etc.,
a person has published. Hence those people prefer to number their publications by section rather than continuously.

On the other hand, since publication lists are often ordered reversely chronological, many people also prefer
to have a reversely ordered (descending) numbering, either globally over the whole list or, again, by section.

The \bpl\ package accounts for these needs and provides, via the option \joption{plnumbering}, five different numbering variants:
\begin{enumerate}\setlength{\itemsep}{0pt}
	\item Global ascending numbers (that continue across sections) [\emph{default}]
	\item Global descending numbers [\joption{plnumbering=global-descending}]
	\item Local ascending numbers (that are reset to 1 in each section) [\joption{plnumbering=local}]
	\item Local descending numbers [\joption{plnumbering=local-descending}]
	\item No numbers at all [\joption{plnumbering=none}]
\end{enumerate} 
%
Particularly reverse numbering is, technically, a bit of a challenge; \bibltx, for reasons, does not provide this
feature out of the box. In order to do descending numbering one has to know the number of entries in the
publication list, or in individual sections, before the first number can get assigned. Since items can be
filtered out, for instance via \bibltx's \joption{filter} or \joption{keyword} options, \bibltx\ itself
only knows this number after all entries have been processed for output. Yet since it only provides for
ascending numbers, \bibltx\ does not (need to) store this knowledge, and thus, it is not readily available
to \bpl.

Thus, with \joption{plnumbering=global-descending} and \joption{plnumbering=local-descending}, \bpl\ will first
count all printed entries, globally and per section, write the results in an auxiliary file (\emph{<filename>.bpx}),
and then do at least one additional pass in order to fix the numbering. This requires additional \texttt{latex}
cycles, but you will be given a warning if the numbering is not yet fully resolved.

Now in addition to these mentioned variants, some people still need a more fine-grained control over the numbering.
For instance, some scholars want to list both their publications and their conference papers (talks) in the
same document, but separately numbered. Both publications and talks might themselves be divided into different
sections (\emph{monographs}, \emph{papers}, $\ldots$; \emph{keynotes}, \emph{invited talks}, $\ldots$) which, however,
should be numbered continuously within their category. So \joption{plnumbering=local} alone does not produce
the desired result.

For this case, \bpl\ provides two alternative and slightly different features: First, an environment
\jenviron*{plnumgroup}.
All sections you embrace by this in the context of \joption{plnumbering=local} are numbered continuously,
so resetting is suspended within this environment. This works both with ascending and descending enumeration.

In the ascending case only, the macro \jcsmacro*{setplnum} is useful as a (more flexible) alternative.
It allows you to set the first label number of the next bibliography section that follows to a specific
(arbitrary) value.
All following numbers ascend or descend from this new value.
The adjustment applies to all following bibliography sections with continuous numbering, i.\,e., if
a \joption{global} numbering scheme is used.
With \joption{local} numbering, by contrast, following sections continue to be reset.
In all cases, the macro can be used repeatedly for re-adjustments in forthcoming sections.

So in the use case mentioned above, inserting \verb|\setplnum{1}| before the first section that lists
conference papers, together with \joption{plnumbering=global} (the default), will provide the desired result
(provided that ascending numbering is wished for). The desired result will also be achieved by embracing
all publication-related sections in a \jenviron{plnumgroup} environment and and all conference-paper-related
sections in another one, while using \joption{plnumbering=local} or \joption{plnumbering=local-descending}.
This second approach, as opposed to the former, also works for descending enumeration.

The macro \jcsmacro*{shiftplnum}, by contrast with \jcsmacro{setplnum}, provides a way to adjust the
subsequent numbering in a \emph{relative} way.
It takes a positive or negative integer value that determines how much and in which direction the adjustment
shall take place (e.\,g., \verb|\shiftpblnum{2}| or \verb|\shiftplnum{-1}|). This might be useful if you
insert items in the list manually or in some very specific settings. Again, this macro can be used
repeatedly  and applies to all subsequent items as of the next section that follows. As opposed to
\jcsmacro{setplnum}, the shifting also persists with \joption{local} numbering schemes.

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
in addition to a specification via the options \joption{plauthorname}, \joption{plauthorname} and
\joption{plauthornameprefix}), all of them will be considered.

Thus it is possible to highlight multiple authors in the publication
list (for instance to mark contributions of a research team):
\begin{lstlisting}[moretexcs={[2]{plauthorname}}]
\usepackage[style=publist,plauthorhandling=highlight]{biblatex}
\plauthorname[Cristiano]{Ronaldo}
\plauthorname[\'Angel][Di]{Mar\'ia}
\plauthorname{Neymar}
\end{lstlisting}
%
Multiple specifications can also be used to deal with name variants:
\begin{lstlisting}[moretexcs={[2]{plauthorname}}]
\plauthorname[Bill]{Gates}
\plauthorname[William]{Gates}
\plauthorname[William Henry]{Gates}
\plauthorname[William H.]{Gates}
\end{lstlisting}
%
Since the latter is also useful with \joption{plauthorhandling=omit}, this mode also considers multiple specifications.
By entering something such as the former, it is even possible to omit more than one and different authors from the entries
(and \bpl\ will take care of the change in the author separation this involves; think of final \emph{and} vs. \emph{comma},
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 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.


\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}

\subsection{Adding Specific Entry-Related Information}

Publication lists usually contain some information which is not commonly given in normal
bibliographies, information that is supposed to help ranking the author (bibliometrics; the
peer review procedures publications have been subject to) or their publication strategy (e.\,g.,
OpenAcess). To allow for this, \bpl\ provides some extra features which will be described in what
follows. Please also refer to sec.~\ref{sec:auxmacros} for some customization possibilities. 

\subsubsection{Journal Impact Factor}\label{sec:impactfactor}

Although the meaningfulness of this measure has been heavily challenged, scholars in many fields are
supposed to give the impact factor (citation ratio) of the journals they have published in.
Thus, \bpl\ provides a specific database field, \texttt{impactfactor}, in which you can store
this value and maybe specify the metrics used.

If you publish in a journal repeatedly, it might make sense to store the journal name and impact factor
in a specific \texttt{@xdata} subset (please refer to the \bibltx\ documentation for details on such subsets).

If the option \joption{jifinfo} is true, then \bpl\ will append the respective information to the entries.
A specific localizable bibkey is used for this purpose (see section~\ref{sec:localization}).

\subsubsection{Peer Review}\label{sec:peerreview}

It is common, and sometimes mandatory, to add information to publication list entries indicating if
and how listed work has been subject to peer review.
To this end, \bpl\ provides a specific database field, \texttt{peerreview}, in which you can use
the following shorthands:

\begin{itemize}\setlength{\itemsep}{0pt}
	\item{\texttt{sb}} (=~single blind peer review)
	\item{\texttt{db}} (=~double blind peer review)
	\item{\texttt{op}} (=~open peer review)
	\item{\texttt{co}} (=~collaborative peer review)
	\item{\texttt{cc}} (=~cascading peer review)
	\item{\texttt{tp}} (=~third-party peer review)
	\item{\texttt{pp}} (=~post-publication peer review)
	\item{\texttt{no}} (=~no peer review)
\end{itemize}
%
If the option \joption{prinfo} is true, then \bpl\ will append the respective information to the entries.
A specific localizable bibkey is used for this purpose (see section~\ref{sec:localization}). Instead of
the shorthands, you can also enter arbitrary text to the \texttt{peerreview} field, which is then output
as is (and not localized).


\subsubsection{OpenAccess Strategies}\label{sec:openaccess}

Some people also want, or need, to indicate whether and which (some of) their publications have
been published \enquote*{OpenAccess}, that is, free of charges and other access barriers.
To this end, \bpl\ provides a specific database field, \texttt{openaccess}, in which you can use
the following shorthands:

\begin{itemize}\setlength{\itemsep}{0pt}
	\item{\texttt{true}} -- Indicates that this publication has been published OpenAccess, no matter which strategy
	\item{\texttt{gold}} -- Indicates that this publication has been published OpenAccess from the beginning (\enquote*{gold} strategy)
	\item{\texttt{green}} -- Indicates that a secondary version of this publication has been made openly accessible on a public document
	      server (repository) (\enquote*{green} strategy)
\end{itemize}
%
If you use the option \joption{oainfo=verbose} or \joption{oainfo=simple}, then \bpl\ will append the respective information to the entries.
In the former case, \enquote*{gold} and \enquote*{green} publications will be differentiated, in the latter, this differentiation is
not done.
Specific localizable bibkeys are used for this purpose (see section~\ref{sec:localization}). Instead of
the shorthands, you can also enter arbitrary text to the \texttt{openaccess} field, which is then output
as is (and not localized).

\section{Customization}

\subsection{Auxiliary Macros and Lengths}\label{sec:auxmacros}

The appearance of the \emph{marginyear} is controlled by the
\jcsmacro*{plmarginyear} macro, which has the following default definition:
\begin{lstlisting}[moretexcs={[2]{providecommand,plmarginyear}}]
\providecommand*\plmarginyear[1]{%
  \raggedleft\small\textbf{#1}%
}
\end{lstlisting}
If you want to change the appearance, just redefine this macro via
\jfcsmacro{renewcommand{*}}.

The highlighting of the year within the entry, if \joption{hlyear=false} has not been set,
is controlled by the \jcsmacro*{plyearhl} macro, which has the following default definition:
\begin{lstlisting}[moretexcs={[2]{providecommand,plyearhl,mkbibbold}}]
\providecommand*\plyearhl[1]{%
	\mkbibbold{#1}%
}
\end{lstlisting}
If you need another form of highlighting, redefine this macro via \jfcsmacro{renewcommand{*}}.

The highlighting of the publication list author, if \joption{plauthorhandling=highlight} has been set,
is controlled by the \jcsmacro*{plauthorhl} macro, which has the following default definition:
\begin{lstlisting}[moretexcs={[2]{providecommand,plauthorhl,mkbibbold}}]
\providecommand*\plauthorhl[1]{%
	\mkbibbold{#1}%
}
\end{lstlisting}
If you need another form of highlighting, redefine this macro via \jfcsmacro{renewcommand{*}}.

The embracing of authors with \joption{plauthorhandlung=omit} (by default: in parentheses) is
controlled by the two macros \jcsmacro*{bplopenoa} and \jcsmacro*{bplcloseoa} which are defined
by default as:
\begin{lstlisting}[moretexcs={[2]{providecommand,bplopenoa,bplcloseoa,bibopenparen,bibcloseparen}}]
\providecommand*{\bplopenoa}{\bibopenparen}
\providecommand*{\bplcloseoa}{\bibcloseparen}
\end{lstlisting}
You can remove the parentheses by redefining these macros with empty arguments, respectively,
or add other delimiters instead. Note that if you use \jfcsmacro{bibopenbracket} in \jfcsmacro{bplopenoa},
you must also use \jfcsmacro{bibclosebracket} in \jfcsmacro{bplcloseoa}
to balance the delimitation (as with \jfcsmacro{bibopenparen} and \jfcsmacro{bibcloseparen}).

The\jmmacro{plextrainfo} embracing of extra information (brackets by default) can be customized by changing
\begin{lstlisting}[moretexcs={[4]{DeclareFieldFormat,mkbibbrackets}}]
\DeclareFieldFormat{plextrainfo}{\mkbibbrackets{#1}}
\end{lstlisting}

The\jmcsmacro{plextrainfosep} separator between extra information (peer review, OpenAccess) can be redefined.
The default definition is:
\begin{lstlisting}[moretexcs={[4]{plextrainfosep,addsemicolon,addspace}}]
\newcommand*\plextrainfosep{\addsemicolon\addspace}
\end{lstlisting}
%
The indendation of the bibliographic entries (lines > 1) can be adjusted by setting the length
\jmacro*{extralabel\-numberwidth} via \jfcsmacro{setlength} (default is \texttt{0pt}).
This might be needed for long bibliographies (> 99 entries) in order to adjust to the extra
space the item number needs.

\subsection{Using a Different Base Style}\label{sec:basestyle}

By default, \bpl\ loads \bibltx's \emph{authoryear} style, and it has been written
to work with that style. However, it is possible to try a diffent base style, if
\emph{author\-year} does not fit your needs.\condbreak{2\baselineskip}

In order to do so, enter the following \emph{before} loading \bibltx:
\begin{lstlisting}[moretexcs={[2]{publistbasestyle}}]
\newcommand*\publistbasestyle{<stylename>}
\end{lstlisting}
where <stylename> is the name of the biblatex bibliography style (\emph{bbx}) you want to use, without the \emph{bbx} entension (e.\,g., \lstinline[moretexcs={[2]{publistbasestyle}}]|\newcommand*\publistbasestyle{mla}|).

Note, though, that there is (and can be) no guarantee that \bpl\ will work with all styles, although it has been successfully tested with several. Be prepared to bump into \LaTeX\ errors and carefully check the output for correctness if you try a different base style.

Note, further, that the order of author's and editor's given and family names is hardcoded in
\bpl\ due to the complex omission\slash highlighting mechanism. This might
differ from what you expect with specific base styles. To change the order,
use the package option \joption{nameorder} (see sec.~\ref{sec:addopts}).

The same applies to the position of the year, which is hardcoded to a specific position.
This can be opted out by the package option \joption{fixyear=false}
(see sec.~\ref{sec:addopts}). With this option, however, you lose the possibility to highlight the year.


\subsection{Clickable Titles}\label{sec:clicktitles}

With the option \joption{linktitles} (see sec.~\ref{sec:addopts}), titles and subtitles are turned into clickable
hyperlinks if the \textsf{hyperref} package is loaded, and the respective data is there, i.\,e., if either the
DOI field, the URL field, the ISBN field or the ISSN field is defined for the given entry (checked in this order
if multiple of these targets are enabled or \joption{linktitles=all} is used).

With URL and DOI, direct links are created. With ISBN or ISSN, a link to a search provider is created instead
(\textsf{worldcat} by default). The search provider can be customized by redefining the following macros:
\begin{lstlisting}[moretexcs={[2]{plisbnlink,plissnlink}}]
\newcommand*\plisbnlink[1]{https://www.worldcat.org/search?qt=worldcat_org_all&q=#1}
\newcommand*\plissnlink[1]{https://www.worldcat.org/search?qt=worldcat_org_all&q=#1}
\end{lstlisting}
%
where \verb|#1| is a placeholder for the ISBN or ISSN, respectively.

Note that the \joption{linktitles} option does not have any affect on whether URLs, DOIs, ISBNs and ISSNs
are printed, so you might get redundant output. To control (e.\,g., omit) them, use the \joption{url},
\joption{doi} and \joption{isbn} biblatex options. 

\section{Localization}\label{sec:localization}

Since the package draws on \bibltx, it supports localization. 
The following additional localization keys (\jfcsmacro{bibstrings})
are added by the package:
\begin{itemize}
\setlength{\itemsep}{0pt}
\item \emph{impactfactor}: the expression \enquote{impact factor}.
\item \emph{openaccess:true}: the expression \enquote{OpenAccess}.
\item \emph{openaccess:gold}: the phrase \enquote{OpenAccess (gold)}.
\item \emph{openaccess:green}: the phrase \enquote{OpenAccess (green)}.
\item \emph{parttranslationof}: the expression \enquote{partial translation of}
       for entries referring to partially translated work via \bibltx's
      \enquote*{related entries} feature (see sec.~\ref{sec:partial-translations}).
\item \emph{peerreview:sb}: the phrase \enquote{single blind peer review}.
\item \emph{peerreview:db}: the phrase \enquote{double blind peer review}.
\item \emph{peerreview:op}: the phrase \enquote{open peer review}.
\item \emph{peerreview:co}: the phrase \enquote{collaborative peer review}.
\item \emph{peerreview:cc}: the phrase \enquote{cascading peer review}.
\item \emph{peerreview:tp}: the phrase \enquote{third-party peer review}.
\item \emph{peerreview:pp}: the phrase \enquote{post-publication peer review}.
\item \emph{peerreview:no}: the phrase \enquote{no peer review}.
\item \emph{with}: the preposition \enquote{with} that precedes the list of
       co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
\end{itemize}
Currently, these additional localization keys are available in the following
languages: English, French and German.%
\footnote{Please send suggestions for other languages to the package author.}


\section{Further Extensions}

The following extensions of standard \bibltx\ features are provided.


\subsection{Review Bibliography Type}\label{sec:review-bibliography-type}

Although a \emph{review} entry type is provided by \bibltx, this
type is treated as an alias for \emph{article}. The \bpl\ package
uses this entry type for a specific purpose: Foreign reviews of your
own work. It therefore defines a new bibliography environment \emph{reviews}
with a specific look (particularly as far as the author names are
concerned) and its own numbering; furthermore, it redefines the \emph{review}
bibliography driver. The purpose of this is that you can add other
people's reviews of your work to your publication list, while these
titles are clearly marked and do not interfere with the overall numbering
(see sec.~\ref{sec:example} for an example).


\subsection{Partial Translations}\label{sec:partial-translations}

A new \enquote{related entry} type \emph{parttranslationof} is provided.
This is an addition to the \emph{translationof} related entry type
\bibltx\ itself provides. Please refer to the \bibltx\ manual \cite{bibltx}
on what \enquote{related entries} are and how to use them.


\section{An Example}\label{sec:example}

Publication lists are usually categorized by genre (monographs, articles,
book chapters, etc.). For this task, the use of \jfmacro{refsections} (see \cite[sec 3.7.4]{bibltx} for details) is
suggested. Other possibilities were not tested extensively and might fail (in particular as far as the numbering of the items
is concerned).

The suggested procedure is to maintain separate bib files for each
category, say \emph{mymonographs.bib}, \emph{myarticles.bib}, \emph{myproceedings.bib}.%
\footnote{But see sec.~\ref{sec:filtering} for an alternative.}
Then a typical file would look like example~\ref{example} (p.~\pageref{example}).
%
\begin{lstlisting}[caption={Typical document},
		   float,
		   frame=single,
		   label={example},
		   moretexcs={[5]{plauthorname,addbibresource,printbibliography,maketitle,newrefsection}}]
\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{csquotes}% not required, but recommended
\usepackage[style=publist]{biblatex}
\plauthorname[John]{Doe}

\addbibresource{mymonographs.bib}
\addbibresource{myarticles.bib}
\addbibresource{myproceedings.bib}

\begin{document}

\title{John Doe's publications}
\date{\today}
\maketitle

\section{Monographs}
\newrefsection[mymonographs]
\nocite{*}
\printbibliography[heading=none]

\section{Proceedings}
\newrefsection[myproceedings]
\nocite{*}
\printbibliography[heading=none]

\section{Articles}
\newrefsection[myarticles]
\nocite{*}
\printbibliography[heading=none]

\end{document}
\end{lstlisting}
%
If you want to add other people's reviews of your work, add a section
as shown in example~\ref{example2}.
\begin{lstlisting}[caption={Adding foreign reviews},
	               label={example2},
		           moretexcs={[4]{bibfont,subsubsection,printbibliography,newrefsection}}]
\subsubsection*{Reviews of my thesis}
\newrefsection[mythesis-reviews]
\renewcommand\bibfont{\small}
\nocite{*}
\printbibliography[heading=none,env=reviews]
\end{lstlisting}

Note that the \jfcsmacro{printbibliography} option
\joption{env=reviews}  is crucial if you want to use the specifics
\bpl\ defines for reviews (see sec.~\ref{sec:review-bibliography-type}).


\section{Filtering\label{sec:filtering}}

If you have a bibliographic database consisting not only of your own
publications, you can extract yours with the bibliography filter \joption{mine},
which has to be passed to \jfcsmacro{printbibliography}, as in:
\begin{lstlisting}[caption={Using a bibliography filter},
		  moretexcs={[1]{printbibliography}}]
\nocite{*}
\printbibliography[heading=none,filter=mine]
\end{lstlisting}
%
This will effectively print only publications which have been authored or edited by the
person(s) specified as via \jcsmacro{plauthorname} (or the corresponding option).

You can also use other filter possibilities provided by \bibltx, such as filtering by type
or by keyword. So if you want to extract all of your articles from a larger database with
entries of diverse type and authors, specify:
\begin{lstlisting}[moretexcs={[1]{printbibliography}}]
\printbibliography[heading=none,filter=mine,type=article]
\end{lstlisting}
%
Note that this method sometimes requires several reruns of \texttt{latex}
to fix the numbering.

\section{Sorting\label{sec:sorting}}


\subsection{Sorting Publication Lists}

The sorting conventions of publication lists differ from those of normal bibliographies.
Publication lists are usually not sorted by author name, the prime criterion of normal
bibliographies, but rather chronologically (usually \emph{descending} from the newest through
the oldest publication). How to sub-sort within a year depends on the handling of author names.
If you display all authors and only highlight your own (via \joption{plauthorhandling=highlight}),
it probably makes sense to sub-sort first by author name, and then by title. If you omit your own name
and just mention your co-authors (the default), it makes more sense to sub-sort by title right away,
without taking the author names into account.

To account for these needs, \bpl\ adds some sorting options on top of those that come with
\bibltx\ itself.


\subsection{Sorting Templates}\label{sec:sorttemplates}

The sorting of items is done via \bibltx's sorting mechanism, via so called \emph{sorting templates}
(please refer to the \bibltx\ manual for details). 

By default, \bpl\ uses an own template, \joption{ydt}, which sorts hierarchically by \textbf{y}ear
(\textbf{d}escending) and \textbf{t}itle (alphabetically ascending), ignoring author
names. This default is used since author name sorting does not make much sense at least in
the default configuration, where the own name is omitted and the list of co-authors is presented
in a particular way.
If you use \joption{plauthorhandling=highlight}, however, the default changes to \joption{ydnt}
(a template provided by \bibltx\ itself) which sub-sorts by author names (alphabetically ascending)
before sub-sorting by title.

In addition to this default template, \bpl\ provides some sorting templates that account
for the full date (rather than just the year).
This is especially useful for sorting talks, since those usually do not only have a year, but a full
date (day, month and year).
The following templates, with and without author sorting, are provided:
\begin{itemize}
 \item \jmacro{ddt}: Sort by full \textbf{d}ate (\textbf{d}escending)
        and \textbf{t}itle (ascending).
 \item \jmacro{ddnt}: Sort by full \textbf{d}ate (\textbf{d}escending),
        author \textbf{n}ame and \textbf{t}itle (both ascending).
 \item \jmacro{dt}: Sort by full \textbf{d}ate and \textbf{t}itle (all ascending).
 \item \jmacro{dnt}: Sort by full \textbf{d}ate, author \textbf{n}ame and \textbf{t}itle
        (all ascending).
 \item \jmacro{ydmdt}: Sort by \textbf{y}ear (\textbf{d}escending),
	    \textbf{m}onth, \textbf{d}ay and \textbf{t}itle	(all ascending).
\item \jmacro{ydmdnt}: Sort by \textbf{y}ear (\textbf{d}escending),
       \textbf{m}onth, \textbf{d}ay, author \textbf{n}ame and \textbf{t}itle
       (all ascending).
\end{itemize}
In order to use any of these, or another sorting template provided by \bibltx\, 
use \bpl's \jmacro{plsorting} option, which can be passed globally
as a \bibltx\ option or locally by means of \jcsmacro{ExecutePublistOptions}.
Alternatively, you can also use a \jfcsmacro{newrefcontext} macro with the option
\jfoption{sorting=<template>}.
So, to sort your talks in descending order by full date in your CV, you would
use either
\begin{lstlisting}[moretexcs={[1]{printbibliography}}]
\usepackage[style=publist,plsorting=ddt]{biblatex}
\end{lstlisting}
or
\begin{lstlisting}[moretexcs={[3]{printbibliography,ExecutePublistOptions}}]
\ExecutePublistOptions{plsorting=ddt}
\printbibliography[heading=none]
\end{lstlisting}
or
\begin{lstlisting}[moretexcs={[3]{printbibliography,newrefcontext,endrefcontext}}]
\newrefcontext[sorting=ddt]
\printbibliography[heading=none]
\endrefcontext
\end{lstlisting}
%
Note that if you use refsections, the third approach will only apply to the current
refsection (\jcsmacro{ExecutePublistOptions} will apply to all subsequent refsections
until further change).

\section{Revision Log}

\begin{description}

	\item [{V. 2.8 (2024/03/08):}]~
	\begin{itemize}
		\item Fix delimiter with plauthor second in a truncated author list.
	\end{itemize}

	\item [{V. 2.7 (2023/10/07):}]~
	\begin{itemize}
		\item Fix ascending numbering without refsections.
	\end{itemize}

	\item [{V. 2.6 (2023/07/01):}]~
	\begin{itemize}
		\item Fix marginyear output with \joption{fixyear=false}.
	\end{itemize}
	
	\item [{V. 2.5 (2023/06/08):}]~
	\begin{itemize}
		\item New macros \jcsmacro{GetSectionCount[<int>]} 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}).
	\end{itemize}
	
	\item [{V. 2.3 (2023/03/18):}]~
	\begin{itemize}
		\item Change of sorting by means of \jcsmacro{ExecutePublistOptions} (via \joption{plsorting}
		or \joption{plauthorhandling}) now works for all subsequent refsections.
	\end{itemize}
	
	\item [{V. 2.2 (2023/03/01):}]~
	\begin{itemize}
		\item Fix \joption{plsorting} with custom sorting schemes.
	\end{itemize}
	
	\item [{V. 2.1 (2022/12/03):}]~
	\begin{itemize}
		\item Honor \jfcsmacro{mkbibname*}.
		\item Fix reverse numbering without refsections.
	\end{itemize}
	
	\item [{V. 2.0 (2022/10/24):}]~
	\begin{itemize}
		\item Provide \jcsmacro{ExecutePublistOptions} to change (most) \bpl\ options
		      on the fly (see sec.~\ref{sec:addopts}).
		\item Properly support reverse (descending) numbering even if filtering is done.
		\item Add \jenviron{plnumgroup} environment to temporarily suspend 
		      \joption{plnumbering=local} (see sec.~\ref{sec:numbers}).
		\item Add new macro\jcsmacro{setplnum} (see sec.~\ref{sec:numbers}).
		\item Rename macro \jcsmacro{shiftbplnum} to \jcsmacro{shiftplnum}
		      (old macro kept for compatibility).
		\item Fix macro \jcsmacro{shiftplnum} with ascending numbering.
		\item Introduce one option (\joption{plnumbering}) that replaces the previous two
		      separated options (\joption{plnumbered} + \joption{reversenumbering}).
		      Old options are kept for compatibility.
		\item Introduce one multichoice option (\joption{linktitles}) that replaces the previous
		      options (\joption{linktitleall}, \joption{linktitledoi}, \joption{linktitleurl},
		      \joption{linktitleisbn},\\ \joption{linktitleissn}).
    	      Old options are kept for compatibility.
    	\item Rename option \joption{boldyear} to \joption{hlyear}.
              Old option kept for compatibility.
    	\item Allow customization of the highlighting set with \joption{hlyear}.
    	      See sec.~\ref*{sec:auxmacros}.
    	\item Introduce \joption{plsorting} option.
 		\item Add support for OpenAccess information (see sec.~\ref{sec:openaccess}).
 		\item Add support for journal impact factor (see sec.~\ref{sec:impactfactor}).
	\end{itemize}
	
	\item [{V. 1.27 (2022-10-03):}]~
	\begin{itemize}
		\item Fix once more plauthor check with non-ASCII chars and macros.
	\end{itemize}
	
	\item [{V. 1.26 (2022-01-05):}]~
	\begin{itemize}
		\item Provide means to add peer review information (see sec.~\ref{sec:peerreview}).
		\item Add a data model (\texttt{*.dbx}) file.
		\item Fix \jcsmacro{textcite} output at least for the standard cases.
		\item Do not highlight/omit author/editor names in related entries.
		\item Rename \texttt{bpl:review:*} macros to \texttt{bpl:plain:*} and
		      add \texttt{bpl:plain:editor}.
	\end{itemize}
	
	\item [{V. 1.25 (2021-12-14):}]~
	\begin{itemize}
		\item More robustification with names consisting of non-ASCII chars.
		\item With \joption{pubstateextra}, differentiate between pubstates.
	\end{itemize}\condbr{2}
	
	\item [{V. 1.24 (2021-12-11):}]~
	\begin{itemize}
		\item Robustify handling of names with non-ASCII chars.
	\end{itemize}
	
	\item [{V. 1.23 (2021-09-01):}]~
	\begin{itemize}
		\item Fix omission of publist author after related field.
	\end{itemize}
	
	\item [{V. 1.22 (2021-06-14):}]~
	\begin{itemize}
		\item Add option \jfoption{pubstateextra}. See sec.~\ref{sec:addopts}.
		\item Use \jcsmacro{revsdnamepunct} rather than hardcoded comma.
    \end{itemize}
	
	\item [{V. 1.21 (2020-09-21):}]~
	\begin{itemize}
		\item Add option \jfoption{reversenumbering}. See sec.~\ref{sec:addopts}.
		\item Add \jcsmacro{citeitem} command. See sec.~\ref{sec:standard-usage}.
		\item Add \jcsmacro{shiftbplnum} and \jcsmacro{shiftciteitem} helper macros
		      for manual adjustment of numbering.
		      See sec.~\ref{sec:numbers}.
		\item Properly sort \jfoption{prepublished} pubstate type.
	\end{itemize}

	\item [{V. 1.20 (2020-09-15):}]~
	\begin{itemize}
		\item Do not output \emph{(with <authors>)} if no publist author
		      is among the authors.
	\end{itemize}

	\item [{V. 1.19 (2020-08-21):}]~
	\begin{itemize}
		\item Fix parsing of names with initials.
		\item Fix output of \emph{et al.} in \texttt{byeditor} lists.
		\item Do not omit names in related entries.
	\end{itemize}

	\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}.
	\end{itemize}

	\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}.
		\item Fix documentation issues.
	\end{itemize}
	
	\item [{V. 1.14 (2019-02-21):}]~
	\begin{itemize}
		\item Add support for highlighting multiple authors. See sec.~\ref{sec:multiauthors}.
		\item Fix handling of non-ASCII names.
		\item Use \jfcsmacro{DeclareStyleSourcemap} rather that \jfcsmacro{DeclareSourcemap}.
		\item Update sorting documentation in the wake of \bibltx\ changes.
	\end{itemize}

	\item [{V. 1.13 (2018-11-30):}]~
	\begin{itemize}
		\item Introduce new sorting templates that ignore names. See sec.~\ref{sec:sorttemplates}.
		\item \textbf{Change of output!} Use \joption{ydt} template by default. See sec.~\ref{sec:sorttemplates}.
		\item Assign extralabel independent of author group with \joption{plauthorhandling=omit}.
	\end{itemize}
	
	\item [{V. 1.12 (2018-11-25):}]~
	\begin{itemize}
		\item Switch name parsing toggles globally (fixes regression with \bibltx\ 3.12).
		\item Account for omitted author when adding \jfcsmacro{finalnamedelim}.
		\item Fix issue with initial dot in \joption{nameorder=family-given}.
		\item Add option \joption{plauthorfirstinit} that allows for specifying initials in first names
	          of \jcsmacro{plauthorname}. See sec.~\ref{sec:addopts}.
    \end{itemize}
	
	\item [{V.~1.11 (2018-09-01):}]~
	\begin{itemize}
		\item Fix \joption{marginyear=true} with \joption{labeldateparts=false}.
		\item Fix problem with empty parentheses in article with standard base style
		      and with \joption{labeldateparts=false}.
	\end{itemize}

	\item [{V.~1.10 (2018-04-08):}]~
	\begin{itemize}
		\item Extend option \joption{plnumbered} with \joption{plnumbered=reset}.
		This allows to restart the numbering of the publication list items at
		\jcsmacro{refsection}s.
		\item Documentation improvements.
	\end{itemize}

	\item [{V.~1.9 (2018-03-01):}]~
	\begin{itemize}
		\item New option \joption{plnumbered} that allows to omit the numbering
		      of the publication list items
		\item Documentation improvements.
	\end{itemize}
\condbr{3}
	\item [{V.~1.8 (2017-11-14):}]~
	\begin{itemize}
		\item Adapt to \bibltx\ 3.8. This version is now required.
		\item Rename some macros, using pseudo-namespaces:
		\begin{itemize}
			\item \texttt{date:makedate} $\Rightarrow$ \texttt{bpl:date:makedate}
	    	\item \texttt{date:labelyear+extrayear} $\Rightarrow$ \texttt{bpl:date:labeldate+extradate}
	    	\item \texttt{marginyear} $\Rightarrow$ \texttt{bpl:marginyear}
	    	\item \texttt{rauthor} $\Rightarrow$ \texttt{bpl:review:author}
	    	\item \texttt{rauthor/label} $\Rightarrow$ \texttt{bpl:review:author/label}
	    	\item \texttt{year+labelyear} $\Rightarrow$ \texttt{bpl:year+labelyear}
				\end{itemize}
	\end{itemize}

	\item [{V.~1.7 (2017-04-12):}]~
    \begin{itemize}
	\item Output marginyear before the author list. This prevents it from being vertically
	      shifted in case of long author lists.
    \end{itemize}
	\item [{V.~1.6 (2017-04-02):}]~
	    \begin{itemize}
		    \item New option \joption{nameorder} that allows to change the ordering of author and editor
		          name (\joption{given-family} vs. \joption{family-given} [=~default]).
		    \item Use proper name delimiters also for bookauthor.
        \end{itemize}

   \item [{V.~1.5 (2017-02-28):}]~
	    \begin{itemize}
	        \item Fix extra \emph{and} in name list with \joption{plauthorhandling=highlight}.
	        \item Whitespace fix with \joption{plauthorhandling=highlight}.
	        \item Use proper name delimiters.
        \end{itemize}
   \item [{V.~1.4 (2017-02-12):}]~
	\begin{itemize}
		\item New option \joption{plauthorhandling} that defines how the publist author is
		handled in the publication list (possible values: \joption{omit} [=~default],
		\joption{highlight}).
		\item New command \jcsmacro{plauthorhl} that determines the aforementioned highlighting.
		\item  Rename \jcsmacro{omitname} to \jcsmacro{plauthorname} (the old macro is still functional, but marked as deprecated).
		\item Rename \joption{omit*} options to \joption{plauthor*} (the old options are still functional, but marked as deprecated).
		\item Assure the margin text always starts uppercased (relevant for pubstates).
		\item Minor corrections to the manual.
	\end{itemize}
\condbr{3}
   \item [{V.~1.3 (2016-08-06):}]~

   \begin{itemize}
	\item It is now possible to change the base style that is used by \bpl. See sec.~\ref{sec:basestyle}.
	\item Proper sorting of pubstates.
	\item Add possibility to increase the indentation of items (by means of the length  \jmacro{extralabelnumberwidth}). See sec.~\ref{sec:auxmacros}.
	\item Use \jfoption{pagetracker=true} instead of \jfoption{pagetracker=spread}
	      by default (avoids warning, no change in functionality).
\end{itemize}

\item [{V.~1.2 (2016-05-12):}]~
	\begin{itemize}
		\item Accomodate to the backwards-incompatible changes of \bibltx~3.4\\
		(\jfoption{prefixnumber} $\Rightarrow$ \jfoption{labelprefix},
		\jfcsmacro{ifempty} $\Rightarrow$ \jfcsmacro{ifdefvoid}).
		This version of \bibltx\ is now required.
	\end{itemize}

\item [{V.~1.1 (2016-03-09):}]~
\begin{itemize}
\item Adapt to the \jfcsmacro{Declare*Name} changes of \bibltx~3.3.
      Since \bibltx~3.3 introduced backwards-incompatible changes that
      affect \bpl, this version of \bibltx\ is now required.
\end{itemize}

\item [{V.~1.0~(2015-01-04):}]~
\begin{itemize}
\item Add portmanteau *.cbx file to allow loading \bpl\ also via 
      the \jfoption{style} option (next to \jfoption{bibstyle}).
\end{itemize}

\item [{V.~0.9~(2014-03-13):}]~
\begin{itemize}
\item Fix problem with multi-token names.
\item Support name prefix in \jcsmacro{omitname}.
\item Support pubstate.
\end{itemize}

\item [{V.~0.8~(2013-08-16):}]~
\begin{itemize}
\item Add custom sorting schemes \jmacro{ddnt}, \jmacro{ydmdnt} and \jmacro{dnt}
      (see sec.~\ref{sec:sorting}).
\item Revise the documentation.
\end{itemize}\condbreak{2\baselineskip}

\item [{V.~0.7~(2013-07-25):}]~
\begin{itemize}
\item Support full dates.
\end{itemize}

\item [{V.~0.6~(2013-07-21):}]~
\begin{itemize}
\item Fix numbering with recent \bibltx\ versions.
\end{itemize}

\item [{V.~0.5~(2013-05-03):}]~
\begin{itemize}
\item Fix numbering if \jfcsmacro{printbibliography} is used
multiple times within the same or without any \jfmacro{refsection}.
\end{itemize}

\item [{V.~0.4~(2012-10-30):}]~
\begin{itemize}
\item More robust name parsing (especially for names with non-ASCII characters
encoded with \LaTeX{} macros). The code was kindly suggested by Enrico
Gregorio.%
\footnote{Cf. \url{http://tex.stackexchange.com/questions/79555/biblatex-bibliographyoption-with-braces}.%
}
\item Add \jcsmacro{omitname} command (see sec.~\ref{sec:standard-usage}).
\item Support \joption{firstinits} option.
\end{itemize}

\item [{V.~0.3~(2012-10-23):}]~
\begin{itemize}
\item Bug fix: Add missing \enquote{and} if omitted name was last minus one.
\item Bug fix: Fix output with \enquote{et al.} if omitted name is first and
\emph{liststop} is 1.
\item Set \joption{maxnames} default to 4.
\item Add filter possibility (see sec.~\ref{sec:filtering}).
\item Add French localization.
\item Some corrections to the manual.
\end{itemize}

\item [{V.~0.2~(2012-10-21):}] Initial release to CTAN.
\end{description}

\section{Credits}

Thanks go to Enrico Gregorio (egreg on \emph{tex.stackexchange.com})
for helping me with correct name parsing (actually, the code the package
uses is completely his), user gusbrs on \emph{tex.stackexchange.com},
Marko Budi¨i\'{c}, David Carlisle, Ulrike Fischer, Clea F. Rees, Yannick Kalff,
Moritz Wemheuer and many other users for testing, bug reports and suggestions,
Nicolas Markey for \emph{publist.bst} and of course Philipp Lehman and the current
\bibltx\ team (Philipp Kime, Moritz Wemheuer, Audrey Boruvka and
Joseph Wright) for \bibltx.

\begin{thebibliography}{1}
\bibitem{bibltx}Lehman, Philipp (with Audrey Boruvka, Philip Kime
and Joseph Wright): \emph{The biblatex Package. Programmable Bibliographies
and Citations}. March 3, 2016.
\url{http://www.ctan.org/pkg/biblatex}.

\bibitem{ttb}Markey, Nicolas: \emph{Tame the BeaST. The B to X of
BibTEX}. October 11, 2009.
\url{http://www.ctan.org/pkg/tamethebeast}.
\end{thebibliography}

\end{document}
