% !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 %% %% 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{} \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.9, 2025/05/09} \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{\{\}} 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=}}] \item [{\joption{plauthorfirstname=}}] \item [{\joption{plauthornameprefix=}}] ~ 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=}}] 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{.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{.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{} \end{lstlisting} where 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. Sometimes you might also want to omit some publications from the list which are not yet published or not yet accepted (e.g., because they are under blind review and you do not want to reveal your identity yet). To this end, \bpl\ features some \joption{bibchecks} (for the concept, please refer to \cite[sec.~3.8.2]{bibltx}). Bibchecks can be activated by passing \joption{check=} to the optional argument of \jfcsmacro{printbibliography}. The following bibchecks are available: \begin{itemize} \item \joption{nosubmitted}: omits all entries with pubstate \joption{submitted}. \item \joption{noprepared}: omits all entries with pubstate \joption{inpreparation}. \item \joption{onlypublished}: omits all unpublished entries (i.e., entries that have a pubstate) with the exception of \joption{prepublished} entries. \item \joption{onlyaccepted}: omits all unpublished entries (i.e., entries that have a pubstate) with the exception of \joption{prepublished} and \joption{forthcoming} (and thus accepted) entries. \end{itemize} % Several of these bibchecks might be used in a row, e.g.: \begin{lstlisting}[moretexcs={[1]{printbibliography}}] \printbibliography[heading=none,filter=mine,check=nosubmitted,check=noprepared] \end{lstlisting} \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=