texlive[64975] Master/texmf-dist: biblatex-unified (9nov22)

commits+karl at tug.org commits+karl at tug.org
Wed Nov 9 22:07:07 CET 2022


Revision: 64975
          http://tug.org/svn/texlive?view=revision&revision=64975
Author:   karl
Date:     2022-11-09 22:07:07 +0100 (Wed, 09 Nov 2022)
Log Message:
-----------
biblatex-unified (9nov22)

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

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-unified/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-unified/README.md	2022-11-09 21:06:43 UTC (rev 64974)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-unified/README.md	2022-11-09 21:07:07 UTC (rev 64975)
@@ -3,7 +3,7 @@
 
 `biblatex-unified` is an opinionated biblatex implementation of the [Unified Stylesheet for Linguistics Journals](https://www.linguisticsociety.org/resource/unified-style-sheet). The stylesheet was developed by [CELxJ, the Committee of Editors of Linguistics Journals](https://www.linguisticsociety.org/about/who-we-are/committees/editors-linguistics-journals-celxj). 
 
-The first implementation of the stylesheet for LaTeX was [`sp.bst`](https://raw.githubusercontent.com/semprag/tex/master/sp.cls), developed for the house-style of the journal [*Semantics and Pragmatics*](http://semprag.org) (*S&P*). Bridget Samuels produced a revised version `unified.bst`, which has largely disappeared from the internet.
+The first implementation of the stylesheet for LaTeX was [`sp.bst`](https://raw.githubusercontent.com/semprag/tex/master/sp.bst), developed for the house-style of the journal [*Semantics and Pragmatics*](http://semprag.org) (*S&P*). Bridget Samuels produced a revised version `unified.bst`, which has largely disappeared from the internet.
 
 The current project is a ground-up re-implementation of the unified stylesheet in modern biblatex. It has been used by *S&P* in production for several years.
 

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.md	2022-11-09 21:06:43 UTC (rev 64974)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.md	2022-11-09 21:07:07 UTC (rev 64975)
@@ -1,7 +1,7 @@
 ---
 title: biblatex-unified
 author: Kai von Fintel (fintel at mit.edu)
-date: 2022-02-05
+date: 2022-11-08 (v1.20)
 colorlinks: true
 numbersections: true
 ...
@@ -10,7 +10,7 @@
 
 `biblatex-unified` is an opinionated biblatex implementation of the [Unified Stylesheet for Linguistics Journal](https://www.linguisticsociety.org/resource/unified-style-sheet). The stylesheet was developed by [CELxJ, the Committee of Editors of Linguistics Journals](https://www.linguisticsociety.org/about/who-we-are/committees/editors-linguistics-journals-celxj). 
 
-The first implementation of the stylesheet for LaTeX was [`sp.bst`](https://raw.githubusercontent.com/semprag/tex/master/sp.cls), developed for the house-style of the journal [*Semantics and Pragmatics*](http://semprag.org) (*S&P*). Bridget Samuels produced a revised version `unified.bst`, which has largely disappeared from the internet.
+The first implementation of the stylesheet for LaTeX was [`sp.bst`](https://raw.githubusercontent.com/semprag/tex/master/sp.bst), developed for the house-style of the journal [*Semantics and Pragmatics*](http://semprag.org) (*S&P*). Bridget Samuels produced a revised version `unified.bst`, which has largely disappeared from the internet.
 
 The current project is a ground-up re-implementation of the unified stylesheet in modern biblatex. It has been used by *S&P* in production for several years.
 
@@ -42,16 +42,16 @@
 simply add the `biblatex` class option when importing `sp.cls`{.latex}:
 
 ```latex
-    \documentclass[biblatex]{sp}
+\documentclass[biblatex]{sp}
 ```
 
 If you are not using the *S&P* document class, you can still use this style by adding the following to your preamble (after `\documentclass{...}`{.latex} but before `\begin{document}`{.latex}):
 
 ```latex
-    \usepackage[backend=biber,
-                style=unified,
-                maxcitenames=3,
-                maxbibnames=99]{biblatex}
+\usepackage[backend=biber,
+            style=unified,
+            maxcitenames=3,
+            maxbibnames=99]{biblatex}
 ```
 
 The unified citation style relies on hyperlinking between in-text citations and the bibliography. So, the `hyperref` package is required. It is automatically loaded by `sp.cls` but if you use a different document class and `hyperref` is not loaded by that class, you need to add `\usepackage{hyperref}` to your preamble as well.
@@ -107,13 +107,17 @@
 
 Option 1
 
-    title = {Government and Binding Theory and the Minimalist Program},
-    subtitle = {Principles and Parameters in Syntactic Theory},
+```bibtex
+title = {Government and Binding Theory and the Minimalist Program},
+subtitle = {Principles and Parameters in Syntactic Theory},
+```
 
 Option 2
 
-    title = {Government and Binding Theory and the Minimalist Program:  
-            {Principles} and Parameters in Syntactic Theory},
+```bibtex
+title = {Government and Binding Theory and the Minimalist Program:  
+        {Principles} and Parameters in Syntactic Theory},
+```
 
 >4\. **All author/editor first names should be spelled out.** Not doing so only serves to make the citation less informative. Without full first names, the 20th century index for Language alone would conflate five different people as ‘J. Smith’, four as ‘J. Harris’, three each under ‘A. Cohen’ and ‘P. Lee’, two each under ‘R. Kent’, ‘J. Anderson’, ‘H. Klein’ and ‘J. Klein’.
 
@@ -155,15 +159,17 @@
 
 *Option 1*: Use the `@inproceedings` entry type and include the ISSN of the proceedings when available. Example:
 
-    @inproceedings{casali:1998a,
-        Author = {Casali, Roderic F.},
-        Booktitle = {Chicago Linguistic Society (CLS)},
-        ISSN = {0577-7240},
-        Number = {1},
-        Pages = {55-68},
-        Title = {Predicting {ATR} Activity},
-        Volume = {34},
-        Year = {1998}}
+```bibtex
+ at inproceedings{casali:1998a,
+    Author = {Casali, Roderic F.},
+    Booktitle = {Chicago Linguistic Society (CLS)},
+    ISSN = {0577-7240},
+    Number = {1},
+    Pages = {55-68},
+    Title = {Predicting {ATR} Activity},
+    Volume = {34},
+    Year = {1998}}
+```
 
 Comment: Following the Unified Style Sheet, we can let the presence of an ISSN control whether an article in conference proceedings is set like a journal article or like a book chapter. To do this, the bib-file needs to contain the ISSN of proceedings where possible. When the ISSN is in the bib-file, `biblatex-unified` will not print it with the entry but it will trigger setting as an article. If there's no ISSN in the entry, `biblatex-unified` will set it as a book chapter. The ISSN can be found through [WorldCat](http://www.worldcat.org) fairly easily. Here's a list of common conference proceedings with their ISSN:
 
@@ -175,14 +181,16 @@
 
 *Option 2*: Another option, less portable and definitely a hack, is to use the `@article` entry type, putting the conference name (and the acronym in parentheses; no need to case protect the acronym, since journal titles are set as is) in the `journal` field, and do not list the editors. Example:
 
-    @article{casali:1998b,
-        Author = {Casali, Roderic F.},
-        Journal = {Chicago Linguistic Society (CLS)},
-        Number = {1},
-        Pages = {55-68},
-        Title = {Predicting {ATR} Activity},
-        Volume = {34},
-        Year = {1998}}
+```bibtex
+ at article{casali:1998b,
+    Author = {Casali, Roderic F.},
+    Journal = {Chicago Linguistic Society (CLS)},
+    Number = {1},
+    Pages = {55-68},
+    Title = {Predicting {ATR} Activity},
+    Volume = {34},
+    Year = {1998}}
+```
 
 >11\. **Use “edn.” as an abbreviation for “edition”, thus “2nd edn.”.** This avoids ambiguity and confusion with “ed.” (editor).
 
@@ -240,28 +248,41 @@
 
 # Additional remarks on DOIs and other links
 
-The Unified Style Sheet was devised before the widespread use of DOIs to identify the source of materials that are available electronically. It is good practice for authors to include DOIs in their bib-file for anything that has a DOI. Most modern publications prominently display the DOI on the first page of the work and/or in the metadata. Sometimes a DOI is harder to find, but [Google Scholar](http://scholar.google.com/) and [crossref.org/SimpleTextQuery](http://crossref.org/SimpleTextQuery/) can help. `biblatex-unified` displays DOIs as a full link (such as `https://doi.org/10.3765/sp.10.1`) in accordance with [the guidelines imposed by Crossref](https://www.crossref.org/display-guidelines/). If you would like a more compact display (`DOI:10.3765/sp.10.1`), you can achieve this by adding the `compactdois` package option to the `\usepackage`{.latex} command: 
+DOIs (digital object identifiers) are the best way to identify material available online. It is good practice for authors to include DOIs in their bib-file for anything that has a DOI. Most modern publications prominently display the DOI on the first page of the work and/or in the metadata. Sometimes a DOI is harder to find, but [Google Scholar](http://scholar.google.com/) and [crossref.org/SimpleTextQuery](http://crossref.org/SimpleTextQuery/) can help.
 
-```latex
-    \usepackage[backend=biber,
-                style=unified,
-                maxcitenames=3,
-                maxbibnames=99,
-                compactdois]{biblatex}
+Another kind of link is to established eprint sources. `biblatex` has built-in support for the following eprint-types: arxiv, jstor, pubmed, hdl, googlebooks. `biblatex-unified` adds support for two new eprint-types: `lingbuzz` (LingBuzz) and `roa` (Rutgers Optimality Archive). Example:
+
+```bibtex
+ at unpublished{conrod-2021-VariationEnglishGenderedPronouns,
+  author     = {Conrod, Kirby},
+  date       = {2021-08},
+  eprint     = {006452},
+  eprinttype = {lingbuzz},
+  subtitle   = {Analysis and Recommendations for Ethics in Linguistics},
+  title      = {Variation in {{English}} Gendered Pronouns},
+}
 ```
 
-If you're using the `sp.cls` document class with the `biblatex` option, you should instead add this to the preamble: `\ExecuteBibliographyOptions{compactdois}`{.latex}, if you want compact DOIs
+[Crossref guidelines](https://www.crossref.org/display-guidelines/) specify that DOIs should be displayed as full links (such as `https://doi.org/10.3765/sp.10.1`). `biblatex-unified` complies with this and extends the practice to the display of eprint information. Furthermore, `biblatex-unified` displays only one online link: DOI if available, eprint if there's no DOI, anything in the `url` field otherwise.
 
-When `biblatex-unified` is used with the up-todate version of the `sp.cls` documentclass, once a bibentry has a DOI, a link in the `url` field will not also be displayed. If you want to achieve this effect with other document classes, you can add the following to your preamble after loading `biblatex-unified`:
+The user can override `biblatex-unified` defaults as follows: the package option `compactlinks` displays DOIs and eprint info in a compact way (`DOI: 10.3765/sp.10.1` or `JSTOR: 4178098`) and the package option `alllinks` displays all available links instead of just one. Example:
 
 ```latex
-\DeclareSourcemap{
-        \maps[datatype=bibtex]{
-        \map{\step[fieldsource=doi,final]
-             \step[fieldset=url,null]
-             \step[fieldset=urldate,null]}}}
+\usepackage[backend=biber,
+            style=unified,
+            maxcitenames=3,
+            maxbibnames=99,
+            compactlinks, alllinks]{biblatex}
 ```
 
+If you're using the `sp.cls` document class with the `biblatex` option and you want compact links and all links, you should instead add this to the preamble: 
+
+```latex
+\ExecuteBibliographyOptions{compactlinks, alllinks}
+```
+
+If you're using the `compactlinks` option, you will notice that `biblatex-unified` parses the `url` field and will format any recognized eprint-links in the corresponding compact way. In other words, if the url in a bibentry is `http://www.jstor.org/stable/4178098`, the generated bibliography will contain `JSTOR: 4178098`.
+
 # Guidelines for the preparation of bib files
 
 For convenience, we repeat the best practices for preparing your bib file for use with `biblatex-unified`.
@@ -272,7 +293,6 @@
 4. For on-line materials, you can give the date the resource was accessed. Use the `urldate` field for this purpose and give the date in the YYYY-MM-DD format, e.g. `2013-08-11`.
 5. Use two-letter postal abbreviations for all US cities.
 
-
 # License and copyright
 
 Copyright ©2022 Kai von Fintel. 
@@ -289,11 +309,19 @@
 
 ## v1.01 (2020-09-11) {-}
 
-- Added note that `hyperref` is required.  
+- Added note that `hyperref` is required.
 
 ## v1.10 (2022-02-05) {-}
 
 - Internal refactoring of handling of "von"-names
 - Changed `&` to be glued to previous author
-- Added `compactdois` option
+- Added `compactdois` option [now deprecated, superseded by `compactlinks`]
 - Added documentation on DOIs
+
+## v1.20 (2022-11-08) {-}
+
+- Better handling of links
+- Added `compactlinks` and `alllinks` options
+- Revised documentation on DOIs and other links
+- Fixed punctuation before subtitle
+- Improved handling of non-numerical dates ("forthcoming" etc.)

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

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.tex	2022-11-09 21:06:43 UTC (rev 64974)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-unified/biblatex-unified.tex	2022-11-09 21:07:07 UTC (rev 64975)
@@ -34,18 +34,6 @@
   \KOMAoptions{parskip=half}}
 \makeatother
 \usepackage{xcolor}
-\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
-\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
-\hypersetup{
-  pdftitle={biblatex-unified},
-  pdfauthor={Kai von Fintel (fintel at mit.edu)},
-  colorlinks=true,
-  linkcolor={Maroon},
-  filecolor={Maroon},
-  citecolor={Blue},
-  urlcolor={Blue},
-  pdfcreator={LaTeX via pandoc}}
-\urlstyle{same} % disable monospaced font for URLs
 \usepackage{color}
 \usepackage{fancyvrb}
 \newcommand{\VerbBar}{|}
@@ -93,10 +81,22 @@
 \ifLuaTeX
   \usepackage{selnolig}  % disable illegal ligatures
 \fi
+\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
+\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
+\urlstyle{same} % disable monospaced font for URLs
+\hypersetup{
+  pdftitle={biblatex-unified},
+  pdfauthor={Kai von Fintel (fintel at mit.edu)},
+  colorlinks=true,
+  linkcolor={Maroon},
+  filecolor={Maroon},
+  citecolor={Blue},
+  urlcolor={Blue},
+  pdfcreator={LaTeX via pandoc}}
 
 \title{biblatex-unified}
 \author{Kai von Fintel (fintel at mit.edu)}
-\date{2022-02-05}
+\date{2022-11-08 (v1.20)}
 
 \begin{document}
 \maketitle
@@ -112,7 +112,7 @@
 the Committee of Editors of Linguistics Journals}.
 
 The first implementation of the stylesheet for LaTeX was
-\href{https://raw.githubusercontent.com/semprag/tex/master/sp.cls}{\texttt{sp.bst}},
+\href{https://raw.githubusercontent.com/semprag/tex/master/sp.bst}{\texttt{sp.bst}},
 developed for the house-style of the journal
 \href{http://semprag.org}{\emph{Semantics and Pragmatics}}
 (\emph{S\&P}). Bridget Samuels produced a revised version
@@ -180,7 +180,7 @@
 
 \begin{Shaded}
 \begin{Highlighting}[]
-    \BuiltInTok{\textbackslash{}documentclass}\NormalTok{[biblatex]\{}\ExtensionTok{sp}\NormalTok{\}}
+\BuiltInTok{\textbackslash{}documentclass}\NormalTok{[biblatex]\{}\ExtensionTok{sp}\NormalTok{\}}
 \end{Highlighting}
 \end{Shaded}
 
@@ -192,10 +192,10 @@
 
 \begin{Shaded}
 \begin{Highlighting}[]
-    \BuiltInTok{\textbackslash{}usepackage}\NormalTok{[backend=biber,}
-\NormalTok{                style=unified,}
-\NormalTok{                maxcitenames=3,}
-\NormalTok{                maxbibnames=99]\{}\ExtensionTok{biblatex}\NormalTok{\}}
+\BuiltInTok{\textbackslash{}usepackage}\NormalTok{[backend=biber,}
+\NormalTok{            style=unified,}
+\NormalTok{            maxcitenames=3,}
+\NormalTok{            maxbibnames=99]\{}\ExtensionTok{biblatex}\NormalTok{\}}
 \end{Highlighting}
 \end{Shaded}
 
@@ -361,17 +361,21 @@
 
 Option 1
 
-\begin{verbatim}
-title = {Government and Binding Theory and the Minimalist Program},
-subtitle = {Principles and Parameters in Syntactic Theory},
-\end{verbatim}
+\begin{Shaded}
+\begin{Highlighting}[]
+\CommentTok{title = \{Government and Binding Theory and the Minimalist Program\},}
+\CommentTok{subtitle = \{Principles and Parameters in Syntactic Theory\},}
+\end{Highlighting}
+\end{Shaded}
 
 Option 2
 
-\begin{verbatim}
-title = {Government and Binding Theory and the Minimalist Program:  
-        {Principles} and Parameters in Syntactic Theory},
-\end{verbatim}
+\begin{Shaded}
+\begin{Highlighting}[]
+\CommentTok{title = \{Government and Binding Theory and the Minimalist Program:  }
+\CommentTok{        \{Principles\} and Parameters in Syntactic Theory\},}
+\end{Highlighting}
+\end{Shaded}
 
 \begin{quote}
 4. \textbf{All author/editor first names should be spelled out.} Not
@@ -483,17 +487,19 @@
 \emph{Option 1}: Use the \texttt{@inproceedings} entry type and include
 the ISSN of the proceedings when available. Example:
 
-\begin{verbatim}
- at inproceedings{casali:1998a,
-    Author = {Casali, Roderic F.},
-    Booktitle = {Chicago Linguistic Society (CLS)},
-    ISSN = {0577-7240},
-    Number = {1},
-    Pages = {55-68},
-    Title = {Predicting {ATR} Activity},
-    Volume = {34},
-    Year = {1998}}
-\end{verbatim}
+\begin{Shaded}
+\begin{Highlighting}[]
+\VariableTok{@inproceedings}\NormalTok{\{}\OtherTok{casali:1998a}\NormalTok{,}
+    \DataTypeTok{Author}\NormalTok{ = \{Casali, Roderic F.\},}
+    \DataTypeTok{Booktitle}\NormalTok{ = \{Chicago Linguistic Society (CLS)\},}
+    \DataTypeTok{ISSN}\NormalTok{ = \{0577{-}7240\},}
+    \DataTypeTok{Number}\NormalTok{ = \{1\},}
+    \DataTypeTok{Pages}\NormalTok{ = \{55{-}68\},}
+    \DataTypeTok{Title}\NormalTok{ = \{Predicting \{ATR\} Activity\},}
+    \DataTypeTok{Volume}\NormalTok{ = \{34\},}
+    \DataTypeTok{Year}\NormalTok{ = \{1998\}\}}
+\end{Highlighting}
+\end{Shaded}
 
 Comment: Following the Unified Style Sheet, we can let the presence of
 an ISSN control whether an article in conference proceedings is set like
@@ -525,16 +531,18 @@
 since journal titles are set as is) in the \texttt{journal} field, and
 do not list the editors. Example:
 
-\begin{verbatim}
- at article{casali:1998b,
-    Author = {Casali, Roderic F.},
-    Journal = {Chicago Linguistic Society (CLS)},
-    Number = {1},
-    Pages = {55-68},
-    Title = {Predicting {ATR} Activity},
-    Volume = {34},
-    Year = {1998}}
-\end{verbatim}
+\begin{Shaded}
+\begin{Highlighting}[]
+\VariableTok{@article}\NormalTok{\{}\OtherTok{casali:1998b}\NormalTok{,}
+    \DataTypeTok{Author}\NormalTok{ = \{Casali, Roderic F.\},}
+    \DataTypeTok{Journal}\NormalTok{ = \{Chicago Linguistic Society (CLS)\},}
+    \DataTypeTok{Number}\NormalTok{ = \{1\},}
+    \DataTypeTok{Pages}\NormalTok{ = \{55{-}68\},}
+    \DataTypeTok{Title}\NormalTok{ = \{Predicting \{ATR\} Activity\},}
+    \DataTypeTok{Volume}\NormalTok{ = \{34\},}
+    \DataTypeTok{Year}\NormalTok{ = \{1998\}\}}
+\end{Highlighting}
+\end{Shaded}
 
 \begin{quote}
 11. \textbf{Use ``edn.'' as an abbreviation for ``edition'', thus ``2nd
@@ -699,53 +707,75 @@
 \section{Additional remarks on DOIs and other
 links}\label{additional-remarks-on-dois-and-other-links}}
 
-The Unified Style Sheet was devised before the widespread use of DOIs to
-identify the source of materials that are available electronically. It
-is good practice for authors to include DOIs in their bib-file for
-anything that has a DOI. Most modern publications prominently display
-the DOI on the first page of the work and/or in the metadata. Sometimes
-a DOI is harder to find, but \href{http://scholar.google.com/}{Google
-Scholar} and
+DOIs (digital object identifiers) are the best way to identify material
+available online. It is good practice for authors to include DOIs in
+their bib-file for anything that has a DOI. Most modern publications
+prominently display the DOI on the first page of the work and/or in the
+metadata. Sometimes a DOI is harder to find, but
+\href{http://scholar.google.com/}{Google Scholar} and
 \href{http://crossref.org/SimpleTextQuery/}{crossref.org/SimpleTextQuery}
-can help. \texttt{biblatex-unified} displays DOIs as a full link (such
-as \texttt{https://doi.org/10.3765/sp.10.1}) in accordance with
-\href{https://www.crossref.org/display-guidelines/}{the guidelines
-imposed by Crossref}. If you would like a more compact display
-(\texttt{DOI:10.3765/sp.10.1}), you can achieve this by adding the
-\texttt{compactdois} package option to the
-\VERB|\BuiltInTok{\textbackslash{}usepackage}| command:
+can help.
 
+Another kind of link is to established eprint sources. \texttt{biblatex}
+has built-in support for the following eprint-types: arxiv, jstor,
+pubmed, hdl, googlebooks. \texttt{biblatex-unified} adds support for two
+new eprint-types: \texttt{lingbuzz} (LingBuzz) and \texttt{roa} (Rutgers
+Optimality Archive). Example:
+
 \begin{Shaded}
 \begin{Highlighting}[]
-    \BuiltInTok{\textbackslash{}usepackage}\NormalTok{[backend=biber,}
-\NormalTok{                style=unified,}
-\NormalTok{                maxcitenames=3,}
-\NormalTok{                maxbibnames=99,}
-\NormalTok{                compactdois]\{}\ExtensionTok{biblatex}\NormalTok{\}}
+\VariableTok{@unpublished}\NormalTok{\{}\OtherTok{conrod}\NormalTok{{-}}\OtherTok{2021}\NormalTok{{-}}\OtherTok{VariationEnglishGenderedPronouns}\NormalTok{,}
+  \DataTypeTok{author}\NormalTok{     = \{Conrod, Kirby\},}
+  \DataTypeTok{date}\NormalTok{       = \{2021{-}08\},}
+  \DataTypeTok{eprint}\NormalTok{     = \{006452\},}
+  \DataTypeTok{eprinttype}\NormalTok{ = \{lingbuzz\},}
+  \DataTypeTok{subtitle}\NormalTok{   = \{Analysis and Recommendations for Ethics in Linguistics\},}
+  \DataTypeTok{title}\NormalTok{      = \{Variation in \{\{English\}\} Gendered Pronouns\},}
+\NormalTok{\}}
 \end{Highlighting}
 \end{Shaded}
 
-If you're using the \texttt{sp.cls} document class with the
-\texttt{biblatex} option, you should instead add this to the preamble:
-\VERB|\FunctionTok{\textbackslash{}ExecuteBibliographyOptions}\NormalTok{\{compactdois\}}|,
-if you want compact DOIs
+\href{https://www.crossref.org/display-guidelines/}{Crossref guidelines}
+specify that DOIs should be displayed as full links (such as
+\texttt{https://doi.org/10.3765/sp.10.1}). \texttt{biblatex-unified}
+complies with this and extends the practice to the display of eprint
+information. Furthermore, \texttt{biblatex-unified} displays only one
+online link: DOI if available, eprint if there's no DOI, anything in the
+\texttt{url} field otherwise.
 
-When \texttt{biblatex-unified} is used with the up-todate version of the
-\texttt{sp.cls} documentclass, once a bibentry has a DOI, a link in the
-\texttt{url} field will not also be displayed. If you want to achieve
-this effect with other document classes, you can add the following to
-your preamble after loading \texttt{biblatex-unified}:
+The user can override \texttt{biblatex-unified} defaults as follows: the
+package option \texttt{compactlinks} displays DOIs and eprint info in a
+compact way (\texttt{DOI:\ 10.3765/sp.10.1} or \texttt{JSTOR:\ 4178098})
+and the package option \texttt{alllinks} displays all available links
+instead of just one. Example:
 
 \begin{Shaded}
 \begin{Highlighting}[]
-\FunctionTok{\textbackslash{}DeclareSourcemap}\NormalTok{\{}
-        \FunctionTok{\textbackslash{}maps}\NormalTok{[datatype=bibtex]\{}
-        \FunctionTok{\textbackslash{}map}\NormalTok{\{}\FunctionTok{\textbackslash{}step}\NormalTok{[fieldsource=doi,final]}
-             \FunctionTok{\textbackslash{}step}\NormalTok{[fieldset=url,null]}
-             \FunctionTok{\textbackslash{}step}\NormalTok{[fieldset=urldate,null]\}\}\}}
+\BuiltInTok{\textbackslash{}usepackage}\NormalTok{[backend=biber,}
+\NormalTok{            style=unified,}
+\NormalTok{            maxcitenames=3,}
+\NormalTok{            maxbibnames=99,}
+\NormalTok{            compactlinks, alllinks]\{}\ExtensionTok{biblatex}\NormalTok{\}}
 \end{Highlighting}
 \end{Shaded}
 
+If you're using the \texttt{sp.cls} document class with the
+\texttt{biblatex} option and you want compact links and all links, you
+should instead add this to the preamble:
+
+\begin{Shaded}
+\begin{Highlighting}[]
+\FunctionTok{\textbackslash{}ExecuteBibliographyOptions}\NormalTok{\{compactlinks, alllinks\}}
+\end{Highlighting}
+\end{Shaded}
+
+If you're using the \texttt{compactlinks} option, you will notice that
+\texttt{biblatex-unified} parses the \texttt{url} field and will format
+any recognized eprint-links in the corresponding compact way. In other
+words, if the url in a bibentry is
+\texttt{http://www.jstor.org/stable/4178098}, the generated bibliography
+will contain \texttt{JSTOR:\ 4178098}.
+
 \hypertarget{guidelines-for-the-preparation-of-bib-files}{%
 \section{Guidelines for the preparation of bib
 files}\label{guidelines-for-the-preparation-of-bib-files}}
@@ -839,9 +869,28 @@
 \item
   Changed \texttt{\&} to be glued to previous author
 \item
-  Added \texttt{compactdois} option
+  Added \texttt{compactdois} option {[}now deprecated, superseded by
+  \texttt{compactlinks}{]}
 \item
   Added documentation on DOIs
 \end{itemize}
 
+\hypertarget{v1.20-2022-11-08}{%
+\subsection*{v1.20 (2022-11-08)}\label{v1.20-2022-11-08}}
+\addcontentsline{toc}{subsection}{v1.20 (2022-11-08)}
+
+\begin{itemize}
+\tightlist
+\item
+  Better handling of links
+\item
+  Added \texttt{compactlinks} and \texttt{alllinks} options
+\item
+  Revised documentation on DOIs and other links
+\item
+  Fixed punctuation before subtitle
+\item
+  Improved handling of non-numerical dates (``forthcoming'' etc.)
+\end{itemize}
+
 \end{document}

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx	2022-11-09 21:06:43 UTC (rev 64974)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx	2022-11-09 21:07:07 UTC (rev 64975)
@@ -9,48 +9,57 @@
 %% ---------------------------------------------------------------
 %%
 
-\ProvidesFile{unified.bbx}[2022/02/05 v1.10 biblatex bibliography style]
+\ProvidesFile{unified.bbx}[2022/11/08 v1.20 biblatex bibliography style]
 
-% biblatex by default calls biblatex.def, we add to this authoryear.bbx, which
-% in turn loads standard.bbx. So, unified.bbx is built on top of those styles;
-% once authoryear.bbx is loaded, we tell it not to put in dashes for repeated
-% authors (in accordance with the Unified Stylesheet)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% biblatex by default calls biblatex.def, we add to this authoryear.bbx, which     %
+% in turn loads standard.bbx. So, unified.bbx is built on top of those styles;     %
+% once authoryear.bbx is loaded, we tell it not to put in dashes for repeated      %
+% authors (in accordance with the Unified Stylesheet)                              %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \RequireBibliographyStyle{authoryear}
-\ExecuteBibliographyOptions{dashed=false,isbn=false,eprint=false}
+\ExecuteBibliographyOptions{dashed=false,isbn=false,eprint=true}
 
-% NB: The Unified Style Sheet wants abbreviated "ed(s)", "edn". But using the
-% abbreviate option also abbreviates the names of months. But then
-% dateabbrev=false restores the long names of months
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% NB: The Unified Style Sheet wants abbreviated "ed(s)", "edn". But using the      %
+% abbreviate option also abbreviates the names of months. But then                 %
+% dateabbrev=false restores the long names of months                               %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \ExecuteBibliographyOptions{%
   sorting=nyt,abbreviate,dateabbrev=false,useprefix=true}
 
-% For backward compatibility: choose labeldate or labeldateparts
-% depending on the biblatex version
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% For backward compatibility: choose labeldate or labeldateparts                   %
+% depending on the biblatex version                                                %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \@ifpackagelater{biblatex}{2016/09/09} {%
   \ExecuteBibliographyOptions{labeldateparts}} {%
   \ExecuteBibliographyOptions{labeldate}
   \def\printlabeldateextra{\printdateextralabel} }%
 
-% If an @article entry contains Issuetitle and Editor information, we
-% might not want to print it. The Unified Style Sheet does not offer
-% explicit guidelines on this, but they don't have any examples where
-% either of these pieces of information are actually printed.
-% Therefore, we can offer an option for the user to decide whether to
-% print it. The default will be not to print it since the Unified
-% Style Sheet does not have examples where this information is
-% printed. The user can print it by setting `issueandeditor=true` as a
-% package option when biblatex is called.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% If an @article entry contains Issuetitle and Editor information, we              %
+% might not want to print it. The Unified Style Sheet does not offer               %
+% explicit guidelines on this, but they don't have any examples where              %
+% either of these pieces of information are actually printed.                      %
+% Therefore, we can offer an option for the user to decide whether to              %
+% print it. The default will be not to print it since the Unified                  %
+% Style Sheet does not have examples where this information is                     %
+% printed. The user can print it by setting `issueandeditor=true` as a             %
+% package option when biblatex is called.                                          %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newtoggle{issueandeditor}
 \DeclareBibliographyOption{issueandeditor}[false]{%
   \settoggle{issueandeditor}{#1}}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Treating prefixes like "von" as part of the last name, but ignore them for
-% sorting (relies on useprefix=true default option)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Treating prefixes like "von" as part of the last name, but ignore them for       %
+% sorting (relies on useprefix=true default option)                                %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareSortingNamekeyTemplate{
   \keypart{
@@ -69,9 +78,9 @@
 
 \renewbibmacro{begentry}{\midsentence}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Moving "Jr." to after the first name
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Moving "Jr." to after the first name                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \renewbibmacro*{name:family-given}[4]{%
   \usebibmacro{name:delim}{#3#1}%
@@ -92,13 +101,15 @@
        {\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
   }
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Various bibmacros used in producing the bibliography
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%             VARIOUS BIBMACROS USED IN PRODUCING THE BIBLIOGRAPHY                 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-% We use `date+extradate` but biblatex versions before 3.8 didn't have that
-% macro. Older versions were smart enough to complain about `\renewmacro` and
-% use `\newmacro` instead. But the following construction works for both cases
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% We use `date+extradate` but biblatex versions before 3.8 didn't have that        %
+% macro. Older versions were smart enough to complain about `\renewmacro` and      %
+% use `\newmacro` instead. But the following construction works for both cases     %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \providebibmacro{date+extradate}{}
 \renewbibmacro*{date+extradate}{%
@@ -205,9 +216,11 @@
     {}%
   \newunit}
 
-% The next three bib macros are for printing the maintitle and
-% booktitle fields of an @inproceedings entry with an ISSN as an
-% article in accordance with the unified style sheet guidelines.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The next three bib macros are for printing the maintitle and                     %
+% booktitle fields of an @inproceedings entry with an ISSN as an                   %
+% article in accordance with the unified style sheet guidelines.                   %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % 1. maintitle
 
@@ -258,9 +271,11 @@
   \setunit{\addcomma\space}%
   \printfield{eid}}
 
-% This is for printing the volume field of a proceedings with an ISSN
-% as an article in accordance with the unified style sheet guidelines.
-% It depends on the declared field format below.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is for printing the volume field of a proceedings with an ISSN              %
+% as an article in accordance with the unified style sheet guidelines.             %
+% It depends on the declared field format below.                                   %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newbibmacro*{unified:proc-as-article:volume+number+eid}{%
   \printfield[volume:unified:proc-as-article]{volume}%
@@ -268,9 +283,11 @@
   \setunit{\addcomma\space}%
   \printfield{eid}}
 
-% Because of the weird format "3 May, 2007" specified in the Unified
-% Stylesheet for URL access dates, we need a special way to format the
-% urldate
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Because of the weird format "3 May, 2007" specified in the Unified               %
+% Stylesheet for URL access dates, we need a special way to format the             %
+% urldate                                                                          %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \newcommand{\mkbibdateunified}[3]{% Year-Month-Day as input --> xx Month, Year
   \iffieldundef{#3}
@@ -347,8 +364,10 @@
   \usebibmacro{date}%
   \newunit}
 
-% The following is a hack to satisfy the Unified Stylesheet's decision
-% to give the edition right after the OED as used as a sortlabel.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The following is a hack to satisfy the Unified Stylesheet's decision             %
+% to give the edition right after the OED as used as a sortlabel.                  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \renewbibmacro*{labeltitle}{%
   \iffieldundef{label}
@@ -361,24 +380,36 @@
        {\printfield[title]{shorttitle}}}
     {\printfield{label}}}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Punctuation & formatting
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                         PUNCTUATION & FORMATTING                                 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-% This gets rid of the Oxford comma in name lists and uses the
-% ampersand rather than "and":
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This gets rid of the Oxford comma in name lists and uses the                     %
+% ampersand rather than "and":                                                     %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \renewcommand*{\finalnamedelim}{\addnbspace\&\addspace}
 \renewcommand*{\finallistdelim}{\addnbspace\&\addspace}
 
-% no colon after "In" in incollection entries (overriding
-% biblatex.def):
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% no colon after "In" in incollection entries (overriding                          %
+% biblatex.def):                                                                   %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \renewcommand{\intitlepunct}{\addspace}
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Subtitles are indicated with a colon after the main title, unless the title      %
+% ends in a punctuation mark. %                                                    %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \renewcommand{\subtitlepunct}{\addcolon\space}
+\DefineBibliographyExtras{english}{\DeclarePunctuationPairs{colon}{*}}
 
-% No comma before pages, just the usual new unit period
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% No comma before pages, just the usual new unit period                            %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \renewcommand*{\bibpagespunct}{\newunitpunct}
 
@@ -387,66 +418,174 @@
   phdthesis = {dissertation},
 }
 
-% basically everything is in sentence case, other than journals and
-% book series (recurring titles)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% basically everything is in sentence case, other than journals and                %
+% book series (recurring titles)                                                   %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareFieldFormat[%
   article,book,collection,incollection,inproceedings,thesis,unpublished]%
   {titlecase}{\MakeSentenceCase*{#1}}%
 
-% No quotes around titles
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% No quotes around titles                                                          %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareFieldFormat[%
   article,inbook,incollection,inproceedings,patent,thesis,unpublished]%
   {title}{#1}
 
-% Just like book titles, thesis titles are in italics
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Just like book titles, thesis titles are in italics                              %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}}
 
 \DeclareFieldFormat{pages}{#1}     % no pp. prefix, took \mkpageprefix out [kvf]
 
-% This is for printing the volume field of a proceedings with an ISSN
-% as an article in accordance with the unified style sheet guidelines
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This is for printing the volume field of a proceedings with an ISSN              %
+% as an article in accordance with the unified style sheet guidelines              %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareFieldFormat{volume:unified:proc-as-article}{#1}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Display of DOIs etc.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Display of DOIs etc.                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % The unified style displays DOIs according to the Crossref guidelines as full
-% `https://doi.org/...` links. But the user can choose to give the `compactdois'
+% `https://doi.org/...'' links. But the user can choose to give the `compactlinks
 % option when loading biblatex, which will use a more compact display.
 
-\newtoggle{unified:compactdois}
-\DeclareBibliographyOption[boolean]{compactdois}[true]{%
-  \settoggle{unified:compactdois}{#1}}
+\newtoggle{unified:compactlinks}
+\DeclareBibliographyOption[boolean]{compactlinks}[true]{%
+  \settoggle{unified:compactlinks}{#1}
+  \settoggle{bbx:eprint}{#1}}
 
 \DeclareFieldFormat{doi}{%
-  \iftoggle{unified:compactdois}%
-    {\mkbibacro{DOI}\addcolon\space%
-     \ifhyperref
-       {\href{https://doi.org/#1}{\nolinkurl{#1}}}
-       {\nolinkurl{https://doi.org/#1}}}
-    {\ifhyperref
-      {\href{https://doi.org/#1}{\nolinkurl{https://doi.org/#1}}}
-      {\nolinkurl{https://doi.org/#1}}}}
-  
+  \iftoggle{unified:compactlinks}%
+    {\mkbibacro{DOI}\addcolon\space\href{https://doi.org/#1}{\nolinkurl{#1}}}%
+    {\url{https://doi.org/#1}}}
+
 \DeclareFieldFormat{url}{\url{#1}}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% The bibliography drivers, specifying the formats of each type of
-% entry in the bibliography
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Redefine jstor and googlebooks eprint formats (full links unless compactlinks option is set)
 
-%%% First, the entry types used in the Unified Test Bibliography.
-%%% Could rely on standard.bbx for all others as a fallback.
+\DeclareFieldFormat{eprint:jstor}{%
+  \iftoggle{unified:compactlinks}%
+    {\mkbibacro{JSTOR}\addcolon\space\href{http://www.jstor.org/stable/#1}{\nolinkurl{#1}}}
+    {\url{http://www.jstor.org/stable/#1}}}
 
-% For the article type, the only departure from standard.bbx is that
-% we don't use a literal "In: " before the journal title; other
-% formatting departures are done in the format specs and bibmacros
+\DeclareFieldFormat{eprint:googlebooks}{%
+    \iftoggle{unified:compactlinks}%
+      {Google Books\addcolon\space{\href{http://books.google.com/books?id=#1}{\nolinkurl{#1}}}}
+      {\url{http://books.google.com/books?id=#1}}}
 
+% Print LingBuzz entries using an eprint field
+\DeclareFieldFormat{eprint:lingbuzz}{%
+  \iftoggle{unified:compactlinks}%
+    {LingBuzz\addcolon\space\href{https://ling.auf.net/lingbuzz/#1}{\nolinkurl{#1}}}
+    {\url{https://ling.auf.net/lingbuzz/#1}}}
+\DeclareFieldAlias{eprint:LingBuzz}{eprint:lingbuzz}
+
+% Print Rutgers Optimality Archive entries using an eprint field
+\DeclareFieldFormat{eprint:roa}{%
+  \iftoggle{unified:compactlinks}%
+  {\mkbibacro{ROA}\addcolon\space\href{https://roa.rutgers.edu/article/view/#1}{\nolinkurl{#1}}}
+  {\url{https://roa.rutgers.edu/article/view/#1}}}
+\DeclareFieldAlias{eprint:ROA}{eprint:roa}
+
+% Unless the user issues the option `alllinks`, if there's a DOI, only that will be
+% displayed, and if there's no DOI but an eprint, only that will be displayed. If
+% `alllinks` is issued, all links (up to three) will be displayed
+
+\newtoggle{unified:alllinks}
+\DeclareBibliographyOption[boolean]{alllinks}[true]{%
+  \settoggle{unified:alllinks}{#1}}
+
+% We first check whether the url field contains a link to a DOI or an established eprint source
+% If so, we put that info into the DOI or eprint fields
+\AtBeginDocument{%
+  \DeclareSourcemap{
+    \maps[datatype=bibtex]{
+      \map{\step[fieldsource=url,match=\regexp{(http|https):\/\/(dx\.)?doi\.org\/(.*)},final]
+           \step[fieldset=doi, fieldvalue={$3}]
+           \step[fieldset=url,null]
+           \step[fieldset=urldate,null]}
+      \map{\step[fieldsource=url,match=\regexp{(http|https):\/\/ling\.auf\.net\/lingbuzz\/(.*)},final]
+           \step[fieldset=eprint, fieldvalue={$2}]
+           \step[fieldset=eprinttype, fieldvalue={lingbuzz}]
+           \step[fieldset=url,null]
+           \step[fieldset=urldate,null]}
+      \map{\step[fieldsource=url,match=\regexp{(http|https):\/\/www\.jstor\.org\/stable\/(.*)},final]
+           \step[fieldset=eprint, fieldvalue={$2}]
+           \step[fieldset=eprinttype, fieldvalue={jstor}]
+           \step[fieldset=url,null]
+           \step[fieldset=urldate,null]}
+      \map{\step[fieldsource=url,match=\regexp{(http|https):\/\/books\.google\.com\/books\?id=(.*)},final]
+           \step[fieldset=eprint, fieldvalue={$2}]
+           \step[fieldset=eprinttype, fieldvalue={googlebooks}]
+           \step[fieldset=url,null]
+           \step[fieldset=urldate,null]}
+      \map{\step[fieldsource=url,match=\regexp{(http|https):\/\/roa\.rutgers\.edu\/article\/view\/(.*)},final]
+           \step[fieldset=eprint, fieldvalue={$2}]
+           \step[fieldset=eprinttype, fieldvalue={roa}]
+           \step[fieldset=url,null]
+           \step[fieldset=urldate,null]}
+       }}
+  \iftoggle{unified:alllinks}
+  {}
+  {\DeclareSourcemap{
+        \maps[datatype=bibtex]{
+          \map{\step[fieldsource=doi,final]
+               \step[fieldset=eprint,null]
+               \step[fieldset=eprinttype,null]
+               \step[fieldset=url,null]
+               \step[fieldset=urldate,null]}
+          \map{\step[fieldsource=eprint,final]
+               \step[fieldset=url,null]
+               \step[fieldset=urldate,null]}}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% biblatex doesn't like things like "forthcoming'' in the year/date field. The     %
+% canonical way to do this is to put "forthcoming" in the `pubstate` field. Since  %
+% we want that to be treated as the label, we need to adjust some things. What we  %
+% do here is suggested at https://tex.stackexchange.com/a/444414/70432.            %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareLabeldate{%
+  \field{date}
+  \field{year}
+  \field{eventdate}
+  \field{origdate}
+  \field{urldate}
+  \field{pubstate}
+  \literal{nodate}
+}
+
+\renewbibmacro*{addendum+pubstate}{%
+  \printfield{addendum}%
+  \newunit\newblock
+  \iffieldequalstr{labeldatesource}{pubstate}
+    {}
+    {\printfield{pubstate}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                         THE BIBLIOGRAPHY DRIVERS                                 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% First, the entry types used in the Unified Test Bibliography.                    %
+% Could rely on standard.bbx for all others as a fallback.                         %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% For the article type, the only departure from standard.bbx is that               %
+% we don't use a literal "In: " before the journal title; other                    %
+% formatting departures are done in the format specs and bibmacros                 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \DeclareBibliographyDriver{article}{%
   \usebibmacro{bibindex}%
   \usebibmacro{begentry}%
@@ -530,33 +669,39 @@
     {}%
   \usebibmacro{finentry}}
 
-% Aliased to ensure no period between the title and the series.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Aliased to ensure no period between the title and the series.                    %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareBibliographyAlias{collection}{book}
 
-% @inbook entries look terrible as-is, and have fields very similar to
-% @incollection anyway
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% @inbook entries look terrible as-is, and have fields very similar to             %
+% @incollection anyway                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareBibliographyAlias{inbook}{incollection}
 
 \DeclareBibliographyAlias{incollection}{inproceedings}
 
-% Given the guidelines in the unified style sheet, we should print
-% conference proceedings and working papers as @article's just in case
-% the publication has an ISSN. So, rather than have users handle this
-% in the database by changing the entry type, we can implement this by
-% checking if the inproceedings entry has an ISSN. If the field is
-% undefined, the driver will do what driver did for @inproceedings
-% entries as of 512f11657199a6044f7663da454f3eac338bdbd5 except that
-% \printlist{organization} and \newunit have been removed. On the
-% other hand, if the ISSN field is not undefined, then we will do
-% largely the exact same thing that we do in the @article driver,
-% except that we use the two macros
-% \usebibmacro{unified:proc-as-article:maintitle+booktitle} and
-% \usebibmacro{unified:proc-as-article:volume+number+eid} instead of
-% \usebibmacro{journal+issuetitle} and except that
-% \usebibmacro{byeditor+others} has been removed so as to ensure that
-% the editors are not listed even if they are present in the database.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Given the guidelines in the unified style sheet, we should print                 %
+% conference proceedings and working papers as @article's just in case             %
+% the publication has an ISSN. So, rather than have users handle this              %
+% in the database by changing the entry type, we can implement this by             %
+% checking if the inproceedings entry has an ISSN. If the field is                 %
+% undefined, the driver will do what driver did for @inproceedings                 %
+% entries as of 512f11657199a6044f7663da454f3eac338bdbd5 except that               %
+% \printlist{organization} and \newunit have been removed. On the                  %
+% other hand, if the ISSN field is not undefined, then we will do                  %
+% largely the exact same thing that we do in the @article driver,                  %
+% except that we use the two macros                                                %
+% \usebibmacro{unified:proc-as-article:maintitle+booktitle} and                    %
+% \usebibmacro{unified:proc-as-article:volume+number+eid} instead of               %
+% \usebibmacro{journal+issuetitle} and except that                                 %
+% \usebibmacro{byeditor+others} has been removed so as to ensure that              %
+% the editors are not listed even if they are present in the database.             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \DeclareBibliographyDriver{inproceedings}{%
   \usebibmacro{bibindex}%
@@ -692,9 +837,7 @@
   \newunit\newblock
   \usebibmacro{location+date}%
   \newunit\newblock
-  \iftoggle{bbx:url}
-    {\usebibmacro{url+urldate}}
-    {}%
+  \usebibmacro{doi+eprint+url}%
   \newunit\newblock
   \usebibmacro{addendum+pubstate}%
   \setunit{\bibpagerefpunct}\newblock

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.cbx	2022-11-09 21:06:43 UTC (rev 64974)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-unified/unified.cbx	2022-11-09 21:07:07 UTC (rev 64975)
@@ -9,7 +9,7 @@
 %% ---------------------------------------------------------------
 %%
 
-\ProvidesFile{unified.cbx}[2020/05/25 v1.00 biblatex citation style]
+\ProvidesFile{unified.cbx}[2022/11/08 v1.20 biblatex citation style]
 
 \RequireCitationStyle{authoryear-comp}
 



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