texlive[55801] Master/texmf-dist: biblatex-publist (10jul20)

commits+karl at tug.org commits+karl at tug.org
Fri Jul 10 23:20:39 CEST 2020


Revision: 55801
          http://tug.org/svn/texlive?view=revision&revision=55801
Author:   karl
Date:     2020-07-10 23:20:39 +0200 (Fri, 10 Jul 2020)
Log Message:
-----------
biblatex-publist (10jul20)

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

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-publist/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2020-07-10 21:20:21 UTC (rev 55800)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/README	2020-07-10 21:20:39 UTC (rev 55801)
@@ -45,6 +45,9 @@
 
 == CHANGES ==
 
+* V. 1.17 (2020-07-10):
+	- Add options to get clickable titles.
+
 * V. 1.16 (2019-04-16):
 	- Major code cleanup.
 

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	2020-07-10 21:20:21 UTC (rev 55800)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex	2020-07-10 21:20:39 UTC (rev 55801)
@@ -102,7 +102,7 @@
 \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
 }
 
-\date{Version 1.16, 2019/04/16}
+\date{Version 1.17, 2020/07/10}
 \maketitle
 
 \begin{abstract}
@@ -159,7 +159,7 @@
 author\slash editor list (usually yours). 
 
 With the default settings, the author\slash editor name(s) will be omitted completely
-for all of publications which are authored or edited only by the specified person(s), as in:
+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.
@@ -242,7 +242,39 @@
 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}
 
 
@@ -328,6 +360,27 @@
 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. 
@@ -539,6 +592,11 @@
 \section{Revision Log}
 
 \begin{description}
+	\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.

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2020-07-10 21:20:21 UTC (rev 55800)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.bbx	2020-07-10 21:20:39 UTC (rev 55801)
@@ -25,8 +25,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.16}
-\def\bpl at rdate{2019/04/16}
+\def\bpl at version{1.17}
+\def\bpl at rdate{2020/07/10}
 
 \ProvidesFile{publist.bbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex bibliography style (JSP)]
@@ -127,6 +127,59 @@
 	}
 }
 
+\newtoggle{bpl at linktitle}
+\newtoggle{bpl at linktitleisbn}
+\newtoggle{bpl at linktitleissn}
+\newtoggle{bpl at linktitleurl}
+\newtoggle{bpl at linktitledoi}
+\DeclareBibliographyOption{linktitleall}[true]{%
+    \ifstrequal{#1}{true}{
+       \toggletrue{bpl at linktitleisbn}
+       \toggletrue{bpl at linktitleissn}
+       \toggletrue{bpl at linktitleurl}
+       \toggletrue{bpl at linktitledoi}
+       \toggletrue{bpl at linktitle}
+    }{%
+       \togglefalse{bpl at linktitleisbn}
+       \togglefalse{bpl at linktitleissn}
+       \togglefalse{bpl at linktitleurl}
+       \togglefalse{bpl at linktitledoi}
+       \togglefalse{bpl at linktitle}
+    }%
+}
+\DeclareBibliographyOption{linktitleurl}[true]{%
+    \ifstrequal{#1}{true}{%
+       \toggletrue{bpl at linktitleurl}
+       \toggletrue{bpl at linktitle}
+    }{%
+       \togglefalse{bpl at linktitleurl}
+    }%
+}
+\DeclareBibliographyOption{linktitledoi}[true]{%
+    \ifstrequal{#1}{true}{%
+       \toggletrue{bpl at linktitledoi}
+       \toggletrue{bpl at linktitle}
+    }{%
+       \togglefalse{bpl at linktitledoi}
+    }%
+}
+\DeclareBibliographyOption{linktitleisbn}[true]{%
+    \ifstrequal{#1}{true}{%
+       \toggletrue{bpl at linktitleisbn}
+       \toggletrue{bpl at linktitle}
+    }{%
+       \togglefalse{bpl at linktitleisbn}
+    }%
+}
+\DeclareBibliographyOption{linktitleissn}[true]{%
+    \ifstrequal{#1}{true}{%
+       \toggletrue{bpl at linktitleissn}
+       \toggletrue{bpl at linktitle}
+    }{%
+       \togglefalse{bpl at linktitleissn}
+    }%
+}
+
 % Check if users have defined different base styles
 % If not, use authoryear.
 \newif\ifbpl at standardbasestyle\bpl at standardbasestylefalse
@@ -1096,6 +1149,27 @@
 }
 
 
+% Define bibmacro that applies a hypertext reference
+% Inspired by https://tex.stackexchange.com/a/48506/19291
+\newbibmacro*{bpl:linked}[1]{%
+  \ifboolexpr{ test {\ifhyperref} and not test {\ifentrytype{online}} }
+    {\iffieldundef{doi}
+       {\iffieldundef{url}
+          {\iffieldundef{isbn}
+             {\iffieldundef{issn}
+                {#1}
+                {\iftoggle{bpl at linktitleissn}{\href{\plissnlink{\thefield{issn}}}{#1}}{#1}}}
+             {\iftoggle{bpl at linktitleisbn}{\href{\plisbnlink{\thefield{isbn}}}{#1}}{#1}}}
+          {\iftoggle{bpl at linktitleurl}{\href{\thefield{url}}{#1}}{#1}}}
+       {\iftoggle{bpl at linktitledoi}{\href{https://doi.org/\thefield{doi}}{#1}}{#1}}}
+    {#1}%
+}
+
+% URL for ISBN/ISSN queries
+\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}
+
+
 %
 % Mappings (biber)
 %
@@ -1139,7 +1213,29 @@
     }
 }
 
+% Link titles if so requested
+\AtBeginDocument{%
+\iftoggle{bpl at linktitle}{%
+  \DeclareStyleSourcemap{
+     \maps[datatype=bibtex]{
+        \map[overwrite=true]{
+            \step[fieldsource=title,
+                  match=\regexp{(.*)},
+                  replace=\regexp{\\usebibmacro{bpl:linked}{$1}},
+                  final=true]
+        }
+        \map[overwrite=true]{
+            \step[fieldsource=subtitle,
+                  match=\regexp{(.*)},
+                  replace=\regexp{\\usebibmacro{bpl:linked}{$1}},
+                  final=true]
+        }
+     }
+  }
+}{}
+}
 
+
 %
 % Deprecated stuff
 %

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2020-07-10 21:20:21 UTC (rev 55800)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-publist/publist.cbx	2020-07-10 21:20:39 UTC (rev 55801)
@@ -26,8 +26,8 @@
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\bpl at version{1.16}
-\def\bpl at rdate{2019/04/16}
+\def\bpl at version{1.17}
+\def\bpl at rdate{2020/07/10}
 
 \ProvidesFile{publist.cbx}[\bpl at rdate\space v.\bpl at version\space
                            biblatex citation style (JSP)]



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