texlive[61500] Master/texmf-dist: biblatex-publist (6jan22)

commits+karl at tug.org commits+karl at tug.org
Thu Jan 6 01:20:38 CET 2022


Revision: 61500
          http://tug.org/svn/texlive?view=revision&revision=61500
Author:   karl
Date:     2022-01-06 01:20:37 +0100 (Thu, 06 Jan 2022)
Log Message:
-----------
biblatex-publist (6jan22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/README
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
    trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2022-01-06 00:20:22 UTC (rev 61499)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2022-01-06 00:20:37 UTC (rev 61500)
@@ -32,6 +32,7 @@
 
 * publist.bbx (biblatex bibliography style file)
 * publist.cbx (biblatex citation style file)
+* publist.dbx (biblatex database model file)
 * biblatex-publist.pdf (package documentation)
 * biblatex-publist.tex (documentation source)
 * README (this very file)
@@ -45,6 +46,13 @@
 
 == CHANGES ==
 
+* V. 1.26 (2022-01-05):
+	- Provide means to add peer review information.
+	- Add a data model (*.dbx) file.
+	- Fix \textcite output at least for the standard cases (#36).
+	- Do not highlight/omit author/editor names in related entries.
+	- Rename bpl:review:* macros to bpl:plain:* and add bpl:plain:editor.
+
 * V. 1.25 (2021-12-14):
 	- More robustification with names consisting of non-ASCII chars.
 	- With "pubstateextra", differentiate between pubstates.

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex	2022-01-06 00:20:22 UTC (rev 61499)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex	2022-01-06 00:20:37 UTC (rev 61500)
@@ -102,17 +102,17 @@
 \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
 }
 
-\date{Version 1.25, 2021/12/14}
+\date{Version 1.26 2022/01/05}
 \maketitle
 
 \begin{abstract}
-\noindent The \bpl\ package provides a \bibltx\ style file
+\noindent The \bpl\ package provides a \bibltx\ \cite{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).
+The package requires at least version 3.8 of \bibltx\ and \texttt{biber}
+(the respective version as required by \bibltx).
 \end{abstract}
 
 \tableofcontents
@@ -119,14 +119,13 @@
 
 \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).
+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.
 
@@ -154,6 +153,7 @@
 	\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 Indicate if/how a title has been peer-reviewed
 	\item List reviews of specific titles
 	\item Adjustable base bibliography style
 \end{itemize}
@@ -162,11 +162,19 @@
 If you miss a specific feature, feel free to suggest it via
 \url{https://github.com/jspitz/biblatex-publist/issues}.
 
+\subsection*{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!
 
+Also note that the aim of \bpl\ is to generate publication lists, so it is 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} and
+\textsf{labelname}) which might bite you with customized cite formats.
 
+
 \section{Usage}
 
 \subsection{Standard usage\label{sec:standard-usage}}
@@ -267,7 +275,6 @@
 
 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
@@ -283,6 +290,12 @@
 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{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 options are available if \textsf{hyperref} is loaded:
@@ -377,8 +390,29 @@
 \newcommand*\plnameomission{\bibellipsis\addcomma\addspace}
 \end{lstlisting}
 
-\condbr{4}
+\subsection{Adding Peer Review Information}\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).
+
 \section{Customization}
 
 \subsection{Auxiliary macros and lengths}\label{sec:auxmacros}
@@ -456,7 +490,7 @@
 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}
+\section{Localization}\label{sec:localization}
 
 Since the package draws on \bibltx, it supports localization. 
 The following additional localization keys (\jfcsmacro{bibstrings})
@@ -463,10 +497,18 @@
 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}).
+                   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}).
+                   for entries referring to partially translated work via \bibltx's
+       ``related entries'' feature (see sec.~\ref{sec:partial-translations}).
+\item \emph{peerreview:sb}: the phrase ``single blind peer review''.
+\item \emph{peerreview:db}: the phrase ``double blind peer review''.
+\item \emph{peerreview:op}: the phrase ``open peer review''.
+\item \emph{peerreview:co}: the phrase ``collaborative peer review''.
+\item \emph{peerreview:cc}: the phrase ``cascading peer review''.
+\item \emph{peerreview:tp}: the phrase ``third-party peer review''.
+\item \emph{peerreview:pp}: the phrase ``post-publication peer review''.
+\item \emph{peerreview:no}: the phrase ``no peer review''.
 \end{itemize}
 Currently, these additional localization keys are available in the following
 languages: English, French and German.%
@@ -667,6 +709,16 @@
 
 \begin{description}
 	
+	\item [{V. 1.26 (2022-01-05):}]~
+	\begin{itemize}
+		\item Provide means to add peer review information (see section~\ref{sec:peerreview}).
+		\item Add a data model (\texttt{*.dbx}) file.
+		\item Fix \jcsmacro{textcite} output at least for the standard cases.
+		\item Do not highlight/omit author/editor names in related entries.
+		\item Rename \texttt{bpl:review:*} macros to \texttt{bpl:plain:*} and
+		      add \texttt{bpl:plain:editor}.
+	\end{itemize}
+	
 	\item [{V. 1.25 (2021-12-14):}]~
 	\begin{itemize}
 		\item More robustification with names consisting of non-ASCII chars.

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2022-01-06 00:20:22 UTC (rev 61499)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2022-01-06 00:20:37 UTC (rev 61500)
@@ -25,8 +25,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.25}
-\def\bpl at rdate{2021/12/14}
+\def\bpl at version{1.26}
+\def\bpl at rdate{2022/01/05}
 
 \ProvidesFile{publist.bbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex bibliography style (JSP)]
@@ -187,6 +187,12 @@
     }%
 }
 
+\newtoggle{bpl at prinfo}
+\toggletrue{bpl at prinfo}
+\DeclareBibliographyOption{prinfo}[true]{%
+    \ifstrequal{#1}{true}{\toggletrue{bpl at prinfo}}{\togglefalse{bpl at prinfo}}
+}
+
 \newif\if at bpl@reversenum\@bpl at reversenumfalse
 \DeclareBibliographyOption{reversenumbering}[true]{%
     \ifstrequal{#1}{true}{\@bpl at reversenumtrue}{\@bpl at reversenumfalse}
@@ -531,6 +537,19 @@
 
 
 %
+% Peer-review type
+%
+\newcommand\printprinfo[1]{%
+    \ifbibstring{peerreview:#1}%
+       {\bibstring{peerreview:#1}}%
+       {#1}%
+}
+
+\DeclareFieldFormat{peerreview}{%
+    \printtext[brackets]{\printprinfo{#1}}%
+}
+
+%
 % Bibliography filter
 %
 % Inspired by http://tex.stackexchange.com/a/28555/19291
@@ -736,7 +755,7 @@
     \else% \if at hlauthor false
         \ifthenelse{\value{listcount}=1}%
             {\ifthenelse{\value{nonpl#1s}>0\AND{\value{pl#1s}}>0}%
-                 {\bibopenparen\bibstring{with}\addspace}%
+                 {\iftoggle{isinrelated}{}{\bibopenparen\bibstring{with}\addspace}}%
                  {}%
              \iftoggle{isplauthor}%
                  {\global\toggletrue{plauthorprecedes}}%
@@ -776,7 +795,7 @@
         %
         \usebibmacro{bpl:name:andothers}%
         \ifthenelse{\value{nonpl#1s}>0\AND{\value{pl#1s}}>0\AND\value{listcount}=\value{liststop}}%
-            {\unspace\bibcloseparen}%
+            {\unspace\iftoggle{isinrelated}{}{\bibcloseparen}}%
             {}%
     \fi% end of \if at hlauthor else condition
 }
@@ -817,6 +836,24 @@
 %
 
 \renewbibmacro*{author}{%
+    \iftoggle{isinrelated}{%
+       \usebibmacro{bpl:plain:author}%
+    }{%
+       \usebibmacro{bpl:author}%
+    }%
+}
+
+
+\renewbibmacro*{editor}{%
+    \iftoggle{isinrelated}{%
+       \usebibmacro{bpl:plain:editor}%
+    }{%
+       \usebibmacro{bpl:editor}%
+    }%
+}
+
+
+\newbibmacro*{bpl:author}{%
     \if at hlauthor
         \ifnameundef{author}
             {}
@@ -854,7 +891,7 @@
     \fi% end of \if at hlauthor else condition
 }
 
-\renewbibmacro*{editor}{%
+\newbibmacro*{bpl:editor}{%
     \if at hlauthor
         \ifnameundef{editor}
             {}
@@ -1026,13 +1063,13 @@
     }%
 }
 
-\newbibmacro*{bpl:review:author/label}{%
+\newbibmacro*{bpl:plain:author/label}{%
     \ifnameundef{author}
         {\usebibmacro{label}}
-        {\usebibmacro{bpl:review:author}}
+        {\usebibmacro{bpl:plain:author}}
 }
 
-\newbibmacro*{bpl:review:author}{%
+\newbibmacro*{bpl:plain:author}{%
     \ifnameundef{author}
         {\let\bbx at lasthash\undefined}
         {%
@@ -1050,10 +1087,23 @@
          \mkbibbrackets{\bibstring[\unspace]{alias}\addspace\printfield{nameaddon}}%
          \addspace%
         }%
-    \usebibmacro{bpl:review:year+labelyear}%
+    \usebibmacro{bpl:plain:year+labelyear}%
 }
 
-\newbibmacro*{bpl:review:year+labelyear}{%
+\newbibmacro*{bpl:plain:editor}{%
+   \ifnameundef{editor}
+       {}
+       {%
+        \printnames{editor}%
+        \setunit{\printdelim{editortypedelim}}%
+        \usebibmacro{editorstrg}%
+       }%
+       \adddot\addspace%
+       \usebibmacro{bpl:plain:year+labelyear}%
+       \clearname{editor}%
+}
+
+\newbibmacro*{bpl:plain:year+labelyear}{%
     \iffieldundef{year}
         {}
         {%
@@ -1064,22 +1114,64 @@
         }%
 }
 
+\renewbibmacro*{addendum+pubstate}{%
+  \printfield{addendum}%
+  \newunit\newblock
+  \printfield{pubstate}%
+  \iftoggle{bpl at prinfo}{%
+    \newunit\newblock
+    \printfield{peerreview}%
+  }{}%
+}
+
 %
 % l7n
 %
 \NewBibliographyString{with}
 \NewBibliographyString{parttranslationof}
+\NewBibliographyString{peerreview:sb}
+\NewBibliographyString{peerreview:db}
+\NewBibliographyString{peerreview:op}
+\NewBibliographyString{peerreview:co}
+\NewBibliographyString{peerreview:cc}
+\NewBibliographyString{peerreview:tp}
+\NewBibliographyString{peerreview:pp}
+\NewBibliographyString{peerreview:no}
 \DefineBibliographyStrings{english}{%
     parttranslationof   = {partial translation of},
-    with                = {with}
+    with                = {with},
+    peerreview:sb       = {single blind peer review},
+    peerreview:db       = {double blind peer review},
+    peerreview:op       = {open peer review},
+    peerreview:co       = {collaborative peer review},
+    peerreview:cc       = {cascading peer review},
+    peerreview:tp       = {third-party peer review},
+    peerreview:pp       = {post-publication peer review},
+    peerreview:no       = {no peer review}
 }
 \DefineBibliographyStrings{french}{%
     parttranslationof   = {traduction partielle de},
-    with                = {avec}
+    with                = {avec},
+    peerreview:sb       = {\'{e}valuation par des pairs anonymis\'{e}s},
+    peerreview:db       = {\'{e}valuation par les pairs en double aveugle},
+    peerreview:op       = {\'{e}valuation par les pairs ouverte},
+    peerreview:co       = {\'{e}valuation par les pairs collaborative},
+    peerreview:cc       = {\'{e}valuation par les pairs en cascade},
+    peerreview:tp       = {\'{e}valuation par des pairs ext\'{e}rieurs},
+    peerreview:pp       = {\'{e}valuation par les pairs apr\`{e}s publication},
+    peerreview:no       = {pas d'\'{e}valuation par les pairs}
 }
 \DefineBibliographyStrings{german}{%
     parttranslationof   = {Teil\"ubersetzung von},
-    with                = {mit}
+    with                = {mit},
+    peerreview:sb       = {Blindbegutachtung},
+    peerreview:db       = {Doppelblindbegutachtung},
+    peerreview:op       = {Offene Begutachtung},
+    peerreview:co       = {Kollaborative Begutachtung},
+    peerreview:cc       = {Cascading-Begutachtung},
+    peerreview:tp       = {Begutachtung durch Dritte},
+    peerreview:pp       = {Post-Publication-Begutachtung},
+    peerreview:no       = {keine Begutachtung}
 }
 
 
@@ -1088,7 +1180,7 @@
 %
 
 \DeclareBibliographyDriver{review}{%
-    \usebibmacro{bpl:review:author/label}%
+    \usebibmacro{bpl:plain:author/label}%
     \setunit*{\addcolon\space}%
     \usebibmacro{title}%
     \newunit\newblock
@@ -1354,15 +1446,38 @@
 
 % Add a dummy constant shortauthor in order to
 % ignore author constellation on extralabel assignment.
+% Original entries are stored in namea.
 \if at hlauthor
 \else
     \DeclareStyleSourcemap{
         \maps[datatype=bibtex]{
+          \map{
+             \step[fieldsource=shortauthor]
+             \step[fieldset=namea, origfieldval]
+            }
             \map[overwrite]{
                 \step[fieldset=shortauthor, fieldvalue={1111}]
             }
         }
     }
+    % For proper labelname (e.g., \textcite), write back original
+    % shortauthor, author or editor after the extradate has been
+    % constructed.
+    \AtDataInput{%
+       \csgappto\blx at bbl@data{%
+           \let\c at shortauthor\c at namea
+           \let\abx at name@shortauthor\abx at name@namea
+           \ifdefstring\abx at field@labelnamesource{shortauthor}
+              {\ifundef\abx at name@shortauthor
+	          {\ifundef\abx at name@author
+		      {\def\abx at field@labelnamesource{editor}}
+		      {\def\abx at field@labelnamesource{author}}%
+                  }%
+		  {}%
+	      }%
+              {}%
+        }%
+     }%
 \fi
 
 % Correctly sort pubstates.

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2022-01-06 00:20:22 UTC (rev 61499)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2022-01-06 00:20:37 UTC (rev 61500)
@@ -26,8 +26,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.25}
-\def\bpl at rdate{2021/12/14}
+\def\bpl at version{1.26}
+\def\bpl at rdate{2022/01/05}
 
 \ProvidesFile{publist.cbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex citation style (JSP)]

Added: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.dbx	2022-01-06 00:20:37 UTC (rev 61500)
@@ -0,0 +1,29 @@
+% publist.dbx, biblatex data model specification for the biblatex-publist
+% package, version 1.26 (2022-01-05). 
+%
+% 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".
+% 
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+%
+% Please send suggestions and bug reports to 
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Add peerreview (literal) field
+\DeclareDatamodelFields[type=field, datatype=literal]{
+  peerreview}
+
+\DeclareDatamodelEntryfields{
+  peerreview}
+



More information about the tex-live-commits mailing list.