summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-07-02 20:04:23 +0000
committerKarl Berry <karl@freefriends.org>2024-07-02 20:04:23 +0000
commit1ba7347c4cb7d7e0f5d27d373705f40a6234da08 (patch)
treef859839a4cc9175da927d36b1c7d39743816ce13
parentdf1db647e675b882292082a3ef308536bf6bd5ce (diff)
biblatex-publist (2jul24)
git-svn-id: svn://tug.org/texlive/trunk@71686 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/README4
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdfbin414056 -> 417904 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex144
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx41
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx40
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx2
6 files changed, 173 insertions, 58 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/README b/Master/texmf-dist/doc/latex/biblatex-publist/README
index 8d8b26f969f..aed0f347740 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/README
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/README
@@ -46,6 +46,10 @@ instructions.
== CHANGES ==
+* V. 2.11 (2024-07-02):
+ - Add \citesecitem and \citesecitem* commands.
+ - Support multiple sections in \GetSectionCount.
+
* V. 2.10 (2024-06-17):
- Add bibchecks to show only/no peer-reviewed items.
- Fix bibchecks to work with braced and non-braced values.
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
index a7dfe989e1e..ecc06e956e3 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
index 788f3e6df05..5e07d272c03 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
@@ -115,7 +115,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 2.10, 2024/06/17}
+\date{Version 2.11, 2024/07/02}
\maketitle
\begin{abstract}
@@ -200,7 +200,7 @@ forms of citing may break or not produce the expected result. The reason is that
The standard way of using the package is to load the style file via
\begin{lstlisting}[moretexcs={[1]{plauthorname}}]
-\usepackage[bibstyle=publist]{biblatex}
+\usepackage[style=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
@@ -213,31 +213,27 @@ 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}
+\begin{itemize}
+\item[{[1]}] \textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
+ Practice} 56, pp.~34--86.
+\end{itemize}
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}
+\begin{itemize}
+\item[{[2]}] \textbf{1987} (with John Doe and Mary Hall). Are there new trends
+ in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
+\end{itemize}
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}
+\begin{itemize}
+\item[{[2]}] 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{itemize}
%
Note that \jcsmacro{plauthorname} expects the name constituents as they are recorded in the
database (special characters are handled). The option \joption{plauthorfirstinit} (see next section),
however, allows you to pass only an initial character instead of a first name.
-If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key>\}} within your publication list.
-This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
-but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.
-
\subsection{Additional Options}\label{sec:addopts}
@@ -374,8 +370,8 @@ See section~\ref{sec:clicktitles} for details.
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
+For most options, it is possible to change them within the document via the macro
+\jcsmacro*[-3]{ExecutePublistOptions}. It takes a comma-separated list of options as 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},
@@ -385,6 +381,46 @@ Also note that with the \joption{plauthor*} options, as opposed to repeated \jcs
repeated setting of these name options respectively \emph{overwrite}, and not extend, the previous name settings.
+\subsection{Referring to Entries}\label{sec:citeitems}
+
+Even though publication lists usually do not include citations, there might be cases where you need to refer
+to specific entries within it. Especially with sectioned lists, it is arguably most advisable to refer to the items
+by their number, as otherwise your readers will have a hard time to find the item you are referring to.
+Of course, if you do not use global numbering, you should also specify the section the item is in, as in:
+``see [13] (sec.~4)''.
+
+Since \bpl\ plays all sorts of tricks with the numbering (see sec.~\ref{sec:numbers}), the reference needs to take these
+into account. The normal citation commands will often produce inadequate or even wrong output particularly in numeric
+style.
+To account for these peculiarities, the package ships its own cite style which is used if you load \bpl\ via
+\joption{style=publist} (but not with \joption{bibstyle=publist}!). The features described in what follows require
+this particular cite style.
+
+If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key(s)>\}} within your publication list.%
+\footnote{As with the normal citation commands, the argument might also be a comma-separated list of keys.}
+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.
+Note, however, that with refsections (see sec.~\ref{sec:example}) \jcsmacro{citeitem} only works within a given
+refsection because the references in a refsection are unknown outside of its scope.
+
+If you want to refer to an item number from outside a refsection, you can use \jcsmacro*{citesecitem}\jmacro{\{<key(s)>\}}.
+This will try to access the number of the given entry from a stored list that is generated by \bpl.
+References of this kind only make sense, of course, with global numbering and if an entry only occurs once in the bibliography,
+since otherwise they would be too ambiguous. However, for locally numbered lists, there is the starred variant
+\jcsmacro*{citesecitem*}\jmacro{\{<key(s)>\}} which will append a reference to the section the item is in.
+By default, the form of this addition is ``(sec.~<no.>)'', with ``sec.'' being localized (see sec.~\ref{sec:auxmacros}
+on how to customize this).
+
+Note that due to the design of refsections, no hyperlinks can be generated for the item number with \jcsmacro{citesecitem}
+and the \textsf{hyperref} package being loaded (the section reference of the starred command, however, is hyperlinked in
+this case).
+If you need hyperlinked item references, consider refsegments rather than refsections and the \jcsmacro{citeitem} command
+(although this will have other drawbacks).
+
+Of course, both \jcsmacro{citeitem} and \jcsmacro{citesecitem} presuppose that you do not disable numbering, and
+\jcsmacro{citesecitem*} requires numbered section headers.
+
+
\subsection{Numbers Games}\label{sec:numbers}
Among the peculiarities of publication lists is the greater variety of numbering conventions, as compared
@@ -474,12 +510,14 @@ The macro \jcsmacro*{GetTotalCount} outputs the total number of entries in your
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,
+number or a comma-separated list of section numbers. 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}).
+outputs the number of items in the first section, whereas \lstinline!\GetSectionCount[1,2]! outputs
+the sum of the numbers of items in the first and second section.
+If the optional argument is not given, the statistic 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.
@@ -526,16 +564,16 @@ 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}
+\begin{itemize}
+ \item[{[3]}] \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{itemize}
%
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}
+\begin{itemize}
+ \item[{[3]}] 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{itemize}
%
The omission indicator, \jcsmacro*{plnameomission}, can be redefined. The default definition is:
\begin{lstlisting}[moretexcs={[4]{plnameomission,bibellipsis,addcomma,addspace}}]
@@ -663,6 +701,16 @@ The default definition is:
\newcommand*\plextrainfosep{\addsemicolon\addspace}
\end{lstlisting}
%
+The\jmcsmacro{secitemsecref} section reference with \jcsmacro{citesecitem*} is determined by
+\jcsmacro{secitemsecref}, which has the following default definition:
+\begin{lstlisting}[moretexcs={[2]{mkbibparens,secitemsecref,bibstring,addnbspace}}]
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+\end{lstlisting}
+%
+Redefine this macro if you need a different output.
+
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
@@ -717,26 +765,26 @@ are printed, so you might get redundant output. To control (e.\,g., omit) them,
Since the package draws on \bibltx, it supports localization.
The following additional localization keys (\jfcsmacro{bibstrings})
are added by the package:
-\begin{itemize}
+\begin{description}
\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}
+\item[impactfactor] the expression \enquote{impact factor}.
+\item[openaccess:true] the expression \enquote{OpenAccess}.
+\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)}.
+\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)}.
+\item[{parttranslationof}] the phrase \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
+\item[{peerreview:sb}] the phrase \enquote{single blind peer review}.
+\item[{peerreview:db}] the phrase \enquote{double blind peer review}.
+\item[{peerreview:op}] the phrase \enquote{open peer review}.
+\item[{peerreview:co}] the phrase \enquote{collaborative peer review}.
+\item[{peerreview:cc}] the phrase \enquote{cascading peer review}.
+\item[{peerreview:tp}] the phrase \enquote{third-party peer review}.
+\item[{peerreview:pp}] the phrase \enquote{post-publication peer review}.
+\item[{peerreview:no}] the phrase \enquote{no peer review}.
+\item[{with}] the preposition \enquote{with} that precedes the list of
co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
-\end{itemize}
+\end{description}
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.}
@@ -979,6 +1027,12 @@ until further change).
\section{Revision Log}
\begin{description}
+ \item [{V. 2.11 (2024/07/02):}]~
+ \begin{itemize}
+ \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands (see sec.~\ref{sec:citeitems}).
+ \item Support multiple sections in \jcsmacro{GetSectionCount}.
+ \end{itemize}
+
\item [{V. 2.10 (2024/06/17):}]~
\begin{itemize}
\item Add bibchecks to show only/no peer-reviewed items
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
index 074acd53943..d3d4381a9ab 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.10}
-\def\bpl@rdate{2024/06/17}
+\def\bpl@version{2.11}
+\def\bpl@rdate{2024/07/02}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -552,16 +552,29 @@
{}{\PackageWarning{biblatex-publist}{Patching refsection failed!}}
}{}
-\newcommand*\GetSectionCount[1][\empty]{%
- \edef\bpl@secno{#1}%
- \ifx\bpl@secno\empty%
- \csnumdef{bpltmprefsection}{\c@refsection}%
+\ExplSyntaxOn
+
+\int_new:N \l_bpl_sec_cnt_int
+
+\NewDocumentCommand \GetSectionCount { >{\SplitList{,}} o }
+{
+ \IfNoValueTF{#1}{%
+ \csnumdef{bpltmprefsection}{\c@refsection}
\csuse{bpl@secitems:\bpltmprefsection}%
- \else%
- \csuse{bpl@secitems:#1}%
- \fi%
+ }{
+ \int_zero:N \l_bpl_sec_cnt_int
+ \ProcessList{#1}{\__bpl_add_section_count}
+ \int_use:N \l_bpl_sec_cnt_int
+ }
+}
+
+\cs_new:Npn \__bpl_add_section_count #1
+{
+ \int_add:Nn \l_bpl_sec_cnt_int { \use:c{bpl@secitems:#1} }
}
+\ExplSyntaxOff
+
\newcommand*\GetTotalCount{%
\csuse{bpl@items}%
}
@@ -897,7 +910,15 @@
\newrobustcmd{\mkbibdesc}[1]{%
% Print labelnumber as actual number, plus item total
- \number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax%
+ \edef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax}%
+ \bpl@current@item@no%
+ % Store number in pbx file
+ \if@filesw%
+ \protected@write\bpl@bpxfile{}{%
+ \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}%
+ \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}%
+ }%
+ \fi%
}%
% Way to manually shift the numbering
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
index 78d144e32b5..b5972d94978 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
@@ -26,14 +26,50 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.10}
-\def\bpl@rdate{2024/06/17}
+\def\bpl@version{2.11}
+\def\bpl@rdate{2024/07/02}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]
\RequireCitationStyle{numeric}
+\DeclareCiteCommand{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}%
+ \usebibmacro{bpl:cite:secitemsec}%
+ }
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\newbibmacro*{bpl:cite:secitem}{%
+ \ifcsdef{bpl@itemnumber:\thefield{entrykey}}%
+ {\mkbibbrackets{\csuse{bpl@itemnumber:\thefield{entrykey}}}}%
+ {\textbf{\mkbibbrackets{???}}}%
+}
+
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+
+\newbibmacro*{bpl:cite:secitemsec}{%
+ \ifcsdef{bpl@itemsec:\thefield{entrykey}}%
+ {\addspace\secitemsecref{\csuse{bpl@itemsec:\thefield{entrykey}}}}%
+ {}%
+}
+
\DeclareCiteCommand{\citeitem}
{\defcounter{maxnames}{999}%
\boolfalse{citetracker}%
diff --git a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
index 874cb3c8013..71e9e692767 100644
--- a/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
@@ -1,5 +1,5 @@
% publist.dbx, biblatex data model specification for the biblatex-publist
-% package, version 2.10 (2024/06/17).
+% package, version 2.11 (2024/07/02).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3