From e2dfc4cc8dc03d323073de46903005e3a9d12255 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Thu, 20 Aug 2020 03:01:54 +0000
Subject: CTAN sync 202008200301

---
 macros/latex/contrib/biblatex/latex/biblatex.def | 67 +++++++++++++++++-------
 1 file changed, 48 insertions(+), 19 deletions(-)

(limited to 'macros/latex/contrib/biblatex/latex/biblatex.def')

diff --git a/macros/latex/contrib/biblatex/latex/biblatex.def b/macros/latex/contrib/biblatex/latex/biblatex.def
index 992e8ba7e3..10f4144dab 100644
--- a/macros/latex/contrib/biblatex/latex/biblatex.def
+++ b/macros/latex/contrib/biblatex/latex/biblatex.def
@@ -18,9 +18,9 @@
 % \namepart<namepart>i - e.g. \namepartfamilyi
 \def\do#1{%
   \csdef{mkbibname#1}##1{##1}%
-  \define@key{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}%
-  \define@key{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}%
-  \define@key{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}}
+  \blx@kv@defkey{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}%
+  \blx@kv@defkey{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}%
+  \blx@kv@defkey{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}}
 \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}
 
 % legacy aliases
@@ -95,8 +95,17 @@
 \DeclareDelimFormat{andmoredelim}{\addspace}
 
 \newcommand*{\multicitedelim}{\addsemicolon\space}
+\newcommand*{\multicitesubentrydelim}{\addcomma}
+\newcommand*{\multiciterangedelim}{\bibrangedash}
+\newcommand*{\multicitesubentryrangedelim}{\multiciterangedelim}
+
 \newcommand*{\compcitedelim}{\addcomma\space}
+
 \newcommand*{\supercitedelim}{\addcomma}
+\newcommand*{\supercitesubentrydelim}{\supercitedelim}
+\newcommand*{\superciterangedelim}{\bibrangedash}
+\newcommand*{\supercitesubentryrangedelim}{\superciterangedelim}
+
 \DeclareDelimFormat{prenotedelim}{\addspace}
 \DeclareDelimFormat{postnotedelim}{\addcomma\space}
 \DeclareDelimAlias{multiprenotedelim}{prenotedelim}
@@ -168,6 +177,7 @@
 \newcommand*{\subtitlepunct}{\newunitpunct}
 \newcommand*{\intitlepunct}{\addcolon\space}
 \newcommand*{\bibpagespunct}{\addcomma\space}
+\newcommand*{\bibeidpunct}{\addcomma\space}
 \newcommand*{\bibpagerefpunct}{\addspace}
 \newcommand*{\revsdnamepunct}{\addcomma}
 \newcommand*{\bibnamedash}{%
@@ -238,6 +248,10 @@
 % want more visual separation, try the package option 'block=space'.
 % This will yield better results than \nonfrenchspacing.
 
+% If \frenchspacing is removed here, it may also have to be removed
+% from \blx@beglang@spacefactors, for example with
+% \let\blx@beglang@spacefactors\@empty
+
 % \citesetup is a generic hook for citations.
 
 \newcommand*{\citesetup}{%
@@ -462,15 +476,15 @@
 \DeclareFieldFormat{prenote}{#1\isdot}
 \DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
 \DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1}
-\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}}
+\DeclareFieldAlias{volcitepages}{postnote}
 \DeclareFieldFormat{volcitenote}{\mkvolcitenote#1}
 \newrobustcmd*{\mkvolcitenote}[2]{%
   \printtext[volcitevolume]{#1}%
   \ifblank{#2}{}{\volcitedelim\printtext[volcitepages]{#2}}}
 
 % multicite commands
-\DeclareFieldFormat{multiprenote}{#1\isdot}
-\DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
+\DeclareFieldAlias{multiprenote}{prenote}
+\DeclareFieldAlias{multipostnote}{postnote}
 
 % Used by \citeurl
 
@@ -1163,8 +1177,6 @@
 
 % The fallback used by \indexlist
 
-\DeclareIndexListWrapperFormat{default}{#1}
-
 \DeclareIndexListFormat{default}{\index{#1}}
 
 % ------------------------------------------------------------------
@@ -1176,8 +1188,6 @@
 
 % The fallback used by \indexnames
 
-\DeclareIndexNameWrapperFormat{default}{#1}
-
 \DeclareIndexNameFormat{default}{%
   \usebibmacro{index:name}
     {\index}
@@ -1227,7 +1237,7 @@
 \newbibmacro*{index:name}[5]{%
   \usebibmacro{index:entry}{#1}{\mkbibindexname{#2}{#3}{#4}{#5}}}
 
-% {<family name>}{<given name>}{<given initials>}{<family name prefix>}
+% {<family name>}{<given name>}{<prefix>}{<suffix>}
 \newcommand*{\mkbibindexname}[4]{%
   \ifuseprefix
     {\ifdefvoid{#3}{}{#3 }%
@@ -1715,6 +1725,7 @@
 \DeclareDataInheritance{periodical}{article,suppperiodical}{%
   \inherit{title}{journaltitle}
   \inherit{subtitle}{journalsubtitle}
+  \inherit{titleaddon}{journaltitleaddon}
   \noinherit{shorttitle}
   \noinherit{sorttitle}
   \noinherit{indextitle}
@@ -2344,7 +2355,7 @@
 \newbibmacro*{multipostnote}{%
   \iffieldundef{multipostnote}
     {}
-    {\printdelim{multipostnotedelim}
+    {\printdelim{multipostnotedelim}%
      \printfield{multipostnote}}}
 
 % ------------------------------------------------------------------
@@ -2824,6 +2835,9 @@
      \newunit}%
   \printfield{maintitleaddon}}
 
+% The \iffieldundef{journaltitleaddon} is usually not necessary.
+% We need it to ensure that a \setunit* after this macro does the right thing
+% for backwards compatibility.
 \newbibmacro*{journal}{%
   \ifboolexpr{
     test {\iffieldundef{journaltitle}}
@@ -2834,8 +2848,14 @@
     {\printtext[journaltitle]{%
        \printfield[titlecase]{journaltitle}%
        \setunit{\subtitlepunct}%
-       \printfield[titlecase]{journalsubtitle}}}}
+       \printfield[titlecase]{journalsubtitle}}%
+     \newunit}%
+  \iffieldundef{journaltitleaddon}
+    {}
+    {\printfield{journaltitleaddon}}}
 
+% Re \iffieldundef{titleaddon} see the comment about
+% \iffieldundef{journaltitleaddon} above.
 \newbibmacro*{periodical}{%
   \ifboolexpr{
     test {\iffieldundef{title}}
@@ -2846,7 +2866,11 @@
     {\printtext[title]{%
        \printfield[titlecase]{title}%
        \setunit{\subtitlepunct}%
-       \printfield[titlecase]{subtitle}}}}
+       \printfield[titlecase]{subtitle}}%
+     \newunit}%
+  \iffieldundef{titleaddon}
+    {}
+    {\printfield{titleaddon}}}
 
 \newbibmacro*{issue}{%
   \ifboolexpr{
@@ -2858,11 +2882,13 @@
     {\printtext[issuetitle]{%
        \printfield[titlecase]{issuetitle}%
        \setunit{\subtitlepunct}%
-       \printfield[titlecase]{issuesubtitle}}}}
+       \printfield[titlecase]{issuesubtitle}}%
+     \newunit}%
+  \printfield{issuetitleaddon}}
 
 \newbibmacro*{in:}{%
-  \printtext{%
-    \bibstring{in}\intitlepunct}}
+  \bibstring{in}%
+  \printunit{\intitlepunct}}
 
 \newbibmacro*{date}{\printdate}
 
@@ -2900,9 +2926,12 @@
     {\printfield[eprint:\strfield{eprinttype}]{eprint}}}
 
 \newbibmacro*{annotation}{%
+  \begingroup
+  \togglefalse{blx@bibliography}%
   \iffieldundef{annotation}
     {\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}}
-    {\printfield{annotation}}}
+    {\printfield{annotation}}%
+  \endgroup}
 
 \newbibmacro*{abstract}{%
   \iffieldundef{abstract}
@@ -2926,7 +2955,7 @@
        \ifbibmacroundef{date+extradate}
          {}
          {\renewbibmacro*{date+extradate}{}%
-          \renewbibmacro*{date}{\printdate}}%
+          \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}%
        \renewbibmacro*{pageref}{}}
       {\thefield{entrytype}}}}
 
-- 
cgit v1.2.3

