summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx499
1 files changed, 150 insertions, 349 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx
index 15ddd94fa91..88c2516b65a 100644
--- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx
@@ -13,12 +13,12 @@
%% See: http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
-\def\Version{2017/05/14 v0.10}
+\def\Version{2017/11/18 v0.11}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesFile{oxyear.bbx}
[\Version\space Author-year bibliography style inspired by the Oxford Guide to Style]
\RequireBibliographyStyle{oxref}
-\ExecuteBibliographyOptions{uniquename=init,giveninits,labeldateparts,sorting=nyt,pagetracker,maxcitenames=2}
+\ExecuteBibliographyOptions{giveninits,labeldateparts,sorting=nyt,pagetracker,maxcitenames=2}
\DeclareBibliographyOption{mergedate}[true]{%
\ifcsdef{bbx@opt@mergedate@#1}
{\csuse{bbx@opt@mergedate@#1}}
@@ -26,265 +26,155 @@
{Invalid option 'mergedate=#1'}
{Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak
'year', 'true' (=year), and 'false'.}}}
-\providebibmacro*{date+extrayear}{}
+\providebibmacro*{date+extradate}{}
\DeclareFieldFormat{datelabel}{\mkbibparens{#1}}
-\newbibmacro*{labelyearrange}{%
- \printfield{labelyear}%
- \printfield{extrayear}%
- \iffieldundef{labelendyear}{}{%
- \iffieldsequal{labelyear}{labelendyear}{}{%
- \iffieldequalstr{labelendyear}{}{%
- \mbox{\bibdaterangesep}%
- }{%
- \bibdaterangesep
- \iffieldundef{extrayear}{%
- \blx@ox@compyear
- {\thefield{labelyear}}%
- {\thefield{labelendyear}}%
- }{%
- \printfield{labelendyear}}}}}}
+\DeclareLabeldate{%
+ \field{origdate}
+ \field{date}
+ \field{year}
+ \field{eventdate}
+ \field{pubstate}
+ \literal{nodate}
+}
+\DeclareFieldFormat{extradate}{%
+ \iffieldundef{\thefield{labeldatesource}}{%
+ \iffieldnums{\thefield{labeldatesource}year}{}{~}%
+ }{%
+ \iffieldnums{\thefield{labeldatesource}}{}{~}%
+ }%
+ \mkbibemph{\mknumalph{#1}}}%
+
+\def\iflabeldateisanydate{%
+ \ifboolexpr{%
+ togl {blx@labeldateparts}
+ and not test {\iffieldundef{labeldatesource}}
+ and not test {\iffieldundef{\thefield{labeldatesource}year}}}}
+\def\iflabeldateispubstate{%
+ \ifboolexpr{%
+ not test {\iffieldundef{labeldatesource}}
+ and test {\iffieldequalstr{labeldatesource}{pubstate}}}}
+
\def\bbx@opt@mergedate@true{\bbx@opt@mergedate@year}
\def\bbx@opt@mergedate@maximum{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
\printtext[datelabel]{%
- \printfield{issue}%
- \setunit*{\addspace}%
- \ifboolexpr{%
- not test {\iffieldundef{\thefield{labeldatesource}year}}
- and
- test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}}
- }{%
- \printlabeldateextra
+ \iflabeldateisdate{%
+ \printfield{issue}\clearfield{issue}%
+ \setunit*{\addspace}%
+ \printdateextra
+ \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}%
}{%
- \printfield{labelyear}%
- \printfield{extrayear}}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}%
- }{%
- \clearfield{\thefield{labeldatesource}year}%
- \clearfield{end\thefield{labeldatesource}year}%
- \clearfield{\thefield{labeldatesource}month}%
- \clearfield{end\thefield{labeldatesource}month}%
- \clearfield{\thefield{labeldatesource}day}%
- \clearfield{end\thefield{labeldatesource}day}%
- }%
- \clearfield{issue}}}}%
+ \iflabeldateisanydate{%
+ \csuse{print\thefield{labeldatesource}dateextra}%
+ \clearfield{\thefield{labeldatesource}year}%
+ \clearfield{\thefield{labeldatesource}season}%
+ \clearfield{\thefield{labeldatesource}month}%
+ \clearfield{\thefield{labeldatesource}day}%
+ }{%
+ \printlabeldateextra
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}}}%
\def\bbx@opt@mergedate@compact{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
\printtext[datelabel]{%
- \ifboolexpr{%
- not test {\iffieldundef{\thefield{labeldatesource}year}}
- and
- test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}}
+ \iflabeldateisanydate{%
+ \csuse{print\thefield{labeldatesource}dateextra}%
+ \clearfield{\thefield{labeldatesource}year}%
+ \clearfield{\thefield{labeldatesource}season}%
+ \clearfield{\thefield{labeldatesource}month}%
+ \clearfield{\thefield{labeldatesource}day}%
}{%
\printlabeldateextra
- }{%
- \printfield{labelyear}%
- \printfield{extrayear}}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}%
- }{%
- \clearfield{\thefield{labeldatesource}year}%
- \clearfield{end\thefield{labeldatesource}year}%
- \clearfield{\thefield{labeldatesource}month}%
- \clearfield{end\thefield{labeldatesource}month}%
- \clearfield{\thefield{labeldatesource}day}%
- \clearfield{end\thefield{labeldatesource}day}%
- }}}}
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}}%
\def\bbx@opt@mergedate@year{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
- \printtext[datelabel]{%
- \usebibmacro{labelyearrange}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}%
- }{%
+ \printtext[datelabel]{\printlabeldateextra}%
+ \iflabeldateisanydate{%
\clearfield{\thefield{labeldatesource}year}%
- \clearfield{end\thefield{labeldatesource}year}%
- }}}}
+ }{%
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}%
\def\bbx@opt@mergedate@basic{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
- \printtext[datelabel]{%
- \usebibmacro{labelyearrange}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}%
+ \printtext[datelabel]{\printlabeldateextra}%
+ \iflabeldateisanydate{%
+ \ifdateshavedifferentprecision{label}{\thefield{labeldatesource}}{}{%
+ \ifboolexpr{
+ test {\iffieldequalstr{labeldatesource}{}}
+ and
+ not test {\iffieldundef{issue}}
+ }{}{%
+ \clearfield{\thefield{labeldatesource}year}}}%
}{%
- \ifboolexpr{
- test {\iffieldundef{\thefield{labeldatesource}month}}
- and (
- test {\iffieldundef{issue}}
- or
- not test {\iffieldequalstr{labeldatesource}{}}
- )}{%
- \clearfield{\thefield{labeldatesource}year}%
- \clearfield{end\thefield{labeldatesource}year}%
- }{}}}}}%
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}
\def\bbx@opt@mergedate@minimum{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
- \printtext[datelabel]{%
- \usebibmacro{labelyearrange}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}%
- }{%
+ \printtext[datelabel]{\printlabeldateextra}%
+ \iflabeldateisanydate{%
\ifboolexpr{
- test {\iffieldundef{\thefield{labeldatesource}month}}
- and
- test {\iffieldundef{extrayear}}
- and (
- test {\iffieldundef{issue}}
- or
- not test {\iffieldequalstr{labeldatesource}{}}
- )}{%
- \clearfield{\thefield{labeldatesource}year}%
- \clearfield{end\thefield{labeldatesource}year}%
- }{}}}}}%
+ test {\ifdateshavedifferentprecision{label}{\thefield{labeldatesource}}}
+ or
+ not test {\iffieldundef{extradate}}
+ }{}{%
+ \ifboolexpr{
+ test {\iffieldequalstr{labeldatesource}{}}
+ and
+ not test {\iffieldundef{issue}}
+ }{}{%
+ \clearfield{\thefield{labeldatesource}year}}}%
+ }{%
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}
\def\bbx@opt@mergedate@false{%
- \renewbibmacro*{date+extrayear}{%
+ \renewbibmacro*{date+extradate}{%
\iffieldundef{labelyear}{}{%
- \printtext[datelabel]{%
- \usebibmacro{labelyearrange}}}}%
- \iffieldundef{\thefield{labeldatesource}year}{%
- \iffieldundef{\thefield{labeldatesource}}{}{%
- \iffieldequalstr{labeldatesource}{pubstate}{}{%
- \clearfield{\thefield{labeldatesource}}}}}{}}
+ \printtext[datelabel]{\printlabeldateextra}%
+ \iflabeldateisanydate{}{%
+ \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}%
+ }}}}
\ExecuteBibliographyOptions{mergedate}
-\DeclareRobustCommand*{\mkdaterangefull}[2]{%
- \blx@metadateinfo{#2}%
- \iffieldundef{#2year}{%
- \iffieldundef{#2month}{}{%
- \datecircaprint
- \printtext[#2date]{%
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}%
- \blx@printtime{#2}{}%
- }{%
- \csuse{mkbibseasondate#1}{}{#2season}}%
- \dateuncertainprint
- \iffieldundef{#2endmonth}{}{%
- \iffieldequalstr{#2endmonth}{}{%
- \mbox{\bibdaterangesep}%
- }{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}%
- \blx@printtime{#2}{end}%
- }{%
- \csuse{mkbibseasondate#1}{}{#2endseason}}%
- \enddateuncertainprint}}}}%
- }{%
+\newrobustcmd*{\mknoyeardaterangefull}[2]{%
+ \iffieldundef{#2month}{}{%
\datecircaprint
\printtext[#2date]{%
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \blx@printtime{#2}{}%
+ \iffieldundef{#2season}{%
+ \csuse{mkbibdate#1}{}{#2month}{#2day}%
+ \blx@printtime{#2}{}%
+ }{%
+ \csuse{mkbibseasondate#1}{}{#2season}}%
+ \dateuncertainprint
+ \iffieldundef{#2endmonth}{}{%
+ \iffieldequalstr{#2endmonth}{}{%
+ \mbox{\bibdaterangesep}%
}{%
- \csuse{mkbibseasondate#1}{#2year}{#2season}}%
- \dateuncertainprint
- \dateeraprint{#2year}%
- \iffieldundef{#2endyear}{}{%
- \iffieldequalstr{#2endyear}{}{%
- \mbox{\bibdaterangesep}%
- }{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- \blx@printtime{#2}{end}%
- }{%
- \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}}
-
-\DeclareRobustCommand*{\mkdaterangetrunc}[2]{%
- \blx@metadateinfo{#2}%
- \iffieldundef{#2year}{%
- \iffieldundef{#2month}{}{%
- \datecircaprint
- \printtext[#2date]{%
+ \bibdaterangesep
+ \enddatecircaprint
\iffieldundef{#2season}{%
- \ifboolexpr{
- test {\iffieldsequal{labelyear}{labelendyear}}
- and
- test {\iffieldsequal{#2month}{#2endmonth}}
- }{%
- \csuse{mkbibdate#1}{}{}{#2day}%
- }{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}}%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}%
+ \blx@printtime{#2}{end}%
}{%
- \csuse{mkbibseasondate#1}{}{#2season}}%
- \dateuncertainprint
- \iffieldundef{#2endmonth}{}{%
- \iffieldequalstr{#2endmonth}{}{%
- \mbox{\bibdaterangesep}%
- }{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}%
- }{%
- \csuse{mkbibseasondate#1}{}{#2endseason}}%
- \enddateuncertainprint}}}}%
- }{%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}%
+ \enddateuncertainprint}}}}}
+\newrobustcmd*{\mknoyeardaterangetrunc}[2]{%
+ \iffieldundef{#2month}{}{%
\datecircaprint
\printtext[#2date]{%
\iffieldundef{#2season}{%
- \iffieldsequal{#2year}{#2endyear}{%
- \iffieldsequal{#2month}{#2endmonth}{%
- \csuse{mkbibdate#1}{}{}{#2day}%
- }{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}}%
- }{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \iffieldsequal{#2dateera}{#2enddateera}{}{%
- \dateeraprint{#2year}}}%
- }{%
- \iffieldsequal{#2year}{#2endyear}{%
- \csuse{mkbibseasondate#1}{}{#2season}%
+ \ifboolexpr{
+ test {\iffieldsequal{labelyear}{labelendyear}}
+ and
+ test {\iffieldsequal{#2month}{#2endmonth}}
}{%
- \csuse{mkbibseasondate#1}{#2year}{#2season}%
- \iffieldsequal{#2dateera}{#2enddateera}{}{%
- \dateeraprint{#2year}}}}%
- \dateuncertainprint
- \iffieldundef{#2endyear}{}{%
- \iffieldequalstr{#2endyear}{}{%
- \mbox{\bibdaterangesep}%
+ \csuse{mkbibdate#1}{}{}{#2day}%
}{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \iffieldundef{#2endmonth}{%
- \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}%
- }{%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
- }{%
- \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}}
-
-\DeclareRobustCommand*{\mkdaterangefullextra}[2]{%
- \blx@metadateinfo{#2}%
- \iffieldundef{#2year}{%
- \iffieldundef{#2month}{}{%
- \datecircaprint
- \printtext[#2date]{%
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}%
- \blx@printtime{#2}{}%
+ \csuse{mkbibdate#1}{}{#2month}{#2day}}%
}{%
\csuse{mkbibseasondate#1}{}{#2season}}%
\dateuncertainprint
@@ -296,122 +186,29 @@
\enddatecircaprint
\iffieldundef{#2season}{%
\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}%
- \blx@printtime{#2}{end}%
}{%
\csuse{mkbibseasondate#1}{}{#2endseason}}%
- \enddateuncertainprint}}}}%
- }{%
- \datecircaprint
- \printtext[#2date]{%
- \printtext{%
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \blx@printtime{#2}{}%
- }{%
- \csuse{mkbibseasondate#1}{#2year}{#2season}}%
- \dateuncertainprint
- \dateeraprint{#2year}%
- \iffieldundef{#2endyear}{%
- \printfield{extrayear}%
- }{%
- \iffieldequalstr{#2endyear}{}{%
- \printfield{extrayear}%
- \printtext{\mbox{\bibdaterangesep}}%
- }{%
- \printtext{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- \blx@printtime{#2}{end}%
- }{%
- \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
- \printfield{extrayear}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}}}
-
-\DeclareRobustCommand*{\mkdaterangetruncextra}[2]{%
- \blx@metadateinfo{#2}%
- \iffieldundef{#2year}{%
- \iffieldundef{#2month}{}{%
- \datecircaprint
- \printtext[#2date]{%
- \iffieldundef{#2season}{%
- \iffieldsequal{#2month}{#2endmonth}{%
- \csuse{mkbibdate#1}{}{}{#2day}%
- }{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}}%
- }{%
- \csuse{mkbibseasondate#1}{}{#2season}}%
- \dateuncertainprint
- \iffieldundef{#2endmonth}{}{%
- \iffieldequalstr{#2endmonth}{}{%
- \mbox{\bibdaterangesep}%
- }{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}%
- }{%
- \csuse{mkbibseasondate#1}{}{#2endseason}}%
- \enddateuncertainprint}}}}%
- }{%
- \datecircaprint
- \printtext[#2date]{%
- \iffieldundef{#2season}{%
- \iffieldsequal{#2year}{#2endyear}{%
- \iffieldsequal{#2month}{#2endmonth}{%
- \csuse{mkbibdate#1}{}{}{#2day}%
- }{%
- \csuse{mkbibdate#1}{}{#2month}{#2day}}%
- }{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \iffieldsequal{#2dateera}{#2enddateera}{}{%
- \dateeraprint{#2year}}}%
- }{%
- \iffieldsequal{#2year}{#2endyear}{%
- \csuse{mkbibseasondate#1}{}{#2season}%
- }{%
- \csuse{mkbibseasondate#1}{#2year}{#2season}
- \iffieldsequal{#2dateera}{#2enddateera}{}{%
- \dateeraprint{#2year}}}}%
- \dateuncertainprint
- \iffieldundef{#2endyear}{%
- \printfield{extrayear}%
- }{%
- \iffieldequalstr{#2endyear}{}{%
- \printfield{extrayear}%
- \printtext{\mbox{\bibdaterangesep}}%
- }{%
- \printtext{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2season}{%
- \iffieldundef{#2endmonth}{%
- \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}%
- }{%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
- }{%
- \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
- \printfield{extrayear}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}}
-
-\DeclareLabeldate{%
- \field{origdate}
- \field{date}
- \field{year}
- \field{eventdate}
- \field{pubstate}
- \literal{nodate}
-}
-\DeclareFieldFormat{extrayear}{%
- \iffieldundef{\thefield{labeldatesource}}{%
- \iffieldnums{\thefield{labeldatesource}year}{}{~}%
- }{%
- \iffieldnums{\thefield{labeldatesource}}{}{~}%
- }%
- \mkbibemph{\mknumalph{#1}}}%
+ \enddateuncertainprint}}}}}
+\xpatchcmd{\mkdaterangefull}{%
+ \iffieldundef{#2year} {}%
+}{%
+ \iffieldundef{#2year} {\mknoyeardaterangefull{#1}{#2}}%
+}{}{}
+\xpatchcmd{\mkdaterangetrunc}{%
+ \iffieldundef{#2year} {}%
+}{%
+ \iffieldundef{#2year} {\mknoyeardaterangetrunc{#1}{#2}}%
+}{}{}
+\xpatchcmd{\mkdaterangefullextra}{%
+ \iffieldundef{#2year} {}%
+}{%
+ \iffieldundef{#2year} {\mknoyeardaterangefull{#1}{#2}}%
+}{}{}
+\xpatchcmd{\mkdaterangetruncextra}{%
+ \iffieldundef{#2year} {}%
+}{%
+ \iffieldundef{#2year} {\mknoyeardaterangetrunc{#1}{#2}}%
+}{}{}
\DeclareFieldFormat{shorthandwidth}{#1}
\xpretonameformat{family-given}{%
@@ -473,7 +270,7 @@
\xpatchbibmacro{author}{%
\iffieldundef{authortype}%
}{%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
\setunit*{\addspace}%
\iffieldundef{authortype}%
}{}{}%
@@ -483,7 +280,7 @@
\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
}{}{}%
\xpatchbibmacro{namepairs}{%
\printnames[by#1]%
@@ -506,7 +303,7 @@
\xpatchbibmacro{bbx:editor}{%
\usebibmacro{#1}%
}{%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
\setunit*{\addspace}%
\usebibmacro{#1}%
}{}{}%
@@ -516,7 +313,7 @@
\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
}{}{}%
\xpatchbibmacro{editor+alteditor}{%
\printnames[byeditor]%
@@ -542,12 +339,12 @@
\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
}{}{}%
\xpatchbibmacro{bbx:translator}{%
\usebibmacro{#1}%
}{%
- \usebibmacro{date+extrayear}%
+ \usebibmacro{date+extradate}%
\setunit*{\addspace}%
\usebibmacro{#1}%
}{}{}%
@@ -590,7 +387,11 @@
\xpatchbibdriver{online}{%
\iffieldundef{year}%
}{%
- \iffieldundef{month}%
+ \ifboolexpr{
+ test {\iffieldundef{season}}
+ and
+ test {\iffieldundef{month}}
+ }%
}{}{}
\DeclareFieldFormat[online,image]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[legislation,legal]{citetitle}{#1}