summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
blob: 54f9a1709d1da5526564ba7eaecd2c41b1b9f725 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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{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}

% Some semantic markup
\makeatletter
\def\jmacro{\@ifstar\@@jmacro\@jmacro}
\newcommand*\@marginmacro[1]{\marginpar{\small\texttt{#1}}}
\newcommand*\@jmacro[1]{\textbf{\texttt{#1}}}
\newcommand*\@@jmacro[1]{\@jmacro{#1}\@marginmacro{#1}}
\def\jcsmacro{\@ifstar\@@jcsmacro\@jcsmacro}
\newcommand*\@jcsmacro[1]{\@jmacro{\textbackslash{#1}}}
\newcommand*\@@jcsmacro[1]{\@@jmacro{\textbackslash{#1}}}
\newcommand*\joption[1]{\textbf{\texttt{#1}}}
\newcommand*\jfoption[1]{\texttt{#1}}
\newcommand*\jfmacro[1]{\texttt{#1}}
\newcommand*\jfcsmacro[1]{\jfmacro{\textbackslash{#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 1.22dev, 2020/09/25}
\maketitle

\begin{abstract}
\noindent The \bpl\ package provides a \bibltx\ style file
for publication lists, i.\,e., a bibliography containing one's own
publications. It draws on \bibltx's \emph{authoryear} style by default
(which can be changed), but provides some extra features needed for publication lists,
such as the omission or highlighting of the own name from\slash in author or editor data.
The package requires at least version 3.8 of the \bibltx\ package\footnote{For \bibltx, see
\url{http://www.ctan.org/pkg/biblatex}.} 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 for a specific task:
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
exist 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}.

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 year of publication
	\item Indicate year of publication (sets) in the margin
	\item Clickable titles, linking to the URL, DOI, or a web catalog
	\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}.

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!


\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 (usually yours). 

With the default settings, 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 will be expanded). 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.

\condbr{4}

\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}.\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.} However, due to the
way bibliography options are implemented in \bibltx, this only works
if your name does not consist of non-ASCII characters. Hence, the
\jcsmacro{plauthorname} macro is the recommended way.

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

By default, the publist author (as defined with \jmacro{plauthor}) is omitted from
the author or editor list. If you use the option \joption{plauthorhandling=highlight},
it is highlighted instead (i.\,e., 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 ``Lastname, Given Names''.
To change the order to ``Given Names Lastname'', pass the option \joption{nameorder=given-family} to \bibltx.

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

By default, the year (or pubstate, if no year is given) is printed in bold face.
To prevent this, pass the
option \joption{boldyear=false} to \bibltx.

\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{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 ``reversed'', i.\,e.
on the left side in one-sided documents (via \jfcsmacro{reversemarginpar}).

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

By default, the publication list is numbered continuously. 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{reset}.

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


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

If this option is \joption{true}, the entries will be numbered in descending order, starting from the total
number of entries back to 1. Also works with \joption{plnumbered=reset}.

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

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

\begin{description}

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

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. See section~\ref{sec:clicktitles}
for details.

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

Turns the title (and subtitle, if available) into a clickable hyperlink to the DOI, if available. See section~\ref{sec:clicktitles}
for details.

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

Turns the title (and subtitle, if available) into a clickable hyperlink to the URL, if available. See section~\ref{sec:clicktitles}
for details.

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

Turns the title (and subtitle, if available) into a clickable hyperlink to the ISBN (via customizable search provider), if available.
See section~\ref{sec:clicktitles} for details.

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

Turns the title (and subtitle, if available) into a clickable hyperlink to the ISSN (via customizable search provider), if available.
See section~\ref{sec:clicktitles} for details.


\end{description}


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

\condbr{4}

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

If you need to adjust the numbering of items manually, you can do so with the macro \jcsmacro*{shiftbplnum}.
It takes a positive or negative integer value that determines how much and in which direction it is shifted
(e.\,g., \verb|\shiftpblnum{2}| or \verb|\shiftbplnum{-1}|). This can be used repeatedly, anywhere, and applies
to all subsequent items.
For the numbering output by \jfcsmacro{citeitem}, analogous shifting can be done by
\jcsmacro*{shiftciteitem}.


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


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

With the options \joption{linktitledoi}, \joption{linktitleurl}, \joption{linktitleisbn}, \joption{linktitleissn}
or the combining option \joption{linktitleall}, 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 options or \joption{linktitleall} are 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 output of URLs, DOIs, ISBNs and ISSNs is not affected by the \joption{linktitle} options,
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}

Since the package draws on \bibltx, it supports localization. 
The following additional localization keys (\jfcsmacro{bibstrings})
are added by the package:
\begin{itemize}
\item \emph{with}: the preposition ``with'' that precedes the list of
co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
\item \emph{parttranslationof}: the expression ``partial translation of''
for entries referring to partially translated work via \bibltx's
``related entries'' feature (see sec.~\ref{sec:partial-translations}).
\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 ``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 ``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[latin9]{inputenc}

\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
such as the following:
\begin{lstlisting}[caption={Adding foreign reviews},
		  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).

Of course, 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 several reruns of \texttt{latex} might be required 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 (both 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 \bibltx's \jfmacro{sorting} option, which can be passed either globally
(via \joption{sorting=<template>} as a \bibltx\ option) or locally
(by means of a \jfcsmacro{newrefcontext} macro with the option \joption{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,sorting=ddt]{biblatex}
\end{lstlisting}
or
\begin{lstlisting}[moretexcs={[3]{printbibliography,newrefcontext,endrefcontext}}]
\newrefcontext[sorting=ddt]
\printbibliography[heading=none]
\endrefcontext
\end{lstlisting}

\condbr{4}

\section{Revision Log}

\begin{description}
	
	\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:auxmacros}.
		\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 ``and'' if omitted name was last minus one.
\item Bug fix: Fix output with ``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}, 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}