summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty144
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate-trad.bbx)0
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx427
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx5
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate-trad.cbx)31
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx5480
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx361
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate.bbx)1676
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate.cbx)26
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx4128
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-dates-common.cbx)995
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx5236
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx10052
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-notes.bbx)1435
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-notes.cbx)1009
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-american.lbx)714
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx533
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx133
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx530
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-finnish.lbx)362
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-french.lbx)384
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-german.lbx)360
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx657
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-ngerman.lbx)360
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norsk.lbx)380
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norwegian.lbx)380
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-nynorsk.lbx)380
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx (renamed from macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-swedish.lbx)402
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty392
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty560
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-brazilian.lbx791
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-british.lbx115
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-icelandic.lbx544
33 files changed, 33019 insertions, 5963 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
index 8bb142ce52..2497d4df31 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
@@ -1,6 +1,4 @@
-% $Id: biblatex-chicago.sty,v 0.1.1.63 2018/01/10 17:37:15 dfussner Exp $
-
-% Copyright (c) 2009-2018 David Fussner. This package is
+% Copyright (c) 2009-2020 David Fussner. This package is
% author-maintained.
%
% This work may be copied, distributed and/or modified under the
@@ -13,22 +11,27 @@
% but not limited to, the implied warranties of merchantability and
% fitness for a particular purpose.
-\ProvidesPackage{biblatex-chicago}[2018/01/10 v 3.10 biblatex style]
+\ProvidesPackage{biblatex-chicago}[2020/04/20 v 3.14 biblatex style]
\RequirePackage{etoolbox}
+\RequirePackage{nameref}
+\RequirePackage{xstring}
\DeclareOption{authordate}{\def\cms@style{authordate}}
\DeclareOption{notes}{\def\cms@style{notes}}
\DeclareOption{authordate-trad}{\def\cms@style{authordatetrad}}
-\DeclareOption{authordate15}{\def\cms@style{authordateold}}
-\DeclareOption{notes15}{\def\cms@style{notesold}}
+\DeclareOption{authordate16}{\def\cms@style{authordateold}}
+\DeclareOption{notes16}{\def\cms@style{notesold}}
+\DeclareOption{authordate-trad16}{\def\cms@style{authordatetrold}}
\DeclareOption*{\eappto\cms@options{\CurrentOption,}}
\let\cms@options\empty
\ExecuteOptions{notes}%
\newtoggle{cms@nomark}
+\newtoggle{cms@urlbreak}
\DeclareOption{footmarkoff}{\global\toggletrue{cms@nomark}}
+\DeclareOption{cmsbreakurl}{\global\toggletrue{cms@urlbreak}}
\DeclareOption{natbib}{%
\PassOptionsToPackage{natbib}{biblatex}}
@@ -53,8 +56,10 @@
\def\cms@authordate{%
\RequirePackage[style=chicago-authordate]{biblatex}%
\ExecuteBibliographyOptions{%
- pagetracker=true,autocite=inline,alldates=comp,
- uniquename=minfull,useeditor=true,usetranslator=true,usenamec=true,
+ pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
+ citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
+ usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
+ dateuncertain=true,timezones=true,compressyears=true,
ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
abbreviate=false,dateabbrev=false,avdate=true}}
@@ -66,32 +71,53 @@
citetracker=true,ibidtracker=constrict,usetranslator=true,
usenamec=true,loccittracker=constrict,dateabbrev=false,
maxbibnames=10,minbibnames=7,sorting=cms,sortcase=false,
- uniquework=true}}
+ labeltitle=true,alltimes=12h,urltime=24h,timezones=true,
+ datezeros=false,datecirca=true,dateuncertain=true,compressyears=true,
+ nodates=true}}
\def\cms@authordatetrad{%
\RequirePackage[style=chicago-authordate-trad]{biblatex}%
\ExecuteBibliographyOptions{%
- pagetracker=true,autocite=inline,alldates=comp,
- uniquename=minfull,useeditor=true,usetranslator=true,usenamec=true,
+ pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
+ citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
+ usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
+ dateuncertain=true,timezones=true,compressyears=true,
ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
abbreviate=false,dateabbrev=false,avdate=true}}
\def\cms@authordateold{%
- \RequirePackage[style=chicago-authordate15]{biblatex}%
+ \RequirePackage[style=chicago-authordate16]{biblatex}%
\ExecuteBibliographyOptions{%
- pagetracker=true,autocite=inline,alldates=comp,
- uniquename=minfull,useeditor=true,usetranslator=true,usecompiler=true,
+ pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
+ citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
+ usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
+ dateuncertain=true,timezones=true,compressyears=true,
ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
- uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false}}
+ uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
+ abbreviate=false,dateabbrev=false,avdate=true}}
\def\cms@notesold{%
- \RequirePackage[style=chicago-notes15]{biblatex}%
+ \RequirePackage[style=chicago-notes16]{biblatex}%
\ExecuteBibliographyOptions{%
pagetracker=true,autocite=footnote,abbreviate=false,alldates=comp,
citetracker=true,ibidtracker=constrict,usetranslator=true,
- usecompiler=true,loccittracker=constrict,dateabbrev=false,
- maxbibnames=10,minbibnames=7}}
+ usenamec=true,loccittracker=constrict,dateabbrev=false,
+ maxbibnames=10,minbibnames=7,sorting=cms,sortcase=false,
+ labeltitle=true,alltimes=12h,urltime=24h,timezones=true,
+ datezeros=false,datecirca=true,dateuncertain=true,compressyears=true,
+ nodates=true}}
+
+\def\cms@authordatetrold{%
+ \RequirePackage[style=chicago-authordate-trad16]{biblatex}%
+ \ExecuteBibliographyOptions{%
+ pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
+ citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
+ usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
+ dateuncertain=true,timezones=true,compressyears=true,
+ ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
+ uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
+ abbreviate=false,dateabbrev=false,avdate=true}}
\csuse{cms@\cms@style}
\undef\cms@authordate
@@ -99,18 +125,65 @@
\undef\cms@authordatetrad
\undef\cms@authordateold
\undef\cms@notesold
+\undef\cms@authordatetrold
\expandafter\ExecuteBibliographyOptions\expandafter{\cms@options}
\setlength{\bibitemsep}{0.5\baselineskip plus 0.5\baselineskip}
\setlength{\bibhang}{2em}
\setlength{\lositemsep}{0.25\baselineskip plus 0.25\baselineskip}
+\urlstyle{rm}
\setcounter{biburllcpenalty}{5000}
\setcounter{biburlucpenalty}{9000}
\setcounter{biburlnumpenalty}{9000}
+\setcounter{mincomprange}{100}%
+\setcounter{mincompwidth}{10}%
\renewcommand*{\bibnamedash}{\rule[.4ex]{3em}{.6pt}}
+\iftoggle{cms@urlbreak}
+{\renewcommand*{\biburlsetup}{%
+ \Urlmuskip\biburlbigskip
+ \mathchardef\UrlBigBreakPenalty=\value{biburlbigbreakpenalty}\relax
+ \mathchardef\UrlBreakPenalty=\value{biburlbreakpenalty}\relax
+ \def\UrlBigBreaks{\do\:}%
+ \def\UrlBreaks{%
+ \do\@\do\\\do\!\do\|\do\;\do\>\do\]\do\)\do\}%
+ \do\'\do\+\do\=\do\$\do\&\do\*\do\^\do\"}%
+ \ifnumgreater{\value{biburlnumpenalty}}{0}
+ {\def\do##1{%
+ \appto\UrlSpecials{%
+ \do##1{%
+ \mathchar`##1
+ \mskip\biburlnumskip
+ \penalty\value{biburlnumpenalty}}}}%
+ \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0}
+ {}%
+ \ifnumgreater{\value{biburlucpenalty}}{0}
+ {\def\do##1{%
+ \appto\UrlSpecials{%
+ \do##1{%
+ \mathchar`##1
+ \mskip\biburlucskip
+ \penalty\value{biburlucpenalty}}}}%
+ \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J
+ \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T
+ \do\U\do\V\do\W\do\X\do\Y\do\Z}
+ {}%
+ \ifnumgreater{\value{biburllcpenalty}}{0}
+ {\def\do##1{%
+ \appto\UrlSpecials{%
+ \do##1{%
+ \mathchar`##1
+ \mskip\biburllcskip
+ \penalty\value{biburllcpenalty}}}}%
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j
+ \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t
+ \do\u\do\v\do\w\do\x\do\y\do\z}
+ {}%
+ \let\do=\noexpand}}%
+{}
+
\iftoggle{cms@nomark}
{}
{\@ifclassloaded{memoir}%
@@ -141,6 +214,7 @@
\DeclareLanguageMapping{brazilian}{cms-brazilian}
\DeclareLanguageMapping{british}{cms-british}
+\DeclareLanguageMapping{dutch}{cms-dutch}
\DeclareLanguageMapping{german}{cms-german}
\DeclareLanguageMapping{french}{cms-french}
\DeclareLanguageMapping{finnish}{cms-finnish}
@@ -152,4 +226,38 @@
\ifundef\bbl@loaded{\let\bbl@loaded\@empty}{}% For old versions of babel
+\patchcmd{\blx@comprange@check}% Audrey Boruvka's code from StackExchange
+{\blx@comprange@comp{#1}{#2}}% Moved here from cbx
+{\blx@tempcnta=#1
+ \divide\blx@tempcnta100
+ \multiply\blx@tempcnta100
+ \ifnumequal{\blx@tempcnta}{#1}
+ {\blx@range@out@value{#1\bibrangedash#2}}
+ {\blx@comprange@comp{#1}{#2}}}
+{}{}%
+
+\newrobustcmd*{\suppressbibfield}[2][]{%
+ \ifblank{#1}%
+ {\ifblank{#2}%
+ {}%
+ {\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \renewcommand*{\do}[1]{
+ \step[fieldset=##1, null]}\docsvlist{#2}}}}}}%
+ {\ifblank{#2}%
+ {\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \renewcommand*{\do}[1]{%
+ \pertype{##1}}\docsvlist{#1}%
+ \step[entrynull]}}}}%
+ {\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \renewcommand*{\do}[1]{%
+ \pertype{##1}}\docsvlist{#1}%
+ \renewcommand*{\do}[1]{%
+ \step[fieldset=##1, null]}\docsvlist{#2}}}}}}}
+
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate-trad.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx
index b8e33676f2..b8e33676f2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate-trad.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx
new file mode 100644
index 0000000000..9919887ea2
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx
@@ -0,0 +1,427 @@
+% This is a biblatex citation style file, originally adapted from
+% Lehman's authoryear-comp.cbx. It is heavily modified, with the
+% intention of providing inline citations (and a reference list) for
+% the author-date (trad) style of the Chicago Manual of Style, 17th
+% edition.
+
+\ProvidesFile{chicago-authordate-trad.cbx}[2020/04/20 v 3.14 biblatex
+citation style]
+
+\RequireCitationStyle{chicago-dates-common}
+
+%%%% Trad-only Option %%%%
+
+\providetoggle{cms@headline}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{headline}[true]{%
+ \settoggle{cms@headline}{#1}%
+ \iftoggle{cms@headline}%
+ {\renewcommand{\MakeSentenceCase}{\@ifstar\relax\relax}}%
+ {}}
+
+%%%% Field Formats -- Title, Citetitle, Lostitle %%%%
+
+\DeclareFieldFormat{title}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldFormat{citetitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldFormat{lostitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldFormat{subtitle}{\mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{title}{%
+ \iffieldundef{title}%
+ {}%
+ {\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{citetitle}{\MakeSentenceCase*{#1}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{lostitle}{\MakeSentenceCase*{#1}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{subtitle}{%
+ \iffieldundef{subtitle}%
+ {}%
+ {\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat[artwork,image,inreference]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\MakeSentenceCase*{#1}\isdot}}
+
+\DeclareFieldFormat[artwork,image,inreference]{subtitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\MakeSentenceCase*{#1}\isdot}}
+
+\DeclareFieldAlias[artwork]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[artwork]{lostitle}[artwork]{title}
+
+\DeclareFieldFormat[periodical]{title}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[periodical]{citetitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[periodical]{lostitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[periodical]{subtitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldAlias[image]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[image]{lostitle}[artwork]{title}
+
+\DeclareFieldAlias[inreference]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[inreference]{lostitle}[artwork]{title}
+
+\DeclareFieldFormat[letter]{title}{#1\isdot}
+
+\DeclareFieldFormat[letter]{citetitle}{#1\isdot}
+
+\DeclareFieldFormat[letter]{lostitle}{#1\isdot}
+
+\DeclareFieldFormat[letter]{subtitle}{#1\isdot}
+
+\DeclareFieldFormat[suppbook,suppcollection]{title}{%
+ \mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldAlias[suppbook]{citetitle}[suppbook]{lostitle}
+
+\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{%
+ \usebibmacro{inforaft}%
+ \addspace%
+ \mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldFormat[suppbook,suppcollection]{subtitle}{%
+ \mkbibemph{\MakeSentenceCase*{#1}}\isdot}
+
+\DeclareFieldAlias[suppcollection]{citetitle}[suppbook]{lostitle}
+
+\DeclareFieldFormat[misc]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldAlias[misc]{citetitle}[misc]{title}
+
+\DeclareFieldAlias[misc]{lostitle}[misc]{title}
+
+\DeclareFieldFormat[misc]{subtitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[report]{title}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\MakeSentenceCase*{#1}}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}}%
+
+\DeclareFieldFormat[report]{citetitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\MakeSentenceCase*{#1}}%
+ {\mkbibemph{\MakeSentenceCase{#1}}\isdot}}
+
+\DeclareFieldFormat[report]{lostitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\MakeSentenceCase*{#1}}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}}
+
+\DeclareFieldFormat[review,suppperiodical]{title}{%
+ \ifcapital{\MakeCapital{#1\isdot}}%
+ {#1\isdot}}
+
+\DeclareFieldAlias[review]{lostitle}[review]{title}
+
+\DeclareFieldAlias[review]{citetitle}[review]{title}
+
+\DeclareFieldAlias[suppperiodical]{citetitle}[review]{title}
+
+\DeclareFieldAlias[suppperiodical]{lostitle}[review]{title}
+
+\DeclareFieldFormat[review,suppperiodical]{subtitle}{%
+ \ifcapital{\MakeCapital{#1\isdot}}%
+ {#1\isdot}}
+
+\DeclareFieldFormat{booktitle}{\mkbibemph{\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat{maintitle}{\mkbibemph{\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat{booksubtitle}{\mkbibemph{\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat{mainsubtitle}{\mkbibemph{\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat[article,periodical,review,suppperiodical]{maintitle}{%
+ \mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[article,periodical,review,suppperiodical]{mainsubtitle}{%
+ \mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[audio,music,video]{title}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\MakeSentenceCase*{#1}\isdot}}
+
+\DeclareFieldFormat[video]{citetitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\MakeSentenceCase*{#1}\isdot}}}
+
+\DeclareFieldAlias[video]{lostitle}[video]{title}
+
+\DeclareFieldAlias[music]{citetitle}[video]{title}
+
+\DeclareFieldAlias[music]{lostitle}[video]{title}
+
+\DeclareFieldAlias[audio]{citetitle}[video]{title}
+
+\DeclareFieldAlias[audio]{lostitle}[video]{title}
+
+\DeclareFieldFormat[audio,music,video]{subtitle}{%
+ \iffieldundef{booktitle}%
+ {\mkbibemph{\MakeSentenceCase*{#1}}\isdot}%
+ {\MakeSentenceCase*{#1}\isdot}}
+
+\DeclareFieldFormat{issuetitle}{\MakeSentenceCase*{#1\isdot}}
+
+\DeclareFieldFormat{issuesubtitle}{\MakeSentenceCase*{#1\isdot}}
+
+%%%% Formatting macros, called both by cbx and bbx %%%%
+
+\newbibmacro*{video+title}{%
+ \iffieldundef{title}%
+ {}%
+ {\printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}}}
+
+\newbibmacro*{italtitle+stitle}{%
+ \printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock}
+
+\newbibmacro*{mag+news+title}{%
+ \printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%\setunit{\addcomma\addspace}
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{titleaddon}}%
+ }%\newcunit\newblock
+
+\newbibmacro*{issuetitle}{%
+ \iffieldundef{issuetitle}%
+ {}%
+ {\ifthenelse{\ifentrytype{article}\OR%
+ \ifentrytype{review}\OR%
+ \ifentrytype{suppperiodical}}% This test is for
+ {\usebibmacro{cms-in:}}% periodical entries
+ {}%
+ \printtext{%
+ \printfield{issuetitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[issuesubtitle]{issuesubtitle}}}}
+
+%%%% Related macros that can't reside in common.cbx %%%%
+
+\newbibmacro*{related:reviewof}[1]{%
+ \entrydata*{#1}{%
+ \let\newunit\newcunit% FIXME??
+ \iffieldundef{title}%
+ {}%
+ {\printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}}%
+ \newcunit%
+ \ifnameundef{author}%
+ {\newcunit%
+ \usebibmacro{byeditor+others}}%
+ {\bibstring{by}\addspace%
+ \printnames[byauthor]{author}%
+ \newcunit\usebibmacro{byeditor+others}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}}
+
+\DeclareFieldFormat{title:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibemph{\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat{ititle:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \MakeSentenceCase*{#1}}
+
+\DeclareFieldFormat{jtitle:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibemph{#1}}
+
+\DeclareFieldFormat{chapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1\addspace\bibstring{in}}
+
+\DeclareFieldFormat{avchapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1}
+
+\DeclareFieldFormat{muschapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{track}}%
+ \endgroup
+ \bibstring{track}~#1}%
+
+\DeclareFieldFormat{sjtnoformat}{#1}
+\DeclareFieldFormat{stnoformat}{#1}
+\DeclareFieldFormat{jtnoformat}{#1}
+\DeclareFieldFormat{jtsnoformat}{#1}
+\DeclareFieldFormat{tnoformat}{#1}
+
+\newbibmacro*{cms:titlehook}{% Needed for the full drivers in reprintfrom
+ \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR%
+ \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR%
+ \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR%
+ \ifentrytype{music}\OR\ifentrytype{video}\)}%
+ {\iffieldundef{issuetitle}%
+ {\iffieldundef{title}%
+ {\iffieldundef{booktitle}%
+ {\iffieldundef{journaltitle}%
+ {\iffieldundef{maintitle}%
+ {}%
+ {\DeclareFieldAlias{maintitle}{title:hook}}}%
+ {\DeclareFieldAlias{jtnoformat}{jtitle:hook}%
+ \DeclareFieldAlias{sjtnoformat}{title}%
+ \DeclareFieldAlias{journaltitle}{default}%
+ \DeclareFieldAlias{shortjournal}{series}%
+ \DeclareFieldAlias{jtsnoformat}{jtitle:hook}}}%
+ {\DeclareFieldAlias{booktitle}{title:hook}}}%
+ {\DeclareFieldAlias{tnoformat}{jtitle:hook}%
+ \DeclareFieldAlias{stnoformat}{citetitle}%
+ \DeclareFieldAlias[video]{title}{title:hook}%
+ \DeclareFieldAlias[audio]{title}{title:hook}%
+ \DeclareFieldAlias[music]{title}{title:hook}%
+ \DeclareFieldAlias{title}{title:hook}%
+ \DeclareFieldAlias[periodical]{shorttitle}{series}}}%
+ {\DeclareFieldAlias{issuetitle}{ititle:hook}}}%
+ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}}%
+ {\iffieldundef{title}%
+ {\ifentrytype{music}%
+ {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}%
+ {\DeclareFieldAlias{chapter}{avchapter:hook}}}%
+ {\DeclareFieldAlias[video]{title}{title:hook}%
+ \DeclareFieldAlias[audio]{title}{title:hook}%
+ \DeclareFieldAlias[music]{title}{title:hook}}}%
+ {\DeclareFieldAlias{chapter}{chapter:hook}}}}%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx
new file mode 100644
index 0000000000..9b91b51d5e
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx
@@ -0,0 +1,5 @@
+\ProvidesFile{chicago-authordate-trad16.bbx}
+
+\RequireBibliographyStyle{chicago-authordate16}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate-trad.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx
index d48dec31cf..a090b604eb 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate-trad.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx
@@ -1,14 +1,12 @@
-% $Id: chicago-authordate-trad.cbx,v 0.9.1.4 2018/01/11 09:55:09 dfussner Exp $
-
% This is a biblatex citation style file, adapted from Lehman's
% authoryear-comp.cbx. It is heavily modified, with the intention of
% providing inline citations (and a reference list) for the
% author-date (trad) style of the Chicago Manual of Style, 16th edition.
-\ProvidesFile{chicago-authordate-trad.cbx}[2018/01/11 v 3.10 biblatex
+\ProvidesFile{chicago-authordate-trad16.cbx}[2020/04/20 v 3.14 biblatex
citation style]
-\RequireCitationStyle{chicago-dates-common}
+\RequireCitationStyle{chicago-dates-common16}
%%%% Trad-only Option %%%%
@@ -255,6 +253,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibemph{\MakeSentenceCase*{#1}}}
@@ -268,6 +271,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\MakeSentenceCase*{#1}}
@@ -281,6 +289,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibemph{#1}}
@@ -294,6 +307,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1\addspace\bibstring{in}}
@@ -307,6 +325,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx
new file mode 100644
index 0000000000..b5e787803e
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx
@@ -0,0 +1,5480 @@
+% This is a biblatex style file, originally adapted mainly from
+% Lehman's standard.bbx and from chicago-notes.bbx. It provides the
+% reference list formatting for the Chicago author-date style.
+
+\ProvidesFile{chicago-authordate.bbx}[2020/04/20 v 3.14 biblatex
+bibliography style]
+
+%%%% Initialize and format bibliography and los %%%%
+
+\providetoggle{cms@citejtabb}% Here for Sourcemap declaration
+\providetoggle{cms@bibjtabb}%
+
+\DeclareFieldFormat{shorthandwidth}{#1}
+
+\DeclareFieldFormat{shortserieswidth}{#1}
+
+\DeclareFieldFormat{shortjournalwidth}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\textbf{#1}\isdot}%
+ {\mkbibemph{\textbf{#1}}\isdot}}%
+
+\newlength{\lositemsep}
+
+\defbibenvironment{bibliography}% New for 0.9a
+ {\list
+ {}
+ {\setlength{\leftmargin}{\bibhang}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}%
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{losnotes}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{losendnotes}
+ {\list
+ {\printfield[shorthandwidth]{shorthand}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}% Kludges for endnotes
+ {\item}
+
+\defbibenvironment{shortjournal}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{sjnotes}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{sjendnotes}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shorthand}{%
+ \iftoggle{cms@los}%
+ {\iffieldundef{shorthand}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shorthand}}%
+ {\skipentry}%
+ {\savefieldcs{shorthand}{\strfield{shorthand}}}}}%
+ {}}%
+
+\defbibcheck{shortjournal}{% Only one list
+ \iffieldundef{shortjournal}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortjournal}=\strfield{journaltitle}}%
+ {\skipentry}%
+ {\savefieldcs{shortjournal}%
+ {\strfield{shortjournal}=\strfield{journaltitle}}}}}%
+
+% \defbibcheck{shortjournal}{% Multiple lists
+% \ifcsdef{cms@shjour}%
+% {\iffieldequals{shortjournal}{\cms@shjour}%
+% {\skipentry}%
+% {\savefield{shortjournal}{\cms@shjour}}}%
+% {\savefield{shortjournal}{\cms@shjour}}}
+
+\defbibenvironment{shortseries}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shsernotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shserendnotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shortseries}{% Only one list
+ \ifthenelse{\iffieldundef{shortseries}\OR%
+ \iffieldundef{series}\OR%
+ \iffieldsequal{series}{shortseries}}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortseries}}%
+ {\skipentry}%
+ {\savefieldcs{shortseries}%
+ {\strfield{shortseries}}}}}%
+
+\AtBeginBibliography{%
+ \togglefalse{cms@headlessnote}}%
+
+\AtEveryBibitem{%
+ \global\csundef{@cmsst}}%
+
+\AtEveryLositem{%
+ \global\csundef{@cmsst}}%
+
+\AtEveryBiblistitem{shortjournal}{%
+ \global\csundef{@cmsst}%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\clearlist{location}}%
+ {}}%
+
+\InitializeBibliographyStyle{%
+ \let\bbx@lasthash\undefined}%
+
+%%%% Bibliography-specific bibstrings %%%%
+
+%% Now in *.lbx %%
+
+%%%% Author, Editor, Translator, and Compiler Macros %%%%
+
+\renewbibmacro*{name:last-first}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifblank{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}%
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifpunctmark{'}{}{\addhighpenspace}}%
+ \mkbibnamelast{#1}\isdot
+ \ifblank{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot}%
+ \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}%
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamelast{#1}\isdot%
+ \ifblank{#2#3#4}{}{\addcomma}%
+ \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}\isdot}%
+ \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}%
+ \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}}
+
+\renewbibmacro*{name:first-last}[4]{%
+ \usebibmacro{name:delim}{#2#3#1}%
+ \usebibmacro{name:hook}{#2#3#1}%
+ \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot\addlowpenspace}%
+ \ifblank{#3}{}{%
+ \mkbibnameprefix{#3}\isdot
+ \ifpunctmark{'}%
+ {}%
+ {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
+ \mkbibnamelast{#1}\isdot
+ \ifblank{#4}{}{%
+ \iftoggle{cms@jrcomma}%
+ {\ifnumeral{#4}%
+ {\addlowpenspace\mkbibnameaffix{#4}\isdot}%
+ {\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot%
+ \ifboolexpr{%
+ test{\ifnumless{\value{listcount}}{\value{listtotal}}}%
+ and
+ test{\ifnumless{\value{listcount}}{\value{maxnames}}}%
+ }%
+ {\addcomma}%
+ {}}}%
+ {\addlowpenspace\mkbibnameaffix{#4}\isdot}}}%
+
+\@ifpackagelater{biblatex}{2016/03/01}% For biblatex 3.3
+{\renewbibmacro*{name:family-given}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}%
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamefamily{#1}\isdot
+ \ifboolexpr{%
+ test {\ifdefvoid{#2}}%
+ and
+ test {\ifdefvoid{#3}}%
+ }%
+ {}{\revsdnamepunct}%
+ \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}%
+
+\renewbibmacro*{name:given-family}[4]{%
+ \usebibmacro{name:delim}{#2#3#1}%
+ \usebibmacro{name:hook}{#2#3#1}%
+ \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
+ \ifdefvoid{#3}{}{%
+ \mkbibnameprefix{#3}\isdot
+ \ifprefchar
+ {}%
+ {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#4}{}{%
+ \iftoggle{cms@jrcomma}%
+ {\ifnumeral{#4}%
+ {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
+ {\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot%
+ \ifboolexpr{% Test needed?
+ test{\ifnumless{\value{listcount}}{\value{listtotal}}}%
+ and
+ test{\ifnumless{\value{listcount}}{\value{maxnames}}}%
+ }%
+ {\revsdnamepunct}%
+ {}}}%
+ {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}}{}%
+
+\renewbibmacro*{author/editor}{%
+ \ifboolexpr{%
+ test {\ifuseauthor}%
+ or
+ togl {cms@headlessnote}%
+ }%
+ {\usebibmacro{author}}%
+ {\ifusenamea%
+ {\usebibmacro{pickeditor}}%
+ {\ifuseeditor%
+ {\usebibmacro{moreeditor}}%
+ {\ifusenameb%
+ {\usebibmacro{picktranslator}}%
+ {\ifusetranslator%
+ {\usebibmacro{moretranslator}}%
+ {\ifusenamec%
+ {\usebibmacro{compiler}}%
+ {\let\bbx@lasthash\undefined}}}}}}}%
+
+\renewbibmacro*{author}{%
+ \iftoggle{cms@headlessnote}%
+ {\usebibmacro{justauthor}}%
+ {\usebibmacro{moreauthor}}}
+
+\newbibmacro*{justauthor}{%
+ \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{author}\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{author}%
+ \ifentrytype{customc}{}%
+ {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen%
+ \ifentrytype{customc}%
+ {\newunit\printfield{nameaddon}}%
+ {}}%
+ {\printnames{author}%
+ \ifentrytype{customc}{\newunit}{\setunit{\addspace}}%
+ \printfield{nameaddon}}%
+ \savefield{fullhash}{\bbx@lasthash}}}}}}
+
+\newbibmacro*{moreauthor}{%
+ \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
+ {\usebibmacro{pickeditor}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{author}\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{author}%
+ \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}%
+ {\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}}%
+ \savefield{fullhash}{\bbx@lasthash}}}}}}
+
+\newbibmacro*{pickeditor}{%
+ \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\usebibmacro{moreeditor}}%
+ {\usebibmacro{parteditor}}}
+
+\newbibmacro*{moreeditor}{%
+ \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}%
+
+\renewbibmacro*{editor}{%
+ \iftoggle{cms@headlessnote}%
+ {}%
+ {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}}
+
+\newbibmacro*{parteditor}{%
+ \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}
+
+\newbibmacro*{picktranslator}{%
+ \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
+ {\usebibmacro{moretranslator}}%
+ {\usebibmacro{parttranslator}}}
+
+\newbibmacro*{moretranslator}{%
+ \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames[sortname]{translator}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{transstrg}}}
+
+\newbibmacro*{parttranslator}{%
+ \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames[sortname]{nameb}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parttransstrg}}}
+
+\newbibmacro*{compiler}{%
+ \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\newcunit}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames[sortname]{namec}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{compilestrg}}}
+
+\renewcommand*{\revsdnamedelim}{\addcomma}
+
+\DeclareNameAlias{author}{sortname}% Needed in 0.9
+\DeclareNameAlias{editor}{sortname}
+\DeclareNameAlias{translator}{sortname}
+
+%%%% Drivers for Bibliography entries and Shorthands %%%%
+
+\DeclareBibliographyDriver{shorthand}{%
+ \iftoggle{cms@los}%
+ {\ifnameundef{labelname}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ \usebibmacro{shorthand:label}}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ \ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ (
+ test {\ifentrytype{manual}}%
+ or
+ test {\ifentrytype{standard}}%
+ )
+ }%
+ {\printnames{\thefield{labelnamesource}}}%
+ {\ifentrytype{customc}%
+ {\clearfield{nameaddon}}%
+ {}%
+ \usebibmacro{author/editor}}}%
+ \finentry}%
+ {\iftoggle{cms@fullshhand}%
+ {\usedriver{\frenchspacing}%
+ {\thefield{entrytype}}%
+ \finentry}%
+ {\ifnameundef{labelname}%
+ {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
+ \ifentrytype{periodical}}%
+ {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
+ \newcunit}}%
+ {\ifentrytype{manual}%
+ {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
+ {}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ (
+ test {\ifentrytype{manual}}%
+ or
+ test {\ifentrytype{standard}}%
+ )
+ }%
+ {\printnames{\thefield{labelnamesource}}\newunit}%
+ {\ifentrytype{customc}%
+ {\usebibmacro{justauthor}\setunit{\addspace}}%
+ {\usebibmacro{author/editor}\newunit}}}%
+ \printfield[lostitle]{title}%
+ \finentry}}}
+
+\DeclareBibliographyDriver{shortjournal}{%
+ \iffieldundef{journaltitle}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}}%
+ {\printtext[journaltitle]{%
+ \printfield[jtnoformat]{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sjtnoformat]{journalsubtitle}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}}%
+ \finentry}%
+
+\DeclareBibliographyDriver{shortseries}{%
+ \printfield{series}\finentry}
+
+\DeclareStyleSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \pertype{periodical}
+ \step[fieldsource=shorttitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map{
+ \step[fieldsource=pubstate,
+ match=\regexp{forthcoming|inpreparation|submitted|inpress}, final]
+ \step[fieldset=year, origfieldval, final]
+ \step[fieldsource=year,
+ match=\regexp{(forthcoming|inpreparation|submitted|inpress)},
+ replace=\regexp{\\bibstring\{$1\}}]%$
+ \step[fieldset=pubstate, null]
+ }
+ \map{
+ \pertype{article}
+ \pertype{periodical}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=entrysubtype, match={newspaper},
+ replace={magazine}]
+ }
+ \map{
+ \pertype{jurisdiction}
+ \pertype{legal}
+ \pertype{legislation}
+ \step[fieldsource=journaltitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map[overwrite]{
+ \pertype{jurisdiction}
+ \step[fieldsource=shortjournal, match=\regexp{[^\\adddot][a-z]}, final]
+ \step[fieldset=shortjournal, fieldvalue=\addnbspace, append]
+ }
+ \map{
+ \pertype{legislation}
+ \step[fieldsource=title, match=\regexp{Const}, final]
+ \step[fieldset=entrysubtype, fieldvalue=constitution]
+ }
+ \map{
+ \pertype{legislation}
+ \step[fieldsource=entrysubtype, match=\regexp{canada}, final]
+ \step[fieldsource=bookpagination, match={section},
+ replace={canadasection}]
+ \step[fieldsource=pagination, match={section},
+ replace={canadasection}]
+ }
+ \map[overwrite]{
+ \step[fieldsource=subtitle, final]
+ \step[fieldsource=title,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=title, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=booksubtitle, final]
+ \step[fieldsource=booktitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=booktitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=issuesubtitle, final]
+ \step[fieldsource=issuetitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=issuetitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=journalsubtitle, final]
+ \step[fieldsource=journaltitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=journaltitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=mainsubtitle, final]
+ \step[fieldsource=maintitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map{
+ \pertype{standard}
+ \step[notfield=author, final]
+ \step[fieldsource=organization, final]
+ \step[fieldsource=organization, match=\regexp{(.*)}]
+ \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$
+ }
+ \map{
+ \pertype{manual}
+ \step[notfield=author, final]
+ \step[notfield=editor, final]
+ \step[fieldsource=organization, final]
+ \step[fieldsource=organization, match=\regexp{(.*)}]
+ \step[fieldset=shortauthor, fieldvalue=\regexp{{$1}}]%$
+ }
+ \map[overwrite]{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{skipbib|cmsdate}, final]
+ \step[fieldset=options, fieldvalue={,skipbib,cmsdate=full},
+ append]
+ \step[notfield=verbc, final]
+ \step[fieldsource=entrykey]
+ \step[fieldset=verbc, origfieldval]
+ }
+ \map{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue={skipbib,cmsdate=full}]
+ \step[fieldsource=entrykey]
+ \step[fieldset=verbc, origfieldval]
+ }
+ \map{
+ \pertype{review}
+ \pertype{online}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton}, final]
+ \step[fieldsource=related, match=\regexp{(.*)}]
+ \step[entrynew=$1-customc, entrynewtype=customc]%$
+ \step[fieldset=options, fieldvalue={skipbib,authortitle},
+ entrytarget=$1-customc]%$
+ \step[fieldset=pubstate, fieldvalue=cms-generated,
+ entrytarget=$1-customc]%$
+ \step[fieldsource=relatedtype]
+ \step[fieldsource=relatedstring]
+ \step[fieldset=title, origfieldval, entrytarget=$1-customc]%$
+ }
+ \map{
+ \pertype{video}
+ \step[fieldsource=entrysubtype, match=tvepisode, final]
+ \step[fieldsource=title, final]
+ \step[fieldsource=booktitle, final]
+ \step[fieldset=sorttitle, origfieldval]
+ }
+ \map[overwrite]{% Backward compatibility kludges
+ \step[fieldsource=year,
+ match=\regexp{^\[(.+)\](.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ \step[fieldsource=year,
+ match=\regexp{^\\bibopenbracket\s*(.+)\\bibclosebracket(.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ \step[fieldsource=year,
+ match=\regexp{^\\mkbibbrackets\{(.+)\}(.*)},
+ replace=\regexp{\[$1\]\\midsentence$2}]
+ }
+ }
+}%
+
+\DeclareBibliographyDriver{article}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{mag+news+author}%
+ \newunit\newblock
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \usebibmacro{mag+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed. clarifies punctuation
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{}{\usebibmacro{mag+news+title}}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit*{\addperiod\addspace}\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed.
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
+ \iftoggle{cms@switchdates}%
+ {\usebibmacro{journal+issue+year+pages}{orig}}%
+ {\usebibmacro{journal+issue+year+pages}{}}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{artwork}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmscitesortdate}% 17th ed. ??
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{artwork+dates}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{audio}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ and
+ not test {\iffieldundef{title}}%
+ }%
+ {\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ or
+ test {\iffieldundef{title}}%
+ }%
+ {}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \iffieldundef{eventyear}%
+ {\newcunit}%
+ {\newunit}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}%
+ \iffieldundef{booktitle}%
+ {\setunit{\addperiod\addspace}}% Fix customc?
+ {\setunit{\addcomma\addspace}}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}% Reversed with bibreprint 16th ed. (?)
+ \newunit\newblock
+ \usebibmacro{bibreprint}%\printorigdate%
+ \usebibmacro{publ+loc+year}%
+ \newunit
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{ismn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{version}}%
+ {}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \iffieldundef{version}%
+ {}%
+ {\printfield{version}}
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \usebibmacro{editorpunct}%
+ \iftoggle{cms@bookpages}%
+ {}%
+ {\clearfield{pages}}%
+ \printfield{chapter}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newcunit\newblock
+ \printlist[][-\value{listtotal}]{lista}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{bookinbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{booklet}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{howpubl+loc+year}%
+ \newunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \usebibmacro{editorpunct}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{volume+or+volumes}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{customc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{dataset}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock%
+ \printtext[parens]{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \setunit{\addspace}\newblock%
+ \ifthenelse{\iffieldundef{howpublished}\AND%
+ \iffieldundef{number}\AND\iffieldundef{type}}%
+ {}%
+ {\printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}}}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \setunit{\addsemicolon\addspace}%
+ \printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{date}%
+ \clearfield{urlyear}\clearfield{urlmonth}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{image}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmscitesortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock% 16th ed. added * (?)
+ \usebibmacro{artwork+dates}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\setunit{\addperiod\addspace}%
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\setunit{\addperiod\addspace}% Moved here.
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\setunit{\addperiod\addspace}%
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{inreference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{reference+title}%{italtitle+stitle}
+ \newunit\newblock
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}% need asterisk?
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newcunit\newblock
+ \printlist[][-\value{listtotal}]{lista}%
+ \newcunit\newblock% \setunit{\addspace}% 16th ed.
+ \ifnameundef{author}%
+ {}%
+ {\printtext{% 16th ed.
+ \bibstring{by}%
+ \addspace%
+ \printnames[byauthor]{author}}}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{jurisdiction}{%
+ \iffieldequalstr{entrysubtype}{square}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[brackets]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\iffieldequalstr{entrysubtype}{round}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[parens]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \setunit{\addspace}%
+ \printlist{origpublisher}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printlist{origlocation}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{year}}%
+ and
+ test {\iflistundef{location}}%
+ }%
+ {}%
+ {\printtext[parens]{%
+ \printlist{location}%
+ \setunit*{\addspace}%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{legal}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \newcunit%\setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{legislation}{%
+ \iffieldequalstr{entrysubtype}{uk}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \newcunit%\setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\iffieldequalstr{entrysubtype}{hansard}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield[hansardser]{series}%
+ \setunit{\addspace}%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[parens]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addspace}% FIXME?
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \newcunit%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{year}}%
+ and
+ test {\iffieldundef{usera}}%
+ and
+ test {\iflistundef{location}}%
+ }%
+ {}%
+ {\printtext[parens]{%
+ \printlist{location}%
+ \setunit*{\addspace}%
+ \printfield{usera}%
+ \setunit*{\addspace}%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit{\addspace}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{letter}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \printtext[title]{%
+ \printfield[noformat]{title}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{letter+date}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%\bibsentence
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@crossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\newunit}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\newunit}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{manual}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author+org}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}}%
+ {}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit\newblock%
+ \usebibmacro{unpubl+letter+date}%
+ \newcunit
+ \printlist{origlocation}}% 17th ed.
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\printfield{venue}\setunit*{\addcomma\addspace}}%
+ {}%
+ \usebibmacro{misc+institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \iffieldundef{entrysubtype}%
+ {\newcunit\newblock%
+ \usebibmacro{date}}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{music}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ and
+ not test {\iffieldundef{title}}%
+ }%
+ {\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ or
+ test {\iffieldundef{title}}%
+ }%
+ {}{\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\usebibmacro{byeditor+others}\newunit\newblock}{}%
+ \usebibmacro{music+eventdate}%\printeventdate
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{chap+as+track}%inscore% 17th ed.
+ \usebibmacro{music+bookauthor}% Ditto.
+ \usebibmacro{btitle+bstitle}%
+ \iffieldundef{booktitle}%
+ {\newunit}% Fix customc?
+ {\newcunit}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {}{\usebibmacro{byeditor+others}}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \usebibmacro{music+origdate}% Changed for 17th ed.
+ \newunit\newblock
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}\newblock
+ \usebibmacro{series+or+shortser}%
+ \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \printfield{number}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{pubstate}% 16th ed -- origdate instead, as above?
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{iswc}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyAlias{mvbook}{book}
+
+\DeclareBibliographyAlias{mvcollection}{collection}
+
+\DeclareBibliographyAlias{mvproceedings}{proceedings}
+
+\DeclareBibliographyAlias{mvreference}{reference}
+
+\DeclareBibliographyDriver{online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\usebibmacro{italtitle+stitle}}}%
+ {\usebibmacro{italtitle+stitle}}}%
+ {}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {}}}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{titleaddon}}%
+ {}%
+ {\usebibmacro{italtitle+stitle}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}%
+ \iftoggle{cms@switchdates}%
+ {\clearfield{orighour}\clearfield{origyear}\clearfield{origmonth}%
+ \clearfield{origday}\clearfield{origseason}}%
+ {\clearfield{hour}\clearfield{year}\clearfield{month}%
+ \clearfield{day}\clearfield{season}}%
+ \newunit\newblock}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\usebibmacro{italtitle+stitle}}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \printlist{organization}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newcunit\newblock% 17th ed. comma
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}% 17th ed.
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{urlyear}\AND\iffieldundef{urlmonth}}%
+ {}%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ \newunit\newblock
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \clearfield{url}}}%
+ {\printfield{doi}}%
+ \newunit\newblock%
+ \usebibmacro{eprint}%
+ \newunit\newblock
+ \printfield{url}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+holder}% + holder?
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{patenttitle+stitle}}{}%
+ \usebibmacro{cmscitesortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{patenttitle+stitle}}%
+ \setunit{\addperiod\addspace}%
+ \printfield{note}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{bibreprint}%
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}%
+ \iflistundef{location}%
+ {}%
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit\newblock
+ \iftoggle{cms@switchdates}%
+ {\bibstring{patentfiled}%
+ \setunit{\addspace}%
+ \printdate%
+ \setunit{\addcomma\addspace}%
+ \bibstring{and}%
+ \addspace\bibstring{patentissued}\addspace%
+ \printorigdate}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {}%
+ {\bibstring{patentfiled}\setunit{\addspace}%
+ \printdate}}%
+ {\bibstring{patentfiled}\setunit{\addspace}%
+ \printorigdate%\usebibmacro{date}%
+ \setunit{\finalandcomma\addspace\bibstring{and}%
+ \addspace\bibstring{patentissued}\addspace}%
+ \usebibmacro{date}}}%
+ \newcunit\newblock
+ \printfield{addendum}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \iftoggle{cms@related}%
+ {\newunit%
+ \usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{performance}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}%
+ {\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{periodical}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \clearlist{location}%
+ \clearfield{shorttitle}%
+ \clearfield{title}%
+ \clearfield{subtitle}%
+ \newunit\newblock}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{periodical+date+issue}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\ifundef{\bbx@lasthash}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \clearlist{location}%
+ \clearfield{shorttitle}%
+ \clearfield{title}%
+ \clearfield{subtitle}%
+ \newunit\newblock}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit*{\addperiod\addspace}\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
+ \iftoggle{cms@switchdates}%
+ {\usebibmacro{periodical+issue+year+pages}{orig}}%
+ {\usebibmacro{periodical+issue+year+pages}{}}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{proceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookcrossref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{volume+or+volumes}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{bibprexref}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{bibpostxref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{reference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{reference+title}%{italtitle+stitle}
+ \newunit\newblock
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}% need asterisk?
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit
+ \usebibmacro{series+or+shortser}%
+ \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}%
+ {\newunit}%
+ {\setunit{\addnbspace}}%
+ \printfield{number}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{inst+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isrn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{review}{%
+ \usebibmacro{bibindex}%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+author}}%
+ {\usebibmacro{author/editor}}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ (
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \newunit}}%
+ {}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}%
+ {}%
+ {\ifboolexpr{%
+ togl {cms@related}%
+ and
+ (
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \newcunit\newblock
+ \usebibmacro{music+eventdate}% 16th ed.
+ \newcunit\newblock
+ \printeventtime%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed.
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}}%
+ {\iftoggle{cms@switchdates}%
+ {\usebibmacro{journal+issue+year+pages}{orig}}%
+ {\usebibmacro{journal+issue+year+pages}{}}}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{standard}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \ifnameundef{author}%
+ {\iflistundef{organization}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printlist{organization}\bibcloseparen}%
+ {\printlist{organization}}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{justauthor}}%
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{\usebibmacro{italtitle+stitle}}{}%
+ \ifthenelse{\iffieldundef{userd}\AND\iffieldundef{howpublished}}%
+ {\usebibmacro{cmsbibsortdate}}%
+ {\usebibmacro{cmscitesortdate}}% Like Patent entries (?)
+ \newunit\newblock
+ \ifundef{\bbx@lasthash}{}%
+ {\usebibmacro{italtitle+stitle}}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock%
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \newunit\newblock%
+ \usebibmacro{bibreprint}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\iflistundef{organization}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}}%
+ \usebibmacro{date}
+ \setunit{\addsemicolon\addspace}%
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{suppbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{%
+ \usebibmacro{inforaft}%
+ \setunit{\addspace}\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newcunit\newblock
+ \usebibmacro{bybookauthor}%
+ \clearname{bookauthor}%
+ \newunit\newblock}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{%
+ \usebibmacro{inforaft}%
+ \setunit{\addspace}\newblock
+ \usebibmacro{italtitle+stitle}}%
+ \newunit
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newcunit%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{volume+or+volumes}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyAlias{suppcollection}{suppbook}
+
+\DeclareBibliographyAlias{suppperiodical}{review}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \printfield{note}%
+ \setunit{\addperiod\addspace}\newblock%
+ \usebibmacro{bibreprint}%
+ \usebibmacro{type+inst+year}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{\usebibmacro{italtitle+stitle}}%
+ \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea.
+ \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed.
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{byeditor+others}% Fix bug ???
+ \newunit\newblock
+ \usebibmacro{bibreprint}%
+ \printfield{howpublished}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{eventtitle}%
+ \setunit*{\ctitleaddonpunct}\newblock%
+ \printfield{eventtitleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \printlist{location}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldundef{eventmonth}%
+ {\usebibmacro{date}}%
+ {\printeventdate}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{video}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{%
+ \usebibmacro{video+tv+title}%
+ \newunit\newblock}{}%
+ \usebibmacro{cmsbibsortdate}%
+ \newunit\newblock
+ \ifundef\bbx@lasthash{}{%
+ \usebibmacro{video+tv+title}}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\usebibmacro{video+title}%
+ \iffieldundef{booktitle}%
+ {\setunit{\ctitleaddonpunct}}%
+ {\setunit{\ptitleaddonpunct}}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}}
+ {\setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}}%
+ \iffieldundef{booktitle}%
+ {\setunit{\addperiod\addspace}}% Fix customc?
+ {\setunit{\addcomma\addspace}}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newunit% unit, not cunit?
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{usera}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \newunit\newblock
+ \usebibmacro{bibreprint}% 17th ed.
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{pubstate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+
+%%%% Other Formatting Macros %%%%
+
+\newbibmacro*{bib+doi+url}{% 16th ed.
+ \ifboolexpr{%
+ not togl {cms@url}%
+ or
+ (
+ test {\iffieldundef{urlyear}}%
+ and
+ test {\iffieldundef{urlmonth}}%
+ )
+ }%
+ {}%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ \iffieldundef{addendum}%
+ {\newunit\newblock}%
+ {\newcunit\newblock}%
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \setunit*{\addperiod\addspace}\newblock%
+ \clearfield{url}}}%
+ {\ifboolexpr{%
+ togl {cms@doi}%
+ and
+ not test {\iffieldundef{doi}}%
+ }%
+ {\printfield{doi}%
+ \setunit*{\addperiod\addspace}\newblock}%
+ {}}%
+ \ifboolexpr{%
+ togl {cms@eprint}%
+ and
+ not test {\iffieldundef{eprint}}%
+ }%
+ {\usebibmacro{eprint}%
+ \setunit*{\addperiod\addspace}\newblock}%
+ {}%
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{url}}%
+ }%
+ {\printfield{url}}%
+ {}}%
+
+\newbibmacro*{shorthand:author}{%
+ \ifboolexpr{%
+ test {\iffieldundef{shorthand}}%
+ or
+ not togl {cms@los}%
+ }%
+ {\togglefalse{cms@authorparens}%
+ \global\csundef{cms@shauthor}}%
+ {\ifboolexpr{%
+ ((
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ or
+ test {\iffieldequals{shorthand}{\cms@shauthor}}%
+ )
+ and
+ togl {cms@namedash}%
+ )
+ and
+ not test {\iffirstonpage}%
+ }%
+ {\togglefalse{cms@authorparens}}%
+ {\toggletrue{cms@authorparens}%
+ \savefield{shorthand}{\cms@shauthor}%
+ \printfield{shorthand}\addspace}}}
+
+\newbibmacro*{shorthand:label}{% Test this
+ \ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
+ \ifentrytype{periodical}}% Simplifies .bib creation
+ {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}}}%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[bibhyperref]{\printlist{organization}}}%
+ {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}}%
+
+\newbibmacro*{labelyear+extrayear}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{av+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\usebibmacro{standard+labelyear+extrayear}}}}
+
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\protected\def\cmsformatendextra{%
+ \ifboolexpr{%
+ test {\if@cms@endbracket}%
+ and
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\newbibmacro*{cmsextradate}{% For use with some date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \printfield{extradate}\clearfield{extradate}}}
+
+\newbibmacro*{cmsparensextradate}{% For use with other date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \mkbibparens{\printfield{extradate}}\clearfield{extradate}}}
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \global\boolfalse{cms:extraparens}%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {\ifthenelse{\iffieldundef{#3endyear}\OR%
+ \iffieldequalstr{#3endyear}{}}%
+ {\global\booltrue{cms:extraparens}}%
+ {}%
+ \bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra}%\usebibmacro{cmsextradate}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra%\usebibmacro{cmsextradate}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}%
+ \cmsformatendextra}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\newbibmacro*{standard+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}% or new declaration ???
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}}%
+ {}%
+ {\bibstring{nodate}}}%
+ {\iffieldundef{year}%
+ {\iffieldundef{eventyear}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}}%
+
+\newbibmacro*{origfirst+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}}%
+ {}%
+ {\bibstring{nodate}}}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {\iffieldundef{eventyear}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}}%
+
+\newbibmacro*{av+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}}%
+ {}%
+ {\bibstring{nodate}}}%
+ {\iffieldundef{eventyear}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}}%
+
+\newbibmacro{artwork+dates}{% 17th ed.
+ \iftoggle{cms@ordate}%
+ {\IfBeginWith{\thefield{labeldatesource}}{orig}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate\newunit\printorigdate}%
+ {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}%
+ {\iffieldundef{year}{}{\printdate}}%
+ {\printorigdate%
+ \iffieldundef{year}%
+ {}%
+ {\newunit\printdate}}}}%
+ {\IfBeginWith{\thefield{labeldatesource}}{event}%
+ {}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {}{\printdate}}}}%
+ {\ifboolexpr{%
+ togl {cms@origlabel}%
+ or
+ togl {cms@bothlabelold}%
+ or
+ togl {cms@bothlabelnew}%
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {\printorigdate}%
+ {\printdate\newunit\printorigdate}}%
+ {\ifthenelse{\iffieldundef{origmonth}\AND\iffieldundef{origseason}}%
+ {\printdate}%
+ {\printorigdate\newunit\printdate}}}%
+ {\iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {\printorigdate}%
+ {\printdate\newunit\printorigdate}}%
+ {\iffieldundef{origyear}%
+ {\ifthenelse{\iffieldundef{month}\AND\iffieldundef{season}}%
+ {}%
+ {\printdate}}%
+ {\printorigdate%
+ \iffieldundef{year}%
+ {}%
+ {\newunit\printdate}}}}}}
+
+\newbibmacro*{clear+datefield}[1]{%
+ \iffieldundef{#1day}%
+ {\iffieldundef{#1endyear}%
+ {\clearfield{#1year}}%
+ {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}%
+ {\clearfield{#1year}}%
+ {\ifdateyearsequal{#1}{#1end}%
+ {\clearfield{#1year}\clearfield{#1endyear}}%
+ {}}}}%
+ {}}
+
+\newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ not test {\iffieldint{origyear}}%
+ }%
+ {\usebibmacro{cmsbibyear}}%
+ {\iffieldint{year}%
+ {\ifboolexpr{% Needed for date ranges - video type, esp.
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}%
+ \usebibmacro{cmsbibyear}}%
+ {\usebibmacro{cmsbibyear}}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}%
+ \usebibmacro{cmsbibyear}}%
+ {\usebibmacro{cmsbibyear}}}}%
+ {\usebibmacro{cmsbibyear}}}}%
+
+\newbibmacro*{cmsbibyear}{%
+ \iftoggle{cms@origlabel}%
+ {\usebibmacro{origyear+labelyear}}%
+ {\iftoggle{cms@bothlabelnew}%
+ {\usebibmacro{bothyear+oldstyle}}%
+ {\iftoggle{cms@bothlabelold}%
+ {\usebibmacro{bothyear+oldstyle}}%
+ {\usebibmacro{labelyear+extrayear}}}}}%
+ % \ifcsdef{@cms@tempdate}%
+ % {\toggletrue{\@cms@tempdate}}%
+ % {}}%
+
+\newbibmacro*{origyear+labelyear}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{av+labelyear+extrayear}}%
+ {\iftoggle{cms@switchdates}%
+ {\usebibmacro{labelyear+extrayear}}%
+ {\iffieldundef{origyear}%
+ {\iftoggle{cms@ordate}% ???
+ {}%
+ {\clearfield{extradate}}%
+ \usebibmacro{standard+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\clearfield{extradate}%
+ \printorigdateextra%\usebibmacro{origyear+endyear}%
+ \usebibmacro{clear+datefield}{orig}}}}}}%
+
+\newbibmacro*{bothyear+oldstyle}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{av+labelyear+extrayear}}% \clearfield local to \printtext
+ {\iftoggle{cms@switchdates}%
+ {\printtext{%
+ \bibopenparen%
+ \usebibmacro{labelyear+extrayear}%
+ \bibcloseparen%
+ \setunit{\addspace}%
+ \clearfield{extrayear}%
+ \printorigdateextra}% \usebibmacro{origyear+endyear}
+ \usebibmacro{clear+datefield}{}%
+ \usebibmacro{clear+datefield}{orig}}%
+ {\iffieldundef{origyear}%
+ {\iftoggle{cms@ordate}%
+ {}%
+ {\clearfield{extradate}}%
+ \usebibmacro{standard+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}% ???
+ {\iffieldundef{year}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\printtext{%
+ \bibopenparen%
+ \usebibmacro{origfirst+labelyear+extrayear}%
+ \bibcloseparen%
+ \setunit*{\addspace}%
+ \clearfield{extradate}%
+ \printdateextra}}}% \usebibmacro{year+endyear}
+ {\iffieldundef{year}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\printtext{%
+ \bibopenparen%
+ \clearfield{extradate}%
+ \printorigdateextra%
+ % \usebibmacro{origyear+endyear}%
+ \bibcloseparen%
+ \setunit*{\addspace}%
+ \usebibmacro{standard+labelyear+extrayear}}}}%
+ \usebibmacro{clear+datefield}{orig}%
+ \usebibmacro{clear+datefield}{}}}}}%
+
+\newbibmacro*{pubstate}{%
+ \iffieldequalstr{pubstate}{reprint}%
+ {\iftoggle{cms@switchdates}%
+ {\iffieldundef{year}% Fix for consistency???
+ {}%
+ {\printtext{% 16th ed.
+ \usebibmacro{choosepubstring}%
+ \printdate}}}% Need \addperiod & \nopunct ??
+ {\iffieldundef{origyear}%
+ {}%
+ {\printtext{% 16th ed.
+ \usebibmacro{choosepubstring}%
+ \printorigdate}}}}% Need \addperiod & \nopunct ??
+ {}}% 17th ed.
+
+\newbibmacro*{choosepubstring}{%
+ \ifthenelse{\ifentrytype{video}\OR%
+ \ifentrytype{music}}%
+ {\bibstring{origreleaseyear}}%
+ {\bibstring{origpubyearalt}}}%
+
+\newbibmacro*{bibreprint}{%
+ \iffieldequalstr{pubstate}{reprint}%
+ {\ifentrytype{video}%
+ {}%
+ {\iffieldundef{origyear}%
+ {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit
+ {\iftoggle{cms@switchdates}%
+ {\bibstring{reprint}\reprintpunct}% 16th ed. \newcunit
+ {}}}}%
+ {\iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\biblstring{\thefield{pubstate}}\reprintpunct}% \newcunit
+ {\printfield[prenote]{pubstate}\reprintpunct}}}}% \newcunit
+
+\newbibmacro*{volume+pages}{% Volume fix (modified)
+ \ifboolexpr{%
+ test {\iffieldundef{maintitle}}%
+ or
+ togl {cms@vol}%
+ }%
+ {\global\togglefalse{cms@vol}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\printfield{pages}%
+ \newunit%
+ \printfield{volumes}}%
+ {\iffieldundef{part}%
+ {\iffieldundef{pages}%
+ {\printfield{volume}}% Still print this w/o part or pages???
+ {\ifthenelse{\iffieldnums{pages}%
+ \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}%
+ {\printfield[default]{volume}%
+ \postvolpunct%
+ \printfield{pages}}%
+ {\printfield{volume}%
+ \addcomma\addspace%
+ \printfield{pages}}}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \newcunit%
+ \printfield{pages}}}}%
+ {\ifboolexpr{%
+ togl {cms@hidevolumes}%
+ and
+ (
+ not test {\iffieldundef{volume}}%
+ or
+ not test {\iffieldundef{part}}%
+ )
+ }%
+ {\printfield{pages}}%
+ {\printfield{pages}%
+ \newunit%
+ \printfield{volumes}}}}%
+
+\newbibmacro*{bibprexref}{% For back references
+ \iflistundef{pageref}{}{\savelist{pageref}{\cbx@incollpgref}}}%
+
+\newbibmacro*{bibpostxref}{% Volume fix
+ \iffieldundef{chapter}%
+ {\iffieldundef{pages}%
+ {\iffieldundef{volume}%
+ {\iffieldundef{part}%
+ {}%
+ {\newcunit\printfield{part}}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollvol}}%
+ and
+ test {\iffieldequalcs{volume}{cbx@incollvol}}%
+ }%
+ {\iffieldundef{part}%
+ {}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollpart}}%
+ and
+ test {\iffieldequalcs{part}{cbx@incollpart}}%
+ }%
+ {}%
+ {\newcunit\printfield{part}}}}%
+ {\iffieldundef{part}%
+ {\newcunit\printfield{volume}}%
+ {\newcunit\printfield{volume}\printfield{part}}}}}%
+ {\iffieldundef{volume}%
+ {\iffieldundef{part}%
+ {\newcunit\printfield{pages}}%
+ {\newcunit\printfield{part}\newcunit\printfield{pages}}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollvol}}%
+ and
+ test {\iffieldequalcs{volume}{cbx@incollvol}}%
+ }%
+ {\iffieldundef{part}%
+ {\newcunit\printfield{pages}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollpart}}%
+ and
+ test {\iffieldequalcs{part}{cbx@incollpart}}%
+ }%
+ {\newcunit\printfield{pages}}%
+ {\newcunit\printfield{part}\newcunit\printfield{pages}}}}%
+ {\iffieldundef{part}%
+ {\ifthenelse{\iffieldnums{pages}%
+ \AND\iffieldundef{bookpagination}\AND\iffieldnums{volume}}%
+ {\newcunit\printfield[default]{volume}%
+ \postvolpunct%
+ \printfield{pages}}%
+ {\newcunit\printfield{volume}%
+ \addcomma\addspace%
+ \printfield{pages}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \newcunit%
+ \printfield{pages}}}}}}%
+ {\newcunit\printfield{chapter}}%
+ \iftoggle{cms@xrefurl}%
+ {\newunit%
+ \usebibmacro{bib+doi+url}}%
+ {}%
+ \ifcsdef{cbx@incollpgref}% Here we print and clear the child's
+ {\restorelist{pageref}{\cbx@incollpgref}% backrefs
+ \newunit%
+ \usebibmacro{pageref}%
+ \global\let\cbx@incollpgref\undefined}%
+ {}}%
+
+\newbibmacro*{volume+or+volumes}{% Volume fix (modified)
+ \iffieldundef{maintitle}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\printfield{volumes}}%
+ {\printfield{volume}%
+ \printfield{part}}}%
+ {\ifboolexpr{%
+ togl {cms@hidevolumes}%
+ and
+ (
+ not test {\iffieldundef{volume}}%
+ or
+ not test {\iffieldundef{part}}%
+ )
+ }%
+ {}%
+ {\printfield{volumes}}}}
+
+\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}% Test ???
+ {\iffieldundef{title}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}% Volume-less treatment?
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}%
+
+\newbibmacro*{btitle+bstitle}{% InIn fix from N&B
+ \iffieldundef{booktitle}%
+ {}%
+ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}}%
+ {}%
+ {\usebibmacro{cms-in:}}%
+ \printtext{%
+ \printfield{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[booksubtitle]{booksubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \setunit*{\addcomma\addspace}}}%
+
+\newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{%
+ \usebibmacro{btitle+bstitle}%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR%
+ \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}%
+ {\usebibmacro{cms-in:}% Volume-less treatment?
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}%
+ \toggletrue{cms@vol}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}%
+
+\newbibmacro*{cjournal+ser+vol+num}[1]{% Moved to bbx
+ \usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}%
+ {}%
+ {\newcunit
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND%
+ \iffieldundef{issue}\AND\iffieldundef{#1season}}%
+ {\iffieldundef{volume}%
+ {\newcunit%
+ \printfield[journum]{number}%
+ \clearfield{number}%
+ \printunit{\addcomma\addspace}}%
+ {\printfield[jourvol]{volume}%
+ \setunit{\addcomma\addspace}}}%
+ {\printfield[jourvol]{volume}%
+ \newcunit%
+ \printfield[journum]{number}%
+ \clearfield{number}%
+ \setunit{\addcomma\addspace}}}% eid moved for 17th ed.
+ % \printfield{eid}%
+ % \newunit}%
+
+\newbibmacro*{journal+issue+year+pages}[1]{%
+ \ifboolexpr{%
+ not togl {cms@numbermonth}%
+ or
+ test {\ifcsstring{blx@dateformat@date}{year}}%
+ }%
+ {\clearfield{#1month}}%
+ {}%
+ \usebibmacro{cjournal+ser+vol+num}{#1}%
+ \setunit{\addspace}%
+ \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}%
+ \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND%
+ \iffieldundef{#1season}}% Test year for related entries??
+ {\ifthenelse{\iffieldundef{bookpagination}\AND%
+ \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}}% This may not be universally correct.
+ {\printtext[parens]{% Perhaps if it's wrong use magazine subtype?
+ \iffieldundef{issue}%
+ {\usebibmacro{date}%
+ \printfield{number}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}%
+ \setunit{\addcolon\addspace}}%
+ \usebibmacro{eid+or+pages}}%
+
+\newbibmacro*{periodical+issue+year+pages}[1]{%
+ \ifboolexpr{%
+ not togl {cms@numbermonth}%
+ or
+ test {\ifcsstring{blx@dateformat@date}{year}}%
+ }%
+ {\clearfield{#1month}}%
+ {}%
+ \usebibmacro{cperiodical+ser+vol+num}{#1}%
+ \setunit{\addspace}%
+ \ifthenelse{\iffieldundef{issue}\AND\iffieldundef{#1month}%
+ \AND\iffieldundef{number}\AND\iffieldundef{#1year}\AND%
+ \iffieldundef{#1season}}% See prev. macro
+ {\ifthenelse{\iffieldundef{bookpagination}\AND%
+ \iffieldundef{eid}\AND\NOT\iffieldundef{volume}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}}%
+ {\printtext[parens]{%
+ \iffieldundef{issue}%
+ {\usebibmacro{date}%
+ \printfield{number}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}%
+ \setunit{\addcolon\addspace}}%
+ \usebibmacro{eid+or+pages}}%
+
+\newbibmacro*{eid+or+pages}{%
+ \iffieldundef{eid}%
+ {\printfield{pages}}%
+ {\printfield{eid}}}
+
+\newbibmacro*{bycompiler}{%
+ \ifnameundef{namec}%
+ {}%
+ {\bibstring{bycompiler}\addspace
+ \printnames[bycompiler]{namec}}}
+
+\renewbibmacro*{byeditor}{%
+ \ifnameundef{editor}%
+ {}%
+ {\usebibmacro{bytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{byeditorx}}%
+
+\renewbibmacro*{byeditorx}{%
+ \ifnameundef{editora}%
+ {}%
+ {\usebibmacro{bytypestrg}{editora}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \usebibmacro{editorpunct}}%
+ \ifnameundef{editorb}%
+ {}%
+ {\usebibmacro{bytypestrg}{editorb}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \usebibmacro{editorpunct}}%
+ \ifnameundef{editorc}%
+ {}%
+ {\usebibmacro{bytypestrg}{editorc}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \usebibmacro{editorpunct}}}
+
+\renewbibmacro*{byeditor+others}{%
+ \ifthenelse{\NOT\ifnameundef{editor}\AND
+ \(\iffieldundef{editortype}\OR
+ \iffieldequalstr{editortype}{editor}\)}%
+ {\def\@tempa{byeditor}%
+ \ifnamesequal{editor}{translator}%
+ {\edef\@tempa{\@tempa tr}%
+ \clearname{translator}}%
+ {}%
+ \ifnamesequal{editor}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{editor}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{editor}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{editor}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{editor}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{editor}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditorx}}%
+ {\usebibmacro{byeditor}}%
+ \usebibmacro{bytranslator+others}}%
+
+\renewbibmacro*{bytranslator+others}{%
+ \ifnameundef{translator}%
+ {}%
+ {\def\@tempa{bytranslator}%
+ \ifnamesequal{translator}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{translator}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{translator}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{translator}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{translator}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{translator}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\space
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{bycompiler+others}}%
+
+\newbibmacro*{bycompiler+others}{%
+ \ifnameundef{namec}%
+ {}%
+ {\def\@tempa{bycompiler}%
+ \ifnamesequal{namec}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{namec}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{namec}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{namec}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{namec}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\space
+ \printnames[bycompiler]{namec}%
+ \clearname{namec}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{byothers}}%
+
+\newbibmacro*{byothers}{% Changed for 0.9
+ \usebibmacro{cbytranslator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{bycompiler}%
+ \usebibmacro{editorpunct}%
+% \usebibmacro{byredactor}%
+% \usebibmacro{editorpunct}%
+ \usebibmacro{withcommentator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withannotator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withintroduction}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withforeword}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withafterword}}%
+
+%%%% Related functionality from standard.bbx %%%%
+
+\newcounter{bbx:relatedcount}
+\newcounter{bbx:relatedtotal}
+
+\newbibmacro*{related:init}{%
+ \csundef{bbx:relatedloop}}
+
+\newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}%
+ {\let\cms@related@hash\bbx@lasthash}{}}%
+\newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}%
+ {\global\let\bbx@lasthash\cms@related@hash%
+ \let\cms@related@hash\undefined}{}}%
+\newbibmacro*{begrelatedloop}{}
+\newbibmacro*{endrelatedloop}{}
+
+\newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}%
+\newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}%
+
+\def\ifrelatedloop{%
+ \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}%
+ or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}%
+
+\newbibmacro*{related}{%
+ \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
+ {}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
+ \def\bbx@tempa{}%
+ \setcounter{bbx:relatedtotal}{0}%
+ \def\do##1{%
+ \entrydata{##1}{%
+ \ifrelatedloop%
+ {}%
+ {\stepcounter{bbx:relatedtotal}%
+ \gappto{\bbx@tempa}{##1,}}}}%
+ \docsvfield{related}%
+ \restorefield{related}{\bbx@tempa}%
+ \ifnumgreater{\value{bbx:relatedtotal}}{0}%
+ {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}%
+ \iffieldundef{clonesourcekey}%
+ {}%
+ {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}%
+ \setcounter{bbx:relatedcount}{0}%
+ \def\do{%
+ \stepcounter{bbx:relatedcount}%
+ \ifnumgreater{\value{bbx:relatedcount}}{1}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
+ {}}%
+ \ifbibmacroundef{related:\strfield{relatedtype}}%
+ {\appto{\do}{\usebibmacro{related:default}}}%
+ {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}%
+ \iffieldformatundef{related:\strfield{relatedtype}}%
+ {\def\bbx@tempa{related}}%
+ {\def\bbx@tempa{related:\strfield{relatedtype}}}%
+ \iffieldformatundef{relatedstring:\strfield{relatedtype}}%
+ {\def\bbx@tempb{relatedstring:default}}%
+ {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}%
+ \printtext[\bbx@tempa]{%
+ \usebibmacro{begrelatedloop}%
+ \iffieldundef{relatedstring}%
+ {\ifboolexpr{%
+ test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}%
+ and
+ test {\ifbibxstring{\thefield{relatedtype}s}}%
+ }%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}%
+ {\iffieldbibstring{relatedtype}%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}%
+ {}}}%
+ {\iffieldbibstring{relatedstring}%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}%
+ {\printfield[\bbx@tempb]{relatedstring}}}%
+ \docsvfield{related}%
+ \usebibmacro{endrelatedloop}}}%
+ {}%
+ \usebibmacro{endrelated}}}%
+
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx
new file mode 100644
index 0000000000..1e37ea0ecc
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx
@@ -0,0 +1,361 @@
+% This is a biblatex citation style file, originally adapted from
+% Lehman's authoryear-comp.cbx. It is heavily modified, with the
+% intention of providing inline citations (and a reference list) for
+% the author-date style of the Chicago Manual of Style, 17th edition.
+
+\ProvidesFile{chicago-authordate.cbx}[2020/04/20 v 3.14 biblatex
+citation style]
+
+\RequireCitationStyle{chicago-dates-common}
+
+%%%% Field Formats -- Title, Citetitle, Lostitle %%%%
+
+\DeclareFieldFormat{title}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{citetitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{lostitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{title}{%
+ \iffieldundef{title}%
+ {}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{citetitle}{%
+ \iffieldundef{title}%
+ {#1\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{lostitle}{%
+ \iffieldundef{title}%
+ {#1\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[artwork,image,inreference]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldAlias[artwork]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[artwork]{lostitle}[artwork]{title}
+
+\DeclareFieldAlias[image]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[image]{lostitle}[artwork]{title}
+
+\DeclareFieldAlias[inreference]{citetitle}[artwork]{title}
+
+\DeclareFieldAlias[inreference]{lostitle}[artwork]{title}
+
+\DeclareFieldFormat[letter]{title}{#1\isdot}
+
+\DeclareFieldFormat[letter]{citetitle}{#1\isdot}
+
+\DeclareFieldFormat[letter]{lostitle}{#1\isdot}
+
+\DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldAlias[suppbook]{citetitle}[suppbook]{lostitle}
+
+\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{%
+ \usebibmacro{inforaft}%
+ \addspace%
+ \mkbibemph{#1}\isdot}
+
+\DeclareFieldAlias[suppcollection]{citetitle}[suppbook]{lostitle}
+
+\DeclareFieldFormat[misc]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldAlias[misc]{citetitle}[misc]{title}
+
+\DeclareFieldAlias[misc]{lostitle}[misc]{title}
+
+\DeclareFieldFormat[report]{title}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}%
+
+\DeclareFieldFormat[report]{citetitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[report]{lostitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[review,suppperiodical]{title}{%
+ \ifcapital{\MakeCapital{#1\isdot}}%
+ {#1\isdot}}
+
+\DeclareFieldAlias[review]{lostitle}[review]{title}
+
+\DeclareFieldAlias[review]{citetitle}[review]{title}
+
+\DeclareFieldAlias[suppperiodical]{citetitle}[review]{title}
+
+\DeclareFieldAlias[suppperiodical]{lostitle}[review]{title}
+
+\DeclareFieldFormat{booktitle}{\mkbibemph{#1}}
+
+\DeclareFieldFormat{maintitle}{\mkbibemph{#1}}
+
+\DeclareFieldFormat{booksubtitle}{\mkbibemph{#1}}
+
+\DeclareFieldFormat{mainsubtitle}{\mkbibemph{#1}}
+
+\DeclareFieldFormat[audio,music,video]{title}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[video]{citetitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}}
+
+\DeclareFieldAlias[video]{lostitle}[video]{title}
+
+\DeclareFieldAlias[music]{citetitle}[music]{title}
+
+\DeclareFieldAlias[music]{lostitle}[music]{title}
+
+\DeclareFieldAlias[audio]{citetitle}[audio]{title}
+
+\DeclareFieldAlias[audio]{lostitle}[audio]{title}
+
+\DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}}
+
+%%%% Formatting macros, called both by cbx and bbx %%%%
+
+\newbibmacro*{video+title}{% Simplifies trad style.
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}}
+
+\newbibmacro*{italtitle+stitle}{%
+ \printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock}
+
+\newbibmacro*{mag+news+title}{%
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%\setunit{\addcomma\addspace}
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{titleaddon}}%
+ }%\newcunit\newblock
+
+\newbibmacro*{issuetitle}{%
+ \iffieldundef{issuetitle}%
+ {}%
+ {\ifthenelse{\ifentrytype{article}\OR%
+ \ifentrytype{review}\OR%
+ \ifentrytype{suppperiodical}}% This test is for
+ {\usebibmacro{cms-in:}}% periodical entries
+ {}%
+ \printtext[issuetitle]{%
+ \printfield[itnoformat]{issuetitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sitnoformat]{issuesubtitle}}}}
+
+%%%% Related macros that can't reside in common.cbx %%%%
+
+\newbibmacro*{related:reviewof}[1]{%
+ \entrydata*{#1}{%
+ \let\newunit\newcunit% FIXME??
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \newcunit%
+ \ifnameundef{author}%
+ {\newcunit%
+ \usebibmacro{byeditor+others}}%
+ {\bibstring{by}\addspace%
+ \printnames[byauthor]{author}%
+ \newcunit\usebibmacro{byeditor+others}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}}
+
+\DeclareFieldFormat{title:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibemph{#1}}
+
+\DeclareFieldFormat{ititle:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibquote{#1}}
+
+\DeclareFieldFormat{chapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1\addspace\bibstring{in}}
+
+\DeclareFieldFormat{avchapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1}
+
+\DeclareFieldFormat{muschapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{track}}%
+ \endgroup
+ \bibstring{track}~#1}%
+
+\DeclareFieldFormat{sitnoformat}{#1}
+\DeclareFieldFormat{sjtnoformat}{#1}
+\DeclareFieldFormat{stnoformat}{#1}
+\DeclareFieldFormat{itnoformat}{#1}
+\DeclareFieldFormat{jtnoformat}{#1}
+\DeclareFieldFormat{jtsnoformat}{#1}
+\DeclareFieldFormat{tnoformat}{#1}
+
+\newbibmacro*{cms:titlehook}{% Needed for the full drivers in reprintfrom
+ \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR%
+ \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR%
+ \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR%
+ \ifentrytype{music}\OR\ifentrytype{video}\)}%
+ {\iffieldundef{issuetitle}%
+ {\iffieldundef{title}%
+ {\iffieldundef{booktitle}%
+ {\iffieldundef{journaltitle}% Switch order for 17th ed.
+ {\iffieldundef{maintitle}%
+ {}%
+ {\DeclareFieldAlias{maintitle}{title:hook}}}%
+ {\DeclareFieldAlias{jtnoformat}{title:hook}%
+ \DeclareFieldAlias{sjtnoformat}{title}%
+ \DeclareFieldAlias{journaltitle}{default}%
+ \DeclareFieldAlias{shortjournal}{series}%
+ \DeclareFieldAlias{jtsnoformat}{title:hook}}}%
+ {\DeclareFieldAlias{booktitle}{title:hook}}}%
+ {\DeclareFieldAlias{tnoformat}{title:hook}%
+ \DeclareFieldAlias{stnoformat}{citetitle}%
+ \DeclareFieldAlias[video]{title}{default}%
+ \DeclareFieldAlias[audio]{title}{default}%
+ \DeclareFieldAlias[music]{title}{default}%
+ \DeclareFieldAlias{title}{default}%
+ \DeclareFieldAlias[periodical]{shorttitle}{series}}}%
+ {\iffieldundef{issuesubtitle}%
+ {\DeclareFieldAlias{itnoformat}{ititle:hook}%
+ \DeclareFieldAlias{issuetitle}{default}}%
+ {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}%
+ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}}%
+ {\iffieldundef{title}%
+ {\ifentrytype{music}%
+ {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}%
+ {\DeclareFieldAlias{chapter}{avchapter:hook}}}%
+ {\DeclareFieldAlias{tnoformat}{title:hook}%
+ \DeclareFieldAlias{stnoformat}{citetitle}%
+ \DeclareFieldAlias[video]{title}{default}%
+ \DeclareFieldAlias[audio]{title}{default}%
+ \DeclareFieldAlias[music]{title}{default}}}%
+ {\DeclareFieldAlias{chapter}{chapter:hook}}}}%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx
index 7032fd8b01..e0bde354e9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-authordate.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx
@@ -1,10 +1,8 @@
-% $Id: chicago-authordate.bbx,v 0.9.1.13 2018/01/11 09:25:52 dfussner Exp $
-
% This is a biblatex style file, adapted mainly from Lehman's
% standard.bbx and from chicago-notes.bbx. It provides the
% reference list formatting for the Chicago author-date style.
-\ProvidesFile{chicago-authordate.bbx}[2018/01/11 v 3.10 biblatex
+\ProvidesFile{chicago-authordate16.bbx}[2020/04/20 v 3.14 biblatex
bibliography style]
%%%% Initialize and format bibliography and los %%%%
@@ -14,7 +12,11 @@ bibliography style]
\DeclareFieldFormat{shorthandwidth}{#1}
-\DeclareFieldFormat{shortjournalwidth}{\mkbibemph{\textbf{#1}}\isdot}
+\DeclareFieldFormat{shortjournalwidth}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\textbf{#1}\isdot}%
+ {\mkbibemph{\textbf{#1}}\isdot}}%
\newlength{\lositemsep}
@@ -28,19 +30,6 @@ bibliography style]
{\endlist}
{\item}
-\defbibenvironment{shorthands}% biblatex < 2.9
- {\list
- {\printfield[shorthandwidth]{shorthand}}%
- {\setlength{\labelwidth}{\shorthandwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\lositemsep}%
- \setlength{\parsep}{\bibparsep}%
- \renewcommand*{\makelabel}[1]{##1\hss}}}
- {\endlist}
- {\item}
-
\defbibenvironment{shorthand}
{\list
{\printfield[shorthandwidth]{shorthand}}%
@@ -123,6 +112,15 @@ bibliography style]
{\endlist\nopunct\vspace{-\baselineskip}}
{\item}
+\defbibcheck{shorthand}{%
+ \iftoggle{cms@los}%
+ {\iffieldundef{shorthand}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shorthand}}%
+ {\skipentry}%
+ {\savefieldcs{shorthand}{\strfield{shorthand}}}}}%
+ {}}%
+
\defbibcheck{shortjournal}{% Only one list
\iffieldundef{shortjournal}%
{\skipentry}%
@@ -290,28 +288,50 @@ bibliography style]
\newbibmacro*{justauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
- {\printnames{author}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printnames{author}%
+ \ifentrytype{customc}{}%
+ {\setunit{\addspace}\printfield{nameaddon}}\bibcloseparen%
+ \ifentrytype{customc}%
+ {\newunit\printfield{nameaddon}}%
+ {}}%
+ {\printnames{author}%
+ \ifentrytype{customc}{\newunit}{\setunit{\addspace}}%
+ \printfield{nameaddon}}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{moreauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\usebibmacro{pickeditor}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -319,8 +339,11 @@ bibliography style]
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\iftoggle{cms@authorparens}%
- {\bibopenparen\printnames{author}\bibcloseparen}%
- {\printnames{author}}%
+ {\bibopenparen\printnames{author}%
+ \setunit{\addspace}\printfield{nameaddon}\bibcloseparen}%
+ {\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{pickeditor}{%
@@ -331,15 +354,26 @@ bibliography style]
\newbibmacro*{moreeditor}{%
\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\editordelim}%
- {\printnames{editor}\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
\savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{editstrg}}}
+ \usebibmacro{editstrg}}}%
\renewbibmacro*{editor}{%
\iftoggle{cms@headlessnote}%
@@ -347,35 +381,68 @@ bibliography style]
{\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames{editor}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\editordelim}%
- {\printnames{editor}\editordelim}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{editstrg}}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}}
\newbibmacro*{parteditor}{%
\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\nameadelim}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namea}%
+ \setunit{\addspace}\printfield{nameaddon}%
\bibcloseparen\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}
@@ -387,39 +454,72 @@ bibliography style]
\newbibmacro*{moretranslator}{%
\ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
{\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{translator}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{translator}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{transstrg}}}
\newbibmacro*{parttranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
{\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{nameb}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{nameb}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parttransstrg}}}
\newbibmacro*{compiler}{%
\ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addcomma}%
+ \printfield{nameaddon}\newcunit}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printnames[sortname]{namec}%
- \bibcloseparen\addcomma\addspace}%
- {\printnames[sortname]{namec}\addcomma\addspace}%
+ \setunit{\addspace}\printfield{nameaddon}%
+ \bibcloseparen\newcunit}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{compilestrg}}}
@@ -439,34 +539,16 @@ bibliography style]
\usebibmacro{shorthand:label}}%
{\mkbibemph{\bibstring{see}}%
\addspace%
- \usebibmacro{author/editor}}%
- \finentry}%
- {\iftoggle{cms@fullshhand}%
- {\usedriver{\frenchspacing}%
- {\thefield{entrytype}}%
- \finentry}%
- {\ifnameundef{labelname}%
- {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
- \ifentrytype{periodical}}%
- {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
- \newcunit}}%
- {\ifentrytype{manual}%
- {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
- {}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\space}}%
- \printfield[lostitle]{title}%
- \finentry}}}
-
-\DeclareBibliographyDriver{shorthands}{% biblatex < 2.9
- \iftoggle{cms@los}%
- {\ifnameundef{labelname}%
- {\mkbibemph{\bibstring{see}}%
- \addspace%
- \usebibmacro{shorthand:label}}%
- {\mkbibemph{\bibstring{see}}%
- \addspace%
- \usebibmacro{author/editor}}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ test {\ifentrytype{manual}}%
+ }%
+ {\printnames{\thefield{labelnamesource}}}%
+ {\ifentrytype{customc}%
+ {\clearfield{nameaddon}}%
+ {}%
+ \usebibmacro{author/editor}}}%
\finentry}%
{\iftoggle{cms@fullshhand}%
{\usedriver{\frenchspacing}%
@@ -480,8 +562,15 @@ bibliography style]
{\ifentrytype{manual}%
{\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
{}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\space}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{labelnamesource}{shortauthor}}%
+ and
+ test {\ifentrytype{manual}}%
+ }%
+ {\printnames{\thefield{labelnamesource}}\newunit}%
+ {\ifentrytype{customc}%
+ {\usebibmacro{justauthor}\setunit{\addspace}}%
+ {\usebibmacro{author/editor}\newunit}}}%
\printfield[lostitle]{title}%
\finentry}}}
@@ -582,7 +671,11 @@ bibliography style]
match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
final]
\step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
- }
+ }
+ \map[overwrite]{
+ \step[fieldsource=year, match=\regexp{^\\mkbibbrackets\{(.+)\}(.*)$},%$
+ replace=\regexp{[$1]$2}]% Kludge for backward compat.
+ }
}
}%
@@ -590,8 +683,6 @@ bibliography style]
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{mag+news+author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
@@ -607,7 +698,7 @@ bibliography style]
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed. clarifies punctuation
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock%
\usebibmacro{mag+news+date}%
@@ -639,8 +730,6 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef{\bbx@lasthash}{\usebibmacro{mag+news+title}\newunit}{}%
\usebibmacro{cmsbibsortdate}%
@@ -657,7 +746,7 @@ bibliography style]
\usebibmacro{issuetitle}%
\setunit*{\addcomma\addspace}%
\usebibmacro{byeditor+others}%
- \usebibmacro{editorpunct}%\newunit\newblock
+ \newunit\newblock% 17th ed.
\printfield{note}%
\setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
\usebibmacro{journal+issue+year+pages}%
@@ -690,8 +779,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -737,8 +824,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
@@ -834,8 +919,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -948,8 +1031,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1059,8 +1140,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1096,8 +1175,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1193,10 +1270,11 @@ bibliography style]
\DeclareBibliographyDriver{customc}{%
\usebibmacro{bibindex}%
- \usebibmacro{author/editor}%
- \newunit\newblock
- \printfield{nameaddon}%
- \setunit*{\addspace}%
+ \usebibmacro{shorthand:author}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
\usebibmacro{italtitle+stitle}%
\usebibmacro{finentry}}
@@ -1204,8 +1282,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1251,8 +1327,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1354,8 +1428,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1457,8 +1529,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -1798,8 +1868,6 @@ bibliography style]
\DeclareBibliographyDriver{legal}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1865,8 +1933,6 @@ bibliography style]
\iffieldequalstr{entrysubtype}{uk}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1930,8 +1996,6 @@ bibliography style]
{\iffieldequalstr{entrysubtype}{hansard}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -1988,8 +2052,6 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
@@ -2063,8 +2125,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{cmsbibsortdate}%
\newunit\newblock
@@ -2168,8 +2228,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author+org}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2213,8 +2271,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldundef{entrysubtype}%
{\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}}%
@@ -2274,8 +2330,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
@@ -2388,8 +2442,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2494,21 +2546,29 @@ bibliography style]
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
and
not togl {cms@origpublished}%
}%
- {\printtext[title]{% magazine subtype
- \printfield[tnoformat]{title}%
- \setunit{\subtitlepunct}%
- \printfield[stnoformat]{subtitle}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\clearlist{location}%
+ \clearfield{shorttitle}%
\clearfield{title}%
\clearfield{subtitle}%
\newunit\newblock}{}%
@@ -2548,21 +2608,29 @@ bibliography style]
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
test {\ifundef{\bbx@lasthash}}%
and
not togl {cms@origpublished}%
}%
- {\printtext[title]{% magazine subtype
- \printfield[tnoformat]{title}%
- \setunit{\subtitlepunct}%
- \printfield[stnoformat]{subtitle}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\clearlist{location}%
+ \clearfield{shorttitle}%
\clearfield{title}%
\clearfield{subtitle}%
\newunit\newblock}{}%
@@ -2605,8 +2673,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2755,8 +2821,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2801,8 +2865,6 @@ bibliography style]
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{mag+news+author}}%
{\usebibmacro{author/editor}}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef{\bbx@lasthash}%
{\ifboolexpr{%
@@ -2883,8 +2945,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{%
\usebibmacro{inforaft}%
@@ -2958,8 +3018,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -2993,8 +3051,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{\usebibmacro{italtitle+stitle}}{}%
\usebibmacro{cmsbibsortdate}%
@@ -3042,8 +3098,6 @@ bibliography style]
\usebibmacro{bibindex}%
\usebibmacro{shorthand:author}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\ifundef\bbx@lasthash{%
\usebibmacro{video+title}% Simplifies trad style
@@ -3192,11 +3246,23 @@ bibliography style]
or
not togl {cms@los}%
}%
- {\togglefalse{cms@authorparens}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT
- \iffirstonpage}%
+ {\togglefalse{cms@authorparens}%
+ \global\csundef{cms@shauthor}}%
+ {\ifboolexpr{%
+ ((
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ or
+ test {\iffieldequals{shorthand}{\cms@shauthor}}%
+ )
+ and
+ togl {cms@namedash}%
+ )
+ and
+ not test {\iffirstonpage}%
+ }%
{\togglefalse{cms@authorparens}}%
{\toggletrue{cms@authorparens}%
+ \savefield{shorthand}{\cms@shauthor}%
\printfield{shorthand}\addspace}}}
\newbibmacro*{shorthand:label}{% Test this
@@ -3225,6 +3291,639 @@ bibliography style]
{\usebibmacro{origfirst+labelyear+extrayear}}%
{\usebibmacro{standard+labelyear+extrayear}}}}
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\protected\def\cmsformatendextra{%
+ \ifboolexpr{%
+ test {\if@cms@endbracket}%
+ and
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {\usebibmacro{cmsextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}}
+
+\newbibmacro*{cmsextradate}{% For use with some date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \printfield{extradate}\clearfield{extradate}}}
+
+\newbibmacro*{cmsparensextradate}{% For use with other date specs
+ \iffieldundef{extradate}%
+ {}%
+ {\setunit*{}%
+ \mkbibparens{\printfield{extradate}}\clearfield{extradate}}}
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}%
+ \global\booltrue{cms:extraparens}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}%
+ \global\booltrue{cms:extraparens}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \global\boolfalse{cms:extraparens}%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {\ifthenelse{\iffieldundef{#3endyear}\OR%
+ \iffieldequalstr{#3endyear}{}}%
+ {\global\booltrue{cms:extraparens}}%
+ {}%
+ \bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra}%\usebibmacro{cmsextradate}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra%\usebibmacro{cmsextradate}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}%
+ \cmsformatendextra}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
\newbibmacro*{standard+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
\iffieldequalstr{labelyear}{nodate}}% or new declaration ???
@@ -3243,86 +3942,14 @@ bibliography style]
{\iffieldundef{year}%
{\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}% DATE FIX
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}}%
\newbibmacro*{origfirst+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -3342,86 +3969,14 @@ bibliography style]
{\iffieldundef{origyear}%
{\iffieldundef{year}%
{\iffieldundef{eventyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}% DATE FIX
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}}%
\newbibmacro*{av+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -3441,106 +3996,23 @@ bibliography style]
{\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
{\iffieldundef{year}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {\clearfield{urlyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{urlyear}}%
- {\iffieldundef{urlmonth}%
- {\clearfield{urlyear}}%
- {\iffieldsequal{urlyear}{urlendyear}%
- {\clearfield{urlyear}\clearfield{urlendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {\clearfield{year}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{year}}%
- {\iffieldundef{month}%
- {\clearfield{year}}%
- {\iffieldsequal{year}{endyear}%
- {\clearfield{year}\clearfield{endyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {\clearfield{origyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{origyear}}%
- {\iffieldundef{origmonth}%
- {\clearfield{origyear}}%
- {\iffieldsequal{origyear}{origendyear}%
- {\clearfield{origyear}\clearfield{origendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}% DATE FIX
- {\clearfield{eventyear}}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}%
- \clearfield{eventyear}}%
- {\iffieldundef{eventmonth}%
- {\clearfield{eventyear}}%
- {\iffieldsequal{eventyear}{eventendyear}%
- {\clearfield{eventyear}\clearfield{eventendyear}}%
- {}}%
- \usebibmacro{cms@test@labelend}}}}}}%
+ {\printurldateextra%
+ \usebibmacro{clear+datefield}{url}}%
+ {\printdateextra%
+ \usebibmacro{clear+datefield}{}}}%
+ {\printorigdateextra%
+ \usebibmacro{clear+datefield}{orig}}}%
+ {\printeventdateextra%
+ \usebibmacro{clear+datefield}{event}}}}%
-\newbibmacro*{origyear+endyear}{%
- \printfield{origyear}%
- \ifthenelse{\iffieldundef{origendyear}\OR%
- \iffieldsequal{origyear}{origendyear}}% Same fix as in .lbx
- {}%
- {\iffieldequalstr{origendyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash\csuse{mkbibdatelong}{origendyear}{}{}}}}% ???
-
-% \printfield{origendyear}}}} Peculiar bug with this after \bibnamedash
-
-\newbibmacro*{year+endyear}{%
- \printfield{year}%
- \ifthenelse{\iffieldundef{endyear}\OR%
- \iffieldsequal{year}{endyear}}% Same fix as in .lbx
- {}%
- {\iffieldequalstr{endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash\printfield{endyear}}}}
+\newbibmacro*{clear+datefield}[1]{%
+ \iffieldundef{#1endyear}%
+ {\clearfield{#1year}}%
+ {\ifthenelse{\iffieldundef{#1month}\AND\iffieldundef{#1season}}%
+ {\clearfield{#1year}}%
+ {\ifdateyearsequal{#1}{#1end}%
+ {\clearfield{#1year}\clearfield{#1endyear}}%
+ {}}}}%
\newbibmacro*{cmsbibsortdate}{% Attempt to solve date-related problems
\ifboolexpr{%
@@ -3572,10 +4044,7 @@ bibliography style]
{\usebibmacro{bothyear+oldstyle}}%
{\iftoggle{cms@bothlabelold}%
{\usebibmacro{bothyear+oldstyle}}%
- {\usebibmacro{labelyear+extrayear}}}}%
- \ifcsdef{@cms@tempdate}%
- {\toggletrue{\@cms@tempdate}}%
- {}}%
+ {\usebibmacro{labelyear+extrayear}}}}}%
\newbibmacro*{origyear+labelyear}{%
\ifboolexpr{ (
@@ -3600,8 +4069,9 @@ bibliography style]
\usebibmacro{standard+labelyear+extrayear}}%
{\iftoggle{cms@ordate}%
{\usebibmacro{origfirst+labelyear+extrayear}}%
- {\usebibmacro{origyear+endyear}%
- \clearfield{origyear}}}}}}%
+ {\clearfield{extradate}%
+ \printorigdateextra%\usebibmacro{origyear+endyear}%
+ \usebibmacro{clear+datefield}{orig}}}}}}%
\newbibmacro*{bothyear+oldstyle}{%
\ifboolexpr{ (
@@ -3622,9 +4092,11 @@ bibliography style]
\bibopenparen%
\usebibmacro{labelyear+extrayear}%
\bibcloseparen%
- \setunit{\addspace}\usebibmacro{origyear+endyear}}%
- \clearfield{year}%
- \clearfield{origyear}}%
+ \setunit{\addspace}%
+ \clearfield{extrayear}%
+ \printorigdateextra}% \usebibmacro{origyear+endyear}
+ \usebibmacro{clear+datefield}{}%
+ \usebibmacro{clear+datefield}{orig}}%
{\iffieldundef{origyear}%
{\iftoggle{cms@ordate}%
{}%
@@ -3638,15 +4110,20 @@ bibliography style]
\usebibmacro{origfirst+labelyear+extrayear}%
\bibcloseparen%
\setunit*{\addspace}%
- \usebibmacro{year+endyear}}}}%
- {\printtext{%
- \bibopenparen%
- \usebibmacro{origyear+endyear}%
- \bibcloseparen%
- \clearfield{extradate}\setunit*{\addspace}%
- \usebibmacro{standard+labelyear+extrayear}}}%
- \clearfield{origyear}%
- \clearfield{year}}}}}%
+ \clearfield{extradate}%
+ \printdateextra}}}% \usebibmacro{year+endyear}
+ {\iffieldundef{year}%
+ {\usebibmacro{origfirst+labelyear+extrayear}}%
+ {\printtext{%
+ \bibopenparen%
+ \clearfield{extradate}%
+ \printorigdateextra%
+ % \usebibmacro{origyear+endyear}%
+ \bibcloseparen%
+ \setunit*{\addspace}%
+ \usebibmacro{standard+labelyear+extrayear}}}}%
+ \usebibmacro{clear+datefield}{orig}%
+ \usebibmacro{clear+datefield}{}}}}}%
\newbibmacro*{pubstate}{%
\iftoggle{cms@reprint}%
@@ -3878,16 +4355,17 @@ bibliography style]
\printlist[periodplace]{location}%
\setunit*{\addspace}%
\iffieldundef{series}%
- {}%
- {\newcunit
- \printfield[jourser]{series}%
- \newcunit}%\setunit*{\addspace}?
- \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {}%
+ {\newcunit
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{issue}\AND\iffieldundef{season}}%
{\iffieldundef{volume}%
{\newcunit%
\printfield[journum]{number}%
\clearfield{number}%
- \setunit{\addcomma\addspace}}%
+ \printunit{\addcomma\addspace}}%
{\printfield[jourvol]{volume}%
\setunit{\addcomma\addspace}}}%
{\printfield[jourvol]{volume}%
@@ -3909,9 +4387,9 @@ bibliography style]
\usebibmacro{cjournal+ser+vol+num}%
\setunit{\addspace}%
\ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}%
- \AND\iffieldundef{number}\AND\iffieldundef{year}}% Test year for
- {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT% related entries??
- \iffieldundef{volume}}% Removed kludge for French colon spacing?
+ \AND\iffieldundef{number}\AND\iffieldundef{year}\AND%
+ \iffieldundef{season}}% Test year for related entries??
+ {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}}% This may not be universally correct.
{\printtext[parens]{% Perhaps if it's wrong use magazine subtype?
@@ -3935,9 +4413,9 @@ bibliography style]
\usebibmacro{cperiodical+ser+vol+num}%
\setunit{\addspace}%
\ifthenelse{\iffieldundef{issue}\AND\iffieldundef{month}%
- \AND\iffieldundef{number}\AND\iffieldundef{year}}% See prev. macro
- {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT%
- \iffieldundef{volume}}% Removed kludge for French ???
+ \AND\iffieldundef{number}\AND\iffieldundef{year}\AND%
+ \iffieldundef{season}}% See prev. macro
+ {\ifthenelse{\iffieldundef{bookpagination}\AND\NOT\iffieldundef{volume}}%
{\setunit{\postvolpunct}}%
{\setunit{\addcolon\addspace}}}%
{\printtext[parens]{%
@@ -4115,6 +4593,9 @@ bibliography style]
\newbibmacro*{begrelatedloop}{}
\newbibmacro*{endrelatedloop}{}
+\newcommand*{\begrelateddelimmaintitle}{\newunitpunct\par\nobreak}%
+\newcommand*{\begrelateddelimmaintitlenc}{\newunitpunct\par\nobreak}%
+
\def\ifrelatedloop{%
\ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}%
or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}%
@@ -4122,12 +4603,15 @@ bibliography style]
\newbibmacro*{related}{%
\ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
{}%
- {\usebibmacro{begrelated}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
\def\bbx@tempa{}%
\setcounter{bbx:relatedtotal}{0}%
\def\do##1{%
\entrydata{##1}{%
- \ifrelatedloop
+ \ifrelatedloop%
{}%
{\stepcounter{bbx:relatedtotal}%
\gappto{\bbx@tempa}{##1,}}}}%
@@ -4142,7 +4626,13 @@ bibliography style]
\def\do{%
\stepcounter{bbx:relatedcount}%
\ifnumgreater{\value{bbx:relatedcount}}{1}%
- {\printtext{\relateddelim}}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
{}}%
\ifbibmacroundef{related:\strfield{relatedtype}}%
{\appto{\do}{\usebibmacro{related:default}}}%
@@ -4176,4 +4666,270 @@ bibliography style]
{}%
\usebibmacro{endrelated}}}%
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx
index f0abe6ed18..725a201aec 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-authordate.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx
@@ -1,14 +1,12 @@
-% $Id: chicago-authordate.cbx,v 0.9.1.4 2018/01/11 09:29:25 dfussner Exp $
-
% This is a biblatex citation style file, adapted from Lehman's
% authoryear-comp.cbx. It is heavily modified, with the intention of
% providing inline citations (and a reference list) for the
% author-date style of the Chicago Manual of Style, 16th edition.
-\ProvidesFile{chicago-authordate.cbx}[2018/01/11 v 3.10 biblatex
+\ProvidesFile{chicago-authordate16.cbx}[2020/04/20 v 3.14 biblatex
citation style]
-\RequireCitationStyle{chicago-dates-common}
+\RequireCitationStyle{chicago-dates-common16}
%%%% Field Formats -- Title, Citetitle, Lostitle %%%%
@@ -212,6 +210,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibemph{#1}}
@@ -225,6 +228,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibquote{#1}}
@@ -238,6 +246,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1\addspace\bibstring{in}}
@@ -251,6 +264,11 @@ citation style]
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
new file mode 100644
index 0000000000..902b41fa64
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
@@ -0,0 +1,4128 @@
+% This is a biblatex citation style file, originally adapted from
+% Lehman's authoryear-comp.cbx. It is heavily modified, and contains
+% the common code for providing inline citations (and a reference
+% list) for the two author-date styles of the Chicago Manual of Style,
+% 17th edition.
+
+\ProvidesFile{chicago-dates-common.cbx}[2020/04/20 v 3.14 biblatex
+citation style]
+
+%%%% Biblatex initialization + Chicago options + Toggles %%%%
+
+\newbool{cbx:parens}
+\newbool{cms:bracket}
+\newbool{cms:extraparens}
+\newbool{cms:comma}
+
+\providecommand*{\mkibid}[1]{#1}
+
+\providetoggle{cms@inlineibid}
+\providetoggle{cms@origlabel}
+\providetoggle{cms@bothlabelold}
+\providetoggle{cms@bothlabelnew}
+\providetoggle{cms@fulldate}
+\providetoggle{cms@switchdates}
+\providetoggle{cms@los}
+\providetoggle{cms@avdate}
+\providetoggle{cms@ordate}
+\providetoggle{cms@nodates}
+\providetoggle{cms@bc}% Attempt to provide correct dateera handling
+\providetoggle{cms@alwaysrange}% Turns off decade and century handling
+\providetoggle{cms@decaderange}% Only turns off decade handling
+\providetoggle{cms@centuryrange}% Only turns off century handling
+\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa
+\providetoggle{cms@noyearbrackets}%
+\providetoggle{cms@authorparens}
+\providetoggle{cms@modpostnote}
+\providetoggle{cms@ukord}
+\providetoggle{cms@fullnote}% For the legal entry types
+\providetoggle{cms@shortnote}% Ditto
+
+\providetoggle{cms@url}% These are for the field-exclusion options
+\providetoggle{cms@urltime}% 17th ed.
+\providetoggle{cms@doi}
+\providetoggle{cms@doionly}
+\providetoggle{cms@eprint}
+\providetoggle{cms@isbn}
+\providetoggle{cms@numbermonth}
+\providetoggle{cms@bookpages}
+\providetoggle{cms@shser}
+\providetoggle{cms@addendum}
+\providetoggle{cms@hidevolumes}% Modify Volume fix
+\providetoggle{cms@comprange}
+\providetoggle{cms@compyears}
+
+\providetoggle{cms@jrcomma}% Comma after Jr./Sr.
+
+\providetoggle{cms@strict}
+\providetoggle{cms@headlessnote}% Keep
+\providetoggle{cms@noibid}% Keep
+\providetoggle{cms@namedash}
+\providetoggle{cms@usecompiler}% Keep
+\providetoggle{cms@origpublished}% Keep
+\providetoggle{cms@annotation}% Keep
+\providetoggle{cms@postposit}% Keep
+\providetoggle{cms@fullshhand}%
+\providetoggle{cms@allshort}% For legal types
+\providetoggle{cms@noneshort}% Ditto
+\providetoggle{cms@legalnotes}% Ditto
+\providetoggle{cms@supranotes}% Ditto
+\providetoggle{cms@running@text}% For Jurisdiction entries
+\providetoggle{cms@vol}%
+\providetoggle{cms@crossref}%
+\providetoggle{cms@bookcrossref}
+\providetoggle{cms@gencite}
+\providetoggle{cms@genallnames}
+\providetoggle{cms@xrefurl}
+\providetoggle{cms@related}
+\providetoggle{cms@linkit}
+\providetoggle{cms@authortitle}
+
+\AtEveryCitekey{%
+ \iffieldundef{userc}%
+ {}%
+ {\nocite{\thefield{userc}}}%
+ \global\csundef{@cmsst}}%
+
+\protected\def\cms@warning@noline#1{%
+ \begingroup
+ \blx@safe@actives
+ \PackageWarningNoLine{biblatex-chicago}{#1}%
+ \endgroup}%
+
+\DeclareBibliographyOption[string]{avdate}[true]{%
+ \ifcsdef{cms@opt@avdate@#1}%
+ {\csuse{cms@opt@avdate@#1}}%
+ {\blx@err@invopt{avdate=#1}{}}}%
+\def\cms@opt@avdate@true{%
+ \DeclareLabeldate[music,review,standard,suppperiodical,video]% 17th ed.
+ {\field{eventdate} \field{origdate} \field{date} \field{year}%
+ \field{urldate} \literal{nodate}}%
+ \toggletrue{cms@avdate}}%
+\def\cms@opt@avdate@false{%
+ \togglefalse{cms@avdate}}%
+
+\DeclareBibliographyOption[string]{cmsdate}[off]{% Implement origyear as
+ \ifcsdef{cms@global@cmsdate@#1}% labelyear. Sorting will be an issue.
+ {\csuse{cms@global@cmsdate@#1}}%
+ {\csuse{cms@global@cmsdate@off}\cms@warning@noline%
+ {'cmsdate=#1' isn't a valid option.\MessageBreak
+ The default - 'off' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@global@cmsdate@on{%
+ \toggletrue{cms@origlabel}%
+ \ExecuteBibliographyOptions{cmsorigdate=true}}%
+\def\cms@global@cmsdate@new{%
+ \toggletrue{cms@bothlabelnew}%
+ \ExecuteBibliographyOptions{cmsorigdate=true}}%
+\def\cms@global@cmsdate@old{%
+ \toggletrue{cms@bothlabelold}%
+ \ExecuteBibliographyOptions{cmsorigdate=true}}%
+\def\cms@global@cmsdate@both{%
+ \toggletrue{cms@bothlabelold}%
+ \ExecuteBibliographyOptions{cmsorigdate=true}}%
+\def\cms@global@cmsdate@full{}%
+\def\cms@global@cmsdate@off{}%
+
+\DeclareBibliographyOption[string]{cmsorigdate}[true]{% ? Also need new macros
+ \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ?
+ {\csuse{cms@opt@origdate@#1}}%
+ {\blx@err@invopt{cmsorigdate=#1}{}}}%
+\def\cms@opt@origdate@true{%
+ \DeclareLabeldate{\field{origdate} \field{origyear} \field{date}%
+ \field{year} \field{eventdate} \field{urldate}%
+ \literal{nodate}}%
+ \DeclareLabeldate[patent]{\field{date} \field{year}%
+ \field{eventdate} \field{origdate} \field{origyear}%
+ \field{urldate}}%
+ \global\toggletrue{cms@ordate}}%
+\def\cms@opt@origdate@false{\togglefalse{cms@ordate}}%
+
+\DeclareEntryOption[string]{cmsdate}[off]{% Trying to implement origyear as
+ \ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue.
+ {\csuse{cms@opt@cmsdate@#1}}%
+ {\csuse{cms@opt@cmsdate@off}\cms@warning@noline%
+ {'cmsdate=#1' isn't a valid option.\MessageBreak
+ The default - 'off' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@cmsdate@on{%
+ \toggletrue{cms@origlabel}}%
+\def\cms@opt@cmsdate@new{%
+ \toggletrue{cms@bothlabelnew}}%
+\def\cms@opt@cmsdate@old{%
+ \toggletrue{cms@bothlabelold}}%
+\def\cms@opt@cmsdate@both{%
+ \toggletrue{cms@bothlabelold}}%
+\def\cms@opt@cmsdate@full{%
+ \toggletrue{cms@fulldate}}%
+\def\cms@opt@cmsdate@off{}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{%
+ \settoggle{cms@alwaysrange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{%
+ \settoggle{cms@decaderange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{%
+ \settoggle{cms@centuryrange}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{%
+ \settoggle{cms@nodatebrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{%
+ \settoggle{cms@noyearbrackets}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{%
+ \settoggle{cms@genallnames}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{%
+ \settoggle{cms@linkit}{#1}}%
+
+\DeclareBibliographyOption[boolean]{annotation}[true]{%
+ \global\settoggle{cms@annotation}{#1}}%
+
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \settoggle{cms@namedash}{#1}}
+
+\DeclareBibliographyOption[boolean]{short}[true]{%
+ \global\settoggle{cms@allshort}{#1}}
+
+\DeclareBiblatexOption{global,entry}[boolean]{noneshort}[true]{%
+ \settoggle{cms@noneshort}{#1}}
+
+\DeclareBibliographyOption[boolean]{legalnotes}[true]{%
+ \global\settoggle{cms@legalnotes}{#1}}
+
+\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{%
+ \settoggle{cms@supranotes}{#1}}
+
+\DeclareBibliographyOption[boolean]{cmslos}[true]{%
+ \global\settoggle{cms@los}{#1}}%
+
+\DeclareBibliographyOption[boolean]{noibid}[true]{%
+ \global\settoggle{cms@noibid}{#1}}%
+
+\DeclareBibliographyOption[boolean]{compresspages}[true]{%
+ \global\settoggle{cms@comprange}{#1}}%
+
+\DeclareBibliographyOption[boolean]{compressyears}[true]{%
+ \global\settoggle{cms@compyears}{#1}}%
+
+\DeclareBibliographyOption[string]{postnotepunct}[true]{%
+ \ifcsdef{cms@opt@ppunct@#1}%
+ {\csuse{cms@opt@ppunct@#1}}%
+ {\blx@err@invopt{postnotepunct=#1}{}}}%
+\def\cms@opt@ppunct@true{%
+ \global\toggletrue{cms@modpostnote}}%
+\def\cms@opt@ppunct@false{}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{%
+ \settoggle{blx@usenamec}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{nodates}[true]{%
+ \settoggle{cms@nodates}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{%
+ \settoggle{cms@jrcomma}{#1}}%
+
+\DeclareBibliographyOption[boolean]{shorthandfull}[true]{%
+ \settoggle{cms@fullshhand}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{%
+ \ifcsdef{cms@opt@lxref@#1}%
+ {\csuse{cms@opt@lxref@#1}}%
+ {\blx@err@invopt{longcrossref=#1}{}}}%
+\def\cms@opt@lxref@none{%
+ \togglefalse{cms@crossref}%
+ \togglefalse{cms@bookcrossref}}%
+\def\cms@opt@lxref@true{%
+ \toggletrue{cms@crossref}}%
+\def\cms@opt@lxref@false{%
+ \togglefalse{cms@crossref}}%
+\def\cms@opt@lxref@notes{%
+ \togglefalse{cms@crossref}}%
+\def\cms@opt@lxref@bib{%
+ \toggletrue{cms@crossref}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{booklongxref}[true]{%
+ \ifcsdef{cms@opt@bklxref@#1}%
+ {\csuse{cms@opt@bklxref@#1}}%
+ {\blx@err@invopt{booklongxref=#1}{}}}%
+\def\cms@opt@bklxref@true{%
+ \toggletrue{cms@bookcrossref}}%
+\def\cms@opt@bklxref@false{%
+ \togglefalse{cms@bookcrossref}}%
+\def\cms@opt@bklxref@notes{%
+ \togglefalse{cms@bookcrossref}}%
+\def\cms@opt@bklxref@bib{%
+ \toggletrue{cms@bookcrossref}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{%
+ \settoggle{cms@xrefurl}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{%
+ \ifcsdef{cms@opt@jtabb@#1}%
+ {\csuse{cms@opt@jtabb@#1}}%
+ {\csuse{cms@opt@jtabb@false}\cms@warning@noline%
+ {'journalabbrev=#1' isn't a valid option.\MessageBreak
+ The default - 'false' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@jtabb@true{%
+ \toggletrue{cms@citejtabb}%
+ \toggletrue{cms@bibjtabb}}%
+\def\cms@opt@jtabb@false{%
+ \togglefalse{cms@citejtabb}%
+ \togglefalse{cms@bibjtabb}}%
+\def\cms@opt@jtabb@notes{%
+ \toggletrue{cms@citejtabb}%
+ \togglefalse{cms@bibjtabb}}%
+\def\cms@opt@jtabb@bib{%
+ \togglefalse{cms@citejtabb}%
+ \toggletrue{cms@bibjtabb}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{seriesabbrev}[true]{%
+ \settoggle{cms@shser}{#1}}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{%
+ \settoggle{cms@related}{#1}}%
+
+\DeclareBibliographyOption[boolean]{ordinalgb}[true]{%
+ \settoggle{cms@ukord}{#1}}%
+
+% Controlling punctuation before titleaddon fields %
+
+\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{%
+ \ifcsdef{cms@opt@ptao@#1}%
+ {\csuse{cms@opt@ptao@#1}}%
+ {\csuse{cms@opt@ptao@period}\cms@warning@noline%
+ {'ptitleaddon=#1' is not a valid option.\MessageBreak
+ The default - 'period' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@ptao@none{%
+ \let\ptitleaddonpunct\@empty}%
+\def\cms@opt@ptao@comma{%
+ \def\ptitleaddonpunct{\addcomma\addspace}}%
+\def\cms@opt@ptao@colon{%
+ \def\ptitleaddonpunct{\addcolon\addspace}}%
+\def\cms@opt@ptao@space{%
+ \def\ptitleaddonpunct{\addspace}}%
+\def\cms@opt@ptao@semicolon{%
+ \def\ptitleaddonpunct{\addsemicolon\addspace}}%
+\def\cms@opt@ptao@period{%
+ \def\ptitleaddonpunct{\addperiod\addspace}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{%
+ \ifcsdef{cms@opt@ctao@#1}%
+ {\csuse{cms@opt@ctao@#1}}%
+ {\csuse{cms@opt@ctao@comma}\cms@warning@noline%
+ {'ctitleaddon=#1' is not a valid option.\MessageBreak
+ The default - 'comma' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@ctao@none{%
+ \let\ctitleaddonpunct\@empty}%
+\def\cms@opt@ctao@comma{%
+ \def\ctitleaddonpunct{\addcomma\addspace}}%
+\def\cms@opt@ctao@colon{%
+ \def\ctitleaddonpunct{\addcolon\addspace}}%
+\def\cms@opt@ctao@space{%
+ \def\ctitleaddonpunct{\addspace}}%
+\def\cms@opt@ctao@semicolon{%
+ \def\ctitleaddonpunct{\addsemicolon\addspace}}%
+\def\cms@opt@ctao@period{%
+ \def\ctitleaddonpunct{\addperiod\addspace}}%
+
+% The field-exclusion options %
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{%
+ \settoggle{cms@urltime}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{%
+ \settoggle{cms@isbn}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{%
+ \settoggle{cms@url}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{%
+ \ifcsdef{cms@opt@doi@#1}%
+ {\csuse{cms@opt@doi@#1}}%
+ {\blx@err@invopt{doi=#1}{}}}%
+\def\cms@opt@doi@true{%
+ \toggletrue{cms@doi}}%
+\def\cms@opt@doi@false{%
+ \togglefalse{cms@doi}}%
+\def\cms@opt@doi@only{%
+ \toggletrue{cms@doionly}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{%
+ \settoggle{cms@eprint}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{%
+ \settoggle{cms@numbermonth}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{%
+ \settoggle{cms@bookpages}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{%
+ \settoggle{cms@isbn}{#1}%
+ \settoggle{cms@url}{#1}%
+ \settoggle{cms@urltime}{#1}% 17th ed.
+ \settoggle{cms@doi}{#1}%
+ \settoggle{cms@eprint}{#1}%
+ \settoggle{cms@numbermonth}{#1}%
+ \settoggle{cms@bookpages}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{%
+ \settoggle{cms@hidevolumes}{#1}}%
+
+\DeclareBiblatexOption{type,entry}[boolean]{authortitle}[true]{%
+ \settoggle{cms@authortitle}{#1}}%
+
+\ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,%
+ ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,%
+ dashed}%
+
+\ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}%
+\ExecuteBibliographyOptions[dataset]{authortitle=true}%
+
+\iftoggle{cms@legalnotes}%
+{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}%
+{}%
+
+\AtEndPreamble{% Automatic sorting by shorthand when it appears
+ \iftoggle{cms@los}% at the head of the entry.
+ {\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \step[fieldsource=shorthand, final]
+ \step[fieldset=sortname, origfieldval]}}}}%
+ {}}
+
+\DeclareLabeltitle[legislation]{%
+ \field{shorttitle}%
+ \field{titleaddon}%
+ \field{title}}%
+
+\DeclareDataInheritance{collection}{suppcollection}{%
+ \inherit{title}{title}
+ \inherit{subtitle}{subtitle}
+ \inherit{titleaddon}{titleaddon}}
+
+\DeclareDataInheritance{mvbook}{incollection}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{book}{incollection}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{book,collection}{letter}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{mvbook,mvcollection}{letter}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{*}{*}{%
+ \noinherit{namea}
+ \noinherit{nameb}
+ \noinherit{sortyear}
+ \noinherit{sortname}
+ \noinherit{sorttitle}
+ \noinherit{sorttitle}
+ \noinherit{urlyear}
+ \noinherit{urlmonth}
+ \noinherit{urlday}
+ \noinherit{urlseason}
+ \noinherit{urlhour}
+ \noinherit{urlminute}
+ \noinherit{doi}
+ \noinherit{eprint}
+ \noinherit{eprinttype}
+ \noinherit{url}}
+
+\DeclareDataInheritance{mvbook,mvcollection,mvproceedings,mvreference}%
+{*}{% ???
+ \noinherit{year}
+ \noinherit{month}
+ \noinherit{day}
+ \noinherit{season}
+ \noinherit{endyear}
+ \noinherit{endmonth}
+ \noinherit{endday}
+ \noinherit{endseason}
+ \noinherit{origyear}
+ \noinherit{origmonth}
+ \noinherit{origday}
+ \noinherit{origseason}
+ \noinherit{origendyear}
+ \noinherit{origendmonth}
+ \noinherit{origendday}
+ \noinherit{origendseason}}
+
+% More authordate options %
+
+\DeclareExtradate{%
+ \scope{
+ \field{labelyear}
+ \field{year}
+ }
+ \scope{
+ \field{verbc}
+ }
+}
+
+\DeclareSortingTemplate{cms}{% Updated to >3.7 format
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort{
+ \field{sortname}
+ \field{author}
+ \field{namea}
+ \field{editor}
+ \field{nameb}
+ \field{translator}
+ \field{namec}
+ \field{sorttitle}
+ \field{journaltitle}
+ \field{organization}
+ \field{title}
+ }
+ \sort{
+ \field{sortyear}
+ \field{labelyear}
+ \field{year}
+ \field{origyear}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
+ \sort{
+ \field{endyear}
+ \field{eventendyear}
+ \field{origendyear}
+ }
+ \sort{
+ \field[padside=left,padwidth=4,padchar=0]{volume}
+ \literal{0000}
+ }
+}
+
+\DeclareSortExclusion{misc,online}{organization}
+\DeclareSortExclusion{inreference,mvreference,reference}{%
+ author,editor,namea,nameb,namec,translator}
+
+\DeclareSortingTemplate{shortjournal}{%
+ \sort{
+ \field{shortjournal}
+ }
+}
+
+\DeclareSortingTemplate{shortseries}{%
+ \sort{
+ \field{shortseries}
+ }
+}
+
+\DeclareLabelname{\field{shortauthor} \field{author}%
+ \field{shorteditor} \field{namea} \field{editor}%
+ \field{nameb} \field{translator} \field{namec}}%
+
+\DeclareEntryOption[boolean]{switchdates}[true]{%
+ \settoggle{cms@switchdates}{#1}}%
+
+\DeclareBibliographyOption[boolean]{strict}[true]{%
+ \settoggle{cms@strict}{#1}%
+ \iftoggle{cms@strict}%
+ {\let\splitfootnoterule\footnoterule
+ \renewcommand\footnoterule{}%
+ \advance\skip\footins 4\p@\@plus2\p@\relax
+ \gdef\split@prev{0}%
+ \let\pagefootnoterule\footnoterule
+ % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
+ \def\footnoterule{\relax
+ \ifnum\split@prev=\z@
+ \pagefootnoterule
+ \else
+ \splitfootnoterule
+ \fi
+ \xdef\split@prev{\the\insertpenalties}%
+ }}%
+ {}}%
+
+\protected\def\blx@newcunit{%
+ \iftoggle{blx@keepunit}%
+ {}%
+ {\global\let\blx@unitpunct\newcunitpunct
+ \global\toggletrue{blx@unit}}}%
+
+\appto\blx@blxinit{%
+ \let\newcunit\blx@newcunit}%
+
+\newcommand*{\newcunitpunct}{\addcomma\space}
+
+\def\mkbibcurdinal#1{%
+ \@tempcnta0#1 \the\@tempcnta}%
+
+\@ifpackagelater{biblatex}{2011/01/04}%
+{}%
+{\PackageError{biblatex}%
+ {Outdated 'biblatex' package}%
+ {The Chicago style requires biblatex v1.1 or later.\MessageBreak
+ You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now.}%
+ \endinput}%
+
+% American-specific punctuation change for 16th edition %
+
+\DefineBibliographyExtras{american}{%
+ \DeclarePunctuationPairs{comma}{*!?}}
+
+%%%% Macros from authoryear-comp.cbx, revised for CMS %%%%
+
+\newbibmacro*{cite:init}{%
+ \ifnumless{\value{multicitecount}}{2}%
+ {\global\boolfalse{cbx:parens}%
+ \global\undef\cbx@lasthash%
+ \global\undef\cbx@lastyear}%
+ {\iffieldundef{prenote}%
+ {}%
+ {\global\undef\cbx@lasthash%
+ \global\undef\cbx@lastyear}}}%
+
+\newbibmacro*{cite:reinit}{%
+ \global\undef\cbx@lasthash%
+ \global\undef\cbx@lastyear}%
+
+\newbibmacro*{backref+check}{%
+ \ifbibliography%
+ {\backtrackerfalse}%
+ {}}
+
+\newbibmacro*{cite}{%
+ \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }% Similar to notes+bib
+ {\iffieldundef{shorthand}%
+ {\ifthenelse{\ifnameundef{labelname}\OR
+ \ifentrytype{inreference}\OR
+ \ifentrytype{reference}\OR
+ \ifentrytype{mvreference}}% Simplified for CMS
+ {\usebibmacro{cite:label}%
+ \setunit{\cms@testspace}% Is this right?
+ \usebibmacro{cite:reinit}}%
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{postnote}%
+ {\setunit{\multicitedelim}}%
+ {}%
+ \usebibmacro{cite:label}}%
+ {\iffieldequals{fullhash}{\cbx@lastyear}%
+ {}%
+ {\usebibmacro{cmsbracketname}% For names in []
+ \ifthenelse{\ifentrytype{misc}\AND%
+ \iffieldequalstr{entrysubtype}{classical}}%
+ {\cms@testspace}{\newcunit}}% Wrong?
+ \ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}%
+ \iffieldundef{postnote}%
+ {\savefield{fullhash}{\cbx@lasthash}}%
+ {\savefield{fullhash}{\cbx@lastyear}}}}}%
+ {\usebibmacro{cite:shorthand+title}}}%
+ {\iffieldundef{shorthand}%
+ {\ifthenelse{\ifnameundef{labelname}\OR
+ \ifentrytype{inreference}\OR
+ \ifentrytype{reference}\OR
+ \ifentrytype{mvreference}}% Simplified for CMS
+ {\usebibmacro{cite:label}%
+ \setunit{\nameyeardelim}%cms@testspace%
+ \usebibmacro{cmscitesortdate}%
+ \usebibmacro{cite:reinit}}%
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{postnote}%
+ {\setunit{\compcitedelim}}%
+ {}%
+ \usebibmacro{cmscitesortdate}}%
+ {\iffieldequals{fullhash}{\cbx@lastyear}% Is this right?
+ {}%
+ {\usebibmacro{cmsbracketname}%
+ \setunit{\nameyeardelim}}%
+ \usebibmacro{cmscitesortdate}%
+ \iffieldundef{postnote}%
+ {\savefield{fullhash}{\cbx@lasthash}}%
+ {\savefield{fullhash}{\cbx@lastyear}}}}}%
+ {\usebibmacro{cite:shorthand}}}}%
+ \setunit{\multicitedelim}}% ???
+
+\newbibmacro*{cmsbracketname}{%
+ \iffieldequalstr{authortype}{anon}%
+ {\printtext{\bibleftbracket\printnames{labelname}%
+ \bibrightbracket}}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\printtext{\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket}}%
+ {\printnames{labelname}}}}%
+
+\newbibmacro*{citeyear}{%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\iffieldundef{shorthand}%
+ {\usebibmacro{citeyear:noshort}}%
+ {\iftoggle{cms@los}%
+ {\usebibmacro{citeyear:noshort}}%
+ {\usebibmacro{cite:shorthand+title}}}}%
+ {\iffieldundef{shorthand}%
+ {\usebibmacro{citeyear:noshort}}%
+ {\iftoggle{cms@los}%
+ {\usebibmacro{citeyear:noshort}}%
+ {\usebibmacro{cite:shorthand}}}}%
+ \setunit{\multicitedelim}}%
+
+\newbibmacro*{citeyear:noshort}{%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }% Altered for CMS
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{postnote}%
+ {\setunit{\compcitedelim}}%
+ {}%
+ \usebibmacro{cite:label}}%
+ {\usebibmacro{cite:label}%
+ \iffieldundef{postnote}%
+ {\savefield{fullhash}{\cbx@lasthash}}%
+ {}}}%
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{postnote}%
+ {\setunit{\compcitedelim}}%
+ {}%
+ \usebibmacro{cmscitesortdate}}%
+ {\usebibmacro{cmscitesortdate}%
+ \iffieldundef{postnote}%
+ {\savefield{fullhash}{\cbx@lasthash}}%
+ {}}}}%
+
+\newbibmacro*{textcite}{%
+ \iftoggle{cms@los}%
+ {\usebibmacro{textcite:authshort}}%
+ {\usebibmacro{textcite:citeshort}}}%
+
+\newbibmacro*{textcite:authshort}{%
+ \iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{postnote}%
+ {\iffieldequals{fullhash}{\cbx@lastyear}%
+ {\setunit{\multicitedelim}%
+ \global\undef\cbx@lastyear}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\setunit{\multicitedelim}}%
+ {\setunit{\compcitedelim}}}}%
+ {\setunit{\multicitedelim}}%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\usebibmacro{cite:label}}%
+ {\usebibmacro{cmscitesortdate}}}%
+ {\iffieldundef{shorthand}%
+ {\ifthenelse{\ifnameundef{labelname}\OR
+ \ifentrytype{inreference}\OR
+ \ifentrytype{reference}\OR
+ \ifentrytype{mvreference}}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\ifentrytype{customc}%
+ {\setunit{%
+ \global\booltrue{cbx:parens}%
+ \multicitedelim}%\bibopenparen%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}\clearfield{prenote}}%
+ {}%
+ \savefield{postnote}{\cms@tempz}\clearfield{postnote}%
+ \usebibmacro{cite:label}%
+ \restorefield{postnote}{\cms@tempz}}%
+ {\setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \usebibmacro{cite:label}}}%
+ {\usebibmacro{cite:label}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iffinalcitedelim}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \usebibmacro{cmscitesortdate}}}%
+ {\printnames{labelname}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iffinalcitedelim}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}}%
+ {\usebibmacro{cmscitesortdate}}%
+ \savefield{fullhash}{\cbx@lasthash}}}%
+ {\printfield{shorthand}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iffinalcitedelim}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}}%
+ {\usebibmacro{cmscitesortdate}}%
+ \savefield{fullhash}{\cbx@lasthash}}%
+ \stepcounter{textcitecount}}% Added ???
+ \setunit{%
+ \ifbool{cbx:parens}%
+ {\bibcloseparen\global\boolfalse{cbx:parens}}%
+ {}%
+ \textcitedelim}}% Not \multicitedelim ???
+
+\newbibmacro*{textcite:citeshort}{%
+ \iffieldequals{fullhash}{\cbx@lasthash}%
+ {\iffieldundef{shorthand}%
+ {\iffieldundef{postnote}%
+ {\iffieldequals{fullhash}{\cbx@lastyear}%
+ {\setunit{\multicitedelim}%
+ \global\undef\cbx@lastyear}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\setunit{\multicitedelim}}%
+ {\setunit{\compcitedelim}}}}%
+ {\setunit{\multicitedelim}}%
+ \ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\usebibmacro{cite:label}}%
+ {\usebibmacro{cmscitesortdate}}}%
+ {\iffieldundef{postnote}%
+ {\iffieldequals{fullhash}{\cbx@lastyear}%
+ {\setunit{\multicitedelim}%
+ \global\undef\cbx@lastyear}%
+ {\setunit{\compcitedelim}}}%
+ {\setunit{\multicitedelim}}%
+ \printtext[bibhyperref]{%
+ \printfield{shorthand}}}}%
+ {\ifthenelse{\ifnameundef{labelname}\OR
+ \ifentrytype{inreference}\OR
+ \ifentrytype{reference}\OR
+ \ifentrytype{mvreference}}%
+ {\iffieldundef{shorthand}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\ifentrytype{customc}%
+ {\setunit{%
+ \global\booltrue{cbx:parens}%
+ \multicitedelim}%\bibopenparen%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}\clearfield{prenote}}%
+ {}%
+ \savefield{postnote}{\cms@tempz}\clearfield{postnote}%
+ \usebibmacro{cite:label}%
+ \restorefield{postnote}{\cms@tempz}}%
+ {\setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \usebibmacro{cite:label}}}%
+ {\usebibmacro{cite:label}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iffinalcitedelim}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \usebibmacro{cmscitesortdate}}}%
+ {\printtext[bibhyperref]{%
+ \printfield{shorthand}}}}%
+ {\printnames{labelname}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iffinalcitedelim}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}%
+ \setunit{%
+ \global\booltrue{cbx:parens}%
+ \cms@testspace\bibopenparen}%
+ \ifnumequal{\value{citecount}}{1}%
+ {\usebibmacro{prenote}}%
+ {}%
+ \iffieldundef{shorthand}%
+ {\ifboolexpr{%
+ togl {cms@authortitle}%
+ or
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ }%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}}%
+ {\usebibmacro{cmscitesortdate}}}%
+ {\printtext[bibhyperref]{%
+ \printfield{shorthand}}}%
+ \savefield{fullhash}{\cbx@lasthash}}%
+ \stepcounter{textcitecount}}% Added ???
+ \setunit{%
+ \ifbool{cbx:parens}%
+ {\bibcloseparen\global\boolfalse{cbx:parens}}%
+ {}%
+ \textcitedelim}}% Not \multicitedelim ???
+
+\newbibmacro*{textcite:postnote}{%
+ \iffieldundef{postnote}%
+ {}%
+ {\savefield{fullhash}{\cbx@lastyear}%
+ \setunit{\postnotewrapper}%delim}%
+ \printfield{postnote}}%
+ \ifthenelse{\value{multicitecount}=\value{multicitetotal}}%
+ {\setunit{}%
+ \printtext{%
+ \ifbool{cbx:parens}%
+ {\bibcloseparen\global\boolfalse{cbx:parens}}%
+ {}}}%
+ {\setunit{%
+ \ifbool{cbx:parens}%
+ {\bibcloseparen\global\boolfalse{cbx:parens}}%
+ {}%
+ \textcitedelim}}}% Not \multicitedelim ???
+
+\newbibmacro*{cite:shorthand}{%
+ \iftoggle{cms@los}%
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\printtext[cmshyper]{%
+ \setunit{\compcitedelim}%
+ \usebibmacro{cmscitesortdate}}}%
+ {\printfield{shorthand}%
+ \printtext[cmshyper]{%
+ \setunit{\nameyeardelim}%
+ \usebibmacro{cmscitesortdate}}%
+ \savefield{fullhash}{\cbx@lasthash}}}%
+ {\printtext[bibhyperref]{\printfield{shorthand}}%
+ \usebibmacro{cite:reinit}}}%
+
+\newbibmacro*{cite:shorthand+title}{%
+ \iftoggle{cms@los}%
+ {\iffieldequals{fullhash}{\cbx@lasthash}%
+ {\printtext[cmshyper]{%
+ \setunit{\multicitedelim}%
+ \usebibmacro{cite:label}}}%
+ {\printfield{shorthand}%
+ \printtext[cmshyper]{%
+ \setunit{\addcomma\addspace}% FIXME: wrong in 16th _and_ 17th eds?
+ \ifthenelse{\ifentrytype{standard}\OR\ifentrytype{manual}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}}%
+ \savefield{fullhash}{\cbx@lasthash}}}%
+ {\printtext[bibhyperref]{\printfield{shorthand}}%
+ \usebibmacro{cite:reinit}}}%
+
+\newbibmacro*{cite:label}{% Test this
+ \iffieldundef{label}%
+ {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
+ \ifentrytype{periodical}}% Simplifies .bib creation
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\printtext[cmshyper]{\printfield[shortjournal]{shortjournal}}}%
+ {\printtext[cmshyper]{\printfield[journaltitle]{journaltitle}}}}%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printtext[cmshyper]{\printlist{organization}}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{video}}%
+ and
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ }%
+ {\iffieldundef{shorttitle}%
+ {\printtext[cmshyper]{%
+ \printfield{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[booksubtitle]{booksubtitle}}% (?)
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \iffieldundef{booktitleaddon}{}{\addcomma\addspace}}}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}}}}%
+ {\printtext[cmshyper]{\printfield{label}}}}%
+
+\newbibmacro*{cite:labelyear+extrayear}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{cite:av+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}%
+ {\usebibmacro{cite:origfirst+labelyear+extrayear}}%
+ {\usebibmacro{cite:standard+labelyear+extrayear}}}}%
+
+\newbibmacro*{cite:standard+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}%
+ }%
+ {}%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
+ \iffieldundef{year}%
+ {\iffieldundef{eventyear}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra}}%
+ {\printorigdateextra}}%
+ {\printeventdateextra}}%
+ {\printdateextra}}}}%
+
+\newbibmacro*{cite:origfirst+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}%
+ }%
+ {}%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
+ \iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {\iffieldundef{eventyear}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra}}%
+ {\printeventdateextra}}%
+ {\printdateextra}}%
+ {\printorigdateextra}}}}%
+
+\newbibmacro*{cite:av+labelyear+extrayear}{%
+ \ifthenelse{\iffieldundef{labelyear}\OR%
+ \iffieldequalstr{labelyear}{nodate}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{misc}}%
+ or
+ test {\ifentrytype{dataset}}%
+ or
+ not togl {cms@nodates}%
+ }%
+ {}%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
+ \iffieldundef{eventyear}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {\iffieldundef{userd}%
+ {\ifboolexpr{%
+ togl {cms@nodates}%
+ and
+ not test {\ifentrytype{misc}}%
+ and
+ not test {\ifentrytype{dataset}}%
+ }%
+ {\bibstring{nodate}}%
+ {}}%
+ {\printurldateextra}}%
+ {\printdateextra}}%
+ {\printorigdateextra}}%
+ {\printeventdateextra}}}}%
+
+\newbibmacro*{cmscitesortdate}{% Attempt to solve date-related problems
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ not test {\iffieldint{origyear}}%
+ }%
+ {\usebibmacro{cmsciteyear}}%
+ {\iffieldint{year}%
+ {\ifboolexpr{% Needed for date ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}%
+ \usebibmacro{cmsciteyear}}%
+ {\usebibmacro{cmsciteyear}}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}%
+ \usebibmacro{cmsciteyear}}%
+ {\usebibmacro{cmsciteyear}}}}%
+ {\usebibmacro{cmsciteyear}}}}%
+
+\newbibmacro*{cmsciteyear}{%
+ \ifentrytype{patent}% Fix for double year w/cmsdate
+ {\usebibmacro{cite:standard+labelyear+extrayear}}
+ {\iftoggle{cms@origlabel}%
+ {\usebibmacro{cite:origyear+labelyear}}%
+ {\iftoggle{cms@bothlabelnew}%
+ {\usebibmacro{cite:bothyear+oldstyle}}%
+ {\iftoggle{cms@bothlabelold}%
+ {\usebibmacro{cite:bothyear+oldstyle}}%
+ {\iftoggle{cms@fulldate}%
+ {\printtext[cmsyearhyper]{%
+ \csuse{print\strfield{labeldatesource}date}%
+ \iffieldundef{\strfield{labeldatesource}hour}%
+ {}% Consistency(?)
+ {\newcunit\csuse{print\strfield{labeldatesource}time}}}}%
+ {\usebibmacro{cite:labelyear+extrayear}}}}}}}%
+ % \ifcsdef{@cms@tempdate}%
+ % {\toggletrue{\@cms@tempdate}}%
+ % {}%
+
+\newbibmacro*{cite:origyear+labelyear}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{cite:av+labelyear+extrayear}}%
+ {\iftoggle{cms@switchdates}%
+ {\usebibmacro{cite:labelyear+extrayear}}%
+ {\iffieldundef{origyear}%
+ {\iftoggle{cms@ordate}% ???
+ {}%
+ {\clearfield{extradate}}%
+ \usebibmacro{cite:standard+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}%
+ {\usebibmacro{cite:origfirst+labelyear+extrayear}}%
+ {\clearfield{extradate}%
+ \printtext[cmsyearhyper]{%
+ \printorigdateextra}}}}}}% \usebibmacro{origyear+endyear}
+
+\newbibmacro*{cite:bothyear+oldstyle}{%
+ \ifboolexpr{ (
+ test {\ifentrytype{music}}%
+ or
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{standard}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ test {\ifentrytype{video}}%
+ )
+ and
+ togl {cms@avdate}%
+ }%
+ {\usebibmacro{cite:av+labelyear+extrayear}}%
+ {\iftoggle{cms@switchdates}%
+ {\printtext[cmsyearhyper]{%
+ \bibopenparen%
+ \usebibmacro{cite:labelyear+extrayear}%
+ \bibcloseparen%
+ \clearfield{extradate}%
+ \addspace%
+ \printorigdateextra}}% \usebibmacro{origyear+endyear}
+ {\iffieldundef{origyear}% ???
+ {\iftoggle{cms@ordate}%
+ {}%
+ {\clearfield{extradate}}%
+ \usebibmacro{cite:standard+labelyear+extrayear}}%
+ {\iftoggle{cms@ordate}% Added test for year field ???
+ {\iffieldundef{year}%
+ {\usebibmacro{cite:origfirst+labelyear+extrayear}}%
+ {\printtext[cmsyearhyper]{%
+ \bibopenparen%
+ \usebibmacro{cite:origfirst+labelyear+extrayear}%
+ \bibcloseparen%
+ \setunit{\addspace}%\addspace% ???
+ \clearfield{extradate}%
+ \printdateextra}}}%\usebibmacro{year+endyear}
+ {\iffieldundef{year}%
+ {\usebibmacro{cite:origfirst+labelyear+extrayear}}%
+ {\printtext[cmsyearhyper]{%
+ \bibopenparen%
+ \clearfield{extradate}%
+ \printorigdateextra%
+ % \usebibmacro{origyear+endyear}%
+ \bibcloseparen%
+ \addspace%
+ \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}}%
+
+\newbibmacro*{cite:save}{%
+ \savefield{entrykey}{\cbx@lastkey}}%
+
+\newbibmacro*{cite:ibid}{%
+ \iftoggle{cms@noibid}%
+ {\blx@ibidreset%
+ \usebibmacro{cite}}%
+ {\ifthenelse{\iffieldundef{prenote}\AND%
+ \iffieldundef{postnote}}%
+ {\blx@ibidreset%
+ \usebibmacro{cite}%
+ \PackageWarning{biblatex-chicago}%
+ {Empty Ibidem citation}}%
+ {\toggletrue{cms@inlineibid}}}}%
+
+%%%% Citation Commands, internal and external %%%%
+
+\DeclareCiteCommand{\cite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}%\multicitedelim
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\cite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{citeyear}}
+ {}%\multicitedelim
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\parencite}[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}%\setunit{\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\parencite}[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{citeyear}}
+ {}%\setunit{\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\footcite}[\mkbibfootnote]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}%\multicitedelim
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}%
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\cmshypercite}% Intended for CustomC comments
+ {\usebibmacro{cite:init}%
+ \togglefalse{blx@skipbib}%
+ \togglefalse{cms@authortitle}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}%\multicitedelim
+ {}%\usebibmacro{postnote} Stops double printing
+
+\DeclareCiteCommand{\atcite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@authortitle}%
+ \usebibmacro{cite}}
+ {}%\multicitedelim
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\atpcite}[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@authortitle}%
+ \usebibmacro{cite}}
+ {}%\multicitedelim
+ {\usebibmacro{postnote}}
+
+%%% Commands, macros and formats for the Legal entry types %%%
+
+\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {}
+
+\DeclareCiteCommand{\fullcite}
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {}
+
+\DeclareCiteCommand{\parenfullcite}[\mkbibparens]
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {}
+
+\DeclareCiteCommand{\runcite}% 17th ed.
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@running@text}%
+ \usebibmacro{cite}%
+ \togglefalse{cms@running@text}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\newbibmacro*{cite:full}{%
+ \iftoggle{cms@noneshort}%
+ {\ifboolexpr{%
+ test {\ifciteibid}%
+ and
+ not test {\iffirstonpage}%
+ and
+ not togl {cms@noibid}%
+ }%
+ {\togglefalse{cms@fullnote}%
+ \toggletrue{cms@shortnote}%
+ \usebibmacro{legal:ibid}}%
+ {\usebibmacro{cite:driver}}}%
+ {\ifboolexpr{%
+ test {\ifciteseen}%
+ or
+ togl {cms@allshort}%
+ }%
+ {\togglefalse{cms@fullnote}%
+ \toggletrue{cms@shortnote}%
+ \ifboolexpr{%
+ test {\ifciteibid}%
+ and
+ not test {\iffirstonpage}%
+ and
+ not togl {cms@noibid}%
+ }%
+ {\usebibmacro{legal:ibid}}%
+ {\usebibmacro{cite:short}}}%
+ {\usebibmacro{cite:driver}}}}
+
+\newbibmacro*{cite:driver}{%
+ \printtext[bibhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}%
+ {\thefield{entrytype}}}}%
+
+\newbibmacro*{cite:short}{%
+ \iffieldundef{shorthand}%
+ {\ifentrytype{jurisdiction}%
+ {\usebibmacro{cite:short:jurisdiction}}%
+ {\ifentrytype{legal}%
+ {\usebibmacro{cite:short:legal}}%
+ {\ifentrytype{legislation}%
+ {\usebibmacro{cite:short:legislation}}%
+ {\usebibmacro{cite}}}}}
+ {\usebibmacro{cite:shorthand:legal}}}%
+
+\newbibmacro*{cite:short:jurisdiction}{%
+ \iffieldundef{labeltitle}%
+ {}%
+ {\ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}}%
+ \newcunit% Fixme: giving us a duplicate comma
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \usebibmacro{juridpostnote}}%
+
+\newbibmacro*{cite:short:legal}{%
+ \iffieldundef{labeltitle}%
+ {}%
+ {\ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}}%
+ \newcunit% Fixme: giving us a duplicate comma
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \printfield[legalser]{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \ifboolexpr{%
+ togl {cms@supranotes}%
+ and
+ test {\iffootnote}%
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ??
+ {}%
+ \usebibmacro{juridpostnote}}%
+
+\newbibmacro*{cite:short:legislation}{%
+ \iffieldequalstr{entrysubtype}{constitution}%
+ {\usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}}%
+ {\iffieldequalstr{labeltitlesource}{shorttitle}%
+ {\ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}}%
+ {\ifboolexpr{%
+ test {\iffieldundef{shortjournal}}%
+ or
+ (
+ not test {\iffieldundef{volume}}%
+ and
+ not test {\iffieldint{volume}}%
+ )
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{entrysubtype}}%
+ and
+ not test {\iflistundef{location}}
+ }%
+ {\printlist{location}%
+ \setunit{\addspace}}%
+ {}%
+ \ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}%
+ \setunit{\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}}%
+ {\printfield{note}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \printfield[legislationser]{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ }}}%
+ \newcunit%
+ \ifboolexpr{%
+ togl {cms@supranotes}%
+ and
+ test {\iffootnote}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ )
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ??
+ {}%
+ \usebibmacro{juridpostnote}}%
+
+\newbibmacro*{cite:shorthand:legal}{%
+ \iftoggle{cms@allshort}%
+ {\printtext[bibhyperref]{%
+ \printfield{shorthand}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield{shorthand}}}%
+ \ifboolexpr{%
+ test {\iffootnote}%
+ and
+ togl {cms@supranotes}%
+ and
+ (
+ test {\ifentrytype{legal}}%
+ or
+ (
+ test {\ifentrytype{legislation}}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ )))
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit}}% ??
+ {\newcunit}% ??
+ \iffieldundef{postnote}%
+ {\global\togglefalse{cms@fullnote}%
+ \global\togglefalse{cms@shortnote}}%
+ {\usebibmacro{semel:postnote}%
+ \global\togglefalse{cms@fullnote}%
+ \global\togglefalse{cms@shortnote}}}%
+
+\newbibmacro*{cms:shorthandintro}{% For changing the citedas phrase
+ \iffieldundef{shorthand}%
+ {}%
+ {\iffieldundef{shorthandintro}%
+ {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\printtext[brackets]{%
+ \bibstring{hereinafter}\addspace%
+ \printfield{shorthand}}}%
+ {\printtext[parens]{%
+ \bibstring{citedas}\addspace%
+ \printfield{shorthand}}}}%
+ {%\addspace%\setunit{\addspace}% Ditto
+ \printfield{shorthandintro}}}}
+
+\newbibmacro*{footcite:save}{%
+ \ifboolexpr{%
+ test {\iffootnote}%
+ and
+ (
+ test {\ifentrytype{legal}}%
+ or
+ (
+ test {\ifentrytype{legislation}}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ )))
+ }%
+ {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
+ \label{cbx@\the\value{instcount}}}%
+ {}}%
+
+\newbibmacro*{legal:ibid}{%
+ \ifboolexpr{%
+ togl {cms@noibid}%
+ or
+ test {\ifbibliography}% Needed for inheritshorthand option
+ }%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \usebibmacro{cite:short}%
+ \usebibmacro{cite:save}}%
+ {\printtext[bibhyperlink]{%
+ \bibsstring[\mkbibemph]{ibidem}}%\bibstring[\mkibid]{ibidem}
+ \ifboolexpr{%
+ test {\ifloccit}%
+ or
+ (
+ test {\ifciteibid}%
+ and
+ test {\iffieldequalcs{postnote}{cms@pnsaved}}%
+ and
+ not test {\ifdefvoid{\blx@loccittracker}}% Package option=false
+ )
+ }%
+ {\global\toggletrue{cms@loccit}}%
+ {}}\usebibmacro{postnote}}% FIXME?
+
+\newbibmacro*{clegis+news+title}{%
+ \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND%
+ \iffieldundef{titleaddon}}%
+ {}%
+ {\printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ }}%\newcunit\newblock}
+
+\newbibmacro*{cpart+editor+translator}{%
+ \ifnameundef{namea}%
+ {\ifnameundef{nameb}%
+ {}%
+ {\bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}%
+ {\ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{cbyeditortr}\addspace%
+ \printnames[byeditor]{namea}}%
+ {\bibstring{cbyeditor}\addspace% Need this \space here?
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newcunit%
+ \bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}%
+ {\usebibmacro{cbytypestrg}{namea}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newunit%
+ \bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}}
+
+\newbibmacro*{juridpostnote}{%
+ \iftoggle{cms@fullnote}%
+ {\iffieldundef{issue}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \printfield{pages}%
+ \iffieldundef{postnote}%
+ {}%
+ {\ifthenelse{\ifentrytype{legislation}\OR\ifentrytype{legal}}%
+ {\newcunit}%
+ {\setunit*{\addcomma\addspace}}%
+ \usebibmacro{semel:postnote}}}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\newcunit%
+ \printfield{pages}}}%
+ {\newcunit%
+ \usebibmacro{semel:postnote}}}}%
+ {\iffieldundef{issue}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \printfield{pages}}}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \usebibmacro{semel:postnote}}}% See below for alternate test here
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\newcunit%
+ \printfield{pages}}}%
+ {\newcunit%
+ \usebibmacro{semel:postnote}}}%
+ \global\togglefalse{cms@fullnote}%
+ \global\togglefalse{cms@shortnote}}}%
+
+\newbibmacro*{semel:postnote}{% Fix to print postnote only once
+ \printfield{postnote}% Old form broke \ifloccit
+ \global\let\cms@pnsaved\abx@field@postnote%
+ \global\let\abx@field@postnote\undefined%
+ \AtNextCitekey{\ifciteibid{}{\global\let\cms@pnsaved\undefined}}}%
+
+\newbibmacro*{cite+doi+url}{% 16th ed.
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{urlyear}}%
+ }%
+ {\printurldate%
+ \ifboolexpr{% 17th ed.
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ {}%
+ \newcunit\newblock
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \clearfield{url}}}%
+ {\ifboolexpr{%
+ togl {cms@doi}%
+ and
+ not test {\iffieldundef{doi}}%
+ }%
+ {\printfield{doi}}%
+ {}}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@eprint}%
+ and
+ not test {\iffieldundef{eprint}}%
+ }%
+ {\usebibmacro{eprint}}%
+ {}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{url}}%
+ }%
+ {\printfield{url}}%
+ {}}%
+
+\DeclareListFormat[jurisdiction]{location}{%
+ \iffieldundef{entrysubtype}%
+ {\usebibmacro{list:delim}{#1}%
+ #1\isdot%
+ \usebibmacro{list:andothers}}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\mkbibparens{#1}\addspace}%
+ {\mkbibparens{#1\isdot}}}}%
+
+\DeclareListFormat[jurisdiction]{origlocation}{%
+ \ifthenelse{\value{listcount}<\value{listtotal}}%
+ {#1\isdot\addcomma\addspace}%
+ {#1\isdot}}
+
+\DeclareListFormat[jurisdiction]{origpublisher}{%
+ \ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\mkbibparens{#1}\addspace}%
+ {\mkbibparens{#1\isdot}}}
+
+\newrobustcmd*{\mkjuridprefix}[1]{%
+ \ifboolexpr{% FIXME: Is this always right?
+ test {\iftoggle{cms@fullnote}}%
+ and
+ test {\ifentrytype{jurisdiction}}%
+ }%
+ {\iffieldundef{issue}%
+ {#1}%
+ {\printtext{at}\addspace *#1}}%
+ {\iffieldundef{issue}%
+ {\printtext{at}\addspace #1}% FIXME: Make it a bibstring?
+ {\ifentrytype{jurisdiction}%
+ {\printtext{at}\addspace *#1}%
+ {\printtext{at}\addspace #1}}}}%
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\mkcomprange[\mkjuridprefix]{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {\mkjuridprefix{#1}}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\DeclareFieldFormat[jurisdiction]{title}{%
+ \iftoggle{cms@running@text}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[legal]{title}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{title}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[jurisdiction]{citetitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[jurisdiction,legal]{lostitle}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{lostitle}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[legal]{citetitle}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{citetitle}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{journaltitle}{%
+ \iffieldundef{shortjournal}%
+ {#1\isdot}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{shortjournal}{#1\isdot}
+
+\DeclareFieldFormat{jurisdictionser}{%
+ \ifinteger{#1}%
+ {\mkjuridordinal{#1}}%
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}%
+
+\DeclareFieldFormat{legislationser}{%
+ \iffieldequalstr{entrysubtype}{hansard}%
+ {\ifinteger{#1}%
+ {\addspace\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}%
+ {\ifbibstring{#1}%
+ {\addspace\mkbibparens{\bibstring{#1}}}%
+ {\addspace\mkbibparens{#1}}}}%
+ {\iffieldequalstr{entrysubtype}{uk}%
+ {\addspace #1\isdot}%
+ {\addcomma\addspace #1\isdot}}}%
+
+\DeclareFieldFormat{legalser}{\addspace #1\isdot}%
+
+\DeclareFieldFormat{hansardser}{%
+ \ifinteger{#1}%
+ {\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}%
+ {\ifbibstring{#1}{\mkbibparens{\bibstring{#1}}}{\mkbibparens{#1}}}}%
+
+\DeclareFieldFormat{juridnum}{\bibcpstring{number}\addspace #1}%
+
+\DeclareFieldFormat{jourvol}{#1}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{%
+ \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}}
+
+\DeclareFieldFormat[legal,legislation]{part}{%
+ \ifnumerals{#1}%
+ {\bibsstring{part}~#1}%
+ {#1\isdot}}%
+
+\DeclareFieldFormat[legal,legislation]{chapter}{%
+ \ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR%
+ \iffieldequalstr{entrysubtype}{hansard}}%
+ {c\adddotspace #1}%
+ {\bibsstring{chapter}~#1}}%
+
+\DeclareFieldFormat[music]{chapter}{\bibstring{track}~#1}
+
+\newbibmacro*{patenttitle+stitle}{% Unify Patent entries across 2 AD styles
+ \printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock}
+
+\DeclareFieldFormat[patent]{title}{%
+ \iffieldundef{title}%
+ {}%
+ {\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat[patent]{citetitle}{\MakeSentenceCase*{#1}}
+
+\DeclareFieldFormat[patent]{lostitle}{\MakeSentenceCase*{#1}}
+
+\DeclareFieldFormat[patent]{subtitle}{%
+ \iffieldundef{subtitle}%
+ {}%
+ {\MakeSentenceCase*{#1}}}
+
+\DeclareFieldFormat[dataset]{title}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldAlias[dataset]{citetitle}[dataset]{title}
+
+\DeclareFieldAlias[dataset]{lostitle}[dataset]{title}
+
+%%% Textcite commands taken verbatim from authoryear-comp.cbx %%%
+
+\DeclareCiteCommand{\cbx@textcite}
+ {\usebibmacro{cite:init}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{textcite}}
+ {}%
+ {\usebibmacro{textcite:postnote}}
+
+\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite]
+ {\gdef\cbx@savedkeys{}%
+ \citetrackerfalse%
+ \pagetrackerfalse%
+ \DeferNextCitekeyHook%
+ \usebibmacro{cite:init}}
+ {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}%
+ {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}%
+ \global\clearfield{multipostnote}}%
+ {}%
+ \xappto\cbx@savedkeys{\thefield{entrykey},}%
+ \iffieldequals{fullhash}{\cbx@lasthash}%
+ {}%
+ {\stepcounter{textcitetotal}%
+ \savefield{fullhash}{\cbx@lasthash}}}
+ {}%
+ {\protected@xappto\cbx@savedcites{%
+ [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+
+\newrobustcmd{\cbx@textcite@init}[2]{%
+ \setcounter{textcitetotal}{0}%
+ \setcounter{textcitecount}{0}%
+ \def\cbx@savedcites{#1}#2\cbx@savedcites\empty}
+
+\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{}
+\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{}
+
+\let\cbx@textcites@init\cbx@textcite@init
+\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{}
+
+%%% The \gentextcite commands - \textcite in the genitive case %%%
+
+\DeclareCiteCommand{\cms@gentextcite@i}
+ {\usebibmacro{cite:init}%
+ \toggletrue{cms@gencite}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{textcite}}
+ {}%
+ {\usebibmacro{textcite:postnote}%
+ \togglefalse{cms@gencite}}%
+
+\DeclareCiteCommand{\cms@gentextcite}[\cbx@textcite@init\cms@gentextcite@i]
+ {\gdef\cbx@savedkeys{}%
+ \citetrackerfalse%
+ \pagetrackerfalse%
+ \DeferNextCitekeyHook%
+ \usebibmacro{cite:init}}
+ {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}%
+ {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}%
+ \global\clearfield{multipostnote}}%
+ {}%
+ \xappto\cbx@savedkeys{\thefield{entrykey},}%
+ \iffieldequals{fullhash}{\cbx@lasthash}%
+ {}%
+ {\stepcounter{textcitetotal}%
+ \savefield{fullhash}{\cbx@lasthash}}}
+ {}%
+ {\protected@xappto\cbx@savedcites{%
+ [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+
+\DeclareMultiCiteCommand{\cms@gentextcite@is}{\cms@gentextcite@i}{}
+\DeclareMultiCiteCommand{\cms@gentextcites}[\cbx@textcites@init\cms@gentextcite@is]{\cms@gentextcite}{}
+
+\newrobustcmd*{\gentextcite}[1][]{%
+ \@ifnextchar[%]
+ {\gencite@i[#1]}%
+ {\gencite@i[][#1]}}%
+
+\def\gencite@i[#1][#2]{%
+ \@ifnextchar[%]
+ {\gencite@ii[#1][#2]}%
+ {\gencite@ii[][#1][#2]}}%
+
+\def\gencite@ii[#1][#2][#3]#4{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \gencite@iii[#2][#3]{#4}}%
+
+\def\gencite@iii#1{\cms@gentextcite#1}
+
+\newrobustcmd*{\gentextcites}[1][]{%
+ \@ifnextchar(%)
+ {\gencites@iv[#1]}%
+ {\@ifnextchar[%]
+ {\gencites@i[#1]}%
+ {\gencites@i[][#1]}}}%
+
+\def\gencites@i[#1][#2]{%
+ \@ifnextchar[%]
+ {\gencites@ii[#1][#2]}%
+ {\gencites@ii[][#1][#2]}}%
+
+\def\gencites@ii[#1][#2][#3]#4{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \gencites@iii[#2][#3]{#4}}%
+
+\def\gencites@iii#1{\cms@gentextcites#1}%
+
+\def\gencites@iv[#1]#2{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \cms@gentextcites#2}%
+
+\newrobustcmd*{\Gentextcite}{\bibsentence\gentextcite}
+\newrobustcmd*{\Gentextcites}{\bibsentence\gentextcites}
+
+%%% End code for \gentextcite %%%
+
+\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}}
+
+\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}%
+ {\setunit{\multicitedelim}}
+
+\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}%
+ {\setunit{\multicitedelim}}
+
+\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]%
+ {\footcitetext}{\setunit{\multicitedelim}}
+
+\DeclareCiteCommand{\bibxrefcite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{backref+check}}%\usebibmacro{clearalmostall}} (?)
+ {\usebibmacro{xref-in:}%
+ \blx@ibidreset% For authordate style
+ \usebibmacro{cite}}
+ {}%
+ {}%
+
+\DeclareCiteCommand{\origfullcite}
+ {\usebibmacro{backref+check}%
+ \nopunct\unspace%
+ \savebibmacro{cmsbibsortdate}%
+ \renewbibmacro*{cmsbibsortdate}{}}%
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \clearname{author}\clearfield{userf}%\toggletrue{cms@fullnote}%
+ \toggletrue{cms@headlessnote}\frenchspacing}%
+ {\thefield{entrytype}}%
+ \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}%
+ {\multicitedelim}%
+ {\restorebibmacro{cmsbibsortdate}}
+
+\DeclareCiteCommand{\origpublcite}% Similar to above, w/o title.
+ {\usebibmacro{backref+check}%
+ \nopunct%\unspace%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\addspace}{\unspace}%
+ \savebibmacro{cmsbibsortdate}%
+ \renewbibmacro*{cmsbibsortdate}{}}%
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \usebibmacro{clearpublin}\usebibmacro{cms:titlehook}%
+ \toggletrue{cms@headlessnote}%\toggletrue{cms@fullnote}%
+ \toggletrue{cms@origpublished}\frenchspacing}%
+ {\thefield{entrytype}}%
+ \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}%
+ {\multicitedelim}%
+ {\restorebibmacro{cmsbibsortdate}}
+
+%%%% List Formats %%%%
+
+\DeclareListFormat{language}{%
+ \ifthenelse{\value{listcount}=1}%
+ {\bibleftbracket\bibstring{inlang}%\addspace - for inflected langs.
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}%
+ \ifthenelse{\value{listtotal}=1}%
+ {\bibrightbracket}%
+ {}}%
+ {\ifthenelse{\value{listcount}=\value{listtotal}}%
+ {\multilangdelim%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}%
+ \bibrightbracket}%
+ {\multilangdelim%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}}}%
+ \usebibmacro{langlist:andothers}}%
+
+\DeclareListFormat{publisher}{%
+ \ifthenelse{\value{listtotal}<2}%
+ {#1\isdot}%
+ {\ifthenelse{\value{listcount}=1}%
+ {#1}%
+ {\multipubsdelim #1\isdot}}}%
+
+\DeclareListFormat{periodplace}{\mkbibparens{#1}}
+
+\DeclareListFormat{lista}{%
+ \ifthenelse{\value{listtotal}<2}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}%
+ {\ifthenelse{\value{listcount}=1}%
+ {\bibsstring{subverbis}\addspace\mkbibquote{#1\isdot}\addcomma}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\addspace\mkbibquote{#1\isdot}\addcomma}%
+ {\addspace\mkbibquote{#1\isdot}}}}}
+
+%%%% Field Formats -- Mostly non-title %%%%
+
+\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot}
+
+\DeclareFieldFormat{postnote}{% Changed for page compression option
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\mkcomprange{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {#1}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\DeclareFieldFormat[inreference]{postnote}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\DeclareFieldFormat{pages}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{bookpagination}%
+ {\mkcomprange{#1}\isdot}%
+ {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}%
+ {\iffieldundef{bookpagination}%
+ {#1\isdot}%
+ {\mkpageprefix[bookpagination]{#1}}}}%
+
+\DeclareFieldFormat{bibnote}{\MakeCapital{#1}}
+
+\DeclareListFormat{edlang}{% Required for feminine forms in some
+ \usebibmacro{list:delim}{% languages
+ \ifbibstring{#1}%
+ {\bibxstring{#1}}%
+ {\ifbibstring{ed#1}%
+ {\bibxstring{ed#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}}%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{ed#1}%
+ {\bibstring{ed#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}%
+ \usebibmacro{list:andothers}}
+
+\DeclareFieldFormat[customc]{title}{%
+ \iffieldundef{nameaddon}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ #1}%
+ {#1}}
+
+\DeclareFieldFormat[customc]{citetitle}{%
+ \iffieldequalstr{pubstate}{cms-generated}% Comments 17th ed.
+ {\ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {#1}%
+ \StrGobbleRight{\strfield{entrykey}}{8}[\cms@aa]%
+ \addspace\cmshypercite{\cms@aa}}%
+ {\ifnameundef{author}%
+ {#1}%
+ {\iffieldundef{nameaddon}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ #1}%
+ {\printfield{nameaddon}\addspace #1}}}}
+
+\DeclareFieldAlias[customc]{lostitle}[customc]{title}
+
+\DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[periodical]{shorttitle}{\mkbibemph{#1}\isdot}
+
+%%%% Other Field Formats %%%%
+
+\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}}
+
+\DeclareFieldFormat{note}{%
+ \ifcapital{\MakeCapital{#1}}{#1}}%
+
+\DeclareFieldFormat
+[audio,manual,music,patent,report,suppbook,suppcollection,thesis,video]
+{type}{%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifcapital%
+ {\MakeCapital{#1\isdot}}%
+ {#1\isdot}}}
+
+\DeclareFieldFormat[artwork,image,online,article,review,suppperiodical,book]
+{type}{%
+ \ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}
+
+\DeclareFieldFormat[video]{usera}{%
+ \bibstring{on}\addspace #1}
+
+\DeclareFieldFormat{version}{\bibsstring{version}\addspace #1}%
+
+\DeclareFieldFormat{url}{\url{#1}}
+
+\DeclareFieldFormat{doi}{%
+ \url{https://doi.org/#1}}
+
+\DeclareFieldFormat[music]{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}%
+ \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{origyear}%
+ \OR\NOT\iffieldundef{urlmonth}\OR\NOT\iffieldundef{eventmonth}%
+ \OR\NOT\iffieldundef{origmonth}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}%
+ \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{urlmonth}%
+ \OR\NOT\iffieldundef{eventmonth}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[artwork,image]{date}{%
+ \iffieldundef{origyear}%
+ {#1}%
+ {\iftoggle{cms@switchdates}%
+ {#1}%
+ {\iffieldundef{userd}%
+ {\bibstring{printed}\addspace #1}%
+ {\printfield{userd}\addspace #1}}}}
+
+\DeclareFieldFormat[artwork,image]{origdate}{%
+ \iffieldundef{year}%
+ {#1}%
+ {\iftoggle{cms@switchdates}%
+ {\iffieldundef{userd}%
+ {\bibstring{printed}\addspace #1}%
+ {\printfield{userd}\addspace #1}}%
+ {#1}}}
+
+\DeclareFieldFormat[artwork,image]{urldate}{%
+ \ifboolexpr{%
+ test {\iffieldundef{userd}}%
+ or
+ (
+ not test {\iffieldundef{year}}%
+ and
+ not test {\iffieldundef{origyear}}%
+ )
+ }%
+ {\bibstring{urlseen}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat{urldate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{urlseen}\space #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{urldate}{% 16th ed.
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}%
+ {\bibstring{urlseen}\space #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[music]{urldate}{% 16th ed.
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}%
+ \OR\NOT\iffieldundef{origyear}}%
+ {\bibstring{urlseen}\space #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[music]{origdate}{% 16th ed.
+ \iffieldequalstr{pubstate}{reprint}% Date fix
+ {#1}%
+ {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}%
+ {\bibstring{discrecorded}\space #1}%
+ {\printfield{userd}\addspace #1}}}
+
+\DeclareFieldFormat[music]{eventdate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{songrecorded}\space #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{eventdate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{broadcast}\space #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldAlias{userd}{titleaddon}% 16th ed.
+
+\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?!
+
+\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence}%
+
+\DeclareFieldFormat[misc]{nameaddon}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibbrackets{#1\bibsentence}}%
+ {#1\bibsentence}}
+
+\DeclareFieldFormat[customc]{nameaddon}{% For cross-refs
+ \ifbibstring{#1}%
+ {\mkbibemph{\bibstring{#1}}}%
+ {#1}}%
+
+\DeclareFieldFormat{edition}{% New in 0.8
+ \ifinteger{#1}%
+ {\mkbibordedition{#1}~\bibstring{edition}}%
+ {\ifcapital
+ {\MakeCapital{#1\isdot}}%
+ {#1\isdot}}}
+
+\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets?
+
+\DeclareFieldFormat{titleaddon}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%\custpunctc?
+
+\DeclareFieldAlias{booktitleaddon}{titleaddon}
+
+\DeclareFieldAlias{maintitleaddon}{titleaddon}
+
+\DeclareFieldFormat{jourser}{%
+ \ifinteger{#1}%
+ {\mkbibordseries{#1}%
+ \addnbspace%
+ \bibstring{jourser}}%
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}
+
+\DeclareFieldFormat{journum}{% Revised for 0.9.5
+ \ifboolexpr{%
+ test {\ifnumerals{#1}}%
+ and
+ not test {\ifnumeral{#1}}%
+ }%
+ {\bibstring{numbers}\addspace #1}%
+ {\bibstring{number}\addspace #1}}
+
+\DeclareFieldFormat{sernum}{%
+ \ifnumeral{#1}%
+ {\addnbspace #1}%
+ {\addcomma\addspace #1}}
+
+\DeclareFieldFormat{series}{#1\isdot}
+
+\DeclareFieldFormat{shortseries}{#1\isdot}
+
+\DeclareFieldFormat{addendum}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+% This works better here than in the entrytail macro -- userf use is
+% no longer a problem, though the page breaking still isn't ideal.
+
+\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1}
+
+\DeclareFieldFormat{part}{%
+ \ifnumerals{#1}%
+ {\addcomma\addspace\bibstring{partvolume}~#1}%
+ {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}}
+
+\DeclareFieldAlias[review]{volume}[article]{volume}
+
+\DeclareFieldAlias[suppperiodical]{volume}[article]{volume}
+
+\DeclareFieldFormat{cmshyper}{% Control the number of elements hyperlinked.
+ \ifboolexpr{%
+ ((
+ not test {\iffieldequalstr{entrysubtype}{classical}}%
+ and
+ not togl {cms@authortitle}%
+ )
+ or
+ togl {blx@skipbib}%
+ )
+ and
+ not togl {cms@linkit}%
+ }%
+ {#1}%
+ {\bibhyperref{#1}}}%
+
+\DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list
+ \iftoggle{blx@skipbib}
+ {#1}%
+ {\bibhyperref{#1}}}%
+
+%%%% Related field formats from biblatex.def %%%%
+
+\DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens
+
+\DeclareFieldFormat{related:origpubin}{#1}
+
+\DeclareFieldFormat{relatedstring:default}{% For notes + bib
+ \ifboolexpr{%
+ test {\iffieldundef{relatedstring}}%
+ or
+ test {\iffieldbibstring{relatedstring}}%
+ }%
+ {#1}%
+ {\ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}%
+ \ifentrytype{jurisdiction}%
+ {\newcunit}%
+ {\printunit{\relatedpunct}}}%
+
+\DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib
+ \ifboolexpr{%
+ test {\iffieldundef{relatedstring}}%
+ or
+ test {\iffieldbibstring{relatedstring}}%
+ }%
+ {#1}%
+ {\ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}%
+ \addspace}%
+
+%%%% Commands, for users and internal %%%%
+
+\newcommand*{\cbytypeeditor}{% Needed?
+ \iffieldundef{editortype}%
+ {\bibstring{cbytypeeditor}}%
+ {\bibstring{cbytype\thefield{editortype}}}}
+
+\renewcommand*{\multicitedelim}{\addsemicolon\space}
+
+\newcommand*{\cms@testspace}{% FIXME
+ \ifboolexpr{%
+ test {\ifnumequal{\spacefactor}{\blx@sf@dot}}%
+ and
+ not test {\ifbibliography}%
+ }%
+ {\addnbspace}%
+ {\addspace}}%
+
+\renewcommand*{\iffinalcitedelim}{%
+ \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}}
+
+\renewcommand*{\nameyeardelim}{%
+ \ifboolexpr{%
+ (
+ togl {cms@bothlabelnew}%
+ or
+ togl {cms@bothlabelold}%
+ )
+ and
+ (
+ not test {\iffieldundef{year}}%
+ and
+ not test {\iffieldundef{origyear}}%
+ )
+ }%
+ {\cms@testspace}%
+ {\cms@pre@punct%
+ \ifboolexpr{%
+ test {\iffieldundef{labelyear}}%
+ or
+ (
+ test {\iffieldundef{userd}}%
+ and
+ test {\iffieldequalstr{labeldatesource}{url}}%
+ )
+ or
+ test {\iffieldequalstr{labelyear}{nodate}}%
+ or
+ togl {cms@fulldate}%
+ or
+ bool {cms:comma}%
+ }%
+ {\addcomma\addspace}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {\cms@testspace}%
+ {\ifboolexpr{%
+ test {\iffieldnums{year}}%
+ or
+ test {\iffieldstart{year}{[}}%] For backward compatibility
+ }%
+ {\cms@testspace}%
+ {\addcomma\addspace}}}%
+ {\cms@testspace}}\global\boolfalse{cms:comma}}}
+
+\newrobustcmd*{\cms@citepunct@helper}[1]{%
+ \begingroup
+ \blx@metadateinfo{#1}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {}%
+ {\if@cms@circa%
+ {\global\booltrue{cms:comma}}%
+ {\if@cms@adfirst%
+ {\iffieldnum{#1year}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\iffieldequalstr{#1dateera}{bce}}%
+ and
+ test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}%
+ }%
+ {\global\booltrue{cms:comma}}%
+ {}}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@languagename{french}}%
+ or
+ test {\ifdefstring\blx@languagename{dutch}}%
+ }%
+ {\ifboolexpr{%
+ not test {\iffieldequalstr{#1dateunspecified}{yearindecade}}%
+ or
+ togl {cms@alwaysrange}%
+ or
+ togl {cms@decaderange}%
+ }%
+ {}%
+ {\global\booltrue{cms:comma}}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@languagename{brazilian}}%
+ or
+ test {\ifdefstring\blx@languagename{brazil}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#1dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {}%
+ {\ifboolexpr{%
+ (
+ test {\iffieldequalstr{#1dateunspecified}{yearindecade}}%
+ and
+ not togl {cms@decaderange}%
+ )
+ or
+ (
+ test {\iffieldequalstr{#1dateunspecified}{yearincentury}}%
+ and
+ not togl {cms@centuryrange}%
+ )
+ }%
+ {\global\booltrue{cms:comma}}%
+ {}}}%
+ {}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@pre@punct}{%
+ \iftoggle{cms@origlabel}%
+ {\cms@citepunct@helper{orig}}%
+ {\ifdefstring\abx@field@labeldatesource{year}%
+ {\cms@citepunct@helper{}}%
+ {\ifdefstring\abx@field@labeldatesource{origyear}%
+ {\cms@citepunct@helper{orig}}%
+ {\ifdefstring\abx@field@labeldatesource{nodate}%
+ {}%
+ {\cms@citepunct@helper{\abx@field@labeldatesource}}}}}}
+
+\renewcommand*{\subtitlepunct}{% Follows CMS16 spec.
+ \ifboolexpr{%
+ test {\ifterm}%
+ and
+ not test {\ifcsdef{@cmsst}}%
+ }%
+ {\addspace}%
+ {\addcolon\addspace%
+ \global\csundef{@cmsst}}%
+}
+
+\newcommand*{\reprintpunct}{%
+ \ifthenelse{\ifentrytype{artwork}\OR\ifentrytype{image}}%
+ {}%
+ {\ifentrytype{dataset}%
+ {\setunit{\addspace}}%
+ {\printunit{\addcomma\addspace}}}}
+
+\newcommand*{\postvolpunct}{\addcolon}%
+
+\newcommand*{\parttrans}{%
+ {\bibstring{bytranslator}\space}}%
+
+\protected\def\partedit#1{%
+ \ifcat\noexpand~\noexpand#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \ifx\addnbspace#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \ifx\addspace#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \if#1H%
+ \appto{\cms@tempb}{#1}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \if#1h%
+ \appto{\cms@tempb}{#1}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \def\cms@tempa{\part@edit@i\lbx@initnamehook{#1}%
+ \csuse{cms@tempb}#1\csundef{cms@tempb}}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \cms@tempa%
+}%
+
+\newcommand*{\part@edit@i}{\bibstring{byeditor}\addspace}%
+
+\newcommand*{\partcomp}{%
+ {\bibstring{bycompiler}\space}}%
+
+\newcommand*{\parteditandcomp}{%
+ {\bibstring{byeditorcp}\space}}%
+
+\newcommand*{\parttransandcomp}{%
+ {\bibstring{bytranslatorcp}\space}}%
+
+\newcommand*{\partedittransandcomp}{%
+ {\bibstring{byeditortrcp}\space}}%
+
+\newcommand*{\parteditandtrans}{%
+ {\bibstring{byeditortr}\space}}%
+
+\newcommand*{\reprint}{\bibstring{reprint}}%
+
+\newcommand*{\multipubsdelim}{\addnbspace/\addspace}
+
+\newcommand*{\multilocsdelim}{%
+ \ifthenelse{\value{listcount}<\value{liststop}}%
+ {\ifthenelse{\numexpr\value{listcount}+1<\value{liststop}}%
+ {\addcomma\addspace}%
+ {\ifthenelse{\value{liststop}>2}%
+ {\addcomma\addspace\bibstring{and}\addspace}%
+ {\addspace\bibstring{and}\addspace}}}%
+ {}}%
+
+\newcommand*{\multilangdelim}{%
+ \ifthenelse{\value{listtotal}<3}%
+ {\addspace\bibstring{and}\addspace}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\addcomma\addspace}%
+ {\addcomma\addspace\bibstring{and}\addspace}}}
+
+\renewcommand*{\postnotedelim}{% Cf. N&B style
+ \ifboolexpr{%
+ test {\ifciteibid}%
+ and
+ (
+ test {\ifentrytype{jurisdiction}}%
+ or
+ test {\ifentrytype{legal}}%
+ or
+ test {\ifentrytype{legislation}}%
+ )
+ }%
+ {\addspace}%
+ {\iftoggle{cms@inlineibid}%
+ {\togglefalse{cms@inlineibid}%
+ \iffieldundef{prenote}% Bug fix
+ {}%
+ {\cms@testspace}}%
+ {\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too?
+ {\DeclareNumChars*{abcdeABCDE:}%
+ \iffieldpages{postnote}%
+ {\cms@testspace}%
+ {\addcomma\addspace}}%
+ {\addcomma\addspace}\DeclareNumChars{.}}}}
+
+\newcommand*{\postnotewrapper}{%
+ \iftoggle{cms@modpostnote}%
+ {\ifboolexpr{%
+ test {\iffieldstart{postnote}{,}}%
+ or
+ test {\iffieldstart{postnote}{\bibrangessep}}%
+ }%
+ {\addcomma}% w/ or w/o \addspace?
+ {\ifboolexpr{%
+ test {\iffieldstart{postnote}{;}}%
+ or
+ test {\iffieldstart{postnote}{:}}%
+ or
+ test {\iffieldstart{postnote}{.}}%
+ }%
+ {}{\postnotedelim}}}%
+ {\postnotedelim}}%
+
+\newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from
+ \begingroup% comp.text.tex
+ \edef\@tempa{%
+ \long\def\noexpand\iffieldstart@i####1\detokenize{#2}####2}%
+ \@tempa\@nil{\endgroup\ifblank{##1}}%
+ \savefield*{#1}{\@tempa}%
+ \expandafter\iffieldstart@i\detokenize
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@tempa\detokenize{#2}}\@nil}
+
+\newcommand*{\editordelim}{% Otherwise you get an inaccurate comma.
+ \iffieldequalstr{editortype}{none}%
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
+
+\newcommand*{\nameadelim}{% Otherwise you get an inaccurate comma.
+ \iffieldequalstr{nameatype}{none}%
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
+
+\DeclareDelimFormat{dateeradelim}{\addnbspace}%
+\DeclareDelimFormat{dateaddelim}{\addnbspace}%
+
+\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide
+ \begingroup% final {by}.
+ \blx@bibstringnormal%
+ \usebibmacro{list:delim}{%
+ \ifbibstring{from#1}%
+ {\bibxlstring{cfrom#1}}%
+ {\ifbibstring{clang#1}%
+ {\bibxlstring{lang#1}}%
+ {#1}}}%
+ \ifbibstring{cfrom#1}%
+ {\ifboolexpr{%
+ test {\ifnumless{\value{listcount}}{\value{liststop}}}%
+ or
+ test {\ifmoreitems}%
+ }%
+ {\bibstring{from#1}}%
+ {\bibstring{cfrom#1}}}%
+ {\ifbibstring{lang#1}%
+ {\biblstring{lang#1}}%
+ {#1}}%
+ \usebibmacro{list:andotherlangs}%
+ \endgroup}
+
+\newbibmacro*{list:andotherlangs}{% Final {by} after {andmore}
+ \ifboolexpr{%
+ test {\ifnumequal{\value{listcount}}{\value{liststop}}}%
+ and
+ test {\ifmoreitems}%
+ }%
+ {\ifnumgreater{\value{liststop}}{1}%
+ {\finalandcomma}%
+ {}%
+ \printdelim{andmoredelim}\bibstring{andmore}\addspace\bibstring{by}}%
+ {}}
+
+\newcommand*{\lbx@cfromlang}{% Because the cbytranslator string can't
+ \iffieldundef{userf}% have {by} in it unless there's an origlanguage.
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[cfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@fromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@lfromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@sfromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[sfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+%%%% Formatting macros, called both by cbx and bbx %%%%
+
+\newbibmacro*{finentry}{%{\finentry} To make annotated bibliography
+ \ifbibliography
+ {\usebibmacro{entrytail}}%
+ {}%
+ \finentry}
+
+\newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography
+ \newunit\newblock
+ \iftoggle{cms@annotation}%
+ {\usebibmacro{annotation}%
+ \newunit\newblock}%
+ {}}%
+
+\newbibmacro*{author+holder}{%
+ \ifnameundef{author}%
+ {\let\bbx@lasthash\undefined}%
+ {\usebibmacro{author/editor}%
+ \ifthenelse{\ifnameundef{holder}\OR
+ \ifnamesequal{author}{holder}}%
+ {}%
+ {\setunit{\addspace}%
+ \printtext[parens]{\printnames{holder}}}}}
+
+\renewbibmacro*{byauthor}{%
+ \ifthenelse{\ifuseauthor\OR
+ \ifnameundef{author}}%
+ {}%
+ {\bibstring{by}\addspace%
+ \printnames[byauthor]{author}}}
+
+\newbibmacro*{byauthorpunct}{%
+ \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}%
+ {\addperiod\addspace}%
+ {\newcunit}}
+
+\renewbibmacro*{bybookauthor}{%
+ \ifnameundef{bookauthor}%
+ {}%
+ {\ifnamesequal{author}{bookauthor}%
+ {}%
+ {\bibstring{by}\addspace\printnames[default]{bookauthor}%
+ \newcunit\newblock}}}
+
+\newbibmacro*{music+bookauthor}{%
+ \ifnameundef{bookauthor}%
+ {}%
+ {\ifnamesequal{author}{bookauthor}%
+ {}%
+ {\printnames[default]{bookauthor}%
+ \newcunit\newblock}}}
+
+\newbibmacro*{editorpunct}{%
+ \ifthenelse{\(\iffieldundef{booktitle}\AND%
+ \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)%
+ \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed
+ \OR\iffieldsequal{maintitle}{title}}% entries. Create problems?
+ {\ifentrytype{video}%
+ {\newcunit\newblock}%
+ {\newunit\newblock}}%
+ {\newcunit\newblock}}
+
+\newbibmacro*{edition}{%
+ \printfield{edition}%
+ \clearfield{edition}}%
+
+\newbibmacro*{version}{%
+ \printfield{version}%
+ \clearfield{version}}%
+
+\newbibmacro*{inforaft}{%
+ \ifnameundef{introduction}%
+ {\ifnameundef{afterword}%
+ {\ifnameundef{foreword}%
+ {\printfield{type}}%
+ {\bibstring{forewordto}%
+ \clearname{foreword}}}%
+ {\bibstring{afterwordto}%
+ \clearname{afterword}}}%
+ {\bibstring{introductionto}%
+ \clearname{introduction}}}
+
+\newbibmacro*{langlist:andothers}{%
+ \ifthenelse{\value{listcount}=\value{liststop}\AND
+ \ifmoreitems}%
+ {\ifnum\value{liststop}>1 \finalandcomma\fi
+ \andmoredelim\bibstring{andmore}\bibrightbracket}%
+ {}}
+
+\newbibmacro*{video+tv+title}{% For 17th ed.
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\printtext{%
+ \printfield{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[booksubtitle]{booksubtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \ifundef\bbx@lasthash{}{\newcunit}}%
+ {\usebibmacro{video+title}% Simplifies trad style
+ \iffieldundef{booktitle}% Comma after italics, period after quotes
+ {\setunit{\ctitleaddonpunct}}%
+ {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
+ \printfield{titleaddon}%\usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}}}
+
+\newbibmacro*{reference+title}{%
+ \ifboolexpr{%
+ test {\iffieldequals{title}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\usebibmacro{italtitle+stitle}%
+ \savefield{title}{\bbx@lasthash}}}
+
+\newbibmacro*{mag+news+author}{%
+ \ifboolexpr{%
+ (
+ test {\ifnameundef{author}}%
+ or
+ not test {\ifuseauthor}%
+ )
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldequals{journaltitle}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \savefield{journaltitle}{\bbx@lasthash}}}%
+ {\usebibmacro{author}}}
+
+\newbibmacro*{type+inst+year}{%
+ \printfield{type}%
+ \newcunit
+ \printlist{institution}%
+ \setunit*{\addcomma\space}%
+ \printdate}% Was printfield{year}?
+
+\newbibmacro*{institution+organization}{%
+ \iflistundef{organization}%
+ {\iflistundef{institution}%
+ {}%
+ {\printlist{institution}}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printlist{institution}}}
+
+\newbibmacro*{misc+institution+organization}{% 17th ed.
+ \iffieldundef{number}%
+ {\iflistundef{organization}%
+ {\iflistundef{institution}%
+ {}%
+ {\printlist{institution}}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printlist{institution}}}%
+ {\iflistundef{organization}%
+ {\iflistundef{institution}%
+ {\newcunit\printfield{number}}%
+ {\newcunit\printfield{number}%
+ \newunit%
+ \printlist{institution}}}%
+ {\iflistundef{institution}%
+ {\newcunit\printfield{number}%
+ \newunit%
+ \printlist{organization}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printfield{number}%
+ \newcunit%
+ \printlist{institution}}}}}
+
+\newbibmacro*{author+org}{%
+ \ifnameundef{author}%
+ {\ifnameundef{editor}%
+ {\iflistundef{organization}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\iftoggle{cms@authorparens}%
+ {\bibopenparen\printlist{organization}\bibcloseparen}%
+ {\printlist{organization}}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{editor}}}%
+ {\usebibmacro{author/editor}}}
+
+\renewbibmacro*{bytypestrg}[2]{% From biblatex.def
+ \iffieldundef{#1type}%
+ {\bibstring{by#2}}%
+ {\ifbibxstring{by\thefield{#1type}}%
+ {\bibstring{by\thefield{#1type}}}%
+ {\printtext[note]{\thefield{#1type}}}}}%
+
+\newbibmacro*{cbytypestrg}[2]{%
+ \iffieldundef{#1type}%
+ {\bibstring{cby#2}}%
+ {\ifbibxstring{cby\thefield{#1type}}%
+ {\bibstring{cby\thefield{#1type}}}%
+ {\printtext[note]{\thefield{#1type}}}}}%
+
+\newbibmacro*{cbyeditor}{%
+ \ifnameundef{editor}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \newcunit}%
+ \usebibmacro{cbyeditorx}}
+
+\newbibmacro*{cbyeditorx}{%
+ \ifnameundef{editora}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editora}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \newcunit}%
+ \ifnameundef{editorb}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editorb}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \newcunit}%
+ \ifnameundef{editorc}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editorc}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \newcunit}}
+
+\newbibmacro*{cbytranslator}{%
+ \ifnameundef{translator}%
+ {}%
+ {\bibstring{bytranslator}%
+ \addspace
+ \printnames[bytranslator]{translator}}}
+
+\newbibmacro*{cbycompiler}{%
+ \ifnameundef{namec}%
+ {}%
+ {\bibstring{cbycompiler}\addspace%
+ \printnames[bycompiler]{namec}}}
+
+\newbibmacro*{cbyredactor}{%
+ \ifnameundef{redactor}%
+ {}%
+ {\bibstring{cbyredactor}\addspace%
+ \printnames[byredactor]{redactor}}}
+
+\newbibmacro*{cwithcommentator}{%
+ \ifnameundef{commentator}%
+ {}%
+ {\bibstring{withcommentator}\addspace%
+ \printnames[withcommentator]{commentator}}}
+
+\newbibmacro*{cwithannotator}{%
+ \ifnameundef{annotator}%
+ {}%
+ {\bibstring{withannotator}\addspace%
+ \printnames[withannotator]{annotator}}}
+
+\newbibmacro*{cwithintroduction}{%
+ \ifnameundef{introduction}%
+ {}%
+ {\bibstring{withintroduction}\addspace%
+ \printnames[withintroduction]{introduction}}}
+
+\newbibmacro*{cwithforeword}{%
+ \ifnameundef{foreword}%
+ {}%
+ {\bibstring{withforeword}\addspace%
+ \printnames[withforeword]{foreword}}}
+
+\newbibmacro*{cwithafterword}{%
+ \ifnameundef{afterword}%
+ {}%
+ {\bibstring{withafterword}\addspace%
+ \printnames[withafterword]{afterword}}}
+
+\newbibmacro*{cbyeditor+others}{%
+ \ifthenelse{\NOT\ifnameundef{editor}\AND
+ \(\iffieldundef{editortype}\OR
+ \iffieldequalstr{editortype}{editor}\)}%
+ {\def\@tempa{cbyeditor}%
+ \ifnamesequal{editor}{translator}%
+ {\edef\@tempa{\@tempa tr}%
+ \clearname{translator}}%
+ {}%
+ \ifnamesequal{editor}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{editor}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{editor}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{editor}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{editor}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{editor}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\space%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \newcunit%
+ \usebibmacro{cbyeditorx}}%
+ {\usebibmacro{cbyeditor}}%
+ \usebibmacro{cbytranslator+others}}
+
+\newbibmacro*{cbytranslator+others}{%
+ \ifnameundef{translator}%
+ {}%
+ {\def\@tempa{cbytranslator}%
+ \ifnamesequal{translator}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{translator}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{translator}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{translator}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{translator}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{translator}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\space%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \newcunit}%
+ \usebibmacro{cbycompiler+others}}
+
+\newbibmacro*{cbycompiler+others}{%
+ \ifnameundef{namec}%
+ {}%
+ {\def\@tempa{cbycompiler}%
+ \ifnamesequal{namec}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{namec}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{namec}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{namec}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{namec}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\space%
+ \printnames[bycompiler]{namec}%
+ \clearname{namec}%
+ \newcunit}%
+ \usebibmacro{cbyothers}}
+
+\newbibmacro*{cbyothers}{%
+ \usebibmacro{cbytranslator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cbycompiler}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cbyredactor}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithcommentator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithannotator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithintroduction}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithforeword}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithafterword}}
+
+\newbibmacro*{cms-in:}{% Fix for 0.9a compat.
+ \iftoggle{cms@origpublished}%
+ {}%
+ {\bibstring{in}%
+ \setunit{\addspace}}}
+
+\newbibmacro*{xref-in:}{%
+ \iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}%
+ \iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}%
+ \bibstring{in}\setunit{\addspace}}% Changed for related:reprintfrom
+
+\newbibmacro*{chapincoll}{%
+ \iffieldundef{chapter}%
+ {}%
+ {\printfield{chapter}\addspace%
+ \clearfield{chapter}}}%
+
+\newbibmacro*{chapinscore}{%
+ \iffieldundef{chapter}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{eventyear}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ test {\ifentrytype{audio}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\bibstring{in}\setunit{\addspace}}%
+ {}}%
+ {\printfield{chapter}\clearfield{chapter}%
+ \iffieldundef{booktitle}%
+ {}%
+ {\addspace\bibstring{of}\setunit{\addspace}}}}%
+
+\newbibmacro*{chap+as+track}{%
+ \iffieldundef{chapter}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{booktitle}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\bibstring{on}\setunit{\addspace}}%
+ {}}%
+ {\printfield{chapter}\clearfield{chapter}%
+ \iffieldundef{booktitle}%
+ {}%
+ {\addspace\bibstring{on}\setunit{\addspace}}}}%
+
+\newbibmacro*{music+origdate}{%
+ \iffieldequalstr{pubstate}{reprint}% 17th ed.
+ {}%
+ {\iftoggle{cms@switchdates}% Date fix
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
+ {}%
+ {\usebibmacro{cmsorigdate}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
+ {}%
+ {\usebibmacro{cmsorigdate}}}%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\newunit\biblstring{\thefield{pubstate}}}%
+ {\newunit\printfield[prenote]{pubstate}}}}}%
+
+\newbibmacro*{music+eventdate}{% Date fix
+ \ifthenelse{\iffieldundef{eventyear}\AND\iffieldundef{eventmonth}}%
+ {}%
+ {\printeventdate}}
+
+\newbibmacro*{ser+num}{%
+ \usebibmacro{series+or+shortser}%
+ \printfield[sernum]{number}%
+ \newunit}
+
+\newbibmacro*{series+or+shortser}{%
+ \iffieldundef{shortseries}%
+ {\printfield{series}}%
+ {\iftoggle{cms@shser}%
+ {\printfield{shortseries}}%
+ {\printfield{series}}}}
+
+\newbibmacro*{language+transtitle}{%
+ \iffieldundef{usere}%
+ {\printlist[][-\value{listtotal}]{language}}%
+ {\printfield{usere}}}
+
+\newbibmacro*{publ+loc+year}{%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}% For the author-date style. Tricky.
+}%
+
+\newbibmacro*{origpubl+loc+year}{% 16th ed.
+ \printlist{origlocation}%
+ \iflistundef{origpublisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{origpublisher}}%
+
+\newbibmacro*{howpubl+loc+year}{%
+ \printlist{location}%
+ \iffieldundef{howpublished}%
+ {\setunit*{\addcomma\space}}%
+ {\setunit*{\addcolon\space}}%
+ \printfield{howpublished}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+}%
+
+\newbibmacro*{inst+loc+year}{%
+ \printlist{location}%
+ \iflistundef{institution}%
+ {\setunit*{\addcomma\space}}%
+ {\setunit*{\addcolon\space}}%
+ \printlist{institution}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+}%
+
+\newbibmacro*{originally+published+as}{% Punctuation fix now in
+ \iffieldundef{userf}% \origfullcite for 0.8e.
+ {\iffieldundef{reprinttitle}%
+ {}%
+ {\usebibmacro{begrelated}%
+ \bibstring{reprintfrom}% ?
+ \origpublcite{\thefield{reprinttitle}}%
+ \usebibmacro{endrelated}%
+ \newunit}}%
+ {\usebibmacro{begrelated}%
+ \iflistundef{origlanguage}%
+ {\bibstring{origpub}%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}%
+ {\iftoggle{cms@postposit}%
+ {\bibstring{origedition}%
+ \setunit{\addspace}%
+ \printlist[edlang]{origlanguage}%
+ \addcolon%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}%
+ {\printlist[edlang]{origlanguage}%
+ \setunit{\addspace}%
+ \bibstring{origedition}%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}}}}
+
+\newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here?
+ \printlist{location}%
+ \iflistundef{organization}%
+ {\iflistundef{publisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{organization}%
+ \setunit*{\addcomma\space}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}}
+
+\newbibmacro*{year+in+parens}{%
+ \iffieldundef{volume}%
+ {noformat}%
+ {parens}}
+
+\newbibmacro*{letter+date}{% New for 0.9
+ \iflistundef{origlocation}%
+ {}%
+ {\printlist{origlocation}%
+ \newcunit\newblock}%
+ \iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
+ {}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
+ {}%
+ {\cms@datelong{orig}}}}
+
+\newbibmacro*{unpubl+letter+date}{% For the Misc type.
+ \iffieldundef{venue}%
+ {}%
+ {\printfield{venue}%
+ \newcunit\newblock}%
+ \iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
+ {}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
+ {\printdate}% For interviews and other dated non-letters
+ {\cms@datelong{orig}}}}
+
+\newbibmacro*{cmsbookdate}{%
+ \ifthenelse{\iffieldundef{year}\AND\iffieldundef{origyear}}%
+ {\newunit}%
+ {\iftoggle{cms@switchdates}%
+ {\iffieldundef{origyear}%
+ {\newunit}%
+ {\newcunit\printorigdate}}%
+ {\iffieldundef{year}%
+ {\newunit}%
+ {\newcunit\printdate}}}}
+
+\renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with
+ \iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}%
+ \AND\iffieldundef{origday}\AND\iffieldundef{origseason}}%
+ {}%
+ {\printorigdate}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}%
+ \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some
+ {}% entry types (Misc). The whole \printdate thing may need further work.
+ {\printdate}}}
+
+\newbibmacro*{time+stamp}{% 17th ed.
+ \iftoggle{cms@switchdates}%
+ {\iffieldundef{orighour}%
+ {}%
+ {\newcunit\printorigtime}}%
+ {\iffieldundef{hour}%
+ {}%
+ {\newcunit\printtime}}}
+
+\newcommand*{\cms@datelong}[1]{% Modified for 17th ed.
+ \begingroup
+ \protected\def\mkbibdatelong##1##2##3{%
+ \iffieldundef{##3}%
+ {}%
+ {\iftoggle{cms@ukord}%
+ {\mkbibordinal{\thefield{##3}}}%
+ {\stripzeros{\thefield{##3}}}%
+ \iffieldundef{##2}{}{\nobreakspace}}%
+ \iffieldundef{##2}%
+ {}%
+ {\mkbibmonth{\thefield{##2}}%
+ \iffieldundef{##1}{}{\space}}%
+ \iffieldbibstring{##1}%
+ {\bibstring{\thefield{##1}}}%
+ {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}%
+ \cms@mkbibrangetrunc{long}{#1}%
+ \endgroup}%
+
+\newrobustcmd*{\letterdatelong}{% For users: 17th ed.
+ \ifboolexpr{%
+ test {\ifdefstring{\blx@languagename}{american}}%
+ or
+ test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\cms@datelong{}}%
+ {\cms@datelong{orig}}}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}}%
+
+\newbibmacro*{journal+sub}{%
+ \iffieldundef{journaltitle}%
+ {}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\clearlist{location}\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ {\printtext[journaltitle]{%
+ \printfield[jtnoformat]{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sjtnoformat]{journalsubtitle}}}}}%
+
+\newbibmacro*{chap+pag}{%
+ \printfield{chapter}%
+ \setunit*{\addcomma\space}%
+ \printfield{pages}}
+
+\newbibmacro*{mag+news+date}{%
+ \ifboolexpr{%
+ (
+ test {\ifnameundef{author}}%
+ or
+ not test {\ifuseauthor}%
+ )
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\usebibmacro{date+issue}{a}}%
+ {\usebibmacro{mag+date+issue}}}
+
+\newbibmacro*{date+issue}[1]{%
+ \iffieldundef{maintitle}%
+ {\ifblank{#1}{\newcunit\newblock}{\newunit\newblock}}%
+ {\printtext{%
+ \printfield{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[mainsubtitle]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}%
+ \newcunit\newblock}%
+ \printfield{usera}% For network ID and possible section of newspaper.
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldundef{issue}%
+ {\iffieldundef{number}%
+ {\usebibmacro{date}%
+ \usebibmacro{time+stamp}}% 17th ed.
+ {\iftoggle{cms@numbermonth}%
+ {\usebibmacro{date}}%
+ {\usebibmacro{cmsyear}}%
+ \setunit*{\addcomma\addspace}% Starred version for when the
+ \printfield[journum]{number}}}% month isn't printed because of
+ {\printfield{issue}% the toggle.
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}
+
+\newbibmacro*{mag+date+issue}{%
+ \usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \newunit\newblock
+ \usebibmacro{date+issue}{}}
+
+\newbibmacro*{cmsyear}{%
+ \iftoggle{cms@switchdates}%
+ {\clearfield{extradate}\printorigdateextra}% \printfield{origyear}
+ {\clearfield{extradate}\printdateextra}}% \printfield{year}
+
+\newbibmacro*{cmsorigdate}{% New for 0.9
+ \iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}
+
+\newbibmacro*{cperiodical+ser+vol+num}[1]{% For periodical entries,
+ \ifboolexpr{% article subtype
+ togl {cms@citejtabb}%
+ and
+ test {\ifcitation}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}%
+ {}%
+ {\newcunit
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \ifthenelse{\iffieldundef{#1year}\AND\iffieldundef{#1month}\AND%
+ \iffieldundef{issue}\AND\iffieldundef{#1season}}% New, more accurate
+ {\iffieldundef{volume}% test, also in article
+ {\newcunit%
+ \printfield[journum]{number}%
+ \clearfield{number}%
+ \setunit{\addcomma\addspace}}%
+ {\printfield[jourvol]{volume}%
+ \setunit{\addcomma\addspace}}}%
+ {\printfield[jourvol]{volume}%
+ \newcunit%
+ \printfield[journum]{number}%
+ \clearfield{number}%
+ \setunit{\addcomma\addspace}}}% Moved eid for 17th ed.
+
+\newbibmacro*{periodical+date+issue}{% For periodical type &
+ \ifboolexpr{% magazine subtype
+ togl {cms@citejtabb}%
+ and
+ test {\ifcitation}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\ifboolexpr{%
+ togl {cms@bibjtabb}%
+ and
+ test {\ifbibliography}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \newunit\newblock
+ \usebibmacro{date+issue}{}}
+
+\renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}%
+ {}%
+ {\setunit{\postnotewrapper}%delim}%
+ \printfield{postnote}}}
+
+\newbibmacro*{part+editor+translator}{%
+ \ifnameundef{namea}%
+ {\ifnameundef{nameb}%
+ {}%
+ {\bibstring{bytranslator}\space%
+ \printnames[bytranslator]{nameb}}}%
+ {\ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{byeditortr}\space%
+ \printnames[byeditor]{namea}}%
+ {\bibstring{byeditor}\space%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newunit
+ \bibstring{bytranslator}\space%
+ \printnames[bytranslator]{nameb}}}}%
+ {\usebibmacro{bytypestrg}{namea}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newunit%
+ \bibstring{bytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}}
+
+\newbibmacro*{compilestrg}{%
+ \ifthenelse{\value{namec}>1\OR\ifandothers{namec}}%
+ {\bibstring{compilers}}%
+ {\bibstring{compiler}}%
+ \clearname{namec}}
+
+\newbibmacro*{transstrg}{%
+ \ifthenelse{\value{translator}>1\OR\ifandothers{translator}}%
+ {\ifnamesequal{translator}{namec}%
+ {\bibstring{transcompilers}%
+ \clearname{namec}}%
+ {\bibstring{translators}}}%
+ {\ifnamesequal{translator}{namec}%
+ {\bibstring{transcompiler}%
+ \clearname{namec}}%
+ {\bibstring{translator}}}%
+ \clearname{translator}}
+
+\newbibmacro*{parttransstrg}{%
+ \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}}%
+ {\ifnamesequal{nameb}{namec}%
+ {\bibstring{transcompilers}%
+ \clearname{namec}}%
+ {\bibstring{translators}}}%
+ {\ifnamesequal{nameb}{namec}%
+ {\bibstring{transcompiler}%
+ \clearname{namec}}%
+ {\bibstring{translator}}}%
+ \clearname{nameb}}
+
+\newbibmacro*{editstrg}{% Test added for 0.9
+ \ifthenelse{\iffieldundef{editortype}\OR
+ \iffieldequalstr{editortype}{editor}}%
+ {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}%
+ {\ifthenelse{\ifnamesequal{editor}{translator}\AND
+ \ifnamesequal{editor}{namec}}%
+ {\bibstring{editortranscompilers}%
+ \clearname{translator}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{namec}%
+ {\bibstring{editorcompilers}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{translator}%
+ {\bibstring{editortranslators}%
+ \clearname{translator}}%
+ {\bibstring{editors}}}}}%
+ {\ifthenelse{\ifnamesequal{editor}{translator}\AND
+ \ifnamesequal{editor}{namec}}%
+ {\bibstring{editortranscompiler}%
+ \clearname{translator}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{namec}%
+ {\bibstring{editorcompiler}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{translator}%
+ {\bibstring{editortranslator}%
+ \clearname{translator}}%
+ {\bibstring{editor}}}}}}%
+ {\ifbibxstring{\thefield{editortype}}%
+ {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}%
+ {\bibstring{\thefield{editortype}s}}%
+ {\bibstring{\thefield{editortype}}}}%
+ {\printtext[note]{\thefield{editortype}}}}%
+ \clearname{editor}}
+
+\newbibmacro*{parteditstrg}{%
+ \ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}%
+ {\ifthenelse{\ifnamesequal{namea}{nameb}\AND
+ \ifnamesequal{namea}{namec}}%
+ {\bibstring{editortranscompilers}%
+ \clearname{nameb}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{namec}%
+ {\bibstring{editorcompilers}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{editortranslators}%
+ \clearname{nameb}}%
+ {\bibstring{editors}}}}}%
+ {\ifthenelse{\ifnamesequal{namea}{nameb}\AND
+ \ifnamesequal{namea}{namec}}%
+ {\bibstring{editortranscompiler}%
+ \clearname{nameb}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{namec}%
+ {\bibstring{editorcompiler}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{editortranslator}%
+ \clearname{nameb}}%
+ {\bibstring{editor}}}}}}%
+ {\ifbibxstring{\thefield{nameatype}}%
+ {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}%
+ {\bibstring{\thefield{nameatype}s}}%
+ {\bibstring{\thefield{nameatype}}}}%
+ {\printtext[note]{\thefield{nameatype}}}}%
+ \clearname{namea}}
+
+\newbibmacro*{clearpublin}{%
+ \clearname{author}\clearfield{shorthand}%
+ \ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR%
+ \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}%
+ {}%
+ {\clearname{namea}%
+ \clearname{nameb}}%
+ \clearfield{nameaddon}%
+ \ifthenelse{\(\ifentrytype{periodical}\OR\ifentrytype{mvbook}\OR%
+ \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\OR%
+ \ifentrytype{mvreference}\OR\ifentrytype{proceedings}\OR%
+ \ifentrytype{collection}\OR\ifentrytype{reference}\OR%
+ \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR%
+ \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}\)\AND\(\iffieldundef{booktitle}\AND%
+ \iffieldundef{entrysubtype}\)\)}%
+ {}%
+ {\clearfield{title}%
+ \clearfield{subtitle}%
+ \clearfield{titleaddon}%
+ \clearfield{usere}%
+ \clearlist{language}%
+ \ifentrytype{music}%
+ {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}%
+ \clearfield{eventmonth}}%
+ {}}%
+ \ifentrytype{letter}%
+ {\iftoggle{cms@switchdates}%
+ {\clearfield{year}\clearfield{month}\clearfield{season}}%
+ {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}%
+ \clearfield{origlocation}}%
+ {}%
+ \clearfield{reprinttitle}%
+}
+
+%%%% Related macros from biblatex.def %%%%
+
+\renewbibmacro*{related:origpubas}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \usebibmacro{cite:origfull}}}%
+
+\renewbibmacro*{related:reprintfrom}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \nopunct% ???
+ \usebibmacro{cite:origpubl}}}%
+
+\renewbibmacro*{related:origpubin}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \usebibmacro{cmsyear}%
+ \ifboolexpr{%
+ test {\iflistsequal{publisher}{savedpublisher}}%
+ or
+ test {\iflistundef{publisher}}%
+ }%
+ {}%
+ {\setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}%
+ \printlist{publisher}%
+ \setunit{\addcomma\space}%
+ \iflistsequal{location}{savedlocation}%
+ {}%
+ {\printlist{location}}}}}
+
+\renewbibmacro*{related:bytranslator}[1]{%
+ \entrydata{#1}{%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{name:hook}[1]{%
+ \ifnumequal{\value{listcount}}{1}%
+ {\begingroup
+ \mkrelatedstring%
+ \lbx@initnamehook{#1}%
+ \endgroup}%
+ {}}%
+ \printnames[bytranslator]{translator}%
+ \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\space}%
+ \clearname{translator}%
+ \usebibmacro{cite:origfull}}}%
+
+\renewbibmacro*{related:default}[1]{%
+ \entrydata*{#1}{%
+ \usedriver
+ {\ifnameundef{savedauthor}%
+ {\ifnameundef{savededitor}%
+ {}%
+ {\ifnamesequal{editor}{savededitor}%
+ {\clearname{editor}}%
+ {}}}%
+ {\ifnamesequal{author}{savedauthor}%
+ {\clearname{author}}%
+ {}}%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{cmsbibsortdate}{}%
+ \renewbibmacro*{related:init}{}%
+ \DeclareNameAlias{sortname}{default}%
+ \renewbibmacro*{pageref}{}}%
+ {\thefield{entrytype}}}}
+
+\letbibmacro*{related:maintitlenc}{related:multivolume}% From N & B
+\letbibmacro*{related:maintitle}{related:multivolume}%
+
+\renewbibmacro*{related:multivolume}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {}%
+ {\printtext{%
+ \printfield{volume}%
+ \printfield{part}}%
+ \setunit{\addcolon\space}}%
+ \usebibmacro{italtitle+stitle}%
+ \ifboolexpr{%
+ test {\ifnamesequal{author}{savedauthor}}%
+ or
+ test {\ifnameundef{author}}%
+ }%
+ {}%
+ {\usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{author}%
+ \newcunit\newblock}%
+ \ifboolexpr{%
+ test {\ifnamesequal{namea}{savednamea}}%
+ or
+ test {\ifnameundef{namea}}%
+ }%
+ {\ifboolexpr{%
+ test {\ifnamesequal{editor}{savededitor}}%
+ or
+ test {\ifnameundef{editor}}%
+ }%
+ {\ifboolexpr{%
+ test {\ifnamesequal{nameb}{savednameb}}%
+ or
+ test {\ifnameundef{nameb}}%
+ }%
+ {}%
+ {\bibstring{bytranslator}\addspace%
+ \printnames[bytranslator]{nameb}\newcunit}}%
+ {\usebibmacro{byeditor+others}%
+ \newcunit\newblock}}%
+ {\usebibmacro{part+editor+translator}%
+ \newcunit}%
+ \usebibmacro{date}}}%
+
+\newbibmacro*{related:commenton}[1]{% 17th ed.
+ \togglefalse{cms@fulldate}% Let cloned entry set it
+ \entrydata*{#1}{%
+ \cmshypercite{\strfield{clonesourcekey}}}}
+
+\providetoggle{cms@otherlang}
+
+\apptocmd\blx@opt@autolang@other%
+{\toggletrue{cms@otherlang}}%
+{\blx@info@noline{Patching 'autolang=other' option}}%
+{\PackageWarningNoLine{biblatex-chicago}%
+ {Upgrading biblatex to >v2.7a recommended,\MessageBreak
+ especially if you are using the "related"\MessageBreak
+ functionality}}
+
+\newbibmacro*{cite:origfull}{%
+ \printtext[cmshypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \clearname{author}\clearfield{userf}\clearfield{shorthand}%
+ \toggletrue{cms@headlessnote}\frenchspacing%
+ \renewbibmacro*{cmsbibsortdate}{}}%
+ {\thefield{entrytype}}}}
+
+\newbibmacro*{cite:origpubl}{%
+ \printtext[cmshypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \usebibmacro{clearpublin}\clearfield{shorthand}%
+ \toggletrue{cms@headlessnote}\toggletrue{cms@origpublished}%
+ \frenchspacing\renewbibmacro*{cmsbibsortdate}{}%
+ \usebibmacro{cms:titlehook}}%
+ {\thefield{entrytype}}}}
+
+\newbibmacro*{at+every+item}{%
+ \ifboolexpr{% AD requires this here because cmsbibsortdate=null
+ test {\iffieldundef{origyear}}%
+ or
+ test {\iffieldundef{year}}%
+ or
+ not test {\iffieldint{year}}%
+ or
+ togl {cms@switchdates}%
+ }%
+ {}%
+ {\ifboolexpr{% Needed for open-ended ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}}}%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-dates-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx
index 6b8e1a4173..808388e32c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-dates-common.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx
@@ -1,17 +1,18 @@
-% $Id: chicago-dates-common.cbx,v 0.10.1.15 2018/01/11 09:49:53 dfussner Exp $
-
% This is a biblatex citation style file, adapted from Lehman's
% authoryear-comp.cbx. It is heavily modified, and contains the
% common code for providing inline citations (and a reference list)
% for the two author-date styles of the Chicago Manual of Style, 16th
% edition.
-\ProvidesFile{chicago-dates-common.cbx}[2018/01/11 v 3.10 biblatex
+\ProvidesFile{chicago-dates-common16.cbx}[2020/04/20 v 3.14 biblatex
citation style]
%%%% Biblatex initialization + Chicago options + Toggles %%%%
\newbool{cbx:parens}
+\newbool{cms:bracket}
+\newbool{cms:extraparens}
+\newbool{cms:comma}
\providecommand*{\mkibid}[1]{#1}
@@ -23,10 +24,15 @@ citation style]
\providetoggle{cms@reprint}
\providetoggle{cms@switchdates}
\providetoggle{cms@los}
-%\providetoggle{cms@oneyear}
\providetoggle{cms@avdate}
\providetoggle{cms@ordate}
\providetoggle{cms@nodates}
+\providetoggle{cms@bc}% Attempt to provide correct dateera handling
+\providetoggle{cms@alwaysrange}% Turns off decade and century handling
+\providetoggle{cms@decaderange}% Only turns off decade handling
+\providetoggle{cms@centuryrange}% Only turns off century handling
+\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa
+\providetoggle{cms@noyearbrackets}%
\providetoggle{cms@authorparens}
\providetoggle{cms@datedash}
\providetoggle{cms@modpostnote}
@@ -35,6 +41,7 @@ citation style]
\providetoggle{cms@shortnote}% Ditto
\providetoggle{cms@url}% These are for the field-exclusion options
+\providetoggle{cms@urltime}% 17th ed.
\providetoggle{cms@doi}
\providetoggle{cms@doionly}
\providetoggle{cms@eprint}
@@ -44,11 +51,14 @@ citation style]
\providetoggle{cms@addendum}
\providetoggle{cms@hidevolumes}% Modify Volume fix
\providetoggle{cms@comprange}
+\providetoggle{cms@compyears}
\providetoggle{cms@jrcomma}% Comma after Jr./Sr.
+\providetoggle{cms@strict}
\providetoggle{cms@headlessnote}% Keep
\providetoggle{cms@noibid}% Keep
+\providetoggle{cms@namedash}
\providetoggle{cms@usecompiler}% Keep
\providetoggle{cms@origpublished}% Keep
\providetoggle{cms@annotation}% Keep
@@ -82,27 +92,26 @@ citation style]
\PackageWarningNoLine{biblatex-chicago}{#1}%
\endgroup}%
-\DeclareBibliographyOption{avdate}[true]{%
+\DeclareBibliographyOption[string]{avdate}[true]{%
\ifcsdef{cms@opt@avdate@#1}%
{\csuse{cms@opt@avdate@#1}}%
{\blx@err@invopt{avdate=#1}{}}}%
\def\cms@opt@avdate@true{%
- \@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4/2.5
- {\@ifpackagelater{biblatex}{2013/03/30}% for biblatex 2.6 ff.
- {\DeclareLabeldate[music,review,suppperiodical,video]{\field{eventdate}%
- \field{origdate} \field{date} \field{year} \field{urldate}}}%
- {\DeclareLabelyear[music,review,suppperiodical,video]{\field{eventyear}%
- \field{origyear} \field{year} \field{urlyear}}}}%
- {\DeclareLabelyear[music,review,suppperiodical,video]%
- {eventyear,origyear,year,urlyear}}%
- \toggletrue{cms@avdate}}%
+ \DeclareLabeldate[music,review,standard,suppperiodical,video]% 17th ed.
+ {\field{eventdate} \field{origdate} \field{date} \field{year}%
+ \field{urldate} \literal{nodate}}%
+ \toggletrue{cms@avdate}}%
\def\cms@opt@avdate@false{%
\togglefalse{cms@avdate}}%
-\DeclareBibliographyOption{cmsdate}[off]{% Trying to implement origyear as
+\DeclareBibliographyOption[string]{cmsdate}[off]{% Implement origyear as
\ifcsdef{cms@global@cmsdate@#1}% labelyear. Sorting will be an issue.
{\csuse{cms@global@cmsdate@#1}}%
- {\blx@err@invopt{cmsdate=#1}{}}}%
+ {\csuse{cms@global@cmsdate@off}\cms@warning@noline%
+ {'cmsdate=#1' isn't a valid option.\MessageBreak
+ The default - 'off' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
\def\cms@global@cmsdate@on{%
\toggletrue{cms@origlabel}%
\ExecuteBibliographyOptions{cmsorigdate=true}}%
@@ -118,40 +127,28 @@ citation style]
\def\cms@global@cmsdate@full{}%
\def\cms@global@cmsdate@off{}%
-\DeclareBibliographyOption{cmsorigdate}[true]{% ??? Also need new macros
- \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ???
+\DeclareBibliographyOption[string]{cmsorigdate}[true]{% ? Also need new macros
+ \ifcsdef{cms@opt@origdate@#1}% for printing dates. Worth it ?
{\csuse{cms@opt@origdate@#1}}%
{\blx@err@invopt{cmsorigdate=#1}{}}}%
\def\cms@opt@origdate@true{%
- \@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4/2.5
- {\@ifpackagelater{biblatex}{2013/03/30}% for biblatex 2.6 ff.
- {\DeclareLabeldate{\field{origdate} \field{date} \field{year}%
- \field{eventdate} \field{urldate}}%
- \DeclareLabeldate[patent]{\field{date} \field{year}%
- \field{eventdate} \field{origdate} \field{urldate}}}%
- {\DeclareLabelyear{\field{origyear} \field{year}%
- \field{eventyear} \field{urlyear}}%
- \DeclareLabelyear[patent]{\field{year} \field{eventyear}%
- \field{origyear} \field{urlyear}}}}%
- {\DeclareLabelyear{origyear,year,eventyear,urlyear}%
- \DeclareLabelyear[patent]{year,eventyear,origyear,urlyear}}%
+ \DeclareLabeldate{\field{origdate} \field{origyear} \field{date}%
+ \field{year} \field{eventdate} \field{urldate}%
+ \literal{nodate}}%
+ \DeclareLabeldate[patent]{\field{date} \field{year}%
+ \field{eventdate} \field{origdate} \field{origyear}%
+ \field{urldate}}%
\global\toggletrue{cms@ordate}}%
\def\cms@opt@origdate@false{\togglefalse{cms@ordate}}%
-\DeclareEntryOption{cmsdate}[off]{% Trying to implement origyear as
+\DeclareEntryOption[string]{cmsdate}[off]{% Trying to implement origyear as
\ifcsdef{cms@opt@cmsdate@#1}% labelyear. Sorting will be an issue.
- {\iftoggle{cms@origlabel}%
- {\togglefalse{cms@origlabel}%
- \def\@cms@tempdate{cms@origlabel}}%
- {\iftoggle{cms@bothlabelnew}%
- {\togglefalse{cms@bothlabelnew}%
- \def\@cms@tempdate{cms@bothlabelnew}}%
- {\iftoggle{cms@bothlabelold}%
- {\togglefalse{cms@bothlabelold}%
- \def\@cms@tempdate{cms@bothlabelold}}%
- {}}}%
- \csuse{cms@opt@cmsdate@#1}}%
- {\blx@err@invopt{cmsdate=#1}{}}}%
+ {\csuse{cms@opt@cmsdate@#1}}%
+ {\csuse{cms@opt@cmsdate@off}\cms@warning@noline%
+ {'cmsdate=#1' isn't a valid option.\MessageBreak
+ The default - 'off' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
\def\cms@opt@cmsdate@on{%
\toggletrue{cms@origlabel}}%
\def\cms@opt@cmsdate@new{%
@@ -164,38 +161,44 @@ citation style]
\toggletrue{cms@fulldate}}%
\def\cms@opt@cmsdate@off{}%
-\DeclareBibliographyOption[boolean]{genallnames}[true]{%
- \settoggle{cms@genallnames}{#1}}%
+\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{%
+ \settoggle{cms@alwaysrange}{#1}}%
-\DeclareEntryOption[boolean]{genallnames}[true]{%
- \settoggle{cms@genallnames}{#1}}%
+\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{%
+ \settoggle{cms@decaderange}{#1}}%
-\DeclareBibliographyOption[boolean]{hypertitle}[true]{%
- \settoggle{cms@linkit}{#1}}%
+\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{%
+ \settoggle{cms@centuryrange}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{%
+ \settoggle{cms@nodatebrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{%
+ \settoggle{cms@noyearbrackets}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{%
+ \settoggle{cms@genallnames}{#1}}%
-\DeclareEntryOption[boolean]{hypertitle}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{hypertitle}[true]{%
\settoggle{cms@linkit}{#1}}%
\DeclareBibliographyOption[boolean]{annotation}[true]{%
\global\settoggle{cms@annotation}{#1}}%
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \settoggle{cms@namedash}{#1}}
+
\DeclareBibliographyOption[boolean]{short}[true]{%
\global\settoggle{cms@allshort}{#1}}
-\DeclareBibliographyOption[boolean]{noneshort}[true]{%
- \global\settoggle{cms@noneshort}{#1}}
-
-\DeclareEntryOption[boolean]{noneshort}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{noneshort}[true]{%
\settoggle{cms@noneshort}{#1}}
\DeclareBibliographyOption[boolean]{legalnotes}[true]{%
\global\settoggle{cms@legalnotes}{#1}}
-\DeclareBibliographyOption[boolean]{supranotes}[true]{%
- \global\settoggle{cms@supranotes}{#1}}
-
-\DeclareEntryOption[boolean]{supranotes}[true]{%
- \global\settoggle{cms@supranotes}{#1}}
+\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{%
+ \settoggle{cms@supranotes}{#1}}
\DeclareBibliographyOption[boolean]{cmslos}[true]{%
\global\settoggle{cms@los}{#1}}%
@@ -203,18 +206,13 @@ citation style]
\DeclareBibliographyOption[boolean]{noibid}[true]{%
\global\settoggle{cms@noibid}{#1}}%
-\DeclareBibliographyOption{compresspages}[true]{%
- \ifcsdef{cms@opt@crange@#1}%
- {\csuse{cms@opt@crange@#1}}%
- {\blx@err@invopt{compresspages=#1}{}}}%
-\def\cms@opt@crange@true{%
- \global\toggletrue{cms@comprange}%
- \setcounter{mincomprange}{100}%
- \setcounter{mincompwidth}{10}%
-}%
-\def\cms@opt@crange@false{}%
+\DeclareBibliographyOption[boolean]{compresspages}[true]{%
+ \global\settoggle{cms@comprange}{#1}}%
-\DeclareBibliographyOption{postnotepunct}[true]{%
+\DeclareBibliographyOption[boolean]{compressyears}[true]{%
+ \global\settoggle{cms@compyears}{#1}}%
+
+\DeclareBibliographyOption[string]{postnotepunct}[true]{%
\ifcsdef{cms@opt@ppunct@#1}%
{\csuse{cms@opt@ppunct@#1}}%
{\blx@err@invopt{postnotepunct=#1}{}}}%
@@ -222,25 +220,19 @@ citation style]
\global\toggletrue{cms@modpostnote}}%
\def\cms@opt@ppunct@false{}%
-\DeclareBibliographyOption{usecompiler}[true]{%
- \settoggle{cms@usecompiler}{#1}}%
+\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{%
+ \settoggle{blx@usenamec}{#1}}%
-\DeclareBibliographyOption{nodates}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{nodates}[true]{%
\settoggle{cms@nodates}{#1}}%
-\DeclareEntryOption{usecompiler}[true]{%
- \settoggle{cms@usecompiler}{#1}}%
-
-\DeclareBibliographyOption{juniorcomma}[true]{%
- \settoggle{cms@jrcomma}{#1}}%
-
-\DeclareEntryOption{juniorcomma}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{%
\settoggle{cms@jrcomma}{#1}}%
-\DeclareBibliographyOption{shorthandfull}[true]{%
+\DeclareBibliographyOption[boolean]{shorthandfull}[true]{%
\settoggle{cms@fullshhand}{#1}}%
-\DeclareBibliographyOption{longcrossref}[false]{%
+\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{%
\ifcsdef{cms@opt@lxref@#1}%
{\csuse{cms@opt@lxref@#1}}%
{\blx@err@invopt{longcrossref=#1}{}}}%
@@ -256,12 +248,7 @@ citation style]
\def\cms@opt@lxref@bib{%
\toggletrue{cms@crossref}}%
-\DeclareEntryOption{longcrossref}[false]{%
- \ifcsdef{cms@opt@lxref@#1}%
- {\csuse{cms@opt@lxref@#1}}%
- {\blx@err@invopt{longcrossref=#1}{}}}%
-
-\DeclareBibliographyOption{booklongxref}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{booklongxref}[true]{%
\ifcsdef{cms@opt@bklxref@#1}%
{\csuse{cms@opt@bklxref@#1}}%
{\blx@err@invopt{booklongxref=#1}{}}}%
@@ -274,18 +261,10 @@ citation style]
\def\cms@opt@bklxref@bib{%
\toggletrue{cms@bookcrossref}}%
-\DeclareEntryOption{booklongxref}[true]{%
- \ifcsdef{cms@opt@bklxref@#1}%
- {\csuse{cms@opt@bklxref@#1}}%
- {\blx@err@invopt{booklongxref=#1}{}}}%
-
-\DeclareBibliographyOption[boolean]{xrefurl}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{%
\settoggle{cms@xrefurl}{#1}}%
-\DeclareEntryOption[boolean]{xrefurl}[true]{%
- \settoggle{cms@xrefurl}{#1}}%
-
-\DeclareBibliographyOption[string]{journalabbrev}[false]{%
+\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{%
\ifcsdef{cms@opt@jtabb@#1}%
{\csuse{cms@opt@jtabb@#1}}%
{\csuse{cms@opt@jtabb@false}\cms@warning@noline%
@@ -306,19 +285,7 @@ citation style]
\togglefalse{cms@citejtabb}%
\toggletrue{cms@bibjtabb}}%
-\DeclareEntryOption[string]{journalabbrev}[false]{%
- \ifcsdef{cms@opt@jtabb@#1}%
- {\csuse{cms@opt@jtabb@#1}}%
- {\csuse{cms@opt@jtabb@false}\cms@warning@noline%
- {'journalabbrev=#1' isn't a valid option.\MessageBreak
- The default - 'false' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
-\DeclareBibliographyOption[boolean]{related}[true]{%
- \settoggle{cms@related}{#1}}%
-
-\DeclareEntryOption[boolean]{related}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{%
\settoggle{cms@related}{#1}}%
\DeclareBibliographyOption[boolean]{ordinalgb}[true]{%
@@ -326,7 +293,7 @@ citation style]
% Controlling punctuation before titleaddon fields %
-\DeclareBibliographyOption[string]{ptitleaddon}[period]{%
+\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{%
\ifcsdef{cms@opt@ptao@#1}%
{\csuse{cms@opt@ptao@#1}}%
{\csuse{cms@opt@ptao@period}\cms@warning@noline%
@@ -347,16 +314,7 @@ citation style]
\def\cms@opt@ptao@period{%
\def\ptitleaddonpunct{\addperiod\addspace}}%
-\DeclareEntryOption[string]{ptitleaddon}[period]{%
- \ifcsdef{cms@opt@ptao@#1}%
- {\csuse{cms@opt@ptao@#1}}%
- {\csuse{cms@opt@ptao@period}\cms@warning@noline%
- {'ptitleaddon=#1' is not a valid option.\MessageBreak
- The default - 'period' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
-\DeclareBibliographyOption[string]{ctitleaddon}[comma]{%
+\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{%
\ifcsdef{cms@opt@ctao@#1}%
{\csuse{cms@opt@ctao@#1}}%
{\csuse{cms@opt@ctao@comma}\cms@warning@noline%
@@ -377,22 +335,16 @@ citation style]
\def\cms@opt@ctao@period{%
\def\ctitleaddonpunct{\addperiod\addspace}}%
-\DeclareEntryOption[string]{ctitleaddon}[comma]{%
- \ifcsdef{cms@opt@ctao@#1}%
- {\csuse{cms@opt@ctao@#1}}%
- {\csuse{cms@opt@ctao@comma}\cms@warning@noline%
- {'ctitleaddon=#1' is not a valid option.\MessageBreak
- The default - 'comma' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
% The field-exclusion options %
-\DeclareBibliographyOption{isbn}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{%
+ \settoggle{cms@urltime}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{%
\settoggle{cms@isbn}{#1}}%
-\DeclareBibliographyOption{url}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{%
\settoggle{cms@url}{#1}}%
-\DeclareBibliographyOption{doi}[true]{%
+\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{%
\ifcsdef{cms@opt@doi@#1}%
{\csuse{cms@opt@doi@#1}}%
{\blx@err@invopt{doi=#1}{}}}%
@@ -402,63 +354,42 @@ citation style]
\togglefalse{cms@doi}}%
\def\cms@opt@doi@only{%
\toggletrue{cms@doionly}}%
-\DeclareBibliographyOption{eprint}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{%
\settoggle{cms@eprint}{#1}}%
-\DeclareBibliographyOption{numbermonth}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{%
\settoggle{cms@numbermonth}{#1}}%
-\DeclareBibliographyOption{bookpages}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{%
\settoggle{cms@bookpages}{#1}}%
-\DeclareBibliographyOption{includeall}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{%
\settoggle{cms@isbn}{#1}%
\settoggle{cms@url}{#1}%
+ \settoggle{cms@urltime}{#1}% 17th ed.
\settoggle{cms@doi}{#1}%
\settoggle{cms@eprint}{#1}%
\settoggle{cms@numbermonth}{#1}%
\settoggle{cms@bookpages}{#1}}%
-\DeclareBibliographyOption{hidevolumes}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{%
\settoggle{cms@hidevolumes}{#1}}%
-\DeclareEntryOption{isbn}[true]{%
- \settoggle{cms@isbn}{#1}}%
-\DeclareEntryOption{doi}[true]{%
- \ifcsdef{cms@opt@doi@#1}%
- {\iftoggle{cms@doi}%
- {\togglefalse{cms@doi}%
- \iftoggle{cms@doionly}%
- {\togglefalse{cms@doionly}}% !!
- {}}%
- {\toggletrue{cms@doi}}% !!
- \csuse{cms@opt@doi@#1}}%
- {\blx@err@invopt{doi=#1}{}}}%
-\DeclareEntryOption{url}[true]{%
- \settoggle{cms@url}{#1}}%
-\DeclareEntryOption{eprint}[true]{%
- \settoggle{cms@eprint}{#1}}%
-\DeclareEntryOption{numbermonth}[true]{%
- \settoggle{cms@numbermonth}{#1}}%
-\DeclareEntryOption{bookpages}[true]{%
- \settoggle{cms@bookpages}{#1}}%
-\DeclareEntryOption{hidevolumes}[true]{%
- \settoggle{cms@hidevolumes}{#1}}%
+\DeclareEntryOption[boolean]{authortitle}[true]{%
+ \settoggle{cms@authortitle}{#1}}%
\ExecuteBibliographyOptions{includeall,hidevolumes,booklongxref,related,%
- ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes}%
-
-\@ifpackagelater{biblatex}{2016/09/01}% For biblatex 2.6 ff.
-{\ExecuteBibliographyOptions{labeldateparts=true}}%
-{\@ifpackagelater{biblatex}{2013/03/30}
- {\ExecuteBibliographyOptions{labeldate=true}}
- {\ExecuteBibliographyOptions{labelyear=true}}}%
+ ctitleaddon,ptitleaddon,journalabbrev=notes,legalnotes,supranotes,%
+ dashed}%
\iftoggle{cms@legalnotes}%
{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}%
{}%
-\@ifpackagelater{biblatex}{2016/09/01}% For biblatex 3.5 ff.
-{\global\togglefalse{cms@datedash}}
-{\@ifpackagelater{biblatex}{2014/02/20}% For biblatex 2.9 ff.
- {\global\toggletrue{cms@datedash}}%
- {\global\togglefalse{cms@datedash}}}%
+\AtEndPreamble{% Automatic sorting by shorthand when it appears
+ \iftoggle{cms@los}% at the head of the entry.
+ {\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \step[fieldsource=shorthand]
+ \step[fieldset=sortname, origfieldval]}}}}%
+ {}}
\DeclareLabeltitle[legislation]{%
\field{shorttitle}%
@@ -520,6 +451,9 @@ citation style]
\noinherit{urlyear}
\noinherit{urlmonth}
\noinherit{urlday}
+ \noinherit{urlseason}
+ \noinherit{urlhour}
+ \noinherit{urlminute}
\noinherit{doi}
\noinherit{eprint}
\noinherit{eprinttype}
@@ -530,15 +464,19 @@ citation style]
\noinherit{year}
\noinherit{month}
\noinherit{day}
+ \noinherit{season}
\noinherit{endyear}
\noinherit{endmonth}
\noinherit{endday}
+ \noinherit{endseason}
\noinherit{origyear}
\noinherit{origmonth}
\noinherit{origday}
+ \noinherit{origseason}
\noinherit{origendyear}
\noinherit{origendmonth}
- \noinherit{origendday}}
+ \noinherit{origendday}
+ \noinherit{origendseason}}
% More authordate options %
@@ -573,46 +511,57 @@ citation style]
\field{title}
}
\sort{
+ \field{endyear}
+ \field{eventendyear}
+ \field{origendyear}
+ }
+ \sort{
\field[padside=left,padwidth=4,padchar=0]{volume}
\literal{0000}
}
}
+\DeclareSortExclusion{misc,online}{organization}
+\DeclareSortExclusion{inreference,mvreference,reference}{%
+ author,editor,namea,nameb,namec,translator}
+
\DeclareSortingTemplate{shortjournal}{%
\sort{
\field{shortjournal}
}
}
-\@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4
-{\DeclareLabelname{\field{shortauthor} \field{author}%
- \field{shorteditor} \field{namea} \field{editor}%
- \field{nameb} \field{translator} \field{namec}}}%
-{\DeclareLabelname{shortauthor,author,shorteditor,namea,%
- editor,nameb,translator,namec}}%
+\DeclareLabelname{\field{shortauthor} \field{author}%
+ \field{shorteditor} \field{namea} \field{editor}%
+ \field{nameb} \field{translator} \field{namec}}%
-\DeclareEntryOption{switchdates}[true]{%
+\DeclareEntryOption[boolean]{switchdates}[true]{%
\settoggle{cms@switchdates}{#1}}%
-\DeclareBibliographyOption{strict}[true]{%
- \let\splitfootnoterule\footnoterule
- \renewcommand\footnoterule{}%
- \advance\skip\footins 4\p@\@plus2\p@\relax
- \gdef\split@prev{0}%
- \let\pagefootnoterule\footnoterule
- % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
- \def\footnoterule{\relax
- \ifnum\split@prev=\z@
- \pagefootnoterule
- \else
- \splitfootnoterule
- \fi
- \xdef\split@prev{\the\insertpenalties}%
- }}%
+\DeclareBibliographyOption[boolean]{strict}[true]{%
+ \settoggle{cms@strict}{#1}%
+ \iftoggle{cms@strict}%
+ {\let\splitfootnoterule\footnoterule
+ \renewcommand\footnoterule{}%
+ \advance\skip\footins 4\p@\@plus2\p@\relax
+ \gdef\split@prev{0}%
+ \let\pagefootnoterule\footnoterule
+ % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
+ \def\footnoterule{\relax
+ \ifnum\split@prev=\z@
+ \pagefootnoterule
+ \else
+ \splitfootnoterule
+ \fi
+ \xdef\split@prev{\the\insertpenalties}%
+ }}%
+ {}}%
\protected\def\blx@newcunit{%
- \global\let\blx@unitpunct\newcunitpunct
- \global\toggletrue{blx@unit}}%
+ \iftoggle{blx@keepunit}%
+ {}%
+ {\global\let\blx@unitpunct\newcunitpunct
+ \global\toggletrue{blx@unit}}}%
\appto\blx@blxinit{%
\let\newcunit\blx@newcunit}%
@@ -691,7 +640,7 @@ citation style]
\ifentrytype{reference}\OR
\ifentrytype{mvreference}}% Simplified for CMS
{\usebibmacro{cite:label}%
- \setunit{\cms@testspace}%
+ \setunit{\nameyeardelim}%
\usebibmacro{cmscitesortdate}%
\usebibmacro{cite:reinit}}%
{\iffieldequals{fullhash}{\cbx@lasthash}%
@@ -712,11 +661,11 @@ citation style]
\newbibmacro*{cmsbracketname}{%
\iffieldequalstr{authortype}{anon}%
- {\bibleftbracket\printnames{labelname}%
- \bibrightbracket}%
+ {\printtext{\bibleftbracket\printnames{labelname}%
+ \bibrightbracket}}%
{\iffieldequalstr{authortype}{anon?}%
- {\bibleftbracket\printnames{labelname}?%
- \bibrightbracket}%
+ {\printtext{\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket}}%
{\printnames{labelname}}}}%
\newbibmacro*{citeyear}{%
@@ -983,8 +932,10 @@ citation style]
\usebibmacro{cite:label}}}%
{\printfield{shorthand}%
\printtext[cmshyper]{%
- \setunit{\cms@testspace}% FIXME
- \usebibmacro{cite:label}}%
+ \setunit{\addcomma\addspace}% FIXME: wrong in 16th _and_ 17th eds?
+ \ifentrytype{manual}%
+ {\printtext[cmshyper]{\printfield[citetitle]{labeltitle}}}%
+ {\usebibmacro{cite:label}}}%
\savefield{fullhash}{\cbx@lasthash}}}%
{\printtext[bibhyperref]{\printfield{shorthand}}%
\usebibmacro{cite:reinit}}}%
@@ -1048,67 +999,15 @@ citation style]
not togl {cms@nodates}%
}%
{}%
- {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS?
- {\printtext[bibhyperref]{%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
\iffieldundef{year}%
{\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}% DATE FIX
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}}}%
+ {\printurldateextra}%
+ {\printorigdateextra}}%
+ {\printeventdateextra}}%
+ {\printdateextra}}}}%
\newbibmacro*{cite:origfirst+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -1125,67 +1024,15 @@ citation style]
not togl {cms@nodates}%
}%
{}%
- {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS?
- {\printtext[bibhyperref]{%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
\iffieldundef{origyear}%
{\iffieldundef{year}%
{\iffieldundef{eventyear}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}% DATE FIX
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}}}%
+ {\printurldateextra}%
+ {\printeventdateextra}}%
+ {\printdateextra}}%
+ {\printorigdateextra}}}}%
\newbibmacro*{cite:av+labelyear+extrayear}{%
\ifthenelse{\iffieldundef{labelyear}\OR%
@@ -1202,75 +1049,15 @@ citation style]
not togl {cms@nodates}%
}%
{}%
- {\printtext[bibhyperref]{\bibstring{nodate}}}}% For CMS?
- {\printtext[bibhyperref]{%
+ {\printtext[cmsyearhyper]{\bibstring{nodate}}}}% For CMS?
+ {\printtext[cmsyearhyper]{%
\iffieldundef{eventyear}%
{\iffieldundef{origyear}%
{\iffieldundef{year}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{urlendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{urlendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{endyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{endyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{origendyear}%
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{origendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}%
- {\printfield{labelyear}%
- \iffieldundef{extradate}%
- {}%
- {\setunit*{}%
- \printfield{extradate}}%
- \iffieldundef{eventendyear}% DATE FIX
- {}%
- {\ifboolexpr{%
- test {\iffieldequalstr{eventendyear}{}}%
- and
- not togl {cms@datedash}%
- }%
- {\mbox{\bibdatedash}}%
- {\usebibmacro{cms@test@labelend}}}}}}}%
-
-\newbibmacro*{cms@test@labelend}{% For printing year ranges in 3.5 ff.
- \iffieldundef{labelendyear}%
- {}%
- {\ifthenelse{\iffieldequalstr{labelendyear}{}\OR%
- \iffieldsequal{labelyear}{labelendyear}}%
- {}%
- {\bibdatedash\printfield{labelendyear}}}}%
+ {\printurldateextra}%
+ {\printdateextra}}%
+ {\printorigdateextra}}%
+ {\printeventdateextra}}}}%
\newbibmacro*{cmscitesortdate}{% Attempt to solve date-related problems
\ifboolexpr{%
@@ -1305,11 +1092,15 @@ citation style]
{\iftoggle{cms@bothlabelold}%
{\usebibmacro{cite:bothyear+oldstyle}}%
{\iftoggle{cms@fulldate}%
- {\newcunit\printtext[bibhyperref]{\printdate}}% Consistency(?)
- {\usebibmacro{cite:labelyear+extrayear}}}}}}%
- \ifcsdef{@cms@tempdate}%
- {\toggletrue{\@cms@tempdate}}%
- {}}%
+ {\printtext[cmsyearhyper]{%
+ \csuse{print\strfield{labeldatesource}date}%
+ \iffieldundef{\strfield{labeldatesource}hour}%
+ {}% Consistency(?)
+ {\newcunit\csuse{print\strfield{labeldatesource}time}}}}%
+ {\usebibmacro{cite:labelyear+extrayear}}}}}}}%
+ % \ifcsdef{@cms@tempdate}%
+ % {\toggletrue{\@cms@tempdate}}%
+ % {}%
\newbibmacro*{cite:origyear+labelyear}{%
\ifboolexpr{ (
@@ -1334,8 +1125,9 @@ citation style]
\usebibmacro{cite:standard+labelyear+extrayear}}%
{\iftoggle{cms@ordate}%
{\usebibmacro{cite:origfirst+labelyear+extrayear}}%
- {\printtext[bibhyperref]{%
- \usebibmacro{origyear+endyear}}}}}}}%
+ {\clearfield{extradate}%
+ \printtext[cmsyearhyper]{%
+ \printorigdateextra}}}}}}% \usebibmacro{origyear+endyear}
\newbibmacro*{cite:bothyear+oldstyle}{%
\ifboolexpr{ (
@@ -1352,11 +1144,13 @@ citation style]
}%
{\usebibmacro{cite:av+labelyear+extrayear}}%
{\iftoggle{cms@switchdates}%
- {\printtext[bibhyperref]{%
+ {\printtext[cmsyearhyper]{%
\bibopenparen%
\usebibmacro{cite:labelyear+extrayear}%
\bibcloseparen%
- \addspace\usebibmacro{origyear+endyear}}}%
+ \clearfield{extradate}%
+ \addspace%
+ \printorigdateextra}}% \usebibmacro{origyear+endyear}
{\iffieldundef{origyear}% ???
{\iftoggle{cms@ordate}%
{}%
@@ -1365,18 +1159,23 @@ citation style]
{\iftoggle{cms@ordate}% Added test for year field ???
{\iffieldundef{year}%
{\usebibmacro{cite:origfirst+labelyear+extrayear}}%
- {\printtext[bibhyperref]{%
+ {\printtext[cmsyearhyper]{%
\bibopenparen%
\usebibmacro{cite:origfirst+labelyear+extrayear}%
\bibcloseparen%
\setunit{\addspace}%\addspace% ???
- \usebibmacro{year+endyear}}}}%
- {\printtext[bibhyperref]{%
- \bibopenparen%
- \usebibmacro{origyear+endyear}%
- \bibcloseparen%
- \clearfield{extradate}\addspace%
- \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}%
+ \clearfield{extradate}%
+ \printdateextra}}}%\usebibmacro{year+endyear}
+ {\iffieldundef{year}%
+ {\usebibmacro{cite:origfirst+labelyear+extrayear}}%
+ {\printtext[cmsyearhyper]{%
+ \bibopenparen%
+ \clearfield{extradate}%
+ \printorigdateextra%
+ % \usebibmacro{origyear+endyear}%
+ \bibcloseparen%
+ \addspace%
+ \usebibmacro{cite:standard+labelyear+extrayear}}}}}}}}%
\newbibmacro*{cite:save}{%
\savefield{entrykey}{\cbx@lastkey}}%
@@ -1415,7 +1214,7 @@ citation style]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
- \usebibmacro{cite}}
+ \usebibmacro{cite}}%
{}%\setunit{\multicitedelim}
{\usebibmacro{postnote}}
@@ -1678,6 +1477,8 @@ citation style]
\ifboolexpr{%
test {\iffootnote}%
and
+ togl {cms@supranotes}%
+ and
(
test {\ifentrytype{legal}}%
or
@@ -1767,7 +1568,7 @@ citation style]
\ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND%
\iffieldundef{titleaddon}}%
{}%
- {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
+ {\printtext[title]{%
\printfield[noformat]{title}%
\setunit{\subtitlepunct}%
\printfield[noformat]{subtitle}}%
@@ -1929,7 +1730,11 @@ citation style]
{\printtext{at}\addspace #1}}}}%
\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\mkcomprange[\mkjuridprefix]{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -2229,19 +2034,12 @@ citation style]
\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot}
-\iftoggle{cms@comprange}% Audrey Boruvka's code from StackExchange
-{\patchcmd{\blx@comprange@check}%
- {\blx@comprange@comp{#1}{#2}}%
- {\blx@tempcnta=#1%
- \divide\blx@tempcnta100%
- \multiply\blx@tempcnta100%
- \ifnumequal{\blx@tempcnta}{#1}%
- {\blx@range@out@value{#1\bibrangedash#2}}%
- {\blx@comprange@comp{#1}{#2}}}%
- {}{}}{}%
-
\DeclareFieldFormat{postnote}{% Changed for page compression option
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\mkcomprange{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -2250,7 +2048,11 @@ citation style]
{\mkpageprefix[pagination]{#1}}}}%
\DeclareFieldFormat[inreference]{postnote}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\bibsstring{subverbo}\addnbspace\mkbibquote{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -2259,7 +2061,11 @@ citation style]
{\mkpageprefix[pagination]{#1}}}}%
\DeclareFieldFormat{pages}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{bookpagination}%
{\mkcomprange{#1}\isdot}%
{\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}%
@@ -2269,13 +2075,6 @@ citation style]
\DeclareFieldFormat{bibnote}{\MakeCapital{#1}}
-% \DeclareFieldFormat{edlang}{%
-% \ifbibstring{#1}%
-% {\bibstring{#1}}%
-% {\ifbibstring{ed#1}%
-% {\bibstring{ed#1}}%
-% {\ifcapital{\MakeCapital{#1}}{#1}}}}
-
\DeclareListFormat{edlang}{% Required for feminine forms in some
\usebibmacro{list:delim}{% languages
\ifbibstring{#1}%
@@ -2312,8 +2111,6 @@ citation style]
%%%% Other Field Formats %%%%
-\DeclareNumChars*{:}%
-
\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}}
\DeclareFieldFormat{note}{%
@@ -2472,6 +2269,11 @@ citation style]
{#1}%
{\bibhyperref{#1}}}%
+\DeclareFieldFormat{cmsyearhyper}{% Only link when in ref list
+ \iftoggle{blx@skipbib}
+ {#1}%
+ {\bibhyperref{#1}}}%
+
%%%% Related field formats from biblatex.def %%%%
\DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens
@@ -2526,24 +2328,119 @@ citation style]
\ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}}
\renewcommand*{\nameyeardelim}{%
- \ifthenelse{\iffieldundef{labelyear}\OR%
- \iffieldequalstr{labelyear}{nodate}}%
- {\addcomma\addspace}%
- {\iffieldundef{origyear}% Is this test correct?
- {\iffieldundef{year}%
- {\cms@testspace}% FIXME -- automatic n.d. ??? labeldate test?
- {\NumCheckSetup{\renewcommand{\mkbibbrackets}{\expandonce}%
- \DeclareNumChars*{[?]s}}% For bracketed dates, and decades.
- \iffieldnums{year}% This one works.
+ \ifboolexpr{%
+ (
+ togl {cms@bothlabelnew}%
+ or
+ togl {cms@bothlabelold}%
+ )
+ and
+ (
+ not test {\iffieldundef{year}}%
+ and
+ not test {\iffieldundef{origyear}}%
+ )
+ }%
+ {\cms@testspace}%
+ {\cms@pre@punct%
+ \ifboolexpr{%
+ test {\iffieldundef{labelyear}}%
+ or
+ test {\iffieldequalstr{labelyear}{nodate}}%
+ or
+ togl {cms@fulldate}%
+ or
+ bool {cms:comma}%
+ }%
+ {\addcomma\addspace}%
+ {\iffieldundef{origyear}%
+ {\iffieldundef{year}%
{\cms@testspace}%
- {\addcomma\addspace}}}% 16th ed. wants comma before n.d. (!)
- {\cms@testspace}}}
+ {\ifboolexpr{%
+ test {\iffieldnums{year}}%
+ or
+ test {\iffieldstart{year}{[}}%] For backward compatibility
+ }%
+ {\cms@testspace}%
+ {\addcomma\addspace}}}%
+ {\cms@testspace}}\global\boolfalse{cms:comma}}}
-\newcommand{\classicpunct}{%
- \ifthenelse{\iffieldequalstr{entrysubtype}{classical}\OR%
- \ifentrytype{letter}}%
- {\setunit*{\addspace}}%
- {\setunit*{\addcomma\addspace}}}
+\newrobustcmd*{\cms@citepunct@helper}[1]{%
+ \begingroup
+ \blx@metadateinfo{#1}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ not togl {cms@noyearbrackets}%
+ }%
+ {}%
+ {\if@cms@circa%
+ {\global\booltrue{cms:comma}}%
+ {\if@cms@adfirst%
+ {\iffieldnum{#1year}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\iffieldequalstr{#1dateera}{bce}}%
+ and
+ test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}%
+ }%
+ {\global\booltrue{cms:comma}}%
+ {}}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@languagename{french}}%
+ or
+ test {\ifdefstring\blx@languagename{dutch}}%
+ }%
+ {\ifboolexpr{%
+ not test {\iffieldequalstr{#1dateunspecified}{yearindecade}}%
+ or
+ togl {cms@alwaysrange}%
+ or
+ togl {cms@decaderange}%
+ }%
+ {}%
+ {\global\booltrue{cms:comma}}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@languagename{brazilian}}%
+ or
+ test {\ifdefstring\blx@languagename{brazil}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#1dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {}%
+ {\ifboolexpr{%
+ (
+ test {\iffieldequalstr{#1dateunspecified}{yearindecade}}%
+ and
+ not togl {cms@decaderange}%
+ )
+ or
+ (
+ test {\iffieldequalstr{#1dateunspecified}{yearincentury}}%
+ and
+ not togl {cms@centuryrange}%
+ )
+ }%
+ {\global\booltrue{cms:comma}}%
+ {}}}%
+ {}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@pre@punct}{%
+ \iftoggle{cms@origlabel}%
+ {\cms@citepunct@helper{orig}}%
+ {\ifdefstring\abx@field@labeldatesource{year}%
+ {\cms@citepunct@helper{}}%
+ {\ifdefstring\abx@field@labeldatesource{origyear}%
+ {\cms@citepunct@helper{orig}}%
+ {\ifdefstring\abx@field@labeldatesource{nodate}%
+ {}%
+ {\cms@citepunct@helper{\abx@field@labeldatesource}}}}}}
\renewcommand*{\subtitlepunct}{% Follows CMS16 spec.
\ifboolexpr{%
@@ -2558,14 +2455,9 @@ citation style]
\newcommand{\postvolpunct}{\addcolon}%
-\newcommand{\parttrans}{%
+\newcommand*{\parttrans}{%
{\bibstring{bytranslator}\space}}%
-% \newcommand{\partedit}{%
-% \iftoggle{cms@postposit}% Kludge to make it work in French.
-% {\bibstring{byeditoralt}\addspace}%
-% {\bibstring{byeditor}\addspace}}%
-
\protected\def\partedit#1{%
\ifcat\noexpand~\noexpand#1%
\ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
@@ -2597,24 +2489,24 @@ citation style]
\cms@tempa%
}%
-\newcommand{\part@edit@i}{\bibstring{byeditor}\addspace}%
+\newcommand*{\part@edit@i}{\bibstring{byeditor}\addspace}%
-\newcommand{\partcomp}{%
+\newcommand*{\partcomp}{%
{\bibstring{bycompiler}\space}}%
-\newcommand{\parteditandcomp}{%
+\newcommand*{\parteditandcomp}{%
{\bibstring{byeditorcp}\space}}%
-\newcommand{\parttransandcomp}{%
+\newcommand*{\parttransandcomp}{%
{\bibstring{bytranslatorcp}\space}}%
-\newcommand{\partedittransandcomp}{%
+\newcommand*{\partedittransandcomp}{%
{\bibstring{byeditortrcp}\space}}%
-\newcommand{\parteditandtrans}{%
+\newcommand*{\parteditandtrans}{%
{\bibstring{byeditortr}\space}}%
-\newcommand{\reprint}{\bibstring{reprint}}%
+\newcommand*{\reprint}{\bibstring{reprint}}%
\newcommand*{\multipubsdelim}{\addnbspace/\addspace}
@@ -2653,11 +2545,11 @@ citation style]
{}%
{\cms@testspace}}%
{\iffieldequalstr{entrysubtype}{classical}% For Notes+Bib, too?
- {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}%
+ {\DeclareNumChars*{abcdeABCDE:}%
\iffieldpages{postnote}%
{\cms@testspace}%
{\addcomma\addspace}}%
- {\addcomma\addspace}}}}
+ {\addcomma\addspace}\DeclareNumChars{.}}}}
\newcommand*{\postnotewrapper}{%
\iftoggle{cms@modpostnote}%
@@ -2689,13 +2581,16 @@ citation style]
\newcommand*{\editordelim}{% Otherwise you get an inaccurate comma.
\iffieldequalstr{editortype}{none}%
- {\addperiod\addspace}%
- {\addcomma\addspace}}
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
\newcommand*{\nameadelim}{% Otherwise you get an inaccurate comma.
\iffieldequalstr{nameatype}{none}%
- {\addperiod\addspace}%
- {\addcomma\addspace}}
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
+
+\DeclareDelimFormat{dateeradelim}{\addnbspace}%
+\DeclareDelimFormat{dateaddelim}{\addnbspace}%
\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide
\begingroup% final {by}.
@@ -2710,7 +2605,7 @@ citation style]
{\ifboolexpr{%
test {\ifnumless{\value{listcount}}{\value{liststop}}}%
or
- test \ifmoreitems%
+ test {\ifmoreitems}%
}%
{\bibstring{from#1}}%
{\bibstring{cfrom#1}}}%
@@ -2724,7 +2619,7 @@ citation style]
\ifboolexpr{%
test {\ifnumequal{\value{listcount}}{\value{liststop}}}%
and
- test \ifmoreitems%
+ test {\ifmoreitems}%
}%
{\ifnumgreater{\value{liststop}}{1}%
{\finalandcomma}%
@@ -2839,11 +2734,16 @@ citation style]
{}}
\newbibmacro*{reference+title}{%
- \ifthenelse{\iffieldequals{title}{\bbx@lasthash}\AND\NOT
- \iffirstonpage}%
- {\bibnamedash\addperiod\addspace}%
- {\usebibmacro{italtitle+stitle}%
- \savefield{title}{\bbx@lasthash}}}
+ \ifboolexpr{%
+ test {\iffieldequals{title}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\usebibmacro{italtitle+stitle}%
+ \savefield{title}{\bbx@lasthash}}}
\newbibmacro*{mag+news+author}{%
\ifboolexpr{%
@@ -2855,9 +2755,14 @@ citation style]
and
not togl {cms@origpublished}%
}%
- {\ifthenelse{\iffieldequals{journaltitle}{\bbx@lasthash}\AND\NOT
- \iffirstonpage}%
- {\bibnamedash\addperiod\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{journaltitle}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
{\usebibmacro{journal+sub}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
@@ -2876,7 +2781,7 @@ citation style]
\newcunit
\printlist{institution}%
\setunit*{\addcomma\space}%
- \printfield{year}}
+ \printdate}% Was printfield{year}?
\newbibmacro*{institution+organization}{%
\iflistundef{organization}%
@@ -2896,8 +2801,10 @@ citation style]
test {\iflistequals{organization}{\bbx@lasthash}}%
and
not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
}%
- {\bibnamedash\addperiod\addspace}%
+ {\printtext{\bibnamedash}}%
{\iftoggle{cms@authorparens}%
{\bibopenparen\printlist{organization}\bibcloseparen}%
{\printlist{organization}}%
@@ -3154,10 +3061,12 @@ citation style]
\iftoggle{cms@reprint}% 16th ed.
{}%
{\iftoggle{cms@switchdates}% Date fix
- {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
{}%
{\usebibmacro{cmsorigdate}}}%
- {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
{}%
{\usebibmacro{cmsorigdate}}}}}%
@@ -3191,10 +3100,7 @@ citation style]
\iflistundef{origpublisher}%
{\setunit*{\addcomma\addspace}}%
{\setunit*{\addcolon\addspace}}%
- \printlist{origpublisher}%
-% \setunit*{\addcomma\addspace}%
-% \usebibmacro{cmsorigdate}%
-}%
+ \printlist{origpublisher}}%
\newbibmacro*{howpubl+loc+year}{%
\printlist{location}%
@@ -3270,12 +3176,14 @@ citation style]
{\printlist{origlocation}%
\newcunit\newblock}%
\iftoggle{cms@switchdates}%
- {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
{}%
- {\cms@datelongalt}}%
- {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
{}%
- {\cms@datelong}}}
+ {\cms@datelong{orig}}}}
\newbibmacro*{unpubl+letter+date}{% For the Misc type.
\iflistundef{origlocation}%
@@ -3283,12 +3191,14 @@ citation style]
{\printlist{origlocation}%
\newcunit\newblock}%
\iftoggle{cms@switchdates}%
- {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
{}%
- {\cms@datelongalt}}%
- {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
{\printdate}% For interviews and other dated non-letters
- {\cms@datelong}}}
+ {\cms@datelong{orig}}}}
\newbibmacro*{cmsbookdate}{%
\ifthenelse{\iffieldundef{year}\AND\iffieldundef{origyear}}%
@@ -3304,44 +3214,54 @@ citation style]
\renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with
\iftoggle{cms@switchdates}%
{\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}%
- \AND\iffieldundef{origday}}%
+ \AND\iffieldundef{origday}\AND\iffieldundef{origseason}}%
{}%
{\printorigdate}}%
{\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}%
- \AND\iffieldundef{day}}% punctuation in some entry types (Misc). The
- {}% whole \printdate thing may need further work.
+ \AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some
+ {}% entry types (Misc). The whole \printdate thing may need further work.
{\printdate}}}
-\newcommand*{\cms@datelong}{% Modified for 0.9
- \iffieldundef{origmonth}%
- {\printfield{origyear}}%
- {\printfield[letterday]{origday}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}%
- \printfield{origyear}}}%
-
-\newcommand*{\cms@datelongalt}{% Modified for 0.9
- \iffieldundef{month}%
- {\printfield{year}}%
- {\printfield[letterday]{day}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}%
- \printfield{year}}}%
-
-\newcommand*{\letterdatelong}{% Modified for 0.9
- \iftoggle{cms@switchdates}% This one for users
- {\iffieldundef{year}% Previous two for internal use
+\newbibmacro*{time+stamp}{% 17th ed.
+ \iftoggle{cms@switchdates}%
+ {\iffieldundef{orighour}%
{}%
- {\iffieldundef{month}%
- {\printfield{year}}%
- {\printfield[letterday]{day}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}%
- \printfield{year}}}}%
- {\iffieldundef{origyear}%
+ {\newcunit\printorigtime}}%
+ {\iffieldundef{hour}%
{}%
- {\iffieldundef{origmonth}%
- {\printfield{origyear}}%
- {\printfield[letterday]{origday}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}%
- \printfield{origyear}}}}}%
+ {\newcunit\printtime}}}
+
+\newcommand*{\cms@datelong}[1]{% Modified for 17th ed.
+ \begingroup
+ \protected\def\mkbibdatelong##1##2##3{%
+ \iffieldundef{##3}%
+ {}%
+ {\iftoggle{cms@ukord}%
+ {\mkbibordinal{\thefield{##3}}}%
+ {\stripzeros{\thefield{##3}}}%
+ \iffieldundef{##2}{}{\nobreakspace}}%
+ \iffieldundef{##2}%
+ {}%
+ {\mkbibmonth{\thefield{##2}}%
+ \iffieldundef{##1}{}{\space}}%
+ \iffieldbibstring{##1}%
+ {\bibstring{\thefield{##1}}}%
+ {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}%
+ \cms@mkbibrangetrunc{long}{#1}%
+ \endgroup}%
+
+\newrobustcmd*{\letterdatelong}{% For users: 17th ed.
+ \ifboolexpr{%
+ test {\ifdefstring{\blx@languagename}{american}}%
+ or
+ test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\cms@datelong{}}%
+ {\cms@datelong{orig}}}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}}%
\newbibmacro*{journal+sub}{%
\iffieldundef{journaltitle}%
@@ -3410,8 +3330,8 @@ citation style]
\newbibmacro*{cmsyear}{%
\iftoggle{cms@switchdates}%
- {\printfield{origyear}}%
- {\printfield{year}}}
+ {\clearfield{extradate}\printorigdateextra}% \printfield{origyear}
+ {\clearfield{extradate}\printdateextra}}% \printfield{year}
\newbibmacro*{cmsorigdate}{% New for 0.9
\iftoggle{cms@switchdates}%
@@ -3449,9 +3369,15 @@ citation style]
{\newcunit
\printfield[jourser]{series}%
\newcunit}%\setunit*{\addspace}?
- \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
- {\printfield[jourvol]{volume}%
- \setunit{\addcomma\addspace}}%
+ \ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{issue}\AND\iffieldundef{season}}% New, more accurate
+ {\iffieldundef{volume}% test, also in article
+ {\newcunit%
+ \printfield[journum]{number}%
+ \clearfield{number}%
+ \setunit{\addcomma\addspace}}%
+ {\printfield[jourvol]{volume}%
+ \setunit{\addcomma\addspace}}}%
{\printfield[jourvol]{volume}%
\setunit{\addcomma\addspace}% need * here?
\printfield[journum]{number}%
@@ -3620,7 +3546,7 @@ citation style]
\clearname{namea}}
\newbibmacro*{clearpublin}{%
- \clearname{author}%
+ \clearname{author}\clearfield{shorthand}%
\ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR%
\ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}%
{}%
@@ -3639,11 +3565,15 @@ citation style]
\clearfield{subtitle}%
\clearfield{titleaddon}%
\clearfield{usere}%
- \clearlist{language}}%
+ \clearlist{language}%
+ \ifentrytype{music}%
+ {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}%
+ \clearfield{eventmonth}}%
+ {}}%
\ifentrytype{letter}%
{\iftoggle{cms@switchdates}%
- {\clearfield{year}\clearfield{month}}%
- {\clearfield{origyear}\clearfield{origmonth}}%
+ {\clearfield{year}\clearfield{month}\clearfield{season}}%
+ {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}%
\clearfield{origlocation}}%
{}%
\clearfield{reprinttitle}%
@@ -3713,6 +3643,9 @@ citation style]
\renewbibmacro*{pageref}{}}%
{\thefield{entrytype}}}}
+\letbibmacro*{related:maintitlenc}{related:multivolume}% From N & B
+\letbibmacro*{related:maintitle}{related:multivolume}%
+
\renewbibmacro*{related:multivolume}[1]{%
\entrydata*{#1}{%
\usebibmacro{at+every+item}%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx
new file mode 100644
index 0000000000..e14d9114aa
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx
@@ -0,0 +1,5236 @@
+% This is a biblatex style file, originally adapted mainly from
+% Lehman's standard.bbx. It provides the bibliography formatting for
+% the Chicago notes + bibliography style.
+
+\ProvidesFile{chicago-notes.bbx}[2020/04/20 v 3.14 biblatex bibliography style]
+
+%%%% Initialize and format bibliography and los %%%%
+
+\providetoggle{cms@citejtabb}% Here for Sourcemap declaration
+\providetoggle{cms@bibjtabb}%
+
+\DeclareFieldFormat{shorthandwidth}{#1}
+
+\DeclareFieldFormat{shortserieswidth}{#1}
+
+\DeclareFieldFormat{shortjournalwidth}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\textbf{#1}\isdot}%
+ {\mkbibemph{\textbf{#1}}\isdot}}%
+
+\newlength{\lositemsep}
+
+\defbibenvironment{bibliography}% New for 0.9a
+ {\list
+ {}
+ {\setlength{\leftmargin}{\bibhang}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shorthand}%
+ {\list
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
+ {\setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{losnotes}
+ {\list
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{losendnotes}
+ {\list
+ {\cmsshhyper{\printfield[shorthandwidth]{shorthand}}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shorthandwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}% Kludges for endnotes
+ {\item}
+
+\defbibenvironment{shortjournal}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{sjnotes}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{sjendnotes}%
+ {\list
+ {\printfield[shortjournalwidth]{shortjournal}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortjournalwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shortjournal}{% Only one list
+ \ifthenelse{\iffieldundef{shortjournal}\OR%
+ \iffieldsequal{journaltitle}{shortjournal}\OR%
+ \(\iffieldundef{journaltitle}\AND\(\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}\OR\ifentrytype{jurisdiction}\)\)}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortjournal}}%
+ {\skipentry}%
+ {\savefieldcs{shortjournal}%
+ {\strfield{shortjournal}}}}}%
+
+% \defbibcheck{shortjournal}{% Multiple lists
+% \ifcsdef{cms@shjour}%
+% {\iffieldequals{shortjournal}{\cms@shjour}%
+% {\skipentry}%
+% {\savefield{shortjournal}{\cms@shjour}}}%
+% {\savefield{shortjournal}{\cms@shjour}}}
+
+\defbibenvironment{shortseries}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.7\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shsernotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\footnotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist}
+ {\item}
+
+\defbibenvironment{shserendnotes}%
+ {\list
+ {\printfield[shortserieswidth]{shortseries}}%
+ {\enotesize%
+ \setlength{\labelwidth}{\shortserieswidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{.3\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\lositemsep}%
+ \setlength{\parsep}{\bibparsep}%
+ \renewcommand*{\makelabel}[1]{##1\hss}}}
+ {\endlist\nopunct\vspace{-\baselineskip}}
+ {\item}
+
+\defbibcheck{shortseries}{% Only one list
+ \ifthenelse{\iffieldundef{shortseries}\OR%
+ \iffieldundef{series}\OR%
+ \iffieldsequal{series}{shortseries}}%
+ {\skipentry}%
+ {\ifcsdef{\strfield{shortseries}}%
+ {\skipentry}%
+ {\savefieldcs{shortseries}%
+ {\strfield{shortseries}}}}}%
+
+\AtBeginBibliography{%
+ \togglefalse{cms@headlessnote}%
+ \togglefalse{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \togglefalse{cms@allshort}%
+ }%
+
+\AtEveryBibitem{%
+ \global\csundef{@cmsst}%
+ \togglefalse{cms@postvol}% MT fix
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ test {\iffieldundef{year}}%
+ or
+ not test {\iffieldint{year}}%
+ or
+ not test {\iffieldint{origyear}}%
+ or
+ togl {cms@switchdates}%
+ }%
+ {}%
+ {\ifboolexpr{% Needed for open-ended ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}}}%
+
+\AtEveryLositem{%
+ \global\csundef{@cmsst}%
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ test {\iffieldundef{year}}%
+ or
+ not test {\iffieldint{year}}%
+ or
+ not test {\iffieldint{origyear}}%
+ or
+ togl {cms@switchdates}%
+ }%
+ {}%
+ {\ifboolexpr{% Needed for open-ended ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}}}%
+
+\AtEveryBiblistitem{shortjournal}{%
+ \global\csundef{@cmsst}%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR%
+ \ifentrytype{legal}\OR\ifentrytype{legislation}}%
+ {\clearlist{location}}%
+ {}}%
+
+\InitializeBibliographyStyle{%
+ \let\bbx@lasthash\undefined}
+
+%%%% Bibliography-specific bibstrings %%%%
+% \NewBibliographyString{note,preface,subsection,subsections,selfpublished,%
+% commenton,printed,track,choreographer,choreographers,cbychoreographer,%
+% bychoreographer}%
+%% Now below %%
+
+%%%% Author, Editor, Translator, and Compiler Macros %%%%
+
+\renewbibmacro*{name:last-first}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifblank{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}%
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifpunctmark{'}{}{\addhighpenspace}}%
+ \mkbibnamelast{#1}\isdot
+ \ifblank{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot}%
+ \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}%
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamelast{#1}\isdot%
+ \ifblank{#2#3#4}{}{\addcomma}%
+ \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}\isdot}%
+ \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3}\isdot}%
+ \ifblank{#4}{}{\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot}}}
+
+\renewbibmacro*{name:first-last}[4]{%
+ \usebibmacro{name:delim}{#2#3#1}%
+ \usebibmacro{name:hook}{#2#3#1}%
+ \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot\addlowpenspace}%
+ \ifblank{#3}{}{%
+ \mkbibnameprefix{#3}\isdot
+ \ifpunctmark{'}%
+ {}%
+ {\ifuseprefix{\addhighpenspace}{\addlowpenspace}}}%
+ \mkbibnamelast{#1}\isdot
+ \ifblank{#4}{}{%
+ \iftoggle{cms@jrcomma}%
+ {\ifnumeral{#4}%
+ {\addlowpenspace\mkbibnameaffix{#4}\isdot}%
+ {\addcomma\addlowpenspace\mkbibnameaffix{#4}\isdot%
+ \ifboolexpr{%
+ test{\ifnumless{\value{listcount}}{\value{listtotal}}}%
+ and
+ test{\ifnumless{\value{listcount}}{\value{maxnames}}}%
+ }%
+ {\addcomma}%
+ {}}}%
+ {\addlowpenspace\mkbibnameaffix{#4}\isdot}}}
+
+\@ifpackagelater{biblatex}{2016/03/01}% For biblatex 3.3
+{\renewbibmacro*{name:family-given}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}%
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamefamily{#1}\isdot
+ \ifboolexpr{%
+ test {\ifdefvoid{#2}}%
+ and
+ test {\ifdefvoid{#3}}%
+ }%
+ {}{\revsdnamepunct}%
+ \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}%
+
+\renewbibmacro*{name:given-family}[4]{%
+ \usebibmacro{name:delim}{#2#3#1}%
+ \usebibmacro{name:hook}{#2#3#1}%
+ \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
+ \ifdefvoid{#3}{}{%
+ \mkbibnameprefix{#3}\isdot
+ \ifprefchar
+ {}%
+ {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#4}{}{%
+ \iftoggle{cms@jrcomma}%
+ {\ifnumeral{#4}%
+ {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
+ {\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot%
+ \ifboolexpr{% Test needed in notes
+ test{\ifnumless{\value{listcount}}{\value{listtotal}}}%
+ and
+ test{\ifnumless{\value{listcount}}{\value{maxnames}}}%
+ }%
+ {\revsdnamepunct}%
+ {}}}%
+ {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}}{}%
+
+\renewbibmacro*{author/editor}{%
+ \ifboolexpr{%
+ test {\ifuseauthor}%
+ or
+ togl {cms@headlessnote}
+ }%
+ {\usebibmacro{author}}%
+ {\ifusenamea%
+ {\usebibmacro{pickeditor}}%
+ {\ifuseeditor%
+ {\usebibmacro{moreeditor}}%
+ {\ifusenameb%
+ {\usebibmacro{picktranslator}}%
+ {\ifusetranslator%
+ {\usebibmacro{moretranslator}}%
+ {\ifusenamec%
+ {\usebibmacro{compiler}}%
+ {\let\bbx@lasthash\undefined}}}}}}}%
+
+\renewbibmacro*{author}{%
+ \iftoggle{cms@headlessnote}%
+ {\usebibmacro{justauthor}}%
+ {\usebibmacro{moreauthor}}}
+
+\newbibmacro*{justauthor}{%
+ \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
+ {\iftoggle{cms@origcite}{}{\let\bbx@lasthash\undefined}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{author}\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\printnames{author}%
+ \ifentrytype{customc}%
+ {\ifbibliography{\newunit}{\newcunit}}%
+ {\setunit{\addspace}}%
+ \printfield{nameaddon}%
+ \savefield{fullhash}{\bbx@lasthash}}}}}}
+
+\newbibmacro*{moreauthor}{%
+ \ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
+ {\usebibmacro{pickeditor}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{author}\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ {\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \savefield{fullhash}{\bbx@lasthash}}}}}}
+
+\newbibmacro*{pickeditor}{%
+ \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\usebibmacro{moreeditor}}%
+ {\usebibmacro{parteditor}}}
+
+\newbibmacro*{moreeditor}{%
+ \ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}
+
+\renewbibmacro*{editor}{%
+ \iftoggle{cms@headlessnote}%
+ {}%
+ {\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}}%
+
+\newbibmacro*{parteditor}{%
+ \ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}
+
+\newbibmacro*{picktranslator}{%
+ \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
+ {\usebibmacro{moretranslator}}%
+ {\usebibmacro{parttranslator}}}
+
+\newbibmacro*{moretranslator}{%
+ \ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{transstrg}}}
+
+\newbibmacro*{parttranslator}{%
+ \ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parttransstrg}}}
+
+\newbibmacro*{compiler}{%
+ \ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
+ {\let\bbx@lasthash\undefined}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{compilestrg}}}
+
+\renewcommand*{\revsdnamedelim}{\addcomma}
+
+\DeclareNameAlias{author}{sortname}% Needed in 0.9
+\DeclareNameAlias{editor}{sortname}
+\DeclareNameAlias{translator}{sortname}
+
+%%%% Drivers for Bibliography entries and Shorthands %%%%
+
+\DeclareBibliographyDriver{shorthand}{%
+ \iftoggle{cms@fullshhand}%
+ {\usedriver{\frenchspacing}%
+ {\thefield{entrytype}}%
+ \finentry}%
+ {\ifnameundef{labelname}%
+ {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
+ \ifentrytype{periodical}}%
+ {\printfield[journaltitle]{journaltitle}\newcunit}%
+ {\ifthenelse{\ifentrytype{manual}\OR\ifentrytype{standard}}%
+ {\printlist{organization}\newcunit}%
+ {}}}%
+ {\ifthenelse{\ifentrytype{customc}\OR\ifentrytype{dataset}}%
+ {\usebibmacro{justauthor}\setunit{\addspace}}%
+ {\usebibmacro{author/editor}\newunit}}%
+ \ifboolexpr{%
+ test {\ifentrytype{video}}%
+ and
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ }%
+ {\printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}% (?)
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}%
+ {\printfield[lostitle]{title}}%
+ \finentry}}
+
+\DeclareBibliographyDriver{shortjournal}{%
+ \iffieldundef{journaltitle}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}}%
+ {\printtext[journaltitle]{%
+ \printfield[jtnoformat]{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sjtnoformat]{journalsubtitle}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}}%
+ \finentry}%
+
+\DeclareBibliographyDriver{shortseries}{%
+ \printfield{series}\finentry}
+
+\DeclareStyleSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \pertype{periodical}
+ \step[fieldsource=shorttitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map{
+ \pertype{jurisdiction}
+ \pertype{legal}
+ \pertype{legislation}
+ \step[fieldsource=journaltitle, final]
+ \step[fieldset=shortjournal, origfieldval]
+ }
+ \map[overwrite]{
+ \pertype{jurisdiction}
+ \step[fieldsource=shortjournal, match=\regexp{\\adddot},%
+ replace=\regexp{\\ADDDOT}]
+ \step[fieldsource=shortjournal, match=\regexp{[a-z]}, final]
+ \step[fieldset=shortjournal, fieldvalue=\addnbspace, append]
+ }
+ \map[overwrite]{
+ \pertype{jurisdiction}
+ \step[fieldsource=shortjournal, match=\regexp{\\ADDDOT},%
+ replace=\regexp{\\adddot}]
+ }
+ \map{
+ \pertype{legislation}
+ \step[fieldsource=title, match=\regexp{Const}, final]
+ \step[fieldset=entrysubtype, fieldvalue=constitution]
+ }
+ \map{
+ \pertype{legislation}
+ \step[fieldsource=entrysubtype, match=\regexp{canada}, final]
+ \step[fieldsource=bookpagination, match={section},
+ replace={canadasection}]
+ \step[fieldsource=pagination, match={section},
+ replace={canadasection}]
+ }
+ \map{
+ \step[fieldsource=pubstate, match=\regexp{forthcoming|inpreparation|%
+ submitted|inpress}, final]
+ \step[fieldset=year, origfieldval, final]
+ \step[fieldsource=year, match=\regexp{(forthcoming|inpreparation|%
+ submitted|inpress)},
+ replace=\regexp{\\bibstring\{$1\}}]%$
+ \step[fieldset=pubstate, null]
+ }
+ \map[overwrite]{
+ \step[fieldsource=relatedtype, match=\regexp{maintitle}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{related=true}, final]
+ \step[fieldset=options, fieldvalue=\regexp{,related=true}, append]
+ }
+ \map{
+ \step[fieldsource=relatedtype, match=\regexp{maintitle}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue=\regexp{related=true}]
+ }
+ \map{
+ \pertype{article}
+ \pertype{periodical}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=entrysubtype, match={newspaper},
+ replace={magazine}]
+ }
+ \map[overwrite]{
+ \pertype{article}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=options, final]
+ \step[fieldsource=options, notmatch=\regexp{related=true}, final]
+ \step[fieldset=options, fieldvalue=\regexp{,related=true}, append]
+ }
+ \map{
+ \pertype{article}
+ \pertype{review}
+ \pertype{suppperiodical}
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[notfield=options, final]
+ \step[fieldset=options, fieldvalue=\regexp{related=true}]
+ }
+ \map{
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=related, final]
+ \step[fieldset=title, origfieldval]
+ }
+ \map[overwrite]{
+ \pertype{review}
+ \pertype{suppperiodical}
+ \step[fieldsource=relatedtype, match=\regexp{commenton|reviewof}, final]
+ \step[fieldsource=related, final]
+ \step[fieldsource=related, match=\regexp{(.*)}]
+ \step[fieldsource=title, match=\regexp{^$1$}, final]
+ \step[fieldsource=relatedtype]
+ \step[fieldset=title, origfieldval, append]
+ \step[fieldsource=relatedstring, final]
+ \step[fieldset=title, origfieldval, append]
+ }
+ \map{
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=commenton, final]
+ \step[fieldsource=related, final]
+ \step[fieldset=title, fieldvalue=CCCCCC]
+ }
+ \map[overwrite]{
+ \pertype{online}
+ \step[fieldsource=relatedtype, match=commenton, final]
+ \step[fieldsource=title, match=\regexp{^CCCCCC$}, final]%$
+ \step[fieldsource=related, final]
+ \step[fieldset=title, origfieldval, append]
+ \step[fieldsource=relatedstring, final]
+ \step[fieldset=title, origfieldval, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=subtitle, final]
+ \step[fieldsource=title,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=title, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=booksubtitle, final]
+ \step[fieldsource=booktitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=booktitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=issuesubtitle, final]
+ \step[fieldsource=issuetitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=issuetitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=journalsubtitle, final]
+ \step[fieldsource=journaltitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=journaltitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite]{
+ \step[fieldsource=mainsubtitle, final]
+ \step[fieldsource=maintitle,
+ match=\regexp{\\(mkbib|en)quote\{.+((\?|\!)\})$},%$
+ final]
+ \step[fieldset=maintitle, fieldvalue=\csgdef{@cmsst}{\@ne}, append]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[entryclone=$1-$MAPLOOP]
+ \step[fieldset=related, fieldvalue=$MAPLOOP,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=sorttitle, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=\regexp{^maintitle$}, final]%$
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldset=relatedtype, null]
+ \step[fieldset=related, null]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[entryclone=$1-$MAPLOOP, entrynocite]
+ \step[fieldset=related, fieldvalue=$MAPLOOP,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map[overwrite, foreach=related]{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldsource=sorttitle, final]
+ \step[fieldsource=entrykey, match=\regexp{(.*)}]
+ \step[fieldset=sorttitle, fieldvalue=$MAPLOOP, append,%$
+ entrytarget=$1-$MAPLOOP]
+ }
+ \map{
+ \pertype{mvbook}
+ \pertype{mvcollection}
+ \pertype{mvproceedings}
+ \pertype{mvreference}
+ \step[fieldsource=relatedtype, match=maintitlenc, final]
+ \step[fieldsource=related, match=\regexp{.*,.*}, final]
+ \step[fieldset=relatedtype, null]
+ \step[fieldset=related, null]
+ }
+ \map{
+ \pertype{video}
+ \step[fieldsource=entrysubtype, match=tvepisode, final]
+ \step[fieldsource=title, final]
+ \step[fieldsource=booktitle, final]
+ \step[fieldset=sorttitle, origfieldval]
+ }
+ }
+}%
+
+\DeclareBibliographyDriver{article}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{mag+news+author}%
+ \newunit\newblock
+ \usebibmacro{mag+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed. clarifies punctuation
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{mag+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit*{\addperiod\addspace}\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% As above
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
+ \usebibmacro{journal+issue+year+pages}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{artwork}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \iffieldundef{origyear}% 17th ed.
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newunit
+ \printfield{howpublished}% 17th ed.
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}% 17th ed.
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{audio}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \iffieldundef{eventyear}%
+ {\newcunit}%
+ {\newunit}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}%
+ \iffieldundef{booktitle}%
+ {\setunit{\addperiod\addspace}}% Fix customc?
+ {\setunit{\addcomma\addspace}}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%\newunit%?
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\usebibmacro{cms-in:}%
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{ismn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{cms@related}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{version}}%
+ {}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byauthor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \iffieldundef{version}%
+ {}%
+ {\printfield{version}}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \usebibmacro{editorpunct}%\newcunit\newblock
+ \iftoggle{cms@bookpages}%
+ {}%
+ {\clearfield{pages}}%
+ \printfield{chapter}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%cmsorigdate%\printorigdate
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newcunit
+ \printlist[][-\value{listtotal}]{lista}%
+ \newunit\newblock
+ \printfield{type}% 17th ed.
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{bookinbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}%
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\entrydata{\thefield{related}}{%
+ \ifboolexpr{%
+ test {\ifentryinbib{\strfield{clonesourcekey}}}%
+ and
+ not togl {cms@bookbibxref}%
+ }%
+ {\savefield{clonesourcekey}{\cms@shortmtkey}}%
+ {}}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{booklet}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{howpubl+loc+year}%
+ \newunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \usebibmacro{editorpunct}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{volume+or+volumes}%
+ \ifcsdef{cms@mtchapter}%
+ {\newcunit\newblock
+ \printfield{chapter}}%
+ {}%
+ \ifcsdef{cms@mtpages}%
+ {\newcunit\newblock
+ \printfield{pages}}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%!!!\printlist{pageref}::\strlist{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{customc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{dataset}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \setunit{\addspace}\newblock%
+ \ifthenelse{\iffieldundef{howpublished}\AND%
+ \iffieldundef{number}\AND\iffieldundef{type}}%
+ {}%
+ {\printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}}}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \setunit{\addsemicolon\addspace}%
+ \printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}%
+ \newunit\newblock
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \setunit{\addspace}}%
+ \usebibmacro{date}%
+ \clearfield{urlyear}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{image}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit%\setunit{\addcomma\addspace}%
+ \iffieldundef{origyear}%
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newunit\newblock
+ \printfield{howpublished}% 17th ed.
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}% 17th ed.
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\setunit{\addperiod\addspace}%
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\newunit}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\newunit\newblock
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\setunit{\addperiod\addspace}%
+ \usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{inreference}{%
+ \usebibmacro{bibindex}%
+ \iftoggle{cms@mtvolpunct}{\newcunit}{}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}% need asterisk?
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newcunit\newblock
+ \printlist[][-\value{listtotal}]{lista}%
+ \newcunit\newblock%setunit{\addspace}% 16th ed
+ \ifnameundef{author}%
+ {}%
+ {\printtext{% 16th ed
+ \bibstring{byauthor}%
+ \addspace%
+ \printnames[byauthor]{author}}}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyAlias{jurisdiction}{cite:jurisdiction}
+
+\DeclareBibliographyAlias{legal}{cite:legal}
+
+\DeclareBibliographyAlias{legislation}{cite:legislation}
+
+\DeclareBibliographyDriver{letter}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \printtext[title]{%
+ \printfield[noformat]{title}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{letter+date}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%\bibsentence
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}%
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\newunit}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\newunit}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+bib}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{chapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock%
+ \usebibmacro{originally+published+as}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{manual}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{bibauthor+org}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock%
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\usebibmacro{italtitle+stitle}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit\newblock%
+ \usebibmacro{unpubl+letter+date}%
+ \newcunit
+ \printlist{origlocation}}% 17th ed.
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\printfield{venue}\setunit*{\addcomma\addspace}}%
+ {}%
+ \usebibmacro{misc+institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \iffieldundef{entrysubtype}%
+ {\newcunit\newblock
+ \usebibmacro{date}}%
+ {}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{music}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\usebibmacro{byeditor+others}\newunit\newblock}{}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \usebibmacro{chap+as+track}%inscore% 17th ed.
+ \usebibmacro{music+bookauthor}% Ditto.
+ \usebibmacro{btitle+bstitle}%
+ \iffieldundef{booktitle}%
+ {\newunit}% Fix customc?
+ {\newcunit}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%\newunit% unit, not cunit?
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {}{\usebibmacro{byeditor+others}}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\usebibmacro{cms-in:}%
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock%
+ \usebibmacro{music+origdate}% Altered for 17th ed.
+ \newunit\newblock
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}\newblock
+ \usebibmacro{series+or+shortser}%
+ \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}%
+ {\newunit}%
+ {\setunit{\addspace}}%
+ \printfield{number}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \usebibmacro{music+pubstate}% 17th ed.
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{iswc}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{mvbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newpunct%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byauthor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%cmsorigdate%\printorigdate
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newcunit
+ \printlist[][-\value{listtotal}]{lista}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{mvcollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{mvproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\usebibmacro{related:mtpunct}%newunit
+ \usebibmacro{volume+or+volumes}}%
+ \usebibmacro{related:mtpunct}%newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{mvreference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newunit\newblock%\usebibmacro{related:mtpunct}% mvref always first
+ \usebibmacro{bybookauthor}%
+ \newunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock%\usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newunit
+ \usebibmacro{volume+or+volumes}}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \ifboolexpr{%
+ not togl {cms@related}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newunit\newblock%
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \IfBeginWith{\thefield{title}}{CCCCCC}%
+ {}%
+ {\usebibmacro{title+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printlist{organization}% Rearranged for 16th ed.
+ \newunit\newblock
+ \printfield{note}%
+ \newcunit\newblock}% 17th ed.
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}% Ditto
+ \newunit\newblock
+ \printfield{type}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}% Ditto
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \newunit\newblock
+ \iffieldundef{urlyear}%
+ {}%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ \newunit\newblock
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \clearfield{url}}}%
+ {\printfield{doi}}%
+ \newunit\newblock
+ \usebibmacro{eprint}%
+ \newunit\newblock
+ \printfield{url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+holder}% + holder?
+ \newunit\newblock
+ \iffieldundef{title}%
+ {}%
+ {\printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}%
+ \printfield{note}%
+ \setunit{\addperiod\addspace}%
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}%
+ \iflistundef{location}%
+ {}%
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \newcunit\newblock
+ \printfield{version}%
+ \iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {}%
+ {\bibstring{patentfiled}\setunit{\addspace}% Issued -> filed
+ \printdate}}%
+ {\bibstring{patentfiled}\setunit{\addspace}%
+ \usebibmacro{cmsorigdate}%
+ \setunit{\finalandcomma\addspace\bibstring{and}%
+ \addspace\bibstring{patentissued}\addspace}%
+ \usebibmacro{date}}%
+ \newcunit\newblock
+ \printfield{addendum}%
+ \newunit\newblock
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{performance}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{howpublished}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit\newblock
+ \printfield{version}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{institution+organization}%
+ \setunit*{\addcomma\addspace}\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{periodical}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{periodical+date+issue}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \newunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit*{\addperiod\addspace}\newblock% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock% (changed for 0.7)??
+ \usebibmacro{journal+issue+year+pages}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{proceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{italtitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{bib:xref+date}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \newunit\newblock
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bookbibxref}%
+ }%
+ {\usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{volume+or+volumes}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{org+publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}%
+{\ifboolexpr{% Changed for 16th ed.
+ test {\ifterm}%
+ or
+ test {\ifpunctmark{*}}%
+ }%
+ {\setunit{\addspace\bibsentence}}%
+ {\setunit{\addperiod\addspace}}%
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{reference}{%
+ \usebibmacro{bibindex}%
+ \iftoggle{cms@mtvolpunct}{\newcunit}{}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{related:mtpunct}%\newunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \usebibmacro{related:mtpunct}%
+ \usebibmacro{part+editor+translator}%
+ \setunit*{\addperiod\addspace}% need asterisk?
+ \usebibmacro{mtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newcunit\newblock
+ \printfield{chapter}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\usebibmacro{title+stitle}}%
+ {\usebibmacro{italtitle+stitle}}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit
+ \usebibmacro{series+or+shortser}%
+ \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}%
+ {\newunit}%
+ {\setunit{\addnbspace}}%
+ \printfield{number}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{inst+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isrn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{review}{%
+ \usebibmacro{bibindex}%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+author}}%
+ {\usebibmacro{author/editor}}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \newcunit\newblock
+ \printeventtime%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ (
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock%
+ \usebibmacro{part+editor+translator}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ togl {cms@bibcrossref}%
+ }%
+ {\newunit\newblock%
+ \usebibmacro{issuetitle}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock% 17th ed. clarifies punctuation
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+date}%
+ \newunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}}%
+ {\usebibmacro{journal+issue+year+pages}}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock}%
+ {\newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock}}%
+ {\newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock}%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{standard}{%
+ \usebibmacro{bibindex}%
+ \ifnameundef{author}%
+ {\iflistundef{organization}%
+ {}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\printlist{organization}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{justauthor}}%
+ \newunit\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit\newblock
+ \usebibmacro{edition}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \newunit\newblock
+ \printfield{type}%
+ \newunit
+ \printfield{note}%
+ \newunit\newblock%
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\biblstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\iflistundef{organization}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}}%
+ \usebibmacro{date}
+ \setunit{\addsemicolon\addspace}%
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{suppbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author}%
+ \newunit\newblock
+ \usebibmacro{inforaft}%
+ \setunit{\addspace}\newblock
+ \usebibmacro{italtitle+stitle}%
+ \newunit
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \newcunit\newblock
+ \usebibmacro{part+editor+translator}%
+ \newcunit\newblock
+ \usebibmacro{chap+pag}%
+ \newunit\newblock
+ \usebibmacro{mtitle+mstitle+vol+part+title+stitle}%
+ \newcunit%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditor+others}%
+ \newunit
+ \usebibmacro{volume+or+volumes}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyAlias{suppcollection}{suppbook}
+
+\DeclareBibliographyAlias{suppperiodical}{review}
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}%\newblock%
+ \usebibmacro{language+transtitle}%
+ \newunit% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \printfield{note}%
+ \setunit{\addperiod\addspace}\newblock%
+ \usebibmacro{type+inst+year}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \newunit\newblock
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \newunit%usebibmacro{byauthorpunct}% Why does this work? No idea.
+ \usebibmacro{byauthor}% Same in thesis type, as well. 16th ed.
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock%
+ \printfield{howpublished}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{note}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \printfield{eventtitle}%
+ \setunit*{\ctitleaddonpunct}\newblock%
+ \printfield{eventtitleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{venue}%
+ \setunit*{\addcomma\addspace}%
+ \printlist{location}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iffieldundef{eventyear}%
+ {\usebibmacro{date}}%
+ {\printeventdate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{video}{%
+ \usebibmacro{bibindex}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\usebibmacro{author/editor}%
+ \newunit\newblock
+ \printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{booktitleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}}%
+ {\usebibmacro{author/editor}%
+ \newunit\newblock
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \iffieldundef{booktitle}% Comma after italics, period after quotes
+ {\setunit{\ctitleaddonpunct}}%
+ {\setunit{\ptitleaddonpunct}}%\setunit{\addspace}\newblock%
+ \printfield{titleaddon}%\usebibmacro{title+stitle}%
+ \setunit{\addspace}\newblock%\bibsentence
+ \usebibmacro{language+transtitle}%
+ \setunit{\addperiod\addspace}% 16th ed.
+ \usebibmacro{byauthor}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{part+editor+translator}%
+ \setunit{\addperiod\addspace}%
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}}%
+ \iffieldundef{booktitle}%
+ {\setunit{\addperiod\addspace}}% Fix customc?
+ {\setunit{\addcomma\addspace}}%
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newunit% unit, not cunit?
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{byeditor+others}%
+ \newunit% ??? Editorpunct maybe not right here?
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\usebibmacro{cms-in:}%
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}%
+ \newcunit\newblock
+ \usebibmacro{volume+pages}%
+ \newunit\newblock
+ \usebibmacro{ser+num}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{music+eventdate}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{usera}%
+ \newunit\newblock
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}%\printorigdate%
+ \newunit\newblock
+ \usebibmacro{publ+loc+year}%
+ \newunit\newblock
+ \printfield{type}% 16th ed.
+ \newunit\newblock
+ \printfield{addendum}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}}%
+ {}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{bib+doi+url}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newunit}%
+ {}%
+ \usebibmacro{originally+published+as}%
+ \usebibmacro{finentry}}%
+
+%%%% Other Formatting Macros %%%%
+
+\newbibmacro*{bib+doi+url}{% 16th ed.
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{urlyear}}%
+ }%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ {}%
+ \iffieldundef{addendum}% Punctuation fixes in 0.9.9c
+ {\newunit\newblock}%
+ {\newcunit\newblock}%
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \setunit*{\addperiod\addspace}\newblock%
+ \clearfield{url}}}%
+ {\ifboolexpr{%
+ togl {cms@doi}%
+ and
+ not test {\iffieldundef{doi}}%
+ }%
+ {\printfield{doi}%
+ \setunit*{\addperiod\addspace}\newblock}%
+ {}}%
+ \ifboolexpr{%
+ togl {cms@eprint}%
+ and
+ not test {\iffieldundef{eprint}}%
+ }%
+ {\usebibmacro{eprint}%
+ \setunit*{\addperiod\addspace}\newblock}%
+ {}%
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{url}}%
+ }%
+ {\printfield{url}}%
+ {}}%
+
+\newbibmacro{bib:xref+date}{% Experiment for xrefs
+ \ifboolexpr{%
+ togl {cms@omitxrefdate}%
+ or
+ togl {cms@bookbibxref}%
+ or
+ test {\iffieldundef{crossref}}%
+ or
+ test {\iffieldundef{maintitle}}%
+ or
+ ((
+ test {\iffieldundef{year}}%
+ or
+ togl {cms@switchdates}%
+ )
+ and
+ (test {\iffieldundef{origyear}}%
+ or
+ not togl {cms@switchdates}%
+ ))
+ }%
+ {\ifboolexpr{%
+ togl {cms@omitxrefdate}%
+ or
+ togl {cms@bookbibxref}%
+ or
+ test {\iffieldundef{xref}}%
+ or
+ test {\iffieldundef{maintitle}}%
+ or
+ ((
+ test {\iffieldundef{year}}%
+ or
+ togl {cms@switchdates}%
+ )
+ and
+ (test {\iffieldundef{origyear}}%
+ or
+ not togl {cms@switchdates}%
+ ))
+ }%
+ {}%
+ {\printtext[parens]{\usebibmacro{date}}}}%
+ {\printtext[parens]{\usebibmacro{date}}}}
+
+\newbibmacro*{volume+pages}{% Volume fix (modified)
+ \ifboolexpr{%
+ test {\iffieldundef{maintitle}}%
+ or
+ togl {cms@vol}%
+ }%
+ {\global\togglefalse{cms@vol}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\printfield{pages}%
+ \newunit%
+ \printfield{volumes}}%
+ {\iffieldundef{part}%
+ {\iffieldundef{pages}%
+ {\printfield{volume}}% Still print this w/o part or pages???
+ {\ifthenelse{\iffieldnums{pages}\AND%
+ \iffieldundef{bookpagination}\AND\iffieldnums{volume}}%
+ {\printfield[default]{volume}%
+ \postvolpunct%
+ \printfield{pages}}%
+ {\printfield{volume}%
+ \addcomma\addspace%
+ \printfield{pages}}}}%
+ {\printfield{volume}%
+ \printfield{part}%
+ \newcunit%
+ \printfield{pages}}}}%
+ {\ifboolexpr{%
+ togl {cms@hidevolumes}%
+ and
+ (
+ not test {\iffieldundef{volume}}%
+ or
+ not test {\iffieldundef{part}}%
+ )
+ }%
+ {\printfield{pages}}%
+ {\printfield{pages}%
+ \newunit%
+ \printfield{volumes}}}}%
+
+\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\usebibmacro{cms-in:}% 16th ed (Also 15th?)
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}
+
+\newbibmacro*{mtitle+mstitle+vol+part+btitle+bstitle}{%
+ \usebibmacro{btitle+bstitle}%
+ \newunit% MT Fix
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR%
+ \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}% ???
+ {\usebibmacro{cms-in:}% 16th ed (also 15th?)
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}
+ \printfield{maintitleaddon}%
+ \toggletrue{cms@vol}}% InIn fix
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[noformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}
+
+\newbibmacro*{journal+issue+year+pages}{% 17th ed. eid changes
+ \ifentrytype{periodical}%
+ {\usebibmacro{cperiodical+ser+vol+num}}%
+ {\usebibmacro{cjournal+ser+vol+num}}%
+ \ifboolexpr{% 16th ed.
+ test {\iffieldundef{issue}}%
+ and
+ test {\iffieldundef{year}}%
+ and
+ not togl {cms@switchdates}%
+ }%
+ {\iffieldundef{number}%
+ {\ifthenelse{\iffieldundef{bookpagination}\AND\iffieldundef{eid}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}%
+ \usebibmacro{eid+or+pages}}%
+ {\newcunit\usebibmacro{eid+or+pages}}}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed.
+ {\newcunit%
+ \iffieldundef{issue}%
+ {\usebibmacro{number+or+month}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}%
+ \newcunit\usebibmacro{eid+or+pages}}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \iffieldundef{issue}%
+ {\usebibmacro{number+or+month}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}%
+ \setunit{\addcolon\addspace}%
+ \usebibmacro{eid+or+pages}}}}
+
+\newbibmacro*{eid+or+pages}{%
+ \iffieldundef{eid}%
+ {\printfield{pages}}%
+ {\printfield{eid}}}
+
+\newbibmacro*{bycompiler}{%
+ \ifnameundef{namec}%
+ {}%
+ {\bibstring{bycompiler}\addspace%
+ \printnames[bycompiler]{namec}}}
+
+\renewbibmacro*{byeditor}{%
+ \ifnameundef{editor}%
+ {}%
+ {\usebibmacro{bytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{byeditorx}}
+
+\renewbibmacro*{byeditorx}{%
+ \ifnameundef{editora}%
+ {}%
+ {\usebibmacro{bytypestrg}{editora}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \usebibmacro{editorpunct}}%
+ \ifnameundef{editorb}%
+ {}%
+ {\usebibmacro{bytypestrg}{editorb}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \usebibmacro{editorpunct}}%
+ \ifnameundef{editorc}%
+ {}%
+ {\usebibmacro{bytypestrg}{editorc}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \usebibmacro{editorpunct}}}
+
+\renewbibmacro*{byeditor+others}{%
+ \ifthenelse{\NOT\ifnameundef{editor}\AND
+ \(\iffieldundef{editortype}\OR
+ \iffieldequalstr{editortype}{editor}\)}%
+ {\def\@tempa{byeditor}%
+ \ifnamesequal{editor}{translator}%
+ {\edef\@tempa{\@tempa tr}%
+ \clearname{translator}}%
+ {}%
+ \ifnamesequal{editor}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{editor}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{editor}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{editor}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{editor}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{editor}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{byeditorx}}%
+ {\usebibmacro{byeditor}}%
+ \usebibmacro{bytranslator+others}}
+
+\renewbibmacro*{bytranslator+others}{%
+ \ifnameundef{translator}%
+ {}%
+ {\def\@tempa{bytranslator}%
+ \ifnamesequal{translator}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{translator}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{translator}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{translator}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{translator}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{translator}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\addspace%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{bycompiler+others}}
+
+\newbibmacro*{bycompiler+others}{%
+ \ifnameundef{namec}%
+ {}%
+ {\def\@tempa{bycompiler}%
+ \ifnamesequal{namec}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{namec}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{namec}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{namec}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{namec}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\addspace%
+ \printnames[bycompiler]{namec}%
+ \clearname{namec}%
+ \usebibmacro{editorpunct}}%
+ \usebibmacro{byothers}}%
+
+\newbibmacro*{byothers}{% Changed for 0.9
+ \usebibmacro{bytranslator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{bycompiler}%
+ \usebibmacro{editorpunct}%
+% \usebibmacro{byredactor}%
+% \usebibmacro{editorpunct}%
+ \usebibmacro{withcommentator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withannotator}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withintroduction}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withforeword}%
+ \usebibmacro{editorpunct}%
+ \usebibmacro{withafterword}}
+
+%%%% New date macros enabling special handling of seasons, decades,
+%%%% centuries, date eras, and uncertain dates (circa and ?), along
+%%%% with CMS compression of year ranges.
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{}% Author-date requires these
+
+\protected\def\cmsformatendextra{}%
+
+\newbibmacro*{cmsextradate}{}%
+
+\newbibmacro*{cmsparensextradate}{}%
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}%
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+%%%% Related functionality from standard.bbx %%%%
+
+\newcounter{bbx:relatedcount}
+\newcounter{bbx:relatedtotal}
+\newcounter{cms@reviewcount}%
+\newcounter{cms@currentnote}%
+
+\newbibmacro*{related:init}{%
+ \csundef{bbx:relatedloop}}
+
+\newbibmacro*{related:mtpunct}{%
+ \iftoggle{cms@mtvolpunct}%
+ {\newcunit\newblock}%
+ {\newunit\newblock}}
+
+\newbibmacro*{related:mtsave}{%
+ \iffieldundef{pages}{}{\savefield*{pages}{\cms@mtpages}}%
+ \iffieldundef{bookpagination}{}{\savefield*{bookpagination}%
+ {\cms@mtpagination}}%
+ \iffieldundef{chapter}{}{\savefield*{chapter}{\cms@mtchapter}}}%
+
+\newbibmacro*{mt+mvnames+save}{%
+ \ifnameundef{author}{}{\savename*{author}{\cms@mtauthor}}%
+ \ifnameundef{editor}{}{\savename*{editor}{\cms@mteditor}}%
+ \ifnameundef{translator}{}{\savename*{translator}{\cms@mttranslator}}%
+ \ifnameundef{namec}{}{\savename*{namec}{\cms@mtnamec}}}%
+
+\newbibmacro*{related:noterefhelper}{%
+ \iftoggle{cms@noterefs}%
+ {\iftoggle{cms@endnote}%
+ {\ifnumequal{\value{cms@currentnote}}{\value{endnote}}%
+ {}%
+ {\csxdef{cms@parent@instcount}{\the\value{instcount}}%
+ \ifcsdef{cms@chap@\thefield{entrykey}}%
+ {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}%
+ {}%
+ \ifcsdef{cms@sec@\thefield{entrykey}}%
+ {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}%
+ {}%
+ \setcounter{cms@currentnote}{\value{endnote}}%
+ \def\cms@templista{}%
+ \def\cms@templistb{}}}%
+ {\ifnumequal{\value{cms@currentnote}}{\value{footnote}}%
+ {}%
+ {\csxdef{cms@parent@instcount}{\the\value{instcount}}%
+ \ifcsdef{cms@chap@\thefield{entrykey}}%
+ {\csxdef{cms@parent@chap}{\csuse{cms@chap@\thefield{entrykey}}}}%
+ {}%
+ \ifcsdef{cms@sec@\thefield{entrykey}}%
+ {\csxdef{cms@parent@sec}{\csuse{cms@sec@\thefield{entrykey}}}}%
+ {}%
+ \setcounter{cms@currentnote}{\value{footnote}}%
+ \def\cms@templista{}%
+ \def\cms@templistb{}}}%
+ \def\do##1{%
+ \entrydata{##1}{%
+ \listxadd\cms@templista{\strfield{clonesourcekey}}%
+ \listxadd\cms@templistb{\strfield{crossref}}%
+ \listxadd\cms@templistb{\strfield{xref}}}}%
+ \docsvfield{related}%
+ \def\do##1{%
+ \xifinlistcs{##1}{blx@bsee@\the\c@refsection}%
+ {\iftoggle{cms@relreview}%
+ {}%
+ {\csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}}}%
+ {\iftoggle{cms@relreview}%
+ {}%
+ {\listcsxadd{blx@bsee@\the\c@refsection}{##1}}%
+ \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}}%
+ }%
+ \dolistloop{\cms@templista}%
+ \def\do##1{%
+ \csxdef{cbx@f@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@recent@##1}{\csuse{cms@parent@instcount}}%
+ \csxdef{cms@invl@##1}%
+ {\value{\csuse{cms@noteref@interval}}}%
+ \ifcsdef{cms@parent@chap}%
+ {\csxdef{cms@chap@##1}{\csuse{cms@parent@chap}}}%
+ {}%
+ \ifcsdef{cms@parent@sec}%
+ {\csxdef{cms@sec@##1}{\csuse{cms@parent@sec}}}%
+ {}%
+ }%
+ \ifdefvoid{\cms@templistb}{}{\dolistloop{\cms@templistb}}}%
+ {}}%
+
+\newbibmacro*{begrelated}{\ifcsdef{bbx@lasthash}%
+ {\let\cms@related@hash\bbx@lasthash}{}}%
+\newbibmacro*{endrelated}{\ifcsdef{cms@related@hash}%
+ {\global\let\bbx@lasthash\cms@related@hash%
+ \let\cms@related@hash\undefined}{}}%
+\newbibmacro*{begrelatedloop}{}
+\newbibmacro*{endrelatedloop}{}
+
+\def\ifrelatedloop{%
+ \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}}%
+ or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }}
+
+\newbibmacro*{related}{%
+ \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
+ {}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
+ \def\bbx@tempa{}%
+ \setcounter{bbx:relatedtotal}{0}%
+ \def\do##1{%
+ \entrydata{##1}{%
+ \ifrelatedloop%
+ {}%
+ {\stepcounter{bbx:relatedtotal}%
+ \gappto{\bbx@tempa}{##1,}}}}%
+ \docsvfield{related}%
+ \restorefield{related}{\bbx@tempa}%
+ \ifnumgreater{\value{bbx:relatedtotal}}{0}%
+ {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}%
+ \iffieldundef{clonesourcekey}%
+ {}%
+ {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}%
+ \setcounter{bbx:relatedcount}{0}%
+ \def\do{%
+ \stepcounter{bbx:relatedcount}%
+ \ifnumgreater{\value{bbx:relatedcount}}{1}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
+ {}}%
+ \ifbibmacroundef{related:\strfield{relatedtype}}%
+ {\appto{\do}{\usebibmacro{related:default}}}%
+ {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}%
+ \iffieldformatundef{related:\strfield{relatedtype}}%
+ {\def\bbx@tempa{related}}%
+ {\def\bbx@tempa{related:\strfield{relatedtype}}}%
+ \iffieldformatundef{relatedstring:\strfield{relatedtype}}%
+ {\def\bbx@tempb{relatedstring:default}}%
+ {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}%
+ \printtext[\bbx@tempa]{%
+ \usebibmacro{begrelatedloop}%
+ \iffieldundef{relatedstring}%
+ {\ifboolexpr{%
+ test {\ifnumgreater{\value{bbx:relatedtotal}}{1}}%
+ and
+ test {\ifbibxstring{\thefield{relatedtype}s}}%
+ }%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedtype}s}}}%
+ {\iffieldbibstring{relatedtype}%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedtype}}}}%
+ {}}}%
+ {\iffieldbibstring{relatedstring}%
+ {\printtext[\bbx@tempb]{%
+ \bibstring[\mkrelatedstring]{\thefield{relatedstring}}}}%
+ {\printfield[\bbx@tempb]{relatedstring}}}%
+ \docsvfield{related}%
+ \usebibmacro{endrelatedloop}}}%
+ {}%
+ \usebibmacro{endrelated}}}%
+
+%%% List of all CMS bibliography strings %%%
+
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
new file mode 100644
index 0000000000..82f4a000d6
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
@@ -0,0 +1,10052 @@
+% This is a biblatex citation style file, originally adapted from
+% Lehman's authortitle-cverb.cbx. It is heavily modified, with the
+% intention of providing footnote citations and a bibliography
+% formatted according to the specifications of the Chicago Manual of
+% Style.
+
+\ProvidesFile{chicago-notes.cbx}[2020/04/20 v 3.14 biblatex citation style]
+
+%%%% Biblatex initialization + Chicago options + Toggles %%%%
+
+\newbool{cms:bracket}% Date-handling booleans
+\newbool{cms:extraparens}
+\newbool{cms:comma}
+\newbool{cms:nd}
+
+\providecommand*{\mkibid}[1]{#1}
+
+\providetoggle{cms@oneyear}% Needed for author-date
+\providetoggle{cms@switchdates}% ditto
+
+\providetoggle{cms@jrcomma}% For comma before Jr./Sr.
+
+\providetoggle{cms@url}% These are for the field-exclusion options
+\providetoggle{cms@urltime}% 17th ed.
+\providetoggle{cms@doi}
+\providetoggle{cms@doionly}
+\providetoggle{cms@eprint}
+\providetoggle{cms@isbn}
+\providetoggle{cms@numbermonth}
+\providetoggle{cms@bookpages}
+\providetoggle{cms@hidevolumes}% Modify volume fix
+\providetoggle{cms@mtvolpunct}
+\providetoggle{cms@bookseries}
+\providetoggle{cms@citeshser}% For shortseries
+\providetoggle{cms@bibshser}
+\providetoggle{cms@notefield}
+\providetoggle{cms@addendum}
+\providetoggle{cms@comprange}
+\providetoggle{cms@compyears}
+\providetoggle{cms@modpostnote}
+\providetoggle{cms@url@innotes}
+\providetoggle{cms@ukord}
+
+\providetoggle{cms@bc}% Attempt to provide correct dateera handling
+\providetoggle{cms@alwaysrange}% Turns off decade and century handling
+\providetoggle{cms@decaderange}% Only turns off decade handling
+\providetoggle{cms@centuryrange}% Only turns off century handling
+\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa
+\providetoggle{cms@noyearbrackets}%
+\providetoggle{cms@nodates}%
+
+\providetoggle{cms@strict}
+\providetoggle{cms@headlessnote}
+\providetoggle{cms@origcite}
+\providetoggle{cms@fullnote}
+\providetoggle{cms@shortnote}
+\providetoggle{cms@allshort}
+\providetoggle{cms@noibid}
+\providetoggle{cms@noidem}
+\providetoggle{cms@namedash}
+\providetoggle{cms@useibid}
+\providetoggle{cms@usecompiler}
+\providetoggle{cms@shorthandibid}
+\providetoggle{cms@printshhand}
+\providetoggle{cms@fullshhand}
+\providetoggle{cms@inheritshhand}
+\providetoggle{cms@firstshort}
+\providetoggle{cms@origpublished}
+\providetoggle{cms@loccit}
+\providetoggle{cms@annotation}
+\providetoggle{cms@postposit}
+\providetoggle{cms@legalnotes}% For legal types
+\providetoggle{cms@supranotes}% Ditto
+\providetoggle{cms@noneshort}% Ditto
+\providetoggle{cms@running@text}% For Jurisdiction entries
+\providetoggle{cms@noterefs}% Backrefs inside notes
+\providetoggle{cms@forcenoteref}% For shortrefcite command
+\providetoggle{cms@zeropages}% For replacing zero sections
+\providetoggle{cms@hidezeros}% Ditto, but differently
+\providetoggle{cms@fullrefs}% Force printing of sec. no. w/in same sec.
+\providetoggle{cms@ensplit}% Split endnotes w/o cmsendnotes
+\providetoggle{cms@endnote}% Distinguish foot- and endnotes
+\providetoggle{cms@relreview}%
+\providetoggle{cms@vol}
+\providetoggle{cms@postvol}
+\providetoggle{cms@usedvol}
+\providetoggle{cms@citecrossref}
+\providetoggle{cms@bibcrossref}
+\providetoggle{cms@bookcitexref}
+\providetoggle{cms@bookbibxref}
+\providetoggle{cms@xrefvol}
+\providetoggle{cms@xrefpart}
+\providetoggle{cms@omitxrefdate}
+\providetoggle{cms@xrefurl}
+\providetoggle{cms@blogurl}% For 17th ed. blogs w/ comments
+\providetoggle{cms@related}
+\providetoggle{cms@citerel}
+\providetoggle{cms@gencite}
+\providetoggle{cms@genallnames}
+
+\AtEveryCitekey{%
+ \iffieldundef{userc}%
+ {}%
+ {\nocite{\thefield{userc}}}%
+ \global\togglefalse{cms@loccit}%
+ \global\csundef{@cmsst}%
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ test {\iffieldundef{year}}%
+ or
+ not test {\iffieldint{year}}%
+ or
+ not test {\iffieldint{origyear}}%
+ or
+ togl {cms@switchdates}%
+ }%
+ {}%
+ {\ifboolexpr{% Needed for open-ended ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}}}%
+
+\protected\def\cms@warning@noline#1{%
+ \begingroup
+ \blx@safe@actives
+ \PackageWarningNoLine{biblatex-chicago}{#1}%
+ \endgroup}
+
+%% These are options for extended date attributes
+
+\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{%
+ \settoggle{cms@alwaysrange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{%
+ \settoggle{cms@decaderange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{%
+ \settoggle{cms@centuryrange}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{%
+ \settoggle{cms@nodatebrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{%
+ \settoggle{cms@noyearbrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodates}[true]{%
+ \settoggle{cms@nodates}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{%
+ \settoggle{cms@genallnames}{#1}}
+
+\DeclareBibliographyOption{annotation}[true]{%
+ \global\toggletrue{cms@annotation}}
+
+\DeclareBibliographyOption[boolean]{noibid}[true]{%
+ \global\toggletrue{cms@noibid}}
+
+\DeclareBibliographyOption[boolean]{useibid}[true]{%
+ \global\toggletrue{cms@useibid}}
+
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \settoggle{cms@namedash}{#1}}
+
+\DeclareBibliographyOption[boolean]{short}[true]{%
+ \global\settoggle{cms@allshort}{#1}}
+
+\DeclareBibliographyOption[boolean]{hidezeros}[true]{%
+ \global\settoggle{cms@hidezeros}{#1}}
+
+\DeclareEntryOption[boolean]{hidezeros}[true]{%
+ \settoggle{cms@hidezeros}{#1}}
+
+\DeclareBibliographyOption[boolean]{pagezeros}[true]{%
+ \global\settoggle{cms@zeropages}{#1}}
+
+\DeclareEntryOption[boolean]{pagezeros}[true]{%
+ \settoggle{cms@zeropages}{#1}}
+
+\DeclareBibliographyOption[boolean]{endnotesplit}[true]{%
+ \global\settoggle{cms@ensplit}{#1}}
+
+\DeclareBibliographyOption[integer]{noterefinterval}[0]{%
+ \gdef\cms@note@distance{#1}}%
+
+\DeclareBibliographyOption[string]{noterefintro}[preface]{%
+ \def\cms@note@introname{#1}}%
+
+\DeclareBiblatexOption{global}[boolean]{fullnoterefs}[true]{%
+ \global\settoggle{cms@fullrefs}{#1}}%
+
+\DeclareBibliographyOption[string]{noteref}[none]{%
+ \global\toggletrue{cms@noterefs}%
+ \ifcsdef{cms@opt@noterefs@#1}%
+ {\letcs\cms@noteref@casenum{cms@opt@noterefs@#1}%
+ \def\cms@noteref@interval{#1}%
+ \def\cms@note@distance{0}}%
+ {\blx@err@invopt{noteref=#1}{}}}%
+\def\cms@opt@noterefs@none{0}%
+\def\cms@opt@noterefs@part{1}%
+\def\cms@opt@noterefs@chapter{2}%
+\def\cms@opt@noterefs@section{3}%
+\def\cms@opt@noterefs@subsection{4}%
+\def\cms@opt@noterefs@page{5}%
+
+\newbibmacro*{noteref+interval}{%
+ \ifcase\cms@noteref@casenum% 0
+ \cms@noteref{none}%
+ \or % 1
+ \cms@noteref{part}%
+ \or % 2
+ \cms@noteref{chapter}%
+ \or % 3
+ \cms@noteref{section}%
+ \or % 4
+ \cms@noteref{subsection}%
+ \or % 5
+ \cms@noteref{page}%
+ \fi}
+
+\newrobustcmd*{\cms@noteref}[1]{%
+ \ifcsundef{cms@recent@\thefield{entrykey}}%
+ {\cms@warning@noline%
+ {I can't find a long citation of\MessageBreak
+ the entry \thefield{entrykey}.\MessageBreak
+ Most likely the initial citation\MessageBreak
+ did not occur inside a note, or\MessageBreak
+ perhaps you used a \citejournal\MessageBreak
+ command for it. Biblatex-chicago\MessageBreak
+ won't be able to generate a back\MessageBreak
+ reference to it}}%
+ {\ifboolexpr{%
+ ((
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}% 17th ed.
+ )
+ and
+ (
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ (
+ test {\ifentrytype{online}}% 17th ed.
+ and
+ test {\IfBeginWith{\thefield{title}}{CCCCCC}}%
+ )))
+ or
+ (
+ test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}%
+ and
+ test {\IfBeginWith{\thefield{entrytype}}{mv}}%
+ )
+ }%
+ {\csdef{cms@tempcounta}{\value{cms@reviewcount}}}%
+ {\csdef{cms@tempcounta}{\value{instcount}}}%
+ \ifboolexpr{%
+ test {\ifsamepage{\csuse{cms@tempcounta}}%{\the\value{instcount}}
+ {\csuse{cms@recent@\thefield{entrykey}}}}% Replaces cbx@f@...
+ and
+ not togl {cms@forcenoteref}%
+ }%
+ {}%
+ {\ifboolexpr{%
+ test {\ifnumless{\csuse{cms@tempcounta} -
+ \csuse{cms@recent@\thefield{entrykey}}}%
+ {\csuse{cms@note@distance}}}%
+ and
+ not togl {cms@forcenoteref}%
+ }%
+ {}%
+ {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{0}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibsstring{seenote}\addnbspace
+ \printtext{\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}%
+ {\ifboolexpr{%
+ (
+ not test {\ifcsvoid{cms@end@split}}%
+ and
+ togl {cms@endnote}%
+ )
+ or
+ togl {cms@ensplit}%
+ or
+ test {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{5}}%
+ }%
+ {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{5}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}\addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\iftoggle{cms@ensplit}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \getrefbykeydefault{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ {name}{}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \StrCut{%
+ \getrefbykeydefault{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ {name}{}}{\ }{\cms@AA}{\cms@BB}%
+ \ifcsvoid{cms@BB}%
+ {}%
+ {\StrLeft{\expandafter\string\cms@BB}{5}[\cms@CC]%
+ \StrGobbleLeft{\expandafter\string\cms@CC}{1}[\cms@CC]}%
+ \ifboolexpr{%
+ test {\ifcsvoid{cms@BB}}%
+ or
+ test {\ifdefstring{\cms@CC}{zeri}}%
+ }%
+ {\ifcsvoid{cms@BB}%
+ {\ifbibxstring{\csuse{cms@note@introname}}%
+ {\bibsstring{\csuse{cms@note@introname}}}%
+ {\csuse{cms@note@introname}}}%
+ {\ifbibxstring{\csuse{cms@note@introname}}%
+ {\bibsstring{\csuse{cms@note@introname}}%
+ \addcomma\addspace\cms@BB}%
+ {\csuse{cms@note@introname}%
+ \addcomma\addspace\cms@BB}}}%
+ {\ifcsvoid{cms@end@subheadername}%
+ {\ifbibxstring{\csuse{cms@end@split}}%
+ {\bibsstring{\csuse{cms@end@split}}\addnbspace\cms@BB}%
+ {\csuse{cms@end@split}\addnbspace\cms@BB}}%
+ {\ifbibxstring{\csuse{cms@end@subheadername}}%
+ {\bibsstring{\csuse{cms@end@subheadername}}%
+ \addnbspace\cms@BB}%
+ {\csuse{cms@end@subheadername}\addnbspace\cms@BB}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\ifnumless{\csuse{cms@opt@noterefs@#1}}{3}%
+ {\ifboolexpr{%
+ test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}%
+ {\csuse{cms@invl@\thefield{entrykey}}}}%
+ or
+ togl {cms@fullrefs}%
+ }%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\ifcsundef{cms@note@introname}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{\csuse{cms@noteref@interval}}\addnbspace%
+ \printtext{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \printtext[nr#1]{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \printtext{\bibsstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}}%
+ {\ifnumequal{\csuse{cms@opt@noterefs@#1}}{3}%
+ {\ifundef{\chapter}%
+ {\ifboolexpr{%
+ test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}%
+ {\csuse{cms@invl@\thefield{entrykey}}}}%
+ or
+ togl {cms@fullrefs}%
+ }%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\ifcsundef{cms@note@introname}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \printtext{\bibsstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}}%
+ {\ifboolexpr{%
+ test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}%
+ {\csuse{cms@invl@\thefield{entrykey}}}}%
+ or
+ test {\ifnumcomp{\value{chapter}}{>}%
+ {\csuse{cms@chap@\thefield{entrykey}}}}%
+ or
+ togl {cms@fullrefs}%
+ }%
+ {\ifnumequal{\csuse{cms@chap@\thefield{entrykey}}}{0}%
+ {\ifcsundef{cms@note@introname}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\iftoggle{cms@hidezeros}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{%
+ \csuse{cms@chap@\thefield{entrykey}}.%
+ 1\addnbspace\mkbibparens{\cmspref}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \printtext{\bibsstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}}}%
+ {\ifundef{\chapter}%
+ {\ifboolexpr{%
+ test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}%
+ {\csuse{cms@invl@\thefield{entrykey}}}}%
+ or
+ test {\ifnumcomp{\value{section}}{>}%
+ {\csuse{cms@sec@\thefield{entrykey}}}}%
+ or
+ togl {cms@fullrefs}%
+ }%
+ {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}{0}%
+ {\ifcsundef{cms@note@introname}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\iftoggle{cms@hidezeros}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{%
+ \csuse{cms@sec@\thefield{entrykey}}.%
+ 1\addnbspace\mkbibparens{\cmspref}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \printtext{\bibsstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}}%
+ {\ifboolexpr{%
+ test {\ifnumcomp{\value{\csuse{cms@noteref@interval}}}{>}%
+ {\csuse{cms@invl@\thefield{entrykey}}}}%
+ or
+ test {\ifnumcomp{\value{chapter}}{>}%
+ {\csuse{cms@chap@\thefield{entrykey}}}}%
+ or
+ test {\ifnumcomp{\value{section}}{>}%
+ {\csuse{cms@sec@\thefield{entrykey}}}}%
+ or
+ togl {cms@fullrefs}%
+ }%
+ {\ifnumequal{\csuse{cms@chap@\thefield{entrykey}}}{0}%
+ {\ifcsundef{cms@note@introname}%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\ifboolexpr{%
+ test
+ {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}%
+ {0}}%
+ and
+ test
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}%
+ {0}}%
+ }%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\ifboolexpr{%
+ togl {cms@zeropages}%
+ and
+ (
+ test
+ {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}%
+ {0}}%
+ or
+ test
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}%
+ {0}}%
+ )
+ }%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \cms@ifcsstring{cms@note@introname}\newcunit%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}}%
+ {\ifboolexpr{%
+ test
+ {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}{0}}%
+ or
+ test
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}{0}}%
+ }%
+ {\iftoggle{cms@zeropages}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace\bibsstring{page}%
+ \addnbspace%
+ \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\iftoggle{cms@hidezeros}%
+ {\ifnumequal{\csuse{cms@sec@\thefield{entrykey}}}%
+ {0}%
+ {\ifnumequal{\csuse{cms@invl@\thefield{entrykey}}}%
+ {0}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{%
+ \csuse{cms@chap@\thefield{entrykey}}.%
+ 1\addnbspace\mkbibparens{\cmspref}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{%
+ \csuse{cms@chap@\thefield{entrykey}}.%
+ \cmspref\adddot%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{%
+ \csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@sec@\thefield{entrykey}}.%
+ 1\addnbspace\mkbibparens{\cmspref}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \bibstring{see}\addnbspace%
+ \bibsstring{section}\addnbspace%
+ \printtext{\csuse{cms@chap@\thefield{entrykey}}.%
+ \csuse{cms@sec@\thefield{entrykey}}.%
+ \csuse{cms@invl@\thefield{entrykey}}}%
+ \newcunit%
+ \bibsstring{note}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \bibcloseparen}}}%
+ {\setunit{\addspace\bibopenparen}%
+ \printtext{\bibsstring{seenote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}%
+ \bibcloseparen}}}}}}%
+ \ifnumequal{\csuse{cms@tempcounta}}{\value{cms@reviewcount}}%
+ {\csxdef{cms@recent@\thefield{entrykey}}%
+ {\the\value{cms@reviewcount}}}%
+ {\csxdef{cms@recent@\thefield{entrykey}}{\the\value{instcount}}}}}}}%
+
+\newrobustcmd*{\cmspref}{pref.\@}%
+\newrobustcmd*{\cmsintrosection}{\S}%
+
+\newrobustcmd*{\cms@ifcsstring}[1]{%
+ \ifbibxstring{\csuse{#1}}%
+ {\bibsstring{\csuse{#1}}}%
+ {\csuse{#1}}}
+
+\newrobustcmd*{\cms@save@locdata}[1]{%
+ \iftoggle{cms@noterefs}%
+ {\csxdef{cbx@f@\thefield{#1}}{\the\value{instcount}}%
+ \csxdef{cms@recent@\thefield{#1}}{\the\value{instcount}}%
+ \ifcase\cms@noteref@casenum%
+ \or% 1
+ \csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \or% 2
+ \csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \or% 3
+ \ifundef{\chapter}%
+ {\csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}}%
+ {\csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \csxdef{cms@chap@\thefield{#1}}{\the\value{chapter}}}%
+ \or% 4
+ \ifundef{\chapter}%
+ {\csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \csxdef{cms@sec@\thefield{#1}}{\the\value{section}}}%
+ {\csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \csxdef{cms@sec@\thefield{#1}}{\the\value{section}}%
+ \csxdef{cms@chap@\thefield{#1}}{\the\value{chapter}}}%
+ \or% 5
+ \csxdef{cms@invl@\thefield{#1}}%
+ {\the\value{\csuse{cms@noteref@interval}}}%
+ \fi}%
+ {}}
+
+\DeclareBibliographyOption[boolean]{legalnotes}[true]{%
+ \global\settoggle{cms@legalnotes}{#1}}
+
+\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{%
+ \settoggle{cms@supranotes}{#1}}
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{noneshort}[true]{%
+ \settoggle{cms@noneshort}{#1}}
+
+\DeclareBibliographyOption[boolean]{shorthandibid}[true]{%
+ \global\toggletrue{cms@shorthandibid}}
+
+\DeclareBibliographyOption[boolean]{shorthandfull}[true]{%
+ \settoggle{cms@fullshhand}{#1}}
+
+\DeclareBibliographyOption[boolean]{inheritshorthand}[true]{%
+ \settoggle{cms@inheritshhand}{#1}%
+ \iftoggle{cms@inheritshhand}%
+ {\DeclareDataInheritance{*}{*}{%
+ \inherit{shorthand}{shorthand}
+ \inherit{shorthandintro}{shorthandintro}
+ }}%
+ {}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{shorthandfirst}[true]{%
+ \settoggle{cms@firstshort}{#1}}
+
+\DeclareBibliographyOption[boolean]{compresspages}[true]{%
+ \global\settoggle{cms@comprange}{#1}}%
+
+\DeclareBibliographyOption[boolean]{compressyears}[true]{%
+ \global\settoggle{cms@compyears}{#1}}%
+
+\DeclareBibliographyOption[string]{postnotepunct}[true]{%
+ \ifcsdef{cms@opt@ppunct@#1}%
+ {\csuse{cms@opt@ppunct@#1}}%
+ {\blx@err@invopt{postnotepunct=#1}{}}}%
+\def\cms@opt@ppunct@true{%
+ \global\toggletrue{cms@modpostnote}}%
+\def\cms@opt@ppunct@false{}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{%
+ \settoggle{blx@usenamec}{#1}}
+
+\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{%
+ \settoggle{cms@jrcomma}{#1}}
+
+\DeclareBiblatexOption{global,entry}[boolean]{delayvolume}[true]{%
+ \settoggle{cms@postvol}{#1}}
+
+\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{%
+ \ifcsdef{cms@opt@lxref@#1}%
+ {\csuse{cms@opt@lxref@#1}}%
+ {\blx@err@invopt{longcrossref=#1}{}}}%
+\def\cms@opt@lxref@none{%
+ \togglefalse{cms@citecrossref}%
+ \togglefalse{cms@bibcrossref}%
+ \togglefalse{cms@bookcitexref}%
+ \togglefalse{cms@bookbibxref}}%
+\def\cms@opt@lxref@true{%
+ \toggletrue{cms@citecrossref}%
+ \toggletrue{cms@bibcrossref}}%
+\def\cms@opt@lxref@false{%
+ \togglefalse{cms@citecrossref}%
+ \togglefalse{cms@bibcrossref}}%
+\def\cms@opt@lxref@notes{%
+ \toggletrue{cms@citecrossref}%
+ \togglefalse{cms@bibcrossref}}%
+\def\cms@opt@lxref@bib{%
+ \togglefalse{cms@citecrossref}%
+ \toggletrue{cms@bibcrossref}}%
+
+\DeclareBiblatexOption{global,entry}[string]{booklongxref}[true]{%
+ \ifcsdef{cms@opt@bklxref@#1}%
+ {\csuse{cms@opt@bklxref@#1}}%
+ {\blx@err@invopt{booklongxref=#1}{}}}%
+\def\cms@opt@bklxref@true{%
+ \toggletrue{cms@bookcitexref}%
+ \toggletrue{cms@bookbibxref}}%
+\def\cms@opt@bklxref@false{%
+ \togglefalse{cms@bookcitexref}%
+ \togglefalse{cms@bookbibxref}}%
+\def\cms@opt@bklxref@notes{%
+ \toggletrue{cms@bookcitexref}%
+ \togglefalse{cms@bookbibxref}}%
+\def\cms@opt@bklxref@bib{%
+ \togglefalse{cms@bookcitexref}%
+ \toggletrue{cms@bookbibxref}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{omitxrefdate}[true]{%
+ \settoggle{cms@omitxrefdate}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{%
+ \settoggle{cms@xrefurl}{#1}}%
+
+\DeclareBibliographyOption[boolean]{blogurl}[true]{%
+ \settoggle{cms@blogurl}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{%
+ \ifcsdef{cms@opt@jtabb@#1}%
+ {\csuse{cms@opt@jtabb@#1}}%
+ {\csuse{cms@opt@jtabb@false}\cms@warning@noline%
+ {'journalabbrev=#1' isn't a valid option.\MessageBreak
+ The default - 'false' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@jtabb@true{%
+ \toggletrue{cms@citejtabb}%
+ \toggletrue{cms@bibjtabb}}%
+\def\cms@opt@jtabb@false{%
+ \togglefalse{cms@citejtabb}%
+ \togglefalse{cms@bibjtabb}}%
+\def\cms@opt@jtabb@notes{%
+ \toggletrue{cms@citejtabb}%
+ \togglefalse{cms@bibjtabb}}%
+\def\cms@opt@jtabb@bib{%
+ \togglefalse{cms@citejtabb}%
+ \toggletrue{cms@bibjtabb}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{seriesabbrev}[false]{%
+ \ifcsdef{cms@opt@shser@#1}%
+ {\csuse{cms@opt@shser@#1}}%
+ {\csuse{cms@opt@shser@false}\cms@warning@noline%
+ {'seriesabbrev=#1' isn't a valid option.\MessageBreak
+ The default - 'false' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@shser@true{%
+ \toggletrue{cms@citeshser}%
+ \toggletrue{cms@bibshser}}%
+\def\cms@opt@shser@false{%
+ \togglefalse{cms@citeshser}%
+ \togglefalse{cms@bibshser}}%
+\def\cms@opt@shser@notes{%
+ \toggletrue{cms@citeshser}%
+ \togglefalse{cms@bibshser}}%
+\def\cms@opt@shser@bib{%
+ \togglefalse{cms@citeshser}%
+ \toggletrue{cms@bibshser}}%
+
+\DeclareBibliographyOption[boolean]{ordinalgb}[true]{%
+ \settoggle{cms@ukord}{#1}}%
+
+% The field-exclusion options %
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlnotes}[true]{%
+ \settoggle{cms@url@innotes}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{%
+ \settoggle{cms@urltime}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{%
+ \settoggle{cms@isbn}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{%
+ \settoggle{cms@url}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{%
+ \ifcsdef{cms@opt@doi@#1}%
+ {\csuse{cms@opt@doi@#1}}%
+ {\blx@err@invopt{doi=#1}{}}}%
+\def\cms@opt@doi@true{%
+ \toggletrue{cms@doi}}%
+\def\cms@opt@doi@false{%
+ \togglefalse{cms@doi}}%
+\def\cms@opt@doi@only{%
+ \toggletrue{cms@doionly}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{%
+ \settoggle{cms@eprint}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{%
+ \settoggle{cms@numbermonth}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{%
+ \settoggle{cms@bookpages}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{%
+ \settoggle{cms@isbn}{#1}%
+ \settoggle{cms@url}{#1}%
+ \settoggle{cms@urltime}{#1}% 17th ed.
+ \settoggle{cms@doi}{#1}%
+ \settoggle{cms@eprint}{#1}%
+ \settoggle{cms@numbermonth}{#1}%
+ \settoggle{cms@bookpages}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{%
+ \settoggle{cms@hidevolumes}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{addendum}[true]{%
+ \settoggle{cms@addendum}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookseries}[true]{%
+ \settoggle{cms@bookseries}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{notefield}[true]{%
+ \settoggle{cms@notefield}{#1}}%
+\DeclareBibliographyOption{completenotes}[true]{%
+ \settoggle{cms@addendum}{#1}%
+ \settoggle{cms@bookseries}{#1}%
+ \settoggle{cms@notefield}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{related}[bib]{%
+ \ifcsdef{cms@opt@rel@#1}%
+ {\csuse{cms@opt@rel@#1}}%
+ {\csuse{cms@opt@rel@bib}\cms@warning@noline%
+ {'related=#1' is not a valid option.\MessageBreak
+ The default - 'bib' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@rel@true{%
+ \settoggle{cms@citerel}{true}%
+ \settoggle{cms@related}{true}}%
+\def\cms@opt@rel@false{%
+ \settoggle{cms@citerel}{false}%
+ \settoggle{cms@related}{false}}%
+\def\cms@opt@rel@bib{%
+ \settoggle{cms@citerel}{false}%
+ \settoggle{cms@related}{true}}%
+\def\cms@opt@rel@notes{%
+ \settoggle{cms@citerel}{true}%
+ \settoggle{cms@related}{false}}%
+
+% Adding a disambiguating field to short notes otherwise identical %
+
+\DeclareBiblatexOption{global,type,entry}[string]{shortextrafield}{%
+ \def\cms@xfield{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{shortextraformat}{%
+ \def\cms@xformat{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{shortextrapunct}[comma]{%
+ \ifcsdef{cms@opt@shxp@#1}%
+ {\csuse{cms@opt@shxp@#1}}%
+ {\csuse{cms@opt@shxp@comma}\cms@warning@noline%
+ {'shortextrapunct=#1' is not a valid option.\MessageBreak
+ The default - 'comma' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@shxp@none{%
+ \let\shortextrapunct\@empty}%
+\def\cms@opt@shxp@comma{%
+ \def\shortextrapunct{\addcomma\addspace}}%
+\def\cms@opt@shxp@colon{%
+ \def\shortextrapunct{\addcolon\addspace}}%
+\def\cms@opt@shxp@space{%
+ \def\shortextrapunct{\addspace}}%
+\def\cms@opt@shxp@semicolon{%
+ \def\shortextrapunct{\addsemicolon\addspace}}%
+\def\cms@opt@shxp@period{%
+ \def\shortextrapunct{\addperiod\addspace}}%
+
+% Controlling punctuation before titleaddon fields %
+
+\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{%
+ \ifcsdef{cms@opt@ptao@#1}%
+ {\csuse{cms@opt@ptao@#1}}%
+ {\csuse{cms@opt@ptao@period}\cms@warning@noline%
+ {'ptitleaddon=#1' is not a valid option.\MessageBreak
+ The default - 'period' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@ptao@none{%
+ \let\ptitleaddonpunct\@empty}%
+\def\cms@opt@ptao@comma{%
+ \def\ptitleaddonpunct{\addcomma\addspace}}%
+\def\cms@opt@ptao@colon{%
+ \def\ptitleaddonpunct{\addcolon\addspace}}%
+\def\cms@opt@ptao@space{%
+ \def\ptitleaddonpunct{\addspace}}%
+\def\cms@opt@ptao@semicolon{%
+ \def\ptitleaddonpunct{\addsemicolon\addspace}}%
+\def\cms@opt@ptao@period{%
+ \def\ptitleaddonpunct{\addperiod\addspace}}%
+
+\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{%
+ \ifcsdef{cms@opt@ctao@#1}%
+ {\csuse{cms@opt@ctao@#1}}%
+ {\csuse{cms@opt@ctao@comma}\cms@warning@noline%
+ {'ctitleaddon=#1' is not a valid option.\MessageBreak
+ The default - 'comma' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@ctao@none{%
+ \let\ctitleaddonpunct\@empty}%
+\def\cms@opt@ctao@comma{%
+ \def\ctitleaddonpunct{\addcomma\addspace}}%
+\def\cms@opt@ctao@colon{%
+ \def\ctitleaddonpunct{\addcolon\addspace}}%
+\def\cms@opt@ctao@space{%
+ \def\ctitleaddonpunct{\addspace}}%
+\def\cms@opt@ctao@semicolon{%
+ \def\ctitleaddonpunct{\addsemicolon\addspace}}%
+\def\cms@opt@ctao@period{%
+ \def\ctitleaddonpunct{\addperiod\addspace}}%
+
+% Controlling punctuation before shorthand in notes %
+
+\DeclareBiblatexOption{global,type,entry}[string]{shorthandpunct}[space]{%
+ \ifcsdef{cms@opt@shp@#1}%
+ {\csuse{cms@opt@shp@#1}}%
+ {\csuse{cms@opt@shp@space}\cms@warning@noline%
+ {'shorthandpunct=#1' isn't a valid option.\MessageBreak
+ The default - 'space' - has been set.\MessageBreak
+ Please see biblatex-chicago.pdf for valid\MessageBreak
+ option keys}}}%
+\def\cms@opt@shp@none{%
+ \let\shorthandpunct\@empty}%
+\def\cms@opt@shp@comma{%
+ \def\shorthandpunct{\addcomma\addspace}}%
+\def\cms@opt@shp@colon{%
+ \def\shorthandpunct{\addcolon\addspace}}%
+\def\cms@opt@shp@space{%
+ \def\shorthandpunct{\addspace}}%
+\def\cms@opt@shp@semicolon{%
+ \def\shorthandpunct{\addsemicolon\addspace}}%
+\def\cms@opt@shp@period{%
+ \def\shorthandpunct{\addperiod\addspace}}%
+\def\cms@opt@shp@emdash{%
+ \def\shorthandpunct{\addthinspace\textemdash\addthinspace}}%
+\def\cms@opt@shp@endash{%
+ \def\shorthandpunct{\addspace\textendash\addspace}}%
+
+\ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,%
+ related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,%
+ legalnotes,supranotes,shortextrapunct,dashed}
+
+\ExecuteBibliographyOptions[standard]{useeditor=false,usenamec=false}%
+
+\iftoggle{cms@legalnotes}%
+{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}%
+{}%
+
+% For author-date compatibility %
+
+\DeclareEntryOption[boolean]{switchdates}[true]{%
+ \settoggle{cms@switchdates}{#1}}%
+
+\DeclareEntryOption{cmsdate}{}%
+
+\DeclareBibliographyOption{cmsdate}{}%
+
+\DeclareBibliographyOption[boolean]{strict}[true]{%
+ \settoggle{cms@strict}{#1}%
+ \iftoggle{cms@strict}%
+ {\let\splitfootnoterule\footnoterule
+ \renewcommand\footnoterule{}%
+ \advance\skip\footins 4\p@\@plus2\p@\relax
+ \gdef\split@prev{0}
+ \let\pagefootnoterule\footnoterule
+ % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
+ \def\footnoterule{\relax
+ \ifnum\split@prev=\z@
+ \pagefootnoterule
+ \else
+ \splitfootnoterule
+ \fi
+ \xdef\split@prev{\the\insertpenalties}%
+ }}%
+ {}}
+
+
+\protected\def\blx@newcunit{%
+ \iftoggle{blx@keepunit}%
+ {}%
+ {\global\let\blx@unitpunct\newcunitpunct
+ \global\toggletrue{blx@unit}}}%
+
+\appto\blx@blxinit{%
+ \let\newcunit\blx@newcunit}
+
+\newcommand*{\newcunitpunct}{\addcomma\addspace}
+
+\def\mkbibcurdinal#1{%
+ \@tempcnta0#1 \the\@tempcnta}%
+
+\@ifpackagelater{biblatex}{2010/08/28}
+{}%
+{\PackageError{biblatex}
+ {Outdated 'biblatex' package}
+ {The Chicago style requires biblatex v0.9 or later.\MessageBreak
+ You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now.}%
+ \endinput}
+
+% American-specific punctuation change for 16th edition %
+
+\DefineBibliographyExtras{american}{%
+ \DeclarePunctuationPairs{comma}{*!?}}
+
+%%%% Initialize and define bibstrings %%%%
+
+\DefineBibliographyStrings{english}{%
+ citedas = {hereafter cited as},}
+
+%%%% This one needed for 16th edition. Others in cms-*.lbx %%%%
+
+%%%% Cite macros for use by the citation commands %%%%
+
+\newbibmacro*{cite:init}{%
+ \global\let\cbx@lastkey\undefined}
+
+\newbibmacro*{cite:save}{%
+ \savefield{entrykey}{\cbx@lastkey}%
+ \ifthenelse{\ifentrytype{inreference}\OR\ifentrytype{reference}\OR%
+ \ifentrytype{mvreference}}%
+ {\global\toggletrue{cms@noidem}}%
+ {\global\togglefalse{cms@noidem}}}%
+
+\newbibmacro*{cite}{%
+ \ifboolexpr{%
+ test {\ifciteseen}%
+ and
+ (
+ not togl {cms@noneshort}% Intended for Bluebook citations
+ or
+ (
+ test {\ifciteibid}%
+ and
+ not test {\iffirstonpage}%
+ and
+ not togl {cms@noibid}%
+ )
+ )
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{shorthand}}%
+ or
+ (
+ togl {blx@skipbiblist}%
+ and
+ togl {cms@inheritshhand}%
+ and
+ not test {\iffieldundef{crossref}}%
+ )
+ }%
+ {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}%
+ \usebibmacro{cite:save}}%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}}%
+ {\iftoggle{cms@shorthandibid}%
+ {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}%
+ \usebibmacro{cite:save}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}}%
+ {\ifboolexpr{%
+ togl{cms@firstshort}%
+ and
+ not test {\iffieldundef{shorthand}}%
+ }%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}%
+ {\iftoggle{cms@allshort}%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \global\toggletrue{cms@printshhand}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}%
+ {\global\toggletrue{cms@fullnote}%
+ \global\togglefalse{cms@shortnote}%
+ \usebibmacro{footcite:save}% FIXME!!
+ \usebibmacro{cite:full}%
+ \usebibmacro{cite:save}}}}}%
+
+\newbibmacro*{cite:full}{%
+ \printtext[bibhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}%
+ {cite:\thefield{entrytype}}}}%
+
+% {<entrytype>}
+\newbibmacro*{cite:short}[1]{%
+ \global\let\cms@pnsaved\undefined%
+ \ifcsundef{cite:short:#1}%
+ {\csuse{cite:short:book}}%
+ {\csuse{cite:short:#1}}}
+
+\newbibmacro*{cite:short:ibid}{% For 17th edition
+ \ifthenelse{\ifnameundef{labelname}\OR%
+ \ifentrytype{inreference}\OR%
+ \ifentrytype{reference}\OR%
+ \ifentrytype{mvreference}}%
+ {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
+ \ifentrytype{periodical}}% Simplify .bib creation
+ {\ifuseauthor%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\cmshyper{\printfield[shortjournal]{shortjournal}}\newcunit}%
+ {\cmshyper{\printfield[journaltitle]{journaltitle}}\newcunit}}%
+ {}}%
+ {\ifentrytype{manual}%
+ {\cmshyper{\printlist{organization}\isdot}\newcunit}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ test {\iffieldundef{shorttitle}}%
+ }%
+ {\cmshyper{\printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}}}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\cmshyper{\printnames{labelname}}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\cmshyper{\printnames{labelname}?}%
+ \bibrightbracket\classicpunct}%
+ {\cmshyper{\printnames{labelname}}%\usebibmacro{choose+labelname}%
+ \isdot\classicpunct}}}}%
+
+\newbibmacro*{shortnote+extrafield}{% Disambiguate otherwise identical
+ \iffieldundef{\csuse{cms@xfield}}% short notes
+ {\iflistundef{\csuse{cms@xfield}}%
+ {\ifnameundef{\csuse{cms@xfield}}%
+ {\cms@xtime}% See below; stops spurious parentheses appearing
+ {\printtext[\csuse{cms@xformat}]{%
+ \printnames[default]{\csuse{cms@xfield}}}}}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \printlist{\csuse{cms@xfield}}}}}%
+ {\ifboolexpr{%
+ test {\ifcsstring{cms@xfield}{month}}%
+ or
+ test {\ifcsstring{cms@xfield}{origmonth}}%
+ or
+ test {\ifcsstring{cms@xfield}{eventmonth}}%
+ or
+ test {\ifcsstring{cms@xfield}{urlmonth}}%
+ }%
+ {\printtext[\csuse{cms@xformat}]{%
+ \mkbibmonth{\thefield{\csuse{cms@xfield}}}}}%
+ {\ifboolexpr{%
+ test {\ifcsstring{cms@xfield}{day}}%
+ or
+ test {\ifcsstring{cms@xfield}{origday}}%
+ or
+ test {\ifcsstring{cms@xfield}{eventday}}%
+ or
+ test {\ifcsstring{cms@xfield}{urlday}}%
+ }%
+ {\printtext[\csuse{cms@xformat}]{%
+ \printfield[letterday]{\csuse{cms@xfield}}}}%
+ {\ifboolexpr{%
+ test {\ifcsstring{cms@xfield}{season}}%
+ or
+ test {\ifcsstring{cms@xfield}{origseason}}%
+ or
+ test {\ifcsstring{cms@xfield}{eventseason}}%
+ or
+ test {\ifcsstring{cms@xfield}{urlseason}}%
+ }%
+ {\printtext[\csuse{cms@xformat}]{%
+ \mkbibseason{\thefield{\csuse{cms@xfield}}}}}%
+ {\IfSubStr{\cms@xfield}{year}%
+ {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull%
+ \iffieldundef{\csuse{cms@yeartype}year}%
+ {}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \csuse{print\cms@yeartype dateextra}}}}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \printfield{\csuse{cms@xfield}}}}}}}}}%
+
+\newrobustcmd*{\cms@xtime}{% Tests for presence of field before printing
+ \IfSubStr{\cms@xfield}{time}%
+ {\StrCut{\cms@xfield}{time}\cms@timetype\cms@tempnull%
+ \iffieldundef{\csuse{cms@timetype}hour}%
+ {}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \csuse{print\cms@timetype date}%
+ \newcunit\csuse{print\cms@timetype time}}}}%
+ {\IfSubStr{\cms@xfield}{date}%
+ {\StrCut{\cms@xfield}{date}\cms@datetype\cms@tempnull%
+ \ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND%
+ \iffieldundef{\csuse{cms@datetype}month}\AND%
+ \iffieldundef{\csuse{cms@datetype}season}}%
+ {}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \csuse{print\cms@datetype date}}}}%
+ {}}}
+
+\newbibmacro*{footcite:save}{%
+ \iffootnote%
+ {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\ifboolexpr{%
+ test {\ifentrytype{legal}}%
+ or
+ (
+ test {\ifentrytype{legislation}}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ ))
+ }%
+ {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
+ \label{cbx@\the\value{instcount}}}%
+ {}}%
+ {\cms@save@locdata{entrykey}%
+ \label{cbx@\the\value{instcount}}}}%
+ {}}
+
+\newbibmacro*{print+noteref}{%
+ \ifboolexpr{%
+ togl {cms@noterefs}%
+ and
+ test {\ifbool{citetracker}}% For non-tracked citation commands
+ and
+ not togl {cms@allshort}%
+ and
+ test {\iffootnote}%
+ and not
+ (
+ test {\ifentrytype{jurisdiction}}%
+ or
+ test {\ifentrytype{legal}}%
+ or
+ test {\ifentrytype{legislation}}%
+ )
+ }%
+ {\usebibmacro{noteref+interval}}%
+ {}}
+
+%%% The cite:short per-type macros, with helper macros %%%
+
+\csdef{cite:short:article}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {\iffieldequalstr{entrysubtype}{magazine}%
+ {\ifuseauthor%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\printfield[shortjournal]{shortjournal}\newcunit}%
+ {\printfield[journaltitle]{journaltitle}\newcunit}}%
+ {}}%
+ {}}%
+ {\usebibmacro{cms+name+idem}}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csdef{cite:short:book}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {}%
+ {\usebibmacro{cms+name+idem}}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csdef{cite:short:inreference}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csdef{cite:short:jurisdiction}{%
+ \iffieldundef{labeltitle}%
+ {}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ \newcunit% Fixme: giving us a duplicate comma
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ % \newcunit%
+ \usebibmacro{juridpostnote}}%
+
+\csdef{cite:short:legal}{%
+ \iffieldundef{labeltitle}%
+ {}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ \newcunit% Fixme: giving us a duplicate comma
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \printfield[legalser]{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ % \newcunit%
+ \ifboolexpr{%
+ togl {cms@supranotes}%
+ and
+ test {\iffootnote}%
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ??
+ {}%
+ \usebibmacro{juridpostnote}}%
+
+\csdef{cite:short:legislation}{%
+ \iffieldequalstr{entrysubtype}{constitution}%
+ {\usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}}%
+ {\iffieldequalstr{labeltitlesource}{shorttitle}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ {\ifboolexpr{%
+ test {\iffieldundef{shortjournal}}%
+ or
+ (
+ not test {\iffieldundef{volume}}%
+ and
+ not test {\iffieldint{volume}}%
+ )
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{entrysubtype}}%
+ and
+ not test {\iflistundef{location}}
+ }%
+ {\printlist{location}%
+ \setunit{\addspace}}%
+ {}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \setunit{\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}}%
+ {\printfield{note}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}% Test eliminates spurious comma
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \printfield[legislationser]{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ }}}%
+ \newcunit%
+ \ifboolexpr{%
+ togl {cms@supranotes}%
+ and
+ test {\iffootnote}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ )
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}% ??
+ {}%
+ \usebibmacro{juridpostnote}}%
+
+\csdef{cite:short:manual}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {\ifboolexpr{%
+ test {\iflistundef{organization}}%
+ or
+ togl {cms@headlessnote}%
+ }%
+ {}%
+ {\printlist{organization}\isdot\newcunit}}%
+ {\usebibmacro{cms+name+idem}}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csletcs{cite:short:mvreference}{cite:short:inreference}%
+
+\csdef{cite:short:online}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {}%
+ {\usebibmacro{cms+name+idem}}%
+ \ifboolexpr{%
+ test {\IfBeginWith{\thefield{title}}{CCCCCC}}%
+ and
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\setcounter{cms@reviewcount}{\value{instcount}}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csdef{cite:short:periodical}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {}%
+ {\usebibmacro{cms+name+idem}}%
+ \iffieldundef{issuetitle}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ {\printfield{issuetitle}}
+ \usebibmacro{cms+extra+test}}%
+
+\csletcs{cite:short:reference}{cite:short:inreference}%
+
+\csdef{cite:short:review}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {\iffieldequalstr{entrysubtype}{magazine}%
+ {\ifuseauthor%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\printfield[shortjournal]{shortjournal}\newcunit}%
+ {\printfield[journaltitle]{journaltitle}\newcunit}}%
+ {}}%
+ {}}%
+ {\usebibmacro{cms+name+idem}}%
+ \ifboolexpr{%
+ (
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
+ and
+ togl {cms@citerel}%
+ }%
+ {\setcounter{cms@reviewcount}{\value{instcount}}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ \usebibmacro{cms+extra+test}}%
+
+\csdef{cite:short:standard}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifboolexpr{%
+ (
+ togl {cms@allshort}%
+ and
+ not test {\ifciteseen}%
+ )
+ or
+ not test {\iffieldundef{entrysubtype}}%
+ }%
+ {\ifnameundef{labelname}%
+ {\ifboolexpr{%
+ test {\iflistundef{organization}}%
+ or
+ togl {cms@headlessnote}%
+ }%
+ {}%
+ {\printlist{organization}\isdot\newcunit}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\classicpunct}%
+ {\printnames{labelname}%
+ \isdot\classicpunct}}}}%
+ {}%
+ \cmshyper{\printfield[citetitle]{labeltitle}}%
+ \usebibmacro{cms+extra+test}}
+
+\csletcs{cite:short:suppperiodical}{cite:short:review}%
+
+\csdef{cite:short:video}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \ifnameundef{labelname}%
+ {}%
+ {\usebibmacro{cms+name+idem}}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ }%
+ {\iffieldundef{shorttitle}%
+ {\cmshyper{\printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}% (?)
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}}%
+ {\cmshyper{\printfield[citetitle]{labeltitle}}}%
+ \usebibmacro{cms+extra+test}}%
+
+\newbibmacro*{cms+extra+test}{% Used in previous defs
+ \ifboolexpr{%
+ test {\iffieldundef{extratitle}}% Most reliable test
+ or
+ test {\ifcsundef{cms@xfield}}%
+ }%
+ {}%
+ {\setunit{\shortextrapunct}%
+ \usebibmacro{shortnote+extrafield}}}
+
+\newbibmacro*{cms+name+idem}{% Used in previous defs
+ \ifboolexpr{%
+ test {\ifciteidem}%
+ and
+ not test {\ifbibliography}%
+ and
+ not test {\iffirstonpage}%
+ and
+ not togl {cms@noidem}%
+ and
+ not togl {cms@headlessnote}%
+ }%
+ {\bibstring[\mkibid]{idem\thefield{gender}}%
+ \classicpunct}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\classicpunct}%
+ {\printnames{labelname}%
+ \isdot\classicpunct}}}}
+
+\newbibmacro*{cite:shorthand}{%
+ \global\let\cms@pnsaved\undefined%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\usebibmacro{cite:shorthand:legal}}%
+ {\usebibmacro{cite:shorthand:cms}}}
+
+\newbibmacro*{cite:shorthand:cms}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \cmshyper{\printfield{shorthand}}}
+
+\newbibmacro*{cite:shorthand:legal}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \cmshyper{\printfield{shorthand}}%
+ \ifboolexpr{%
+ test {\iffootnote}%
+ and
+ togl {cms@supranotes}%
+ and
+ (
+ test {\ifentrytype{legal}}%
+ or
+ (
+ test {\ifentrytype{legislation}}%
+ and
+ (
+ test {\iffieldequalstr{entrysubtype}{un}}%
+ or
+ test {\iffieldequalstr{entrysubtype}{hearing}}%
+ )))
+ }%
+ {\newcunit%
+ \printtext{\bibstring{supranote}\addnbspace%
+ \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
+ \newcunit}}% ??
+ {}}%
+
+\newbibmacro*{cms:shorthandintro}{% For changing the citedas phrase
+ \iffieldundef{shorthand}%
+ {}%
+ {\iffieldundef{shorthandintro}%
+ {\ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\printtext[brackets]{%
+ \bibstring{hereinafter}\addspace%
+ \printfield{shorthand}}}%
+ {\printtext[parens]{%
+ \bibstring{citedas}\addspace%
+ \printfield{shorthand}}}}%
+ {%\addspace%\setunit{\addspace}% Ditto
+ \printfield{shorthandintro}}}}
+
+\newbibmacro*{cite:ibid}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\usebibmacro{cite:ibid:legal}}%
+ {\usebibmacro{cite:ibid:cms}}}
+
+\newbibmacro*{cite:ibid:legal}{%
+ \ifboolexpr{%
+ togl {cms@noibid}%
+ or
+ test {\ifbibliography}% Needed for inheritshorthand option
+ }%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \usebibmacro{cite:short:legal}%
+ \usebibmacro{cite:save}}%
+ {\cmshyper{\bibsstring[\mkbibemph]{ibidem}}%
+ \ifboolexpr{%
+ test {\ifloccit}%
+ or
+ (
+ test {\ifciteibid}%
+ and
+ test {\iffieldequalcs{postnote}{cms@pnsaved}}%
+ and
+ not test {\ifdefvoid{\blx@loccittracker}}% Package option=false
+ )
+ }%
+ {\global\toggletrue{cms@loccit}}%
+ {}}}%
+
+\newbibmacro*{cite:ibid:cms}{%
+ \iftoggle{cms@useibid}%
+ {\ifbibliography%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}%
+ {\cmshyper{\bibstring[\mkibid]{ibidem}}%
+ \ifboolexpr{%
+ test {\ifloccit}%
+ or
+ (
+ test {\ifciteibid}%
+ and
+ test {\iffieldequalcs{postnote}{cms@pnsaved}}%
+ and
+ not test {\ifdefvoid{\blx@loccittracker}}% Package option=false
+ )
+ }%
+ {\global\toggletrue{cms@loccit}%
+ \global\let\cms@pnsaved\undefined}%
+ {\global\let\cms@pnsaved\undefined}}}%
+ {\global\toggletrue{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}%
+ \usebibmacro{cite:short:ibid}%
+ \usebibmacro{cite:save}}}%
+
+\newbibmacro*{cite:journal}{%
+ \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\iffieldundef{prenote}%
+ {\bibsentence\usebibmacro{cite:ibid}}%
+ {\usebibmacro{cite:ibid}}%
+ \usebibmacro{cite:save}}%
+ {\iffieldundef{journaltitle}%
+ {\usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}%
+ {\ifboolexpr{%
+ test {\ifciteidem}%
+ and
+ not test {\ifbibliography}%
+ and
+ not test {\iffirstonpage}%
+ and
+ not togl {cms@noidem}%
+ }%
+ {\iffieldundef{prenote}%
+ {\bibsentence\bibstring[\mkibid]{idem\thefield{gender}}%
+ \newcunit}%
+ {\bibstring[\mkibid]{idem\thefield{gender}}%
+ \newcunit}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\newcunit}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\newcunit}%
+ {\printnames{labelname}%
+ \isdot\newcunit}}}%
+ \iftoggle{cms@allshort}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[shortjournal]{shortjournal}}}%
+ {\printtext[bibhyperref]{%
+ \printfield[journaltitle]{journaltitle}}}}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\printtext[bibhyperlink]{%
+ \printfield[shortjournal]{shortjournal}}}%
+ {\printtext[bibhyperlink]{%
+ \printfield[journaltitle]{journaltitle}}}}%
+ \iffieldundef{volume}%
+ {\iffieldundef{number}%
+ {\iffieldundef{issue}%
+ {\newcunit%
+ \usebibmacro{number+or+month}}%
+ {\newcunit%
+ \printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}%
+ {\newcunit%
+ \printfield[journum]{number}}}%
+ {\toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \setunit{\addspace}%
+ \printfield[jourvol]{volume}%
+ \ifthenelse{\iffieldundef{pagination}\AND%
+ \iffieldundef{bookpagination}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}}}}}%
+
+%% Macros from verbose.cbx %%
+
+\newbibmacro*{textcite}{%
+ \ifnameundef{labelname}%
+ {\printfield[citetitle]{labeltitle}}%
+ {\printnames{labelname}}%
+ \ifboolexpr{%
+ togl {cms@gencite}%
+ and
+ (
+ test {\iflastcitekey}%
+ or
+ togl {cms@genallnames}%
+ )
+ }%
+ {\thegen}%
+ {}}%
+
+\newbibmacro*{textcite:init}{%
+ \citetrackerfalse%
+ \pagetrackerfalse%
+ \iffirstcitekey
+ {\global\undef\cbx@lasthash}%
+ {}}%
+
+\newbibmacro*{textcite:count}{%
+ \stepcounter{textcitetotal}%
+ \ifnumgreater{\value{uniquelist}}{\value{maxnames}}%
+ {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}}%
+ {\setcounter{textcitemaxnames}{\value{uniquelist}}}%
+ {}}%
+ {\ifnumless{\value{labelname}}{\value{maxnames}}%
+ {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}}%
+ {\setcounter{textcitemaxnames}{\value{labelname}}}%
+ {}}%
+ {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}}%
+ {\setcounter{textcitemaxnames}{\value{maxnames}}}%
+ {}}}}%
+
+%%%% Citation Commands, internal and external %%%%
+
+\DeclareCiteCommand{\cite}
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\cmsnoopcite}%
+{}{}{}{}%
+
+\DeclareCiteCommand{\bibxrefcite}
+ {\usebibmacro{backref+check}}% So cites in biblio don't turn up
+ {\usebibmacro{cms-in:}% in backref list
+ \ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
+ \(\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR%
+ \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\)}%
+ {\clearname{author}%
+ \clearname{shortauthor}%
+ \clearname{labelname}}%
+ {}%
+ \toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \ifboolexpr{%
+ togl {cms@inheritshhand}%
+ and
+ not test {\iffieldundef{shorthand}}%
+ }%
+ {\usebibmacro{cite}}%
+ {\usebibmacro{cite:short}{\thefield{entrytype}}}}% Would {cite} be better?
+ {}%
+ {\usebibmacro{crossref:volume+postnote}}% Volume fix
+
+\DeclareCiteCommand{\bookbibxrefcite}
+ {\usebibmacro{backref+check}}% So cites in biblio don't turn up
+ {\iffieldequals{fullhash}{\bbx@lasthash}% in backref list
+ {\ifthenelse{\ifentrytype{collection}\OR%
+ \ifentrytype{proceedings}\OR\ifentrytype{mvcollection}\OR%
+ \ifentrytype{mvproceedings}}%
+ {\clearname{editor}%
+ \clearname{shorteditor}%
+ \clearname{labelname}}%
+ {\clearname{author}%
+ \clearname{shortauthor}%
+ \clearname{labelname}}}%
+ {}%
+ \toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \usebibmacro{bibxref-in:}%
+ \ifboolexpr{%
+ togl {cms@inheritshhand}%
+ and
+ not test {\iffieldundef{shorthand}}%
+ }%
+ {\usebibmacro{cite}}%
+ {\usebibmacro{cite:short}{\thefield{entrytype}}}}%
+ {}%
+ {\usebibmacro{crossref:volume+postnote}}% Volume fix
+
+\DeclareCiteCommand*{\cite}
+ {\usebibmacro{cite:init}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \blx@ibidreset
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\parencite}[\mkbibparens]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\footcite}[\mkbibfootnote]
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\smartcite}
+ [\iffootnote{}{\mkbibfootnote}]
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareMultiCiteCommand{\smartcites}[\iffootnote{}{\mkbibfootnote}]%
+{\smartcite}{\multicitedelim}
+
+\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:full}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {}
+
+\DeclareCiteCommand{\fullcite}
+ {\usebibmacro{prenote}}%\bibsentence
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:full}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {}
+
+\DeclareCiteCommand{\origfullcite}
+ {\usebibmacro{backref+check}%
+ \ifhyperref%
+ {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}%
+ {}%
+ \nopunct}% Remove \unspace for v. 2.0
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \usebibmacro{clearorigin}\clearfield{userf}\clearfield{shorthand}%
+ \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}%
+ \frenchspacing}%
+ {cite:\thefield{entrytype}}%
+ \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}%
+ {\multicitedelim}%
+ {\finentry}% Helps with annotated bibliographies (?)
+
+\DeclareCiteCommand{\origpublcite}% Similar to above, w/o title.
+ {\usebibmacro{backref+check}%
+ \ifhyperref%
+ {\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}%
+ {}%
+ \nopunct%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\addspace}{\unspace}}%\unspace Put \nopunct and \unspace here for 0.8e.
+ {\usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \usebibmacro{clearpublin}\clearfield{shorthand}%
+ \usebibmacro{cms:titlehook}%
+ \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}%
+ \toggletrue{cms@origpublished}\frenchspacing}%
+ {cite:\thefield{entrytype}}%
+ \iflistundef{pageref}{}{\newunit\usebibmacro{pageref}}}%
+ {\multicitedelim}%
+ {\finentry}
+
+\DeclareCiteCommand{\headlessfullcite}
+ {\usebibmacro{prenote}}%
+ {\printtext[bibhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\toggletrue{cms@fullnote}%
+ \toggletrue{cms@headlessnote}\usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}\usebibmacro{clear+labelname}%
+ \global\toggletrue{cms@noidem}}%
+ {cite:\thefield{entrytype}}}}%
+ {\multicitedelim}%
+ {}%\usebibmacro{finentry}}
+
+\DeclareCiteCommand{\headlesscite}
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@headlessnote}%
+ \usebibmacro{clear+labelname}%
+ \clearname{labelname}%
+ \usebibmacro{cite}%
+ \global\toggletrue{cms@noidem}}%
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\headlessparencite}[\mkbibparens]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@headlessnote}%
+ \usebibmacro{clear+labelname}%
+ \clearname{labelname}%
+ \usebibmacro{cite}%
+ \global\toggletrue{cms@noidem}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\headlessparenshortcite}[\mkbibparens]
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \ifboolexpr{%
+ togl{cms@firstshort}%
+ and
+ not test {\iffieldundef{shorthand}}%
+ }%
+ {\usebibmacro{cite:shorthand}}%
+ {\toggletrue{cms@headlessnote}%
+ \toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \clearname{labelname}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}}%
+ \global\toggletrue{cms@noidem}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\surnamecite}
+ {\usebibmacro{prenote}}%\usebibmacro{hlcprenote}}
+ {\usebibmacro{citeindex}%
+ \ifboolexpr{%
+ (
+ test {\ifciteseen}%
+ or
+ togl {cms@allshort}%
+ )
+ and
+ not togl {cms@noneshort}%
+ }%
+ {\usebibmacro{cite:short}{\thefield{entrytype}}}%
+ {\renewbibmacro*{author/editor}{\usebibmacro{choose+surname}}%
+ \renewbibmacro*{editor}{\usebibmacro{choose+surname}}%
+ \renewbibmacro*{author}{\usebibmacro{choose+surname}}%
+ \usebibmacro{cite}}}%
+ {\multicitedelim}%
+ {\usebibmacro{cite:postnote}}
+
+\DeclareMultiCiteCommand{\surnamecites}{surnamecite}{\multicitedelim}
+
+\DeclareCiteCommand{\shortcite}
+ {\usebibmacro{prenote}}
+ {\toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \usebibmacro{citeindex}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\shortcite}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}%
+ {\toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \usebibmacro{citeindex}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\shortrefcite}
+ {\usebibmacro{prenote}}
+ {\toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \usebibmacro{citeindex}%
+ \usebibmacro{cite:short}{\thefield{entrytype}}%
+ \usebibmacro{cite:save}}%
+ {\multicitedelim}
+ {\toggletrue{cms@forcenoteref}%
+ \usebibmacro{postnote}%
+ \togglefalse{cms@forcenoteref}}%
+
+\DeclareCiteCommand{\shorthandcite}
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \iftoggle{cms@shorthandibid}%
+ {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}%
+ \usebibmacro{cite:save}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\shorthandcite}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \iftoggle{cms@shorthandibid}%
+ {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}%
+ \usebibmacro{cite:save}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand{\shorthandrefcite}
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \iftoggle{cms@shorthandibid}%
+ {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\usebibmacro{cite:ibid}%
+ \usebibmacro{cite:save}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}%
+ {\usebibmacro{cite:shorthand}%
+ \usebibmacro{cite:save}%
+ \global\toggletrue{cms@noidem}}}
+ {\multicitedelim}
+ {\toggletrue{cms@forcenoteref}%
+ \usebibmacro{postnote}%
+ \togglefalse{cms@forcenoteref}}
+
+\DeclareCiteCommand{\citejournal}% Name?
+ {\usebibmacro{prenote}}
+ {\toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \clearfield{pages}%
+ \usebibmacro{citeindex}%
+ \usebibmacro{cite:journal}%
+ \usebibmacro{cite:save}}
+ {\multicitedelim}
+ {\iftoggle{cms@loccit}%
+ {}%
+ {\usebibmacro{fullpostnote}}}
+
+\DeclareCiteCommand{\runcite}% 17th ed.
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \toggletrue{cms@running@text}%
+ \usebibmacro{cite}%
+ \togglefalse{cms@running@text}}
+ {\multicitedelim}
+ {\usebibmacro{cite:postnote}}
+
+\DeclareCiteCommand{\citeauthor}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\toggletrue{cms@shortnote}%
+ \togglefalse{cms@fullnote}%
+ \ifciteindex
+ {\indexnames{labelname}}
+ {}%
+ \printnames{labelname}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\newrobustcmd*{\Shortcite}{%
+ \@ifstar{\bibsentence\shortcite*}{\bibsentence\shortcite}}%
+
+\newrobustcmd*{\Shortrefcite}{\bibsentence\shortrefcite}%
+
+\newrobustcmd*{\Headlesscite}{\bibsentence\headlesscite}
+
+\newrobustcmd*{\Headlesscites}{\bibsentence\headlesscites}
+
+\DeclareMultiCiteCommand{\citetitles}{citetitle}{\multicitedelim}
+
+\DeclareMultiCiteCommand{\headlesscites}{headlesscite}{\multicitedelim}
+
+\DeclareMultiCiteCommand{\headlessfullcites}{headlessfullcite}{\multicitedelim}
+
+\DeclareMultiCiteCommand{\headlessparencites}[\mkbibparens]%
+{headlessparencite}{\multicitedelim}
+
+\DeclareMultiCiteCommand{\headlessparenshortcites}[\mkbibparens]%
+{headlessparenshortcite}{\multicitedelim}
+
+%% Textcite commands adapted from verbose.cbx %%
+
+\DeclareCiteCommand{\cbx@textcite}
+ {\usebibmacro{textcite:init}}
+ {\iffieldequals{namehash}{\cbx@lasthash}
+ {}%
+ {\iffirstcitekey
+ {}%
+ {\textcitedelim}%
+ \stepcounter{textcitecount}%
+ \usebibmacro{textcite}%
+ \savefield{namehash}{\cbx@lasthash}}}
+ {}
+ {}
+
+\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\cms@textcite@i]
+ {\usebibmacro{textcite:init}%
+ \gdef\cbx@savedkeys{}%
+ \DeferNextCitekeyHook}
+ {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}%
+ {\protected@xappto\cbx@footcite@args{%
+ (\thefield{multiprenote})(\thefield{multipostnote})}}%
+ {}%
+ \xappto\cbx@savedkeys{\thefield{entrykey},}%
+ \iffieldequals{namehash}{\cbx@lasthash}%
+ {}%
+ {\usebibmacro{textcite:count}%
+ \savefield{namehash}{\cbx@lasthash}}%
+ \ifnumequal{\value{citecount}}{\value{citetotal}}%
+ {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}%
+ \protected@xappto\cbx@footcite@args{%
+ [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}%
+ \iflastcitekey
+ {\iffootnote
+ {\protected@xappto\cbx@textcite@args{\nopunct}%
+ \protected@xappto\cbx@footcite@args{\thefield{postpunct}}}%
+ {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% Switch
+ \protected@xappto\cbx@footcite@args{\nopunct}}}% these two?
+ {}}
+ {}}
+ {}
+ {}
+
+\newrobustcmd{\cbx@textcite@init}[3]{%
+ \setcounter{textcitetotal}{0}%
+ \setcounter{textcitecount}{0}%
+ \setcounter{textcitemaxnames}{0}%
+ \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3%
+ \cbx@textcite@args\empty\cbx@footcite@args\empty}
+
+\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{}
+\DeclareMultiCiteCommand{\textcites}
+ [\cbx@textcites@init\cbx@textcites\cms@textcites@i]{\textcite}{}
+
+\let\cbx@textcites@init\cbx@textcite@init
+\pretocmd{\cbx@textcites@init}{%
+ \UseNextMultiCiteHook%
+ \AtNextMultiCite{%
+ \renewbibmacro{multiprenote}{}%
+ \renewbibmacro{multipostnote}{}}}{}{}
+
+\renewcommand*{\textcitedelim}{%
+ \iffinalcitedelim%
+ {\ifnumgreater{\value{textcitetotal}}{2}%
+ {\addcomma}%
+ {}%
+ \addspace\bibstring{and}}%
+ {\addcomma}%
+ \addspace}%
+
+\newrobustcmd{\cms@textcite@i}{%
+ \iffootnote{\foottextcite}{\footcite}}
+
+\newrobustcmd{\cms@textcites@i}{%
+ \iffootnote{\foottextcites}{\footcites}}
+
+\newcommand{\foottextcite}{\addspace\headlessparenshortcite}
+
+\newcommand{\foottextcites}{\addspace\headlessparenshortcites}
+
+%%% The \gentextcite commands - \textcite in the genitive case %%%
+
+\DeclareCiteCommand{\cms@gentextcite@i}
+ {\usebibmacro{textcite:init}%
+ \toggletrue{cms@gencite}}%
+ {\iffieldequals{namehash}{\cbx@lasthash}%
+ {}%
+ {\iffirstcitekey
+ {}%
+ {\textcitedelim}%
+ \stepcounter{textcitecount}%
+ \usebibmacro{textcite}%
+ \savefield{namehash}{\cbx@lasthash}}}
+ {}
+ {\togglefalse{cms@gencite}}%
+
+\DeclareCiteCommand{\cms@gentextcite}[\cbx@textcite@init\cms@gentextcite@i\cms@textcite@i]
+ {\usebibmacro{textcite:init}%
+ \gdef\cbx@savedkeys{}%
+ \DeferNextCitekeyHook}
+ {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}%
+ {\protected@xappto\cbx@footcite@args{%
+ (\thefield{multiprenote})(\thefield{multipostnote})}}%
+ {}%
+ \xappto\cbx@savedkeys{\thefield{entrykey},}%
+ \iffieldequals{namehash}{\cbx@lasthash}%
+ {}%
+ {\usebibmacro{textcite:count}%
+ \savefield{namehash}{\cbx@lasthash}}%
+ \ifnumequal{\value{citecount}}{\value{citetotal}}%
+ {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}%
+ \protected@xappto\cbx@footcite@args{%
+ [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}%
+ \iflastcitekey
+ {\iffootnote
+ {\protected@xappto\cbx@textcite@args{\nopunct}%
+ \protected@xappto\cbx@footcite@args{\thefield{postpunct}}}%
+ {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% Switch
+ \protected@xappto\cbx@footcite@args{\nopunct}}}% these two?
+ {}}
+ {}}
+ {}
+ {}
+
+\DeclareMultiCiteCommand{\cms@gentextcite@is}{\cms@gentextcite@i}{}
+\DeclareMultiCiteCommand{\cms@gentextcites}
+ [\cbx@textcites@init\cms@gentextcite@is\cms@textcites@i]{\cms@gentextcite}{}
+
+\newrobustcmd*{\gentextcite}[1][]{%
+ \@ifnextchar[%]
+ {\gencite@i[#1]}%
+ {\gencite@i[][#1]}}%
+
+\def\gencite@i[#1][#2]{%
+ \@ifnextchar[%]
+ {\gencite@ii[#1][#2]}%
+ {\gencite@ii[][#1][#2]}}%
+
+\def\gencite@ii[#1][#2][#3]#4{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \gencite@iii[#2][#3]{#4}}%
+
+\def\gencite@iii#1{\cms@gentextcite#1}
+
+\newrobustcmd*{\gentextcites}[1][]{%
+ \@ifnextchar(%)
+ {\gencites@iv[#1]}%
+ {\@ifnextchar[%]
+ {\gencites@i[#1]}%
+ {\gencites@i[][#1]}}}%
+
+\def\gencites@i[#1][#2]{%
+ \@ifnextchar[%]
+ {\gencites@ii[#1][#2]}%
+ {\gencites@ii[][#1][#2]}}%
+
+\def\gencites@ii[#1][#2][#3]#4{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \gencites@iii[#2][#3]{#4}}%
+
+\def\gencites@iii#1{\cms@gentextcites#1}%
+
+\def\gencites@iv[#1]#2{%
+ \ifblank{#1}{\def\thegen{'s}}{\def\thegen{#1}}%
+ \cms@gentextcites#2}%
+
+\newrobustcmd*{\Gentextcite}{\bibsentence\gentextcite}
+\newrobustcmd*{\Gentextcites}{\bibsentence\gentextcites}
+
+%%% End code for \gentextcite %%%
+
+%%%% Drivers for the Long Note Format %%%%
+
+\DeclareBibliographyDriver{cite:article}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{cmag+news+author}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{cmag+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%\newblock%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{mag+news+date}%
+ \newcunit\newblock
+ \printfield{type}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{cmag+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cjournal+issue+year+pages}%
+ \usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:artwork}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit\newblock
+ \iffieldundef{origyear}% 17th ed.
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:audio}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \usebibmacro{music+eventdate}%
+ \newcunit
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\toggletrue{cms@usedvol}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}
+ \printfield{maintitleaddon}}}
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \newcunit
+ \printfield{type}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}%
+ \newcunit\newblock
+ \printfield{ismn}}%
+ {}%
+ \newcunit\newblock%
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:xref+date}%
+ \newcunit
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{version}}% 17th ed.
+ {}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit\newblock
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \iffieldundef{version}% 17th ed.
+ {}%
+ {\usebibmacro{version}}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \iftoggle{cms@bookpages}%
+ {}%
+ {\clearfield{pages}}%
+ \usebibmacro{volfullpostnote}%
+ \newcunit\newblock
+ \printlist[][-\value{listtotal}]{lista}%
+ \newcunit\newblock
+ \printfield{type}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:bookinbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:xref+date}%
+ \newcunit\newblock
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \setunit*{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\entrydata{\thefield{related}}{%
+ \ifboolexpr{%
+ test {\ifentryseen{\thefield{clonesourcekey}}}%
+ and
+ not togl {cms@bookcitexref}%
+ }%
+ {\savefield{clonesourcekey}{\cms@shortmtkey}}%
+ {}}%
+ \iftoggle{cms@noterefs}{\addtocounter{instcount}{-1}}{}% Alternatives?
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}%
+ {\ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:booklet}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit\newblock
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{howpubl+loc+year}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:collection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}
+ \usebibmacro{cite:xref+date}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit\newblock
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work. Only with Vol?
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:customc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newcunit}
+ {\setunit{\addspace}}%
+ \usebibmacro{italtitle+stitle}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:dataset}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \iftoggle{cms@headlessnote}{}{\setunit{\addspace}\newblock}%
+ \printtext[parens]{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addspace}\newblock%
+ \ifthenelse{\iffieldundef{howpublished}\AND%
+ \iffieldundef{number}\AND\iffieldundef{type}}%
+ {}%
+ {\printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit
+ \printfield{type}%
+ \setunit{\addspace}%
+ \printfield{number}}}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newcunit\newblock
+ \usebibmacro{institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \setunit{\addsemicolon\addspace}%
+ \printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}%
+ \usebibmacro{fullpostnote}%
+ \newcunit\newblock
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \setunit{\addspace}}%
+ \usebibmacro{date}%
+ \clearfield{urlyear}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:image}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit%\setunit{\addcomma\addspace}%
+ \iffieldundef{origyear}% 17th ed.
+ {\printdate}%
+ {\usebibmacro{cmsorigdate}}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldundef{origyear}\OR\iffieldundef{year}}% 17th ed.
+ {}%
+ {\usebibmacro{date}}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield[type]{version}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \printfield{howpublished}% 17th ed.
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:inbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \setunit{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{cite:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{cite:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+note}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}%
+ {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock%
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \setunit{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{cite:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{cite:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+note}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}%
+ {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:inproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \setunit{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{org+publ+loc+year}}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{cite:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{cite:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+note}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}%
+ {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:inreference}{%
+ \usebibmacro{bibindex}%
+ \iffieldundef{clonesourcekey}{}{\newcunit}%
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{crefpubl+loc+year}% 17th ed.
+ \usebibmacro{inreffullpostnote}%
+ \newcunit\newblock%setunit{\addspace}% 16th ed
+ \ifnameundef{author}%
+ {}%
+ {\printtext{% 16th ed
+ \bibstring{by}%
+ \addspace%
+ \printnames{author}}}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:jurisdiction}{%
+ \iffieldequalstr{entrysubtype}{square}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[brackets]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\iffieldequalstr{entrysubtype}{round}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[parens]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \iffieldundef{issue}%
+ {\printfield[jurisdictionser]{series}}%
+ {\setunit{\addspace}%
+ \printfield{issue}}% Better ideas?
+ \setunit{\addspace}%
+ \printlist{origpublisher}% Extra reporters, same pagination
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printlist{origlocation}% Extra reporters, different pagination
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{year}}%
+ and
+ test {\iflistundef{location}}%
+ }%
+ {}%
+ {\printtext[parens]{%
+ \printlist{location}%
+ \setunit*{\addspace}%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:legal}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \newcunit%\setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:legislation}{%
+ \iffieldequalstr{entrysubtype}{uk}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}% Needed here?
+ \newcunit%
+ \iffieldundef{year}%
+ {}%
+ {\printtext{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \newcunit%\setunit*{\addspace}%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\iffieldequalstr{entrysubtype}{hansard}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}% Needed here?
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \setunit{\addspace}%
+ \printfield[hansardser]{series}%
+ \setunit{\addspace}%
+ \iffieldundef{year}%
+ {}%
+ {\printtext[parens]{%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \printlist{location}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}% Moved before addendum
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{clegis+news+title}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addspace}% FIXME?
+ \printfield[juridnum]{number}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}% Needed here?
+ \newcunit%
+ \printfield[jourvol]{volume}%
+ \setunit*{\addnbspace}%
+ \iffieldundef{shortjournal}%
+ {}%
+ {\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ \newcunit%
+ \printfield{series}%
+ \setunit{\addspace}%
+ \printfield{issue}%
+ \newcunit%
+ \printfield{part}%
+ \newcunit%
+ \printfield{chapter}%
+ \usebibmacro{juridpostnote}%
+ \setunit{\addspace}%
+ \ifboolexpr{%
+ test {\iffieldundef{year}}%
+ and
+ test {\iffieldundef{usera}}%
+ and
+ test {\iflistundef{location}}%
+ }%
+ {}%
+ {\printtext[parens]{%
+ \printlist{location}%
+ \setunit*{\addspace}%
+ \printfield{usera}%
+ \setunit*{\addspace}%
+ \begingroup% Better ideas?
+ \let\abx@bibmonth\blx@imc@bibsstring%
+ \usebibmacro{date}\endgroup}}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \setunit{\addspace}\newblock%
+ \printfield{addendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:letter}{%
+ \usebibmacro{bibindex}%
+ \savefield{fullhash}{\bbx@lasthash}%
+ \printtext[title]{%
+ \printfield[noformat]{title}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{letter+date}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit\newblock%
+ \usebibmacro{cpart+editor+translator}%
+ \setunit*{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\usebibmacro{chapincoll}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubletter+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{cite:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{cite:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{xref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\usebibmacro{extract+clonekey+note}%
+ \ifcsundef{cms@shortmtkey}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}%
+ {\ifpunctmark{.}{\setunit{\addspace\bibsentence}}{\newcunit}% 16th ed.
+ \usebibmacro{xrefprenote}% Volume fix
+ \usebibmacro{xrefchapincoll}%
+ \bibxrefcite{\csuse{cms@shortmtkey}}%
+ \usebibmacro{xrefpostnote}%
+ \csgundef{cms@shortmtkey}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:manual}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+org}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit
+ \usebibmacro{edition}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{org+publ+loc+year}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \iffieldundef{entrysubtype}%
+ {\usebibmacro{citaltitle+stitle}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit%
+ \usebibmacro{unpubl+letter+date}%
+ \newcunit
+ \printlist{origlocation}}% 17th ed.
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \printfield{howpublished}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newcunit\newblock
+ \iffieldundef{entrysubtype}%
+ {\printfield{venue}\newcunit}%
+ {}%
+ \usebibmacro{misc+institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \iffieldundef{entrysubtype}%
+ {\newcunit\newblock
+ \usebibmacro{date}}%
+ {}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:music}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\usebibmacro{cbyeditor+others}\newcunit\newblock}{}%
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \printfield{howpublished}%
+ \newcunit\newblock
+ \usebibmacro{chap+as+track}%inscore% 17th ed.
+ \usebibmacro{music+bookauthor}% Ditto
+ \usebibmacro{btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {}{\usebibmacro{cbyeditor+others}}%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{addspace}}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\toggletrue{cms@usedvol}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit\newblock
+ \usebibmacro{music+origdate}% Altered for 17th ed.
+ \newcunit\newblock
+ \printlist{publisher}%
+ \newcunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \ifboolexpr{test {\iflistundef{publisher}} and test {\iffieldundef{series}}}%
+ {\newcunit}%
+ {\setunit{\addspace}}%
+ \printfield{number}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \newcunit
+ \usebibmacro{institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \printfield{type}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{music+pubstate}% 17th ed.
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{iswc}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:mvbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newcunit
+ \usebibmacro{volume+or+volumes}}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \iftoggle{cms@bookpages}%
+ {}%
+ {\clearfield{pages}}%
+ \usebibmacro{volfullpostnote}%
+ \newcunit\newblock
+ \printlist[][-\value{listtotal}]{lista}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:mvcollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}
+ \usebibmacro{cite:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newcunit\newblock
+ \usebibmacro{volume+or+volumes}}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work. Only with Vol?
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}}%
+
+\DeclareBibliographyDriver{cite:mvproceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}
+ \usebibmacro{cite:xref+date}%
+ \usebibmacro{mt+mvnames+save}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newcunit\newblock
+ \usebibmacro{volume+or+volumes}}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{org+publ+loc+year}}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+{\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:mvreference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit\newblock
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}{}%
+ {\newcunit
+ \usebibmacro{volume+or+volumes}}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \setunit*{\addcomma\addspace}%
+ \ifboolexpr{%
+ not togl {cms@citerel}%
+ or
+ (
+ not test {\iffieldequalstr{relatedtype}{maintitle}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{maintitlenc}}%
+ )
+ or
+ test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit\newblock
+ \usebibmacro{crefpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}%
+ {\unspace% Needed for entries with langid (?)
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related:mtsave}%
+ \usebibmacro{related}%
+ \newcunit%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \IfBeginWith{\thefield{title}}{CCCCCC}%
+ {}%
+ {\usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \printlist{organization}% Rearranged for 16th ed.
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cnotefield}%
+ \setunit{\addcomma\addspace}}%
+ \usebibmacro{date}%
+ \usebibmacro{time+stamp}%
+ \newcunit\newblock
+ \printfield{type}% 17th ed.
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\toggletrue{cms@relreview}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \togglefalse{cms@relreview}}%
+ {}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iffieldundef{urlyear}%
+ {}%
+ {\printurldate%
+ \ifboolexpr{%
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ \newcunit\newblock
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \clearfield{url}}}%
+ {\printfield{doi}}%
+ \newcunit\newblock
+ \usebibmacro{eprint}%
+ \newcunit\newblock
+ \printfield{url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+holder}% +holder?
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \iffieldundef{title}%
+ {}%
+ {\printtext{%
+ \printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[subtitle]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \printfield{type}%
+ \setunit*{\addspace}%
+ \printfield{number}%
+ \iflistundef{location}%
+ {}%
+ {\setunit*{\addspace}%
+ \printtext[parens]{%
+ \printlist[][-\value{listtotal}]{location}}}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit
+ \iffieldundef{origyear}%
+ {\iffieldundef{year}%
+ {}%
+ {\bibstring{patentfiled}\setunit{\addspace}% Changed to filed
+ \printdate}}%
+ {\bibstring{patentfiled}\setunit{\addspace}%
+ \usebibmacro{cmsorigdate}%
+ \setunit{\finalandcomma\addspace\bibstring{and}%
+ \addspace\bibstring{patentissued}\addspace}%
+ \usebibmacro{date}}%
+ \usebibmacro{caddendum}}%
+ \usebibmacro{fullpostnote}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:performance}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \printfield{howpublished}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit\newblock
+ \printfield{version}%
+ \newcunit\newblock
+ \printfield{note}%
+ \newcunit\newblock
+ \printfield{venue}%
+ \newcunit\newblock%
+ \usebibmacro{institution+organization}%
+ \newcunit\newblock
+ \printlist{location}%
+ \newcunit\newblock
+ \usebibmacro{date}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:periodical}{%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%\newblock%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{periodical+date+issue}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}%
+ {\usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{issuetitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cjournal+issue+year+pages}%
+ \usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:proceedings}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \setunit{\addspace}
+ \usebibmacro{cite:xref+date}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@bookcitexref}%
+ }%
+ {\usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{org+publ+loc+year}}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{book:xref+finentry}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {\usebibmacro{book:xref+finentry}}%
+ \usebibmacro{finentry}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{xref}}% Removed \addspace from each.
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}%
+ {\ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:noterefhelper}}%
+ {}%
+ \ifpunctmark{.}% This seems to work.
+ {\ifbibliography%
+ {\setunit{\bibsentence}}{\addspace\bibsentence}}%
+ {\ifbibliography{\unspace}{\addcomma\addspace}}% ?!?
+ \usebibmacro{xrefprenote}% Volume fix
+ \bookbibxrefcite{\thefield{crossref}}%
+ \usebibmacro{xrefpostnote}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}
+
+\DeclareBibliographyDriver{cite:reference}{%
+ \usebibmacro{bibindex}%
+ \iffieldundef{clonesourcekey}{}{\newcunit}%
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit\newblock
+ \ifthenelse{\iffieldundef{maintitle}\AND\iffieldundef{booktitle}}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cmtitle+mstitle+vol+part+btitle+bstitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{crefpubl+loc+year}%
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\usebibmacro{ctitle+stitle}}%
+ {\usebibmacro{citaltitle+stitle}}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit%
+ \printfield{type}%
+ \newcunit
+ \usebibmacro{series+or+shortser}%
+ \ifthenelse{\iffieldundef{type}\AND\iffieldundef{series}}%
+ {\newcunit}%
+ {\setunit{\addnbspace}}%
+ \printfield{number}%
+ \newcunit%
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{inst+loc+year}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isrn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:review}{%
+ \usebibmacro{bibindex}%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{cmag+news+author}}%
+ {\usebibmacro{author/editor}}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{music+eventdate}% 17th ed.
+ \newcunit\newblock
+ \printeventtime%
+ \newcunit\newblock
+ \ifboolexpr{%
+ (
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ or
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ )
+ and
+ togl {cms@citerel}%
+ }%
+ {\toggletrue{cms@relreview}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \togglefalse{cms@relreview}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%\newblock%
+ \usebibmacro{cpart+editor+translator}%
+ \ifboolexpr{%
+ test {\iffieldundef{crossref}}%
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{xref}}%
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ or
+ togl {cms@citecrossref}%
+ }%
+ {\iffieldequalstr{relatedtype}{commenton}%
+ {\usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \newcunit\newblock
+ \usebibmacro{caddendum}}%
+ {\newcunit%
+ \usebibmacro{issuetitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addcomma\addspace}%
+ \printfield{note}%
+ \setunit{\addcomma\addspace}%
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {\usebibmacro{mag+news+date}%
+ \newcunit\newblock
+ \printfield{type}}%
+ {\usebibmacro{cjournal+issue+year+pages}}%
+ \usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{issn}}%
+ {}%
+ \usebibmacro{cite:xref+finentry}}}%
+ {\usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \newcunit\newblock
+ \usebibmacro{caddendum}}}%
+ {\usebibmacro{eid+fullpostnote}%
+ \newcunit\newblock
+ \printfield{eid}%
+ \newcunit\newblock
+ \usebibmacro{caddendum}}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:standard}{%
+ \usebibmacro{bibindex}%
+ \iffieldundef{entrysubtype}%
+ {}%
+ {\ifnameundef{author}%
+ {\iflistundef{organization}%
+ {}%
+ {\printlist{organization}}}%
+ {\usebibmacro{justauthor}}%
+ \usebibmacro{hlpunct}}%\setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit
+ \usebibmacro{edition}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit\newblock
+ \usebibmacro{cbyeditor+others}%
+ \newcunit\newblock
+ \usebibmacro{series+or+shortser}%
+ \setunit*{\addnbspace}%
+ \printfield{number}%
+ \newcunit\newblock
+ \printfield{type}%
+ \newcunit
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iflistundef{organization}%
+ {\iflistundef{publisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}}}%
+ {\setunit*{\addcolon\addspace}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}}%
+ \usebibmacro{date}%
+ \setunit{\addsemicolon\addspace}%
+ \printfield{howpublished}%
+ \setunit*{\addspace}%
+ \usebibmacro{music+eventdate}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:suppbook}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{inforaft}%
+ \setunit{\addspace}\newblock
+ \usebibmacro{citaltitle+stitle}%
+ \newcunit
+ \iffieldundef{maintitle}%
+ {\iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}}%
+ {}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \newcunit\newblock
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit\newblock
+ \usebibmacro{cmtitle+mstitle+vol+part+title+stitle}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{cbyeditor+others}%
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \clearfield{pages}% ?? For 16th ed.
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isbn}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyAlias{cite:suppcollection}{cite:suppbook}
+
+\DeclareBibliographyAlias{cite:suppperiodical}{cite:review}
+
+\DeclareBibliographyDriver{cite:thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{cnotefield}%
+ \setunit{\addspace}%
+ \printtext[parens]{%
+ \usebibmacro{type+inst+year}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:unpublished}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{byauthor}%
+ \newcunit\newblock%
+ \usebibmacro{cbyeditor+others}%
+ \setunit{\addspace}\newblock%
+ \printtext[parens]{%
+ \printfield{howpublished}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \printfield{eventtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{eventtitleaddon}%
+ \newcunit%
+ \printfield{venue}%
+ \newcunit%
+ \printlist{location}%
+ \newcunit\newblock
+ \iffieldundef{eventyear}%
+ {\usebibmacro{date}}%
+ {\printeventdate}}%
+ \usebibmacro{fullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:video}{%
+ \usebibmacro{bibindex}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ (
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ )
+ }%
+ {\usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{btitle+bstitle}%
+ \newcunit\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}}%
+ {\usebibmacro{author/editor}%
+ \usebibmacro{hlpunct}%\newcunit\newblock
+ \usebibmacro{ctitle+stitle}%
+ \setunit{\addspace}\newblock%
+ \usebibmacro{language+transtitle}%
+ \newcunit
+ \usebibmacro{byauthor}%
+ \newcunit
+ \usebibmacro{cpart+editor+translator}%
+ \newcunit
+ \usebibmacro{chapinscore}%
+ \usebibmacro{btitle+bstitle}}%
+ \newcunit
+ \iffieldundef{edition}%
+ {}%
+ {\usebibmacro{edition}}%
+ \newcunit
+ \usebibmacro{bybookauthor}%
+ \usebibmacro{cbyeditor+others}%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{title}\AND\iffieldundef{booktitle}}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ {\toggletrue{cms@usedvol}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}
+ \bibstring{ofseries}%
+ \setunit{\addspace}
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}
+ \newcunit
+ \usebibmacro{volume+or+volumes}%
+ \newcunit\newblock
+ \usebibmacro{cser+num}%
+ \newcunit\newblock
+ \usebibmacro{cnotefield}%
+ \newcunit\newblock
+ \usebibmacro{music+eventdate}%
+ \newcunit\newblock
+ \printfield{usera}%
+ \newcunit\newblock
+ \usebibmacro{cpubl+loc+year}%
+ \newcunit\newblock
+ \printfield{type}% Order of this and next?
+ \usebibmacro{volfullpostnote}%
+ \usebibmacro{caddendum}%
+ \newcunit\newblock
+ \iftoggle{cms@isbn}%
+ {\printfield{isan}}%
+ {}%
+ \newcunit\newblock
+ \usebibmacro{cite+doi+url}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \newcunit\newblock
+ \usebibmacro{pageref}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+%%%% List Formats %%%%
+
+\DeclareListFormat{language}{%
+ \ifthenelse{\value{listcount}=1}%
+ {\bibleftbracket\bibstring{inlang}%\addspace - for inflected langs.
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}%
+ \ifthenelse{\value{listtotal}=1}%
+ {\bibrightbracket}%
+ {}}%
+ {\ifthenelse{\value{listcount}=\value{listtotal}}%
+ {\multilangdelim%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}%
+ \bibrightbracket}%
+ {\multilangdelim%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{lang#1}%
+ {\bibstring{lang#1}}%
+ {#1}}}}%
+ \usebibmacro{langlist:andothers}}
+
+\DeclareListFormat{publisher}{%
+ \ifthenelse{\value{listtotal}<2}%
+ {#1\isdot}%
+ {\ifthenelse{\value{listcount}=1}%
+ {#1}%
+ {\multipubsdelim #1\isdot}}}
+
+\DeclareListFormat[jurisdiction]{location}{%
+ \iffieldundef{entrysubtype}%
+ {\usebibmacro{list:delim}{#1}%
+ #1\isdot%
+ \usebibmacro{list:andothers}}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\mkbibparens{#1}\addspace}%
+ {\mkbibparens{#1\isdot}}}}%
+
+\DeclareListFormat[jurisdiction]{origlocation}{%
+ \ifthenelse{\value{listcount}<\value{listtotal}}%
+ {#1\isdot\addcomma\addspace}%
+ {#1\isdot}}
+
+\DeclareListFormat[jurisdiction]{origpublisher}{%
+ \ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\mkbibparens{#1}\addspace}%
+ {\mkbibparens{#1\isdot}}}
+
+\DeclareListFormat{periodplace}{\mkbibparens{#1}}
+
+\DeclareListFormat{lista}{%
+ \ifthenelse{\value{listtotal}<2}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}%
+ {\ifthenelse{\value{listcount}=1}%
+ {\bibsstring{subverbis}\addspace\mkbibquote{#1\isdot}\addcomma}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\addspace\mkbibquote{#1\isdot}\addcomma}%
+ {\addspace\mkbibquote{#1\isdot}}}}}
+
+%%%% Field Formats -- Title, Citetitle, Lostitle %%%%
+
+\DeclareFieldFormat{title}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{citetitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{lostitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{title}{%
+ \iffieldundef{title}%
+ {}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{citetitle}{%
+ \iffieldundef{title}%
+ {#1\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat
+[article,inbook,incollection,inproceedings,online,thesis,unpublished]
+{lostitle}{%
+ \iffieldundef{title}%
+ {#1\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[artwork,image,inreference]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[artwork,image,inreference]{citetitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[artwork,image,inreference]{lostitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[letter]{title}{#1\isdot}
+
+\DeclareFieldFormat[patent]{title}{\MakeSentenceCase*{#1}\isdot}
+
+\DeclareFieldFormat[letter]{citetitle}{#1\isdot}
+
+\DeclareFieldFormat[patent]{citetitle}{\MakeSentenceCase*{#1}\isdot}
+
+\DeclareFieldFormat[letter]{lostitle}{#1\isdot}
+
+\DeclareFieldFormat[patent]{lostitle}{\MakeSentenceCase*{#1}\isdot}
+
+\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot}
+
+%% comprange code moved to .sty
+
+\DeclareFieldFormat{postnote}{% Changed for page compression option
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\mkcomprange{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {#1}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\DeclareFieldFormat[inreference]{postnote}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1}}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\newrobustcmd*{\mkjuridprefix}[1]{%
+ \ifboolexpr{% FIXME: Is this always right?
+ test {\iftoggle{cms@fullnote}}%
+ and
+ test {\ifentrytype{jurisdiction}}%
+ }%
+ {\iffieldundef{issue}%
+ {#1}%
+ {\printtext{at}\addspace *#1}}%
+ {\iffieldundef{issue}%
+ {\printtext{at}\addspace #1}% FIXME: Make it a bibstring?
+ {\ifentrytype{jurisdiction}%
+ {\printtext{at}\addspace *#1}%
+ {\printtext{at}\addspace #1}}}}%
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{pagination}%
+ {\mkcomprange[\mkjuridprefix]{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {\mkjuridprefix{#1}}%
+ {\mkpageprefix[pagination]{#1}}}}%
+
+\DeclareFieldFormat{pages}{%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
+ {\iffieldundef{bookpagination}%
+ {\mkcomprange{#1}\isdot}%
+ {\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}%
+ {\iffieldundef{bookpagination}%
+ {#1\isdot}%
+ {\mkpageprefix[bookpagination]{#1}}}}%
+
+\DeclareListFormat{edlang}{% Required for feminine forms in some
+ \usebibmacro{list:delim}{% languages
+ \ifbibstring{#1}%
+ {\bibxstring{#1}}%
+ {\ifbibstring{ed#1}%
+ {\bibxstring{ed#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}}%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifbibstring{ed#1}%
+ {\bibstring{ed#1}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}%
+ \usebibmacro{list:andothers}}
+
+\DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[suppbook,suppcollection]{citetitle}{%
+ \usebibmacro{inforaft}%
+ \addspace%
+ \mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[suppbook,suppcollection]{lostitle}{%
+ \usebibmacro{inforaft}%
+ \addspace%
+ \mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[customc]{title}{%
+ \iffieldundef{nameaddon}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ #1}%
+ {#1}}
+
+\DeclareFieldFormat[customc]{citetitle}{%
+ \iffieldundef{nameaddon}%
+ {\mkbibemph{\bibstring{see}}%
+ \addspace%
+ #1}%
+ {\printfield{nameaddon}\addspace #1}}
+
+\DeclareFieldAlias[customc]{lostitle}[customc]{title}
+
+\DeclareFieldFormat[misc]{title}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[misc]{citetitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[misc]{lostitle}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[dataset]{title}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldFormat[dataset]{citetitle}{%
+ \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[dataset]{lostitle}{%
+ \mkbibparens{\ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}}
+
+\DeclareFieldFormat[review,suppperiodical]{title}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldFormat[review,suppperiodical]{citetitle}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldFormat[review,suppperiodical]{lostitle}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldFormat[report]{title}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}%
+
+\DeclareFieldFormat[report]{citetitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[report]{lostitle}{%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\mkbibquote{#1\isdot}}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[audio,music]{title}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[audio,music]{citetitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[audio,music]{lostitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[video]{title}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[video]{citetitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{entrysubtype}{tvepisode}}%
+ and
+ not test {\iffieldundef{title}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ not test {\iffieldundef{shorttitle}}%
+ }%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}}
+
+\DeclareFieldFormat[video]{lostitle}{%
+ \ifthenelse{\iffieldundef{booktitle}\AND\iffieldundef{entrysubtype}}%
+ {\mkbibemph{#1}\isdot}%
+ {\mkbibquote{#1\isdot}}}
+
+\DeclareFieldFormat[jurisdiction]{title}{%
+ \iftoggle{cms@running@text}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[legal]{title}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{title}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[jurisdiction]{citetitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[jurisdiction,legal]{lostitle}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{lostitle}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+\DeclareFieldFormat[legal]{citetitle}{#1\isdot}
+
+\DeclareFieldFormat[legislation]{citetitle}{%
+ \iffieldequalstr{entrysubtype}{hearing}%
+ {\mkbibemph{#1}\isdot}%
+ {#1\isdot}}
+
+%%%% Other Field Formats %%%%
+
+\DeclareFieldFormat{letterday}{\mkbibcurdinal{#1}}
+
+\DeclareFieldFormat{note}{%
+ \ifcapital{\MakeCapital{#1}}{#1}}%
+
+\DeclareFieldFormat
+[audio,manual,music,patent,report,suppbook,suppcollection,thesis,video]
+{type}{%
+ \ifbibstring{#1}%
+ {\bibstring{#1}}%
+ {\ifcapital%
+ {\MakeCapital{#1\isdot}}%
+ {#1\isdot}}}
+
+\DeclareFieldFormat[artwork,image,online,article,review,suppperiodical,book]
+{type}{%
+ \ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}
+
+\DeclareFieldFormat[artwork,image,music]{howpublished}{%
+ \ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}
+
+\DeclareFieldFormat[video]{usera}{%
+ \bibstring{on}\addspace #1}
+
+\DeclareFieldFormat{version}{\bibsstring{version}\addspace #1}%
+
+\DeclareFieldFormat{url}{\url{#1}}
+
+\DeclareFieldFormat{doi}{%
+ \url{https://doi.org/#1}}
+
+\DeclareFieldFormat[music]{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}%
+ \OR\NOT\iffieldundef{eventyear}\OR\NOT\iffieldundef{origyear}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}%
+ \OR\NOT\iffieldundef{eventyear}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[artwork,image]{date}{%
+ \iffieldundef{origyear}%
+ {#1}%
+ {\iftoggle{cms@switchdates}%
+ {#1}%
+ {\iffieldundef{userd}%
+ {\bibstring{printed}\addspace #1}%
+ {\printfield{userd}\addspace #1}}}}
+
+\DeclareFieldFormat[artwork,image]{origdate}{%
+ \iffieldundef{year}%
+ {#1}%
+ {\iftoggle{cms@switchdates}%
+ {\iffieldundef{userd}%
+ {\bibstring{printed}\addspace #1}%
+ {\printfield{userd}\addspace #1}}%
+ {#1}}}
+
+\DeclareFieldFormat[artwork,image]{urldate}{%
+ \ifboolexpr{%
+ test {\iffieldundef{userd}}%
+ or
+ (
+ not test {\iffieldundef{year}}%
+ and
+ not test {\iffieldundef{origyear}}%
+ )
+ }%
+ {\bibstring{urlseen}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat{date}{% Generalize userd ???
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{urlyear}}%
+ {#1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat{urldate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{urlseen}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{urldate}{% 16th ed.
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}%
+ {\bibstring{urlseen}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[music]{urldate}{% 16th ed.
+ \ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}%
+ \OR\NOT\iffieldundef{origyear}}%
+ {\bibstring{urlseen}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[music]{origdate}{% 16th ed.
+ \iffieldequalstr{pubstate}{reprint}% Date fix
+ {#1}%
+ {\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}%
+ {\bibstring{discrecorded}\addspace #1}% Can now match gender
+ {\printfield{userd}\addspace #1}}}
+
+\DeclareFieldFormat[music]{eventdate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{songrecorded}\addspace #1}% Can now match gender
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldFormat[video]{eventdate}{% 16th ed.
+ \iffieldundef{userd}%
+ {\bibstring{broadcast}\addspace #1}%
+ {\printfield{userd}\addspace #1}}
+
+\DeclareFieldAlias{userd}{titleaddon}% 16th ed.
+
+\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1\bibsentence}}% ?!
+
+\DeclareFieldFormat[online,review,suppperiodical]{nameaddon}{#1\bibsentence}
+
+\DeclareFieldFormat[misc]{nameaddon}{%
+ \iffieldundef{entrysubtype}%
+ {\mkbibbrackets{#1\bibsentence}}%
+ {#1\bibsentence}}
+
+\DeclareFieldFormat[customc]{nameaddon}{% For cross-refs
+ \ifbibstring{#1}%
+ {\mkbibemph{\bibstring{#1}}}%
+ {#1}}
+
+\DeclareFieldFormat{edition}{% New in 0.8
+ \ifinteger{#1}
+ {\mkbibordedition{#1}~\bibstring{edition}}%
+ {\ifcapital
+ {\MakeCapital{#1\isdot}}%
+ {#1\isdot}}}
+
+\DeclareFieldFormat{year}{% To cope with abbreviation n.d.
+ \iftoggle{cms@fullnote}%
+ {#1\bibsentence}%
+ {#1\isdot}}% (?)
+
+\DeclareFieldFormat[misc]{year}{#1\isdot}
+
+\DeclareFieldFormat[article]{year}{% To cope with abbreviation n.d.
+ \iffieldequalstr{entrysubtype}{magazine}%
+ {#1\isdot}
+ {#1\bibsentence}}
+
+\DeclareFieldAlias[review]{year}[article]{year}
+
+\DeclareFieldAlias[periodical]{year}[article]{year}
+
+\DeclareFieldAlias[suppperiodical]{year}[article]{year}
+
+\DeclareFieldFormat{usere}{[#1]} % Better than mkbibbrackets?
+
+\DeclareFieldFormat{titleaddon}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}%
+
+\DeclareFieldAlias{booktitleaddon}{titleaddon}
+
+\DeclareFieldAlias{maintitleaddon}{titleaddon}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{journaltitle}{%
+ \iffieldundef{shortjournal}%
+ {#1\isdot}%
+ {\mkbibemph{#1}\isdot}}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{shortjournal}{#1\isdot}
+
+\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{issuetitle}{\mkbibquote{#1\isdot}}
+
+\DeclareFieldFormat{shortjournal}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat[periodical]{shorttitle}{\mkbibemph{#1}\isdot}
+
+\DeclareFieldFormat{jourser}{%
+ \ifinteger{#1}%
+ {\mkbibordseries{#1}%
+ \addnbspace%
+ \bibstring{jourser}}%
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}%
+
+\DeclareFieldFormat{jurisdictionser}{%
+ \ifinteger{#1}%
+ {\mkjuridordinal{#1}}%
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}%
+
+\DeclareFieldFormat{legislationser}{%
+ \iffieldequalstr{entrysubtype}{hansard}%
+ {\ifinteger{#1}%
+ {\addspace\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}%
+ {\ifbibstring{#1}%
+ {\addspace\mkbibparens{\bibstring{#1}}}%
+ {\addspace\mkbibparens{#1}}}}%
+ {\iffieldequalstr{entrysubtype}{uk}%
+ {\addspace #1\isdot}%
+ {\addcomma\addspace #1\isdot}}}%
+
+\DeclareFieldFormat{legalser}{\addspace #1\isdot}%
+
+\DeclareFieldFormat{hansardser}{%
+ \ifinteger{#1}%
+ {\mkbibparens{\mkjuridordinal{#1}\addspace\bibsstring{jourser}}}%
+ {\ifbibstring{#1}{\mkbibparens{\bibstring{#1}}}{\mkbibparens{#1}}}}%
+
+\DeclareFieldFormat{journum}{% Revised for 0.9.5
+ \ifboolexpr{%
+ test {\ifnumerals{#1}}%
+ and
+ not test {\ifnumeral{#1}}%
+ }%
+ {\bibstring{numbers}\addspace #1}%
+ {\bibstring{number}\addspace #1}}%
+
+\DeclareFieldFormat{juridnum}{\bibcpstring{number}\addspace #1}%
+
+\DeclareFieldFormat{jourvol}{#1}
+
+\DeclareFieldFormat{sernum}{%
+ \ifnumeral{#1}%
+ {\addnbspace #1}%
+ {\addcomma\addspace #1}}
+
+\DeclareFieldFormat{series}{#1\isdot}
+
+\DeclareFieldFormat{shortseries}{#1\isdot}
+
+\DeclareFieldFormat{addendum}{%
+ \ifcapital{\MakeCapital{#1\isdot}}{#1\isdot}}
+
+\DeclareFieldFormat[jurisdiction,legal,legislation]{addendum}{%
+ \ifcapital{\mkbibparens{\MakeCapital{#1\isdot}}}{\mkbibparens{#1\isdot}}}
+
+% This works better here than in the entrytail macro -- userf use is
+% no longer a problem, though the page breaking still isn't ideal.
+
+\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep #1}
+
+\DeclareFieldFormat{part}{% xref revision ???
+ \ifnumerals{#1}%
+ {\addcomma\addspace\bibstring{partvolume}~#1}%
+ {\addcomma\addspace\ifcapital{\MakeCapital{#1}}{#1}}}
+
+\global\let\cmsnrpart\RN
+\DeclareFieldFormat{nrpart}{\bibsstring{part}~\cmsnrpart{#1}}% Noterefs
+\DeclareFieldFormat{nrchapter}{\bibsstring{chapter}~#1}%
+
+\DeclareFieldFormat{xrefpart}{% xref revision ???
+ \ifnumerals{#1}%
+ {\bibstring{partvolume}~#1}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}
+
+\DeclareFieldFormat[legal,legislation]{part}{%
+ \ifnumerals{#1}%
+ {\bibsstring{part}~#1}%
+ {#1\isdot}}%
+
+\DeclareFieldFormat[legal,legislation]{chapter}{c\adddotspace #1}%
+
+\DeclareFieldFormat[music]{chapter}{\bibstring{track}~#1}
+
+%% This tries to get hyperlinks from shortened cross-ref'd notes to %%
+%% long notes working properly. Used in short and shorthand cites. %%
+
+\DeclareFieldFormat{cmshyperlink}{% Obsolete?
+ \iffieldundef{crossref}%
+ {\iffieldundef{xref}%
+ {\bibhyperlink{\thefield{entrykey}}{#1}}%
+ {\ifboolexpr{((
+ test {\ifentrytype{book}}%
+ or
+ test {\ifentrytype{bookinbook}}%
+ or
+ test {\ifentrytype{collection}}%
+ or
+ test {\ifentrytype{proceedings}}%
+ )
+ and
+ not togl {cms@bookcitexref}%
+ )
+ or
+ ((
+ test {\ifentrytype{inbook}}%
+ or
+ test {\ifentrytype{letter}}%
+ or
+ test {\ifentrytype{incollection}}%
+ or
+ test {\ifentrytype{inproceedings}}%
+ )
+ and
+ not togl {cms@citecrossref}%
+ )
+ }%
+ {\bibhyperlink{\thefield{xref}}{#1}}%
+ {\bibhyperlink{\thefield{entrykey}}{#1}}}}%
+ {\ifboolexpr{((
+ test {\ifentrytype{book}}%
+ or
+ test {\ifentrytype{bookinbook}}%
+ or
+ test {\ifentrytype{collection}}%
+ or
+ test {\ifentrytype{proceedings}}%
+ )
+ and
+ not togl {cms@bookcitexref}%
+ )
+ or
+ ((
+ test {\ifentrytype{inbook}}%
+ or
+ test {\ifentrytype{letter}}%
+ or
+ test {\ifentrytype{incollection}}%
+ or
+ test {\ifentrytype{inproceedings}}%
+ )
+ and
+ not togl {cms@citecrossref}%
+ )
+ }%
+ {\bibhyperlink{\thefield{crossref}}{#1}}%
+ {\bibhyperlink{\thefield{entrykey}}{#1}}}}
+
+\newrobustcmd*{\cmshyper}[1]{%
+ \ifbibliography%
+ {\ifboolexpr{%
+ test {\ifentryinbib{\thefield{entrykey}}}%
+ and
+ not togl {blx@skipbib}%
+ }%
+ {\printtext[bibhyperref]{#1}}%
+ {#1}}%
+ {\iftoggle{cms@allshort}%
+ {\iftoggle{blx@skipbib}{#1}{\printtext[bibhyperref]{#1}}}%
+ {\printtext[bibhyperlink]{#1}}}}%
+
+\newrobustcmd*{\cmsshhyper}[1]{%
+ \iffootnote%
+ {\iftoggle{cms@allshort}%
+ {\iftoggle{blx@skipbib}{#1}{\printtext[bibhyperref]{#1}}}%
+ {\printtext[bibhyperlink]{#1}}}%
+ {\ifboolexpr{%
+ test {\ifentryinbib{\thefield{entrykey}}}%
+ and
+ not togl {blx@skipbib}%
+ }%
+ {\printtext[bibhyperref]{#1}}%
+ {\iftoggle{cms@allshort}%
+ {#1}%
+ {\printtext[bibhyperlink]{#1}}}}}%
+
+\DeclareFieldAlias[review]{volume}[article]{volume}
+
+\DeclareFieldAlias[suppperiodical]{volume}[article]{volume}
+
+%%%% Related field formats from biblatex.def %%%%
+
+\DeclareFieldFormat{related:origpubas}{#1}% This and next remove parens
+
+\DeclareFieldFormat{related:origpubin}{#1}
+
+\DeclareFieldFormat{relatedstring:default}{% For notes + bib
+ \ifboolexpr{%
+ test {\iffieldundef{relatedstring}}%
+ or
+ test {\iffieldbibstring{relatedstring}}%
+ }%
+ {#1}%
+ {\ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}%
+ \ifentrytype{jurisdiction}%
+ {\newcunit}%
+ {\printunit{\relatedpunct}}}% Issue w/ printunit. Our bug?
+
+\DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib
+ \ifboolexpr{%
+ test {\iffieldundef{relatedstring}}%
+ or
+ test {\iffieldbibstring{relatedstring}}%
+ }%
+ {#1}%
+ {\ifcapital%
+ {\MakeCapital{#1}}%
+ {#1}}%
+ \addspace}%
+
+%%%% Commands, for users and internal %%%%
+
+\renewcommand*{\multicitedelim}{\addsemicolon\addspace}
+
+\renewcommand*{\iffinalcitedelim}{%
+ \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}}
+
+\renewcommand*{\subtitlepunct}{% Follows CMS16 spec.
+ \ifboolexpr{%
+ test {\ifterm}%
+ and
+ not test {\ifcsdef{@cmsst}}%
+ }%
+ {\addspace}%
+ {\addcolon\addspace%
+ \global\csundef{@cmsst}}%
+}
+
+\newcommand*{\classicpunct}{% 17th ed.
+ \ifboolexpr{%
+ (
+ test {\iffieldequalstr{entrysubtype}{classical}}%
+ and
+ test {\iffieldundef{labeltitle}}%
+ )
+ or
+ test {\ifentrytype{letter}}%
+ or
+ test {\ifentrytype{dataset}}%
+ }%
+ {\setunit*{\addspace}}%
+ {\setunit*{\addcomma\addspace}}}
+
+\newcommand*{\reprintpunct}{%
+ \iftoggle{cms@fullnote}%
+ {\setunit*{\addsemicolon\addspace}}%
+ {\setunit*{\addperiod\addspace}}}
+
+\newcommand*{\encypunct}{% for named entries in an encyclopedia
+ \iftoggle{cms@fullnote}%
+ {\ifentrytype{book}%
+ {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND
+ \iffieldundef{isbn}\AND\iffieldundef{url}}%
+ {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
+ {}%
+ {\addperiod}}%
+ {\addcomma}}%
+ {\ifnameundef{author}%
+ {\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND
+ \iffieldundef{isbn}\AND\iffieldundef{url}}%
+ {\ifthenelse{\value{multicitecount} < \value{multicitetotal}}%
+ {}%
+ {\addperiod}}%
+ {\addcomma}}%
+ {}}}%
+ {\ifentrytype{book}%
+ {\addperiod}%
+ {\ifnameundef{author}%
+ {\addperiod}%
+ {}}}}%
+
+\newcommand*{\postvolpunct}{\addcolon}% For vol:page customization
+
+\newcommand*{\parttrans}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbytranslator}\addspace}%
+ {\bibstring{bytranslator}\addspace}}%
+
+\protected\def\partedit#1{%
+ \ifcat\noexpand~\noexpand#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \ifx\addnbspace#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \ifx\addspace#1%
+ \ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \if#1H%
+ \appto{\cms@tempb}{#1}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \if#1h%
+ \appto{\cms@tempb}{#1}%
+ \def\cms@tempa{\futurelet\cms@tempa\partedit}%
+ \else%
+ \def\cms@tempa{\part@edit@i\lbx@initnamehook{#1}%
+ \csuse{cms@tempb}#1\csundef{cms@tempb}}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \cms@tempa%
+}%
+
+\newcommand*{\part@edit@i}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbyeditor}\addspace}%
+ {\bibstring{byeditor}\addspace}}%
+
+\newcommand*{\partcomp}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbycompiler}\addspace}%
+ {\bibstring{bycompiler}\addspace}}%
+
+\newcommand*{\parteditandcomp}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbyeditorcp}\addspace}%
+ {\bibstring{byeditorcp}\addspace}}%
+
+\newcommand*{\parttransandcomp}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbytranslatorcp}\addspace}%
+ {\bibstring{bytranslatorcp}\addspace}}%
+
+\newcommand*{\partedittransandcomp}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbyeditortrcp}\addspace}%
+ {\bibstring{byeditortrcp}\addspace}}%
+
+\newcommand*{\parteditandtrans}{%
+ \iftoggle{cms@fullnote}%
+ {\bibstring{cbyeditortr}\addspace}%
+ {\bibstring{byeditortr}\addspace}}%
+
+\newcommand*{\reprint}{%
+ \iftoggle{cms@fullnote}%
+ {\bibsstring{reprint}}%
+ {\bibstring{reprint}}}%
+
+\newcommand*{\multipubsdelim}{\addnbspace/\addspace}
+
+\newcommand*{\multilocsdelim}{%
+ \ifthenelse{\value{listcount}<\value{liststop}}%
+ {\ifthenelse{\numexpr\value{listcount}+1<\value{liststop}}%
+ {\addcomma\addspace}%
+ {\ifthenelse{\value{liststop}>2}%
+ {\addcomma\addspace\bibstring{and}\addspace}%
+ {\addspace\bibstring{and}\addspace}}}%
+ {}}%
+
+\newcommand*{\multilangdelim}{%
+ \ifthenelse{\value{listtotal}<3}%
+ {\addspace\bibstring{and}\addspace}%
+ {\ifthenelse{\value{listcount}<\value{listtotal}}%
+ {\addcomma\addspace}%
+ {\addcomma\addspace\bibstring{and}\addspace}}}%
+
+\renewcommand*{\postnotedelim}{%
+ \ifboolexpr{%
+ test {\ifciteibid}%
+ and
+ (
+ test {\ifentrytype{jurisdiction}}%
+ or
+ test {\ifentrytype{legal}}%
+ or
+ test {\ifentrytype{legislation}}%
+ )
+ }%
+ {\addspace}%
+ {\iftoggle{cms@shortnote}%
+ {\iffieldequalstr{entrysubtype}{classical}%
+ {\DeclareNumChars*{abcdeABCDE:}% Makes classical
+ \iffieldpages{postnote}% test more accurate. See 17.253.
+ {\addspace}%
+ {\addcomma\addspace}\DeclareNumChars{.}}%
+ {\addcomma\addspace}}% 16th ed -- no more volumes test.
+ {\iftoggle{cms@fullnote}%
+ {\ifthenelse{\(\ifentrytype{article}\OR
+ \ifentrytype{review}\OR
+ \ifentrytype{periodical}\OR
+ \ifentrytype{suppperiodical}\)\AND\NOT
+ \iffieldequalstr{entrysubtype}{magazine}}%
+ {\addcolon\addspace}%
+ {\addcomma\addspace}}%
+ {\addcomma\addspace}}}}%
+
+\newcommand*{\postnotewrapper}{%
+ \iftoggle{cms@modpostnote}%
+ {\ifboolexpr{%
+ test {\iffieldstart{postnote}{,}}%
+ or
+ test {\iffieldstart{postnote}{\bibrangessep}}%
+ }%
+ {\addcomma}% w/ or w/o \addspace?
+ {\ifboolexpr{%
+ test {\iffieldstart{postnote}{;}}%
+ or
+ test {\iffieldstart{postnote}{:}}%
+ or
+ test {\iffieldstart{postnote}{.}}%
+ }%
+ {}{\postnotedelim}}}%
+ {\postnotedelim}}%
+
+\newrobustcmd*{\iffieldstart}[2]{% Philipp Lehman's code, from
+ \begingroup% comp.text.tex
+ \edef\@tempa{%
+ \long\def\noexpand\iffieldstart@i####1\detokenize{#2}####2}%
+ \@tempa\@nil{\endgroup\ifblank{##1}}%
+ \savefield*{#1}{\@tempa}%
+ \expandafter\iffieldstart@i\detokenize
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@tempa\detokenize{#2}}\@nil}
+
+\newcommand*{\editordelim}{%
+ \ifboolexpr{%
+ test {\iffieldequalstr{editortype}{none}}%
+ and
+ not togl {cms@fullnote}%
+ }%
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
+
+\newcommand*{\nameadelim}{%
+ \ifboolexpr{%
+ test {\iffieldequalstr{nameatype}{none}}%
+ and
+ not togl {cms@fullnote}%
+ }%
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
+
+\DeclareDelimFormat{dateeradelim}{\addnbspace}%
+\DeclareDelimFormat{dateaddelim}{\addnbspace}%
+
+\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide
+ \begingroup% final {by}.
+ \blx@bibstringnormal%
+ \usebibmacro{list:delim}{%
+ \ifbibstring{from#1}%
+ {\bibxlstring{cfrom#1}}%
+ {\ifbibstring{clang#1}%
+ {\bibxlstring{lang#1}}%
+ {#1}}}%
+ \ifbibstring{cfrom#1}%
+ {\ifboolexpr{%
+ test {\ifnumless{\value{listcount}}{\value{liststop}}}%
+ or
+ test {\ifmoreitems}%
+ }%
+ {\bibstring{from#1}}%
+ {\bibstring{cfrom#1}}}%
+ {\ifbibstring{lang#1}%
+ {\biblstring{lang#1}}%
+ {#1}}%
+ \usebibmacro{list:andotherlangs}%
+ \endgroup}
+
+\newbibmacro*{list:andotherlangs}{% Final {by} after {andmore}
+ \ifboolexpr{%
+ test {\ifnumequal{\value{listcount}}{\value{liststop}}}%
+ and
+ test {\ifmoreitems}%
+ }%
+ {\ifnumgreater{\value{liststop}}{1}%
+ {\finalandcomma}%
+ {}%
+ \printdelim{andmoredelim}\bibstring{andmore}\addspace\bibstring{by}}%
+ {}}
+
+\newcommand*{\lbx@cfromlang}{% Because the cbytranslator string can't
+ \iffieldundef{userf}% have {by} in it unless there's an origlanguage.
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[cfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@fromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@lfromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+\renewcommand*{\lbx@sfromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[sfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
+
+%%%% Formatting macros, called both by cbx and bbx %%%%
+
+\newbibmacro*{finentry}{%{\finentry} To make annotated bibliography
+ \togglefalse{cms@switchdates}%
+ \ifbibliography
+ {\usebibmacro{entrytail}}%
+ {}%
+ \finentry}
+
+\newbibmacro*{book:xref+finentry}{% FIXME
+ \ifthenelse{\iffieldundef{crossref}\OR\ifbibliography}%
+ {\ifthenelse{\iffieldundef{xref}\OR\ifbibliography}%
+ {}%
+ {\iftoggle{cms@bookcitexref}%
+ {\cms@citetracker@xref}%
+ {\bibhypertarget{\thefield{xref}}%
+ {\cms@citetracker@xref}}}}%
+ {\iftoggle{cms@bookcitexref}%
+ {\cms@citetracker@crossref}%
+ {\bibhypertarget{\thefield{crossref}}%
+ {\cms@citetracker@crossref}}}}%
+
+\newbibmacro*{cite:xref+finentry}{% FIXME
+ \ifthenelse{\iffieldundef{crossref}\OR\ifbibliography}%
+ {\ifthenelse{\iffieldundef{xref}\OR\ifbibliography}%
+ {}%
+ {\iftoggle{cms@citecrossref}%
+ {\cms@citetracker@xref}%
+ {\bibhypertarget{\thefield{xref}}%
+ {\cms@citetracker@xref}}}}%
+ {\iftoggle{cms@citecrossref}%
+ {\cms@citetracker@crossref}%
+ {\bibhypertarget{\thefield{crossref}}%
+ {\cms@citetracker@crossref}}}}%
+
+\newbibmacro*{allshort+firstcite+xref}{%
+ \ifboolexpr{%
+ (
+ togl {cms@citecrossref}%
+ and
+ togl {cms@bookcitexref}%
+ )
+ or
+ not togl {cms@allshort}%
+ }%
+ {}%
+ {\ifciteseen%
+ {}%
+ {\iffieldundef{crossref}%
+ {\iffieldundef{xref}%
+ {}%
+ {\cms@citetracker@xref}}%
+ {\cms@citetracker@crossref}}}}%
+
+\def\cms@citetracker@crossref{% cf. \blx@citetracker@global
+ \ifbool{citetracker}%
+ {\xifinlistcs\abx@field@crossref{blx@bsee@\the\c@refsection}%
+ {}%
+ {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@crossref%
+ \iffieldundef{clonesourcekey}%
+ {\cms@save@locdata{crossref}}{}}}%
+ {}}%
+
+\def\cms@citetracker@xref{% cf. \blx@citetracker@global
+ \ifbool{citetracker}%
+ {\xifinlistcs\abx@field@xref{blx@bsee@\the\c@refsection}%
+ {}%
+ {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@xref%
+ \iffieldundef{clonesourcekey}%
+ {\cms@save@locdata{xref}}{}}}%
+ {}}%
+
+\def\cms@citetracker@clonesourcekey{%
+ \ifbool{citetracker}%
+ {\xifinlistcs\abx@field@clonesourcekey{blx@bsee@\the\c@refsection}%
+ {}%
+ {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@clonesourcekey%
+ \cms@save@locdata{clonesourcekey}}}%
+ {}}%
+
+\newbibmacro*{entrytail}{% From reading.bbx, for annotated bibliography
+ \newunit\newblock
+ \iftoggle{cms@annotation}%
+ {\usebibmacro{annotation}%
+ \newunit\newblock}%
+ {}}%
+
+\newbibmacro*{author+holder}{%
+ \ifnameundef{author}%
+ {}%
+ {\printnames{author}%
+ \ifthenelse{\ifnameundef{holder}\OR%
+ \ifnamesequal{author}{holder}}%
+ {}%
+ {\setunit{\addspace}%
+ \printtext[parens]{\printnames{holder}}}}}
+
+\renewbibmacro*{byauthor}{% MT fix
+ \ifnameundef{author}%
+ {}%
+ {\ifboolexpr{%
+ test {\ifuseauthor}%
+ and not
+ test {\ifcsempty{abx@macro@author/editor}}%
+ }%
+ {}%
+ {\bibstring{byauthor}\addspace%
+ \printnames[byauthor]{author}}}}
+
+\newbibmacro*{byauthorpunct}{%
+ \ifthenelse{\ifuseauthor\OR\ifnameundef{author}}%
+ {\addperiod\addspace}%
+ {\newcunit}}
+
+\renewbibmacro*{bybookauthor}{%
+ \ifnameundef{bookauthor}%
+ {}%
+ {\ifnamesequal{author}{bookauthor}%
+ {}%
+ {\bibstring{byauthor}\addspace\printnames[default]{bookauthor}%
+ \newcunit\newblock}}}
+
+\newbibmacro*{music+bookauthor}{%
+ \ifnameundef{bookauthor}%
+ {}%
+ {\ifnamesequal{author}{bookauthor}%
+ {}%
+ {\printnames[default]{bookauthor}%
+ \newcunit\newblock}}}
+
+\newbibmacro*{editorpunct}{%
+ \ifthenelse{\(\iffieldundef{booktitle}\AND%
+ \iffieldundef{maintitle}\AND\iffieldundef{issuetitle}\)%
+ \OR\iffieldsequal{booktitle}{title}% Changed these for crossrefed
+ \OR\iffieldsequal{maintitle}{title}}% entries. Create problems?
+ {\ifboolexpr{%
+ test {\ifentrytype{video}}% Change for Video type? Appears
+ or
+ togl {cms@mtvolpunct}%
+ }%
+ {\newcunit\newblock}% to treat italicized title as booktitle in
+ {\newunit\newblock}}% available examples. Added issuetitle 0.9.9c.
+ {\newcunit\newblock}}
+
+\newbibmacro*{edition}{%
+ \printfield{edition}%
+ \clearfield{edition}}%
+
+\newbibmacro*{version}{%
+ \printfield{version}%
+ \clearfield{version}}%
+
+\newbibmacro*{inforaft}{%
+ \ifnameundef{introduction}%
+ {\ifnameundef{afterword}%
+ {\ifnameundef{foreword}%
+ {\printfield{type}}%
+ {\bibstring{forewordto}%
+ \clearname{foreword}}}% 16th ed.
+ {\bibstring{afterwordto}%
+ \clearname{afterword}}}%
+ {\bibstring{introductionto}%
+ \clearname{introduction}}}
+
+\newbibmacro*{langlist:andothers}{%
+ \ifthenelse{\value{listcount}=\value{liststop}\AND%
+ \ifmoreitems}%
+ {\ifnum\value{liststop}>1 \finalandcomma\fi%
+ \andmoredelim\bibstring{andmore}\bibrightbracket}%
+ {}}%
+
+\newbibmacro*{mag+news+author}{%
+ \ifnameundef{author}%
+ {\ifboolexpr{%
+ test {\iffieldequals{journaltitle}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \savefield{journaltitle}{\bbx@lasthash}}}%
+ {\ifuseauthor%
+ {\usebibmacro{author}}%
+ {}}}%
+
+\newbibmacro*{cmag+news+author}{%
+ \ifnameundef{author}%
+ {}% 16th ed.
+ {\ifuseauthor%
+ {\usebibmacro{author}}%
+ {}}}%
+
+\newbibmacro*{type+inst+year}{%
+ \printfield{type}%
+ \newcunit
+ \printlist{institution}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}}% Instead of cmsyear
+
+\newbibmacro*{institution+organization}{%
+ \iflistundef{organization}%
+ {\iflistundef{institution}%
+ {}%
+ {\printlist{institution}}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printlist{institution}}}
+
+\newbibmacro*{misc+institution+organization}{% 17th ed.
+ \iffieldundef{number}%
+ {\iflistundef{organization}%
+ {\iflistundef{institution}%
+ {}%
+ {\printlist{institution}}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printlist{institution}}}%
+ {\iflistundef{organization}%
+ {\iflistundef{institution}%
+ {\newcunit\printfield{number}}%
+ {\newcunit\printfield{number}%
+ \iftoggle{cms@fullnote}%
+ {\newcunit}%
+ {\newunit}%
+ \printlist{institution}}}%
+ {\iflistundef{institution}%
+ {\newcunit\printfield{number}%
+ \iftoggle{cms@fullnote}%
+ {\newcunit}%
+ {\newunit}%
+ \printlist{organization}}%
+ {\printlist{organization}%
+ \newcunit%
+ \printfield{number}%
+ \newcunit%
+ \printlist{institution}}}}}
+
+\newbibmacro*{bibauthor+org}{%
+ \ifnameundef{author}%
+ {\ifnameundef{editor}%
+ {\iflistundef{organization}%
+ {}%
+ {\ifboolexpr{%
+ test {\iflistequals{organization}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
+ {\printlist{organization}%
+ \savelist{organization}{\bbx@lasthash}}}}%
+ {\usebibmacro{editor}}}%
+ {\usebibmacro{author/editor}}}
+
+\newbibmacro*{author+org}{%
+ \ifnameundef{author}%
+ {\ifnameundef{editor}%
+ {\iflistundef{organization}%
+ {}%
+ {\printlist{organization}}}%
+ {\usebibmacro{editor}}}%
+ {\usebibmacro{author/editor}}}
+
+\renewbibmacro*{bytypestrg}[2]{% From biblatex.def
+ \iffieldundef{#1type}%
+ {\bibstring{by#2}}%
+ {\ifbibxstring{by\thefield{#1type}}%
+ {\bibstring{by\thefield{#1type}}}%
+ {\printtext[note]{\thefield{#1type}}}}}%
+
+\newbibmacro*{cbytypestrg}[2]{%
+ \iffieldundef{#1type}%
+ {\bibstring{cby#2}}%
+ {\ifbibxstring{cby\thefield{#1type}}%
+ {\bibstring{cby\thefield{#1type}}}%
+ {\printtext[note]{\thefield{#1type}}}}}%
+
+\newbibmacro*{cbyeditor}{%
+ \ifnameundef{editor}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editor}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{editor}%
+ \newcunit}%
+ \usebibmacro{cbyeditorx}}
+
+\newbibmacro*{cbyeditorx}{%
+ \ifnameundef{editora}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editora}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditora]{editora}%
+ \newcunit}%
+ \ifnameundef{editorb}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editorb}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorb]{editorb}%
+ \newcunit}%
+ \ifnameundef{editorc}%
+ {}%
+ {\usebibmacro{cbytypestrg}{editorc}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditorc]{editorc}%
+ \newcunit}}
+
+\newbibmacro*{cbytranslator}{%
+ \ifnameundef{translator}%
+ {}%
+ {\bibstring{cbytranslator}%
+ \addspace%
+ \printnames[bytranslator]{translator}}}
+
+\newbibmacro*{cbycompiler}{%
+ \ifnameundef{namec}%
+ {}%
+ {\bibstring{cbycompiler}\addspace%
+ \printnames[bycompiler]{namec}}}
+
+\newbibmacro*{cbyredactor}{%
+ \ifnameundef{redactor}%
+ {}%
+ {\bibstring{cbyredactor}\addspace%
+ \printnames[byredactor]{redactor}}}
+
+\newbibmacro*{cwithcommentator}{%
+ \ifnameundef{commentator}%
+ {}%
+ {\bibsstring{withcommentator}\addspace%
+ \printnames[withcommentator]{commentator}}}
+
+\newbibmacro*{cwithannotator}{%
+ \ifnameundef{annotator}%
+ {}%
+ {\bibsstring{withannotator}\addspace%
+ \printnames[withannotator]{annotator}}}
+
+\newbibmacro*{cwithintroduction}{%
+ \ifnameundef{introduction}%
+ {}%
+ {\bibstring{withintroduction}\addspace%
+ \printnames[withintroduction]{introduction}}}
+
+\newbibmacro*{cwithforeword}{%
+ \ifnameundef{foreword}%
+ {}%
+ {\bibstring{withforeword}\addspace%
+ \printnames[withforeword]{foreword}}}
+
+\newbibmacro*{cwithafterword}{%
+ \ifnameundef{afterword}%
+ {}%
+ {\bibstring{withafterword}\addspace%
+ \printnames[withafterword]{afterword}}}
+
+\newbibmacro*{cbyeditor+others}{%
+ \ifthenelse{\NOT\ifnameundef{editor}\AND%
+ \(\iffieldundef{editortype}\OR%
+ \iffieldequalstr{editortype}{editor}\)}%
+ {\def\@tempa{cbyeditor}%
+ \ifnamesequal{editor}{translator}%
+ {\edef\@tempa{\@tempa tr}%
+ \clearname{translator}}%
+ {}%
+ \ifnamesequal{editor}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{editor}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{editor}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{editor}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{editor}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{editor}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\addspace% \setunit here?
+ \printnames[byeditor]{editor}%
+ \clearname{editor}%
+ \newcunit%
+ \usebibmacro{cbyeditorx}}%
+ {\usebibmacro{cbyeditor}}%
+ \usebibmacro{cbytranslator+others}}
+
+\newbibmacro*{cbytranslator+others}{%
+ \ifnameundef{translator}%
+ {}%
+ {\def\@tempa{cbytranslator}%
+ \ifnamesequal{translator}{namec}%
+ {\edef\@tempa{\@tempa cp}%
+ \clearname{namec}}%
+ {}%
+ \ifnamesequal{translator}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{translator}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{translator}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{translator}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{translator}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\addspace%
+ \printnames[bytranslator]{translator}%
+ \clearname{translator}%
+ \newcunit}%
+ \usebibmacro{cbycompiler+others}}
+
+\newbibmacro*{cbycompiler+others}{%
+ \ifnameundef{namec}%
+ {}%
+ {\def\@tempa{cbycompiler}%
+ \ifnamesequal{namec}{commentator}%
+ {\edef\@tempa{\@tempa co}%
+ \clearname{commentator}}%
+ {\ifnamesequal{namec}{annotator}%
+ {\edef\@tempa{\@tempa an}%
+ \clearname{annotator}}%
+ {}}%
+ \ifnamesequal{namec}{introduction}%
+ {\edef\@tempa{\@tempa in}%
+ \clearname{introduction}}%
+ {\ifnamesequal{namec}{foreword}%
+ {\edef\@tempa{\@tempa fo}%
+ \clearname{foreword}}%
+ {\ifnamesequal{namec}{afterword}%
+ {\edef\@tempa{\@tempa af}%
+ \clearname{afterword}}%
+ {}}}%
+ \bibstring{\@tempa}\addspace%
+ \printnames[bycompiler]{namec}%
+ \clearname{namec}%
+ \newcunit}%
+ \usebibmacro{cbyothers}}
+
+\newbibmacro*{cbyothers}{%
+ \usebibmacro{cbytranslator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cbycompiler}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cbyredactor}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithcommentator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithannotator}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithintroduction}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithforeword}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cwithafterword}}
+
+\newbibmacro*{part+editor+translator}{%
+ \ifnameundef{namea}%
+ {\ifnameundef{nameb}%
+ {}%
+ {\bibstring{bytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}%
+ {\ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{byeditortr}\addspace%
+ \printnames[byeditor]{namea}}%
+ {\bibstring{byeditor}\addspace%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\usebibmacro{related:mtpunct}%\newunit% MT fix
+ \bibstring{bytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}%
+ {\usebibmacro{bytypestrg}{namea}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\usebibmacro{related:mtpunct}%\newunit% MT fix
+ \bibstring{bytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}}
+
+\newbibmacro*{cpart+editor+translator}{%
+ \ifnameundef{namea}%
+ {\ifnameundef{nameb}%
+ {}%
+ {\bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}%
+ {\ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{cbyeditortr}\addspace%
+ \printnames[byeditor]{namea}}%
+ {\bibstring{cbyeditor}\addspace% Need this \space here?
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newcunit%
+ \bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}%
+ {\usebibmacro{cbytypestrg}{namea}{editor}%
+ \setunit{\addspace}%
+ \printnames[byeditor]{namea}%
+ \ifnameundef{nameb}%
+ {}%
+ {\newcunit%
+ \bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}}}}}
+
+\newbibmacro*{cms-in:}{% Fix for 0.9a compat.
+ \iftoggle{cms@origpublished}%
+ {}% Removed the cms@crspace test -- fixed a bug I had introduced
+ {\bibstring{in}%
+ \setunit{\addspace}}}
+
+\newbibmacro*{bibxref-in:}{%
+ \iffieldundef{volume}%
+ {\ifcsdef{cbx@incollvol}%
+ {\restorefield{volume}{\cbx@incollvol}\toggletrue{cms@xrefvol}%
+ \ifcsdef{cbx@incollpart}%
+ {\restorefield{part}{\cbx@incollpart}}%
+ {}%
+ \ifboolexpr{%
+ test {\IfBeginWith{\thefield{entrytype}}{mv}}%
+ and
+ not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}%
+ }%
+ {\printfield{volume}%
+ \clearfield{volume}%
+ \global\let\cbx@incollvol\undefined% Volume fix
+ \printfield{part}%
+ \clearfield{part}%
+ \global\let\cbx@incollpart\undefined% Volume fix
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}}%
+ {\bibstring{in}\setunit{\addspace}}}%
+ {\iffieldundef{part}%
+ {\ifcsdef{cbx@incollpart}%
+ {\restorefield{part}{\cbx@incollpart}\toggletrue{cms@xrefpart}}%
+ {}}%
+ {}%
+ \ifboolexpr{%
+ test {\IfBeginWith{\thefield{entrytype}}{mv}}%
+ and
+ not test {\IfBeginWith{\thefield{relatedtype}}{maintitl}}%
+ }%
+ {\printfield[xrefpart]{part}%
+ \clearfield{part}%
+ \global\let\cbx@incollpart\undefined% Volume fix
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}}%
+ {\bibstring{in}\setunit{\addspace}}}}%
+ {\iffieldundef{part}%
+ {\ifcsdef{cbx@incollpart}%
+ {\restorefield{part}{\cbx@incollpart}\toggletrue{cms@xrefpart}}%
+ {}}%
+ {}%
+ \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR%
+ \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}%
+ {\printfield{volume}%
+ \clearfield{volume}%
+ \global\let\cbx@incollvol\undefined% Volume fix
+ \printfield{part}%
+ \clearfield{part}%
+ \global\let\cbx@incollpart\undefined% Volume fix
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}}%
+ {\bibstring{in}\setunit{\addspace}}}}%
+
+\newbibmacro*{chapincoll}{%
+ \iffieldundef{chapter}%
+ {}%
+ {\printfield{chapter}\addspace%
+ \clearfield{chapter}}}%
+
+\newbibmacro*{xrefchapincoll}{%
+ \iffieldundef{chapter}%
+ {\printtext{\relax}}%
+ {\printfield{chapter}\addspace%
+ \clearfield{chapter}}}%
+
+\newbibmacro*{chapinscore}{%
+ \iffieldundef{chapter}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{eventyear}}%
+ and
+ not test {\iffieldundef{booktitle}}%
+ and
+ test {\ifentrytype{audio}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\bibstring{in}\setunit{\addspace}}%
+ {}}%
+ {\printfield{chapter}\clearfield{chapter}%
+ \iffieldundef{booktitle}%
+ {}%
+ {\addspace\bibstring{of}\setunit{\addspace}}}}%
+
+\newbibmacro*{chap+as+track}{%
+ \iffieldundef{chapter}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{booktitle}}%
+ and
+ not togl {cms@origpublished}%
+ }%
+ {\bibstring{on}\setunit{\addspace}}%
+ {}}%
+ {\printfield{chapter}\clearfield{chapter}%
+ \iffieldundef{booktitle}%
+ {}%
+ {\addspace\bibstring{on}\setunit{\addspace}}}}%
+
+\newbibmacro*{caddendum}{% New macros for 16th ed. field exclusion
+ \ifboolexpr{%
+ togl {cms@addendum}%
+ and
+ not test {\iffieldundef{addendum}}%
+ }%
+ {\newcunit\printfield{addendum}}%
+ {}}%
+
+\newbibmacro*{cnotefield}{%
+ \iftoggle{cms@notefield}%
+ {\printfield{note}}%
+ {}}%
+
+\newbibmacro*{cser+num}{%
+ \iftoggle{cms@bookseries}%
+ {\usebibmacro{series+or+shortser}%
+ \printfield[sernum]{number}}%
+ {}}%
+
+\newbibmacro*{ser+num}{%
+ \usebibmacro{series+or+shortser}%
+ \printfield[sernum]{number}}
+
+\newbibmacro*{series+or+shortser}{%
+ \iffieldundef{shortseries}%
+ {\printfield{series}}%
+ {\ifboolexpr{%
+ (
+ test {\ifcitation}%
+ and
+ togl {cms@citeshser}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibshser}%
+ )
+ }%
+ {\printfield{shortseries}}%
+ {\printfield{series}}}}
+
+\newbibmacro*{music+origdate}{%
+ \iffieldequalstr{pubstate}{reprint}% 17th ed.
+ {}%
+ {\iffieldundef{origyear}%
+ {}%
+ {\usebibmacro{cmsorigdate}}%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\iftoggle{cms@fullnote}%
+ {\newcunit
+ \bibsstring{\thefield{pubstate}}}%
+ {\newunit
+ \biblstring{\thefield{pubstate}}}}%
+ {\iftoggle{cms@fullnote}%
+ {\newcunit}%
+ {\newunit}%
+ \printfield[prenote]{pubstate}}}}}% Date fix
+
+\newbibmacro*{music+eventdate}{%
+ \iffieldundef{eventyear}%
+ {}%
+ {\printeventdate}}% Date fix
+
+\newbibmacro*{ctitle+stitle}{% New test here for related entries.
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}%
+
+\newbibmacro*{citaltitle+stitle}{% New test, as above.
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newcunit\newblock}
+
+\newbibmacro*{title+stitle}{%
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}}%
+
+\newbibmacro*{italtitle+stitle}{%
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \printfield{titleaddon}%
+ \setunit{\addspace}%
+ \usebibmacro{language+transtitle}%
+ \newunit\newblock}
+
+\newbibmacro*{mag+news+title}{%
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ptitleaddonpunct}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@related}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{titleaddon}}%
+ }%
+
+\newbibmacro*{cmag+news+title}{%
+ \printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\toggletrue{cms@relreview}%
+ \usebibmacro{related:init}%
+ \usebibmacro{related:noterefhelper}%
+ \usebibmacro{related}%
+ \togglefalse{cms@relreview}}%
+ {\printfield{titleaddon}}%
+ }%
+
+\newbibmacro*{clegis+news+title}{%
+ \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND%
+ \iffieldundef{titleaddon}}%
+ {}%
+ {\printtext[title]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ }}%
+
+\newbibmacro*{language+transtitle}{%
+ \iffieldundef{usere}%
+ {\printlist[][-\value{listtotal}]{language}}%
+ {\printfield{usere}}}
+
+\newbibmacro*{issuetitle}{%
+ \iffieldundef{issuetitle}%
+ {}%
+ {\ifthenelse{\ifentrytype{article}\OR%
+ \ifentrytype{review}\OR%
+ \ifentrytype{suppperiodical}}% This test is for
+ {\usebibmacro{cms-in:}}% periodical entries
+ {}%
+ \printtext[issuetitle]{%
+ \printfield[itnoformat]{issuetitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sitnoformat]{issuesubtitle}}}}
+
+\newbibmacro*{btitle+bstitle}{%
+ \iffieldundef{booktitle}%
+ {}%
+ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}}%
+ {}%
+ {\usebibmacro{cms-in:}}%
+ \printtext[booktitle]{%
+ \printfield[btnoformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sbtnoformat]{booksubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{booktitleaddon}}}%
+
+\newbibmacro*{publ+loc+year}{% Revised for reprint (17th ed.)
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldequalstr{pubstate}{reprint}%
+ {\ifentrytype{video}%
+ {}%
+ {\bibstring{reprint}%
+ \newcunit}}%
+ {\iffieldbibstring{pubstate}%
+ {\bibstring{\thefield{pubstate}}%
+ \newcunit}%
+ {\printfield[prenote]{pubstate}%
+ \newcunit}}}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}%
+}
+
+\newbibmacro*{origpubl+loc+year}{% 16th ed.
+ \printlist{origlocation}%
+ \iflistundef{origpublisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{origpublisher}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{cmsorigdate}%
+}
+
+\newbibmacro*{howpubl+loc+year}{% Revised for reprint (17th ed)
+ \usebibmacro{cmsorigdate}%
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\iftoggle{cms@fullnote}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\biblstring{\thefield{pubstate}}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iffieldundef{howpublished}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printfield{howpublished}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}%
+}
+
+\newbibmacro*{inst+loc+year}{% Revised for reprint (17th ed)
+ \usebibmacro{origpubl+loc+year}% 16th ed.
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\iftoggle{cms@fullnote}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\biblstring{\thefield{pubstate}}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iflistundef{institution}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{institution}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}%
+}%
+
+\newbibmacro*{cpubl+loc+year}{% Revised for reprint
+ \ifboolexpr{%
+ test {\iflistundef{location}}%
+ and
+ test {\iflistundef{publisher}}%
+ and
+ test {\iffieldundef{year}}%
+ and
+ test {\iffieldundef{pubstate}}% 17th ed
+ }%
+ {}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \usebibmacro{origpubl+loc+year}%
+ \setunit*{\addsemicolon\addspace}%
+ \iffieldundef{pubstate}% 17th ed
+ {}%
+ {\iffieldequalstr{pubstate}{reprint}%
+ {\ifentrytype{video}%
+ {}%
+ {\bibsstring{reprint}%
+ \newcunit}}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}%
+ \newcunit}%
+ {\printfield[prenote]{pubstate}%
+ \newcunit}}}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{publisher}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{date}}}}%
+
+\newbibmacro*{crefpubl+loc+year}{% 17th ed.
+ \ifboolexpr{%
+ test {\iflistundef{location}}%
+ and
+ test {\iflistundef{publisher}}%
+ and
+ test {\iffieldundef{year}}%
+ and
+ test {\iffieldundef{pubstate}}%
+ and
+ test {\iffieldundef{note}}%
+ }%
+ {}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \usebibmacro{origpubl+loc+year}%
+ \setunit*{\addsemicolon\addspace}%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldequalstr{pubstate}{reprint}%
+ {\ifentrytype{video}%
+ {}%
+ {\bibsstring{reprint}%
+ \newcunit}}%
+ {\iffieldbibstring{pubstate}%
+ {\bibsstring{\thefield{pubstate}}%
+ \newcunit}%
+ {\printfield[prenote]{pubstate}%
+ \newcunit}}}%
+ \usebibmacro{cnotefield}%
+ \setunit*{\addcomma\addspace}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{publisher}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{date}}}}%
+
+\newbibmacro*{cpubletter+loc+year}{%
+ \ifboolexpr{%
+ test {\iflistundef{location}}%
+ and
+ test {\iflistundef{publisher}}%
+ and
+ test {\iffieldundef{year}}%
+ }%
+ {}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addspace}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{publisher}%
+ \setunit{\addcomma\addspace}%
+ \usebibmacro{date}}}}% Changed for 0.9
+
+\newbibmacro*{originally+published+as}{% Punctuation fix now in
+ \iffieldundef{userf}% \origfullcite for 0.8e.
+ {\iffieldundef{reprinttitle}%
+ {}%
+ {\usebibmacro{begrelated}%
+ \bibstring{reprintfrom}% ?
+ \origpublcite{\thefield{reprinttitle}}%
+ \usebibmacro{endrelated}%
+ \newunit}}%
+ {\usebibmacro{begrelated}%
+ \iflistundef{origlanguage}%
+ {\bibstring{origpub}%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}%
+ {\iftoggle{cms@postposit}%
+ {\bibstring{origedition}%
+ \setunit{\addspace}%
+ \printlist[edlang]{origlanguage}%
+ \addcolon%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}%
+ {\printlist[edlang]{origlanguage}%
+ \setunit{\addspace}%
+ \bibstring{origedition}%
+ \origfullcite{\thefield{userf}}%
+ \usebibmacro{endrelated}%
+ \newunit}}}}
+
+\newbibmacro*{org+publ+loc+year}{% What was wrong with \ifthenelse here?
+ \usebibmacro{origpubl+loc+year}%{cmsorigdate}% 16th ed.
+ \reprintpunct%
+ \iffieldundef{pubstate}%
+ {}%
+ {\iffieldbibstring{pubstate}%
+ {\iftoggle{cms@fullnote}%
+ {\bibsstring{\thefield{pubstate}}}%
+ {\biblstring{\thefield{pubstate}}}}%
+ {\printfield[prenote]{pubstate}}%
+ \newcunit}%
+ \printlist{location}%
+ \iflistundef{organization}%
+ {\iflistundef{publisher}%
+ {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcolon\addspace}}}%
+ {\setunit*{\addcolon\addspace}}%
+ \printlist{organization}%
+ \setunit*{\addcomma\addspace}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}%
+ \usebibmacro{date}}
+
+\newbibmacro*{cjournal+issue+year+pages}{%
+ \ifentrytype{periodical}%
+ {\usebibmacro{cperiodical+ser+vol+num}}%
+ {\usebibmacro{cjournal+ser+vol+num}}%
+ \ifboolexpr{% 16th ed.
+ test {\iffieldundef{issue}}%
+ and
+ test {\iffieldundef{year}}%
+ and
+ not togl {cms@switchdates}%
+ }%
+ {\iffieldundef{number}%
+ {\ifthenelse{\iffieldundef{pagination}\AND%
+ \iffieldundef{bookpagination}\AND\iffieldundef{eid}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}}%
+ {\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{number}}% 16th ed.
+ {\newcunit%
+ \iffieldundef{issue}%
+ {\usebibmacro{number+or+month}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}%
+ \addcomma\addspace}%
+ {\setunit{\addspace}%
+ \printtext[parens]{% parens is the default here
+ \iffieldundef{issue}%
+ {\usebibmacro{number+or+month}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}}}}
+
+\newbibmacro*{letter+date}{% New for 0.9
+ \iflistundef{origlocation}%
+ {}%
+ {\printlist{origlocation}%
+ \newcunit\newblock}%
+ \iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
+ {}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
+ {}%
+ {\cms@datelong{orig}}}}
+
+\newbibmacro*{unpubl+letter+date}{% For Misc entries
+ \iffieldundef{venue}%
+ {}%
+ {\printfield{venue}%
+ \newcunit\newblock}%
+ \iftoggle{cms@switchdates}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
+ {}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
+ {\printdate}% For interviews and other dated non-letters.
+ {\cms@datelong{orig}}}}
+
+\newbibmacro*{music+pubstate}{%
+ \iffieldequalstr{pubstate}{reprint}%
+ {\iftoggle{cms@switchdates}%
+ {\iffieldundef{year}%
+ {}%
+ {\printtext{% 16th ed.
+ \usebibmacro{choosepubstring}%
+ \printdate}}}%
+ {\iffieldundef{origyear}%
+ {}%
+ {\printtext{% 16th ed.
+ \usebibmacro{choosepubstring}%
+ \printorigdate}}}}%
+ {}}%
+
+\newbibmacro*{choosepubstring}{%
+ \ifthenelse{\ifentrytype{video}\OR%
+ \ifentrytype{music}}%
+ {\bibstring{origreleaseyear}}%
+ {\bibstring{origpubyearalt}}}%
+
+\renewbibmacro*{date}{% New for 0.9
+ \iftoggle{cms@switchdates}%
+ {\printorigdate}%
+ {\printdate}}
+
+\newbibmacro*{time+stamp}{% 17th ed.
+ \iftoggle{cms@switchdates}%
+ {\iffieldundef{orighour}%
+ {}%
+ {\newcunit\printorigtime}}%
+ {\iffieldundef{hour}%
+ {}%
+ {\newcunit\printtime}}}
+
+\newbibmacro{cite:xref+date}{%
+ \ifboolexpr{%
+ togl {cms@omitxrefdate}%
+ or
+ togl {cms@bookcitexref}%
+ or
+ test {\iffieldundef{crossref}}%
+ or
+ test {\iffieldundef{maintitle}}%
+ or
+ ((
+ test {\iffieldundef{year}}%
+ or
+ togl {cms@switchdates}%
+ )
+ and
+ (test {\iffieldundef{origyear}}%
+ or
+ not togl {cms@switchdates}%
+ ))
+ or
+ not test {\ifentryseen{\thefield{crossref}}}%
+ }%
+ {\ifboolexpr{%
+ togl {cms@omitxrefdate}%
+ or
+ togl {cms@bookcitexref}%
+ or
+ test {\iffieldundef{xref}}%
+ or
+ test {\iffieldundef{maintitle}}%
+ or
+ ((
+ test {\iffieldundef{year}}%
+ or
+ togl {cms@switchdates}%
+ )
+ and
+ (test {\iffieldundef{origyear}}%
+ or
+ not togl {cms@switchdates}%
+ ))
+ or
+ not test {\ifentryseen{\thefield{xref}}}%
+ }%
+ {}%
+ {\printtext[parens]{\usebibmacro{date}}}}%
+ {\printtext[parens]{\usebibmacro{date}}}}
+
+\newbibmacro*{cmsorigdate}{% New for 0.9
+ \iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}
+
+\newbibmacro*{cmsyear}{%
+ \iftoggle{cms@switchdates}%
+ {\printorigdateextra}% \printfield{origyear}
+ {\printdateextra}}% \printfield{year}
+
+\newbibmacro*{number+or+month}{%
+ \iffieldundef{number}%
+ {\usebibmacro{date}}%
+ {\iftoggle{cms@numbermonth}%
+ {\usebibmacro{date}}%
+ {\usebibmacro{cmsyear}}}}
+
+\newcommand*{\cms@datelong}[1]{% Modified for 17th ed.
+ \begingroup
+ \protected\def\mkbibdatelong##1##2##3{%
+ \iffieldundef{##3}%
+ {}%
+ {\iftoggle{cms@ukord}%
+ {\mkbibordinal{\thefield{##3}}}%
+ {\stripzeros{\thefield{##3}}}%
+ \iffieldundef{##2}{}{\nobreakspace}}%
+ \iffieldundef{##2}%
+ {}%
+ {\mkbibmonth{\thefield{##2}}%
+ \iffieldundef{##1}{}{\space}}%
+ \iffieldbibstring{##1}%
+ {\bibstring{\thefield{##1}}}%
+ {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}%
+ \cms@mkbibrangetrunc{long}{#1}%
+ \endgroup}%
+
+\newrobustcmd*{\letterdatelong}{% For users: 17th ed.
+ \ifboolexpr{%
+ test {\ifdefstring{\blx@languagename}{american}}%
+ or
+ test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\cms@datelong{}}%
+ {\cms@datelong{orig}}}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}}%
+
+\newbibmacro*{cjournal+ser+vol+num}{%
+ \usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}%
+ {}%
+ {\newcunit%
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \printfield[jourvol]{volume}%
+ \setunit{\addcomma\addspace}% need * here?
+ \printfield[journum]{number}}% Moved eid for 17th ed.
+
+\newbibmacro*{cperiodical+ser+vol+num}{% For periodical entries,
+ \ifboolexpr{% article subtype
+ not test {\iffieldundef{shorttitle}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \setunit*{\addspace}%
+ \iffieldundef{series}%
+ {}%
+ {\newcunit%
+ \printfield[jourser]{series}%
+ \newcunit}%\setunit*{\addspace}?
+ \printfield[jourvol]{volume}%
+ \setunit{\addcomma\addspace}% need * here?
+ \printfield[journum]{number}}% Move eid field for 17th ed.
+
+\newbibmacro*{journal+sub}{%
+ \iffieldundef{journaltitle}%
+ {}%
+ {\ifboolexpr{%
+ not test {\iffieldundef{shortjournal}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\clearlist{location}\printtext[shortjournal]{%
+ \printfield[jtsnoformat]{shortjournal}}}%
+ {\printtext[journaltitle]{%
+ \printfield[jtnoformat]{journaltitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[sjtnoformat]{journalsubtitle}}}}}%
+
+\newbibmacro*{cite+doi+url}{% 16th ed.
+ \iftoggle{cms@url@innotes}%
+ {\ifboolexpr{% Fix printing of urldate when url=false
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{urlyear}}%
+ }%
+ {\printurldate%
+ \ifboolexpr{% 17th ed.
+ togl {cms@urltime}%
+ and
+ not test {\iffieldundef{urlhour}}%
+ }%
+ {\newcunit\printurltime}%
+ {}}% Date fix
+ {}%
+ \newcunit\newblock
+ \iftoggle{cms@doionly}%
+ {\iffieldundef{doi}%
+ {}%
+ {\printfield{doi}%
+ \clearfield{url}}}%
+ {\ifboolexpr{%
+ togl {cms@doi}%
+ and
+ not test {\iffieldundef{doi}}%
+ }%
+ {\printfield{doi}}%
+ {}}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@eprint}%
+ and
+ not test {\iffieldundef{eprint}}%
+ }%
+ {\usebibmacro{eprint}}%
+ {}%
+ \newcunit\newblock
+ \ifboolexpr{%
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{url}}%
+ }%
+ {\printfield{url}}%
+ {}}%
+ {}}%
+
+\newbibmacro*{chap+pag}{%
+ \printfield{chapter}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{pages}}
+
+\newbibmacro*{mag+news+date}{% 17th ed.
+ \iftoggle{cms@fullnote}%
+ {\usebibmacro{cmag+date+issue}}%
+ {\ifnameundef{author}%
+ {\iffieldundef{maintitle}%
+ {\newunit\newblock}% Punctuation differs after title and jtitle
+ {\printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}%
+ \newcunit\newblock}%
+ \printfield{usera}%
+ \setunit*{\addcomma\addspace}\newblock%
+ \usebibmacro{date+issue}}%
+ {\usebibmacro{mag+date+issue}}}}
+
+\newbibmacro*{date+issue}{%
+ \iffieldundef{issue}%
+ {\iffieldundef{number}%
+ {\usebibmacro{date}%
+ \usebibmacro{time+stamp}}% 17th ed.
+ {\iftoggle{cms@numbermonth}% For exclusion of month
+ {\usebibmacro{date}}%
+ {\usebibmacro{cmsyear}}%
+ \setunit{\addcomma\addspace}%
+ \printfield[journum]{number}}}%
+ {\printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}
+
+\newbibmacro*{cmag+date+issue}{%
+ \usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \newcunit\newblock
+ \iffieldundef{maintitle}%
+ {}%
+ {\printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ \newcunit\newblock
+ \printfield{usera}% For network ID and possible section of newspaper.
+ \newcunit\newblock
+ \usebibmacro{date+issue}}
+
+\newbibmacro*{mag+date+issue}{%
+ \usebibmacro{journal+sub}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \newunit\newblock
+ \iffieldundef{maintitle}%
+ {}%
+ {\printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ \newcunit\newblock
+ \printfield{usera}% For network ID and possible section of newspaper.
+ \newcunit\newblock
+ \usebibmacro{date+issue}}
+
+\newbibmacro*{periodical+date+issue}{% For periodical type &
+ \ifboolexpr{% magazine subtype
+ not test {\iffieldundef{shorttitle}}%
+ and
+ ((
+ test {\ifcitation}%
+ and
+ togl {cms@citejtabb}%
+ )
+ or
+ (
+ test {\ifbibliography}%
+ and
+ togl {cms@bibjtabb}%
+ ))
+ }%
+ {\clearlist{location}\printtext[shorttitle]{%
+ \printfield[tnoformat]{shorttitle}}}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \setunit*{\addspace}%
+ \printlist[periodplace]{location}%
+ \iftoggle{cms@fullnote}{\newcunit}{\newunit}%
+ \iffieldundef{maintitle}%
+ {}%
+ {\printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}
+ \newcunit\newblock
+ \printfield{usera}% For network ID and possible section of newspaper.
+ \newcunit\newblock
+ \usebibmacro{date+issue}}
+
+\newbibmacro*{cmtitle+mstitle+vol+part+title+stitle}{%
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\iffieldundef{title}%
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}%
+ {\toggletrue{cms@usedvol}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}
+
+\newbibmacro*{cmtitle+mstitle+vol+part+btitle+bstitle}{%
+ \usebibmacro{btitle+bstitle}%
+ \newcunit% MT Fix
+ \iffieldundef{maintitle}%
+ {}%
+ {\ifthenelse{\(\iffieldundef{volume}\AND\iffieldundef{part}\)\OR%
+ \(\iffieldundef{booktitle}\AND\NOT\ifentrytype{bookinbook}\)}%
+ {\iffieldundef{booktitle}% Fix for origpublin ???
+ {\usebibmacro{cms-in:}}%
+ {\bibstring{in}\setunit{\addspace}}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}%
+ \toggletrue{cms@vol}}% InIn fix
+ {\toggletrue{cms@usedvol}%
+ \printfield{volume}%
+ \printfield{part}%
+ \setunit{\addspace}%
+ \bibstring{ofseries}%
+ \setunit{\addspace}%
+ \printtext[maintitle]{%
+ \printfield[mtnoformat]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[smtnoformat]{mainsubtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{maintitleaddon}}}}
+
+\newbibmacro*{backref+check}{%
+ \ifbibliography%
+ {\backtrackerfalse}%
+ {}}%
+
+\newbibmacro*{cite:postnote}{%
+ \iftoggle{cms@loccit}%
+ {}%
+ {\usebibmacro{postnote}}}
+
+\newbibmacro*{semel:postnote}{% Fix to print postnote only once
+ \printfield{postnote}% Old form broke \ifloccit
+ \global\let\cms@pnsaved\abx@field@postnote%
+ \global\let\abx@field@postnote\undefined%
+ \AtNextCitekey{\ifciteibid{}{\global\let\cms@pnsaved\undefined}}}%
+
+\renewbibmacro*{postnote}{%
+ \iftoggle{cms@fullnote}%
+ {\global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}%
+ {\IfBeginWith{\thefield{entrytype}}{mv}%
+ {\usebibmacro{crossref:volume+postnote}}%
+ {\iftoggle{cms@printshhand}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{shorthand}%
+ {\global\togglefalse{cms@printshhand}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}%
+ {\setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \global\togglefalse{cms@printshhand}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}}%
+ {\iffieldundef{shorthand}%
+ {\postnotewrapper%delim%
+ \usebibmacro{semel:postnote}%
+ \global\togglefalse{cms@printshhand}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}%
+ {\postnotewrapper%delim%
+ \usebibmacro{semel:postnote}%
+ \setunit{\shorthandpunct}%
+ \usebibmacro{cms:shorthandintro}%
+ \global\togglefalse{cms@printshhand}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}}}%
+ {\iffieldundef{postnote}%
+ {\usebibmacro{print+noteref}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}%
+ {\postnotewrapper%delim%
+ \usebibmacro{semel:postnote}%
+ \usebibmacro{print+noteref}%
+ \global\togglefalse{cms@shortnote}%
+ \global\togglefalse{cms@fullnote}}}}}}%
+
+\newbibmacro*{fullpostnote}{%
+ \iffieldundef{postnote}%
+ {\iffieldundef{chapter}%
+ {\iffieldundef{pages}%
+ {}%
+ {\postnotedelim%
+ \printfield{pages}}}%
+ {\postnotedelim%
+ \printfield{chapter}}}%
+ {\postnotewrapper%delim% Don't need \ifbibliography test w/ following
+ \usebibmacro{semel:postnote}}}
+
+\newbibmacro*{eid+fullpostnote}{%
+ \iffieldundef{postnote}%
+ {\iffieldundef{chapter}%
+ {\iffieldundef{pages}%
+ {\iffieldundef{eid}%
+ {}%
+ {\postnotedelim%
+ \printfield{eid}%
+ \clearfield{eid}}}%
+ {\postnotedelim%
+ \printfield{pages}}}%
+ {\postnotedelim%
+ \printfield{chapter}}}%
+ {\postnotewrapper%
+ \usebibmacro{semel:postnote}}}
+
+\newbibmacro*{juridpostnote}{%
+ \iftoggle{cms@fullnote}%
+ {\iffieldundef{issue}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \printfield{pages}%
+ \iffieldundef{postnote}%
+ {}%
+ {\ifthenelse{\ifentrytype{legislation}\OR\ifentrytype{legal}}%
+ {\newcunit}%
+ {\setunit*{\addcomma\addspace}}%
+ \usebibmacro{semel:postnote}}}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\newcunit%
+ \printfield{pages}}}%
+ {\newcunit%
+ \usebibmacro{semel:postnote}}}}%
+ {\iffieldundef{issue}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \printfield{pages}}}%
+ {\iffieldundef{shortjournal}%
+ {\setunit{\addcomma\addspace}}%
+ {\ifthenelse{\iffieldundef{part}\AND\iffieldundef{chapter}}%
+ {\setunit{\addspace}}%
+ {\ifpunctmark{*}{\setunit{\addspace}}{\newcunit}}}%
+ \usebibmacro{semel:postnote}}}% See below for alternate test here
+ {\iffieldundef{postnote}%
+ {\iffieldundef{pages}%
+ {}%
+ {\newcunit%
+ \printfield{pages}}}%
+ {\newcunit%
+ \usebibmacro{semel:postnote}}}%
+ \global\togglefalse{cms@fullnote}%
+ \global\togglefalse{cms@shortnote}}}%
+
+\newbibmacro*{volfullpostnote}{%
+ \iftoggle{cms@postvol}%
+ {\ifboolexpr{(
+ test {\iffieldundef{volume}}%
+ and
+ test {\iffieldundef{part}}%
+ )
+ or
+ togl {cms@usedvol}%
+ }%
+ {\usebibmacro{fullpostnote}}%
+ {\iffieldundef{postnote}%
+ {\iffieldundef{chapter}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}}%
+ {\iffieldundef{part}%
+ {\ifthenelse{\iffieldnums{pages}\AND%
+ \iffieldundef{bookpagination}\AND\iffieldnums{volume}}%
+ {\newcunit\printfield[default]{volume}%
+ \postvolpunct%
+ \printfield{pages}}%
+ {\newcunit\printfield{volume}%
+ \addcomma\addspace%
+ \printfield{pages}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \addcomma\addspace%
+ \printfield{pages}}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \newcunit
+ \printfield{chapter}}}%
+ {\iffieldundef{part}%
+ {\ifthenelse{\iffieldnums{postnote}\AND%
+ \iffieldundef{pagination}\AND\iffieldnums{volume}}%
+ {\newcunit\printfield[default]{volume}%
+ \postvolpunct%
+ \usebibmacro{semel:postnote}}%
+ {\newcunit\printfield{volume}%
+ \addcomma\addspace%
+ \usebibmacro{semel:postnote}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \addcomma\addspace%
+ \usebibmacro{semel:postnote}}}}}%
+ {\usebibmacro{fullpostnote}}%
+ \global\togglefalse{cms@usedvol}}%
+
+\newbibmacro*{volume+or+volumes}{% Volume fix (modified)
+ \ifboolexpr{ (
+ test {\iffieldundef{maintitle}}%
+ or
+ togl {cms@vol}%
+ )
+ and
+ not togl {cms@postvol}%
+ and
+ not togl {cms@usedvol}%
+ }%
+ {\global\togglefalse{cms@vol}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\printfield{volumes}}%
+ {\printfield{volume}%
+ \printfield{part}}}%
+ {\ifboolexpr{%
+ togl {cms@hidevolumes}%
+ and
+ (
+ not test {\iffieldundef{volume}}%
+ or
+ not test {\iffieldundef{part}}%
+ or
+ togl {cms@usedvol}%
+ )
+ }%
+ {\global\togglefalse{cms@vol}}%
+ {\global\togglefalse{cms@vol}%
+ \printfield{volumes}}}}
+
+\newbibmacro*{crossref:volume+postnote}{%
+ \IfBeginWith{\thefield{entrytype}}{mv}%
+ {\usebibmacro{extract+mt+vol}}%
+ {}%
+ \ifcsdef{cbx@incollpgn}%
+ {\restorefield{pagination}{\cbx@incollpgn}}%
+ {}%
+ \ifcsdef{cbx@incollbkpgn}%
+ {\restorefield{bookpagination}{\cbx@incollbkpgn}}%
+ {}%
+ \iffieldundef{volume}% Volume fix (unfinished)
+ {\ifcsdef{cbx@incollvol}%
+ {\restorefield{volume}{\cbx@incollvol}%
+ \ifcsdef{cbx@incollpart}{\restorefield{part}{\cbx@incollpart}}{}%
+ \iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{pages+cref+print}}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}\printfield{part}}%
+ {\usebibmacro{pages+cref+print}}}}%
+ {\usebibmacro{postnote+cref+print}}}%
+ {\iffieldundef{part}%
+ {\ifcsdef{cbx@incollpart}%
+ {\restorefield{part}{\cbx@incollpart}%
+ \iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{pages+cref+print}}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}\printfield{part}}%
+ {\usebibmacro{pages+cref+print}}}}%
+ {\usebibmacro{postnote+cref+print}}}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{fullpostnote}}%
+ {\usebibmacro{fullpostnote}}}}%
+ {\iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{pages+cref+print}}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}\printfield{part}}%
+ {\usebibmacro{pages+cref+print}}}}%
+ {\usebibmacro{postnote+cref+print}}}}}%
+ {\iffieldundef{part}%
+ {\ifcsdef{cbx@incollpart}%
+ {\restorefield{part}{\cbx@incollpart}}%
+ {}}%
+ {}%
+ \iffieldundef{maintitle}% More elaborate test ???
+ {\iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{pages+cref+print}}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}\printfield{part}}%
+ {\usebibmacro{pages+cref+print}}}}%
+ {\usebibmacro{postnote+cref+print}}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollvol}}%
+ and
+ (
+ not test {\iffieldequalcs{volume}{cbx@incollvol}}%
+ or
+ togl {cms@xrefvol}% Necessary ???
+ )
+ }%
+ {\restorefield{volume}{\cbx@incollvol}%
+ \iffieldundef{part}%
+ {\ifcsdef{cbx@incollpart}{\restorefield{part}{\cbx@incollpart}}{}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollpart}}%
+ and
+ (
+ not test {\iffieldequalcs{part}{cbx@incollpart}}%
+ or
+ togl {cms@xrefpart}%
+ )
+ }%
+ {\clearfield{part}\restorefield{part}{\cbx@incollpart}}%
+ {\clearfield{part}}}%
+ \iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{pages+cref+print}}%
+ {\iffieldundef{pages}%
+ {\newcunit\printfield{volume}\printfield{part}}%
+ {\usebibmacro{pages+cref+print}}}}%
+ {\usebibmacro{postnote+cref+print}}}%
+ {\ifboolexpr{%
+ test {\ifcsdef{cbx@incollpart}}%
+ and
+ (
+ not test {\iffieldequalcs{part}{cbx@incollpart}}%
+ or
+ togl {cms@xrefpart}%
+ )
+ }%
+ {\iffieldundef{postnote}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \printfield{part}\newcunit\printfield{pages}}%
+ {\iffieldundef{pages}%
+ {\printfield{part}}%
+ {\printfield{part}\newcunit\printfield{pages}}}}%
+ {\printfield{part}\newcunit\usebibmacro{semel:postnote}}}%
+ {\ifcsdef{cbx@incollpages}%
+ {\restorefield{pages}{\cbx@incollpages}%
+ \usebibmacro{fullpostnote}}%
+ {\usebibmacro{fullpostnote}}}}}}%
+ \usebibmacro{print+noteref}}%
+
+\newbibmacro*{pages+cref+print}{% Reusable chunk for above
+ \iffieldundef{part}%
+ {\ifthenelse{\iffieldnums{pages}\AND%
+ \iffieldundef{bookpagination}\AND\iffieldnums{volume}}%
+ {\newcunit\printfield[default]{volume}%
+ \postvolpunct%
+ \printfield{pages}}%
+ {\newcunit\printfield{volume}%
+ \addcomma\addspace%
+ \printfield{pages}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \addcomma\addspace%
+ \printfield{pages}}}
+
+\newbibmacro*{postnote+cref+print}{% Reusable chunk for above
+ \iffieldundef{part}%
+ {\ifthenelse{\iffieldnums{postnote}\AND%
+ \iffieldundef{pagination}\AND\iffieldnums{volume}}%
+ {\newcunit\printfield[default]{volume}%
+ \postvolpunct%
+ \usebibmacro{semel:postnote}}%
+ {\newcunit\printfield{volume}%
+ \addcomma\addspace%
+ \usebibmacro{semel:postnote}}}%
+ {\newcunit\printfield{volume}%
+ \printfield{part}%
+ \addcomma\addspace%
+ \usebibmacro{semel:postnote}}}
+
+\newbibmacro*{inreffullpostnote}{%
+ \global\togglefalse{cms@usedvol}%
+ \iffieldundef{postnote}%
+ {\iffieldundef{chapter}%
+ {\iffieldundef{pages}%
+ {\newcunit%\addcomma\addspace% Change to axe spurious comma
+ \printlist[][-\value{listtotal}]{lista}}%
+ {\postnotedelim%
+ \printfield{pages}}}%
+ {\postnotedelim%
+ \printfield{chapter}}}%
+ {\postnotewrapper%delim%
+ \usebibmacro{semel:postnote}}}
+
+\newbibmacro*{xrefprenote}{%
+ \ifboolexpr{% Kludgy fix for spurious idem
+ test {\ifdefvoid{\blx@idemtracker}}%
+ or
+ test {\ifbibliography}%
+ }%
+ {}{\blx@idemtracker}%
+ \iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}%
+ \iffieldundef{pages}{}{\savefield{pages}{\cbx@incollpages}}%
+ \iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}%
+ \iffieldundef{pagination}{}{\savefield{pagination}{\cbx@incollpgn}}%
+ \iffieldundef{bookpagination}{}{\savefield{bookpagination}%
+ {\cbx@incollbkpgn}}% The next line saves the child's backrefs
+ \iflistundef{pageref}{}{\savelist{pageref}{\cbx@incollpgref}}}%
+
+\newbibmacro*{xrefpostnote}{%
+ \iftoggle{cms@xrefurl}%
+ {\ifbibliography%
+ {\usebibmacro{bib+doi+url}}%
+ {\usebibmacro{cite+doi+url}}}%
+ {}%
+ \ifcsdef{cbx@incollpgref}% Here we print and clear the child's
+ {\restorelist{pageref}{\cbx@incollpgref}% backrefs
+ \newunit%
+ \usebibmacro{pageref}%
+ \global\let\cbx@incollpgref\undefined}%
+ {}%
+ \togglefalse{cms@xrefvol}%
+ \togglefalse{cms@xrefpart}%
+ \global\togglefalse{cms@usedvol}%
+ \global\let\cbx@incollvol\undefined% Volume fix
+ \global\let\cbx@incollpages\undefined%
+ \global\let\cbx@incollpart\undefined%
+ \global\let\cbx@incollpgn\undefined%
+ \global\let\cbx@incollbkpgn\undefined}%
+
+\newbibmacro*{hlpunct}{%
+ \iftoggle{cms@headlessnote}%
+ {}%
+ {\newcunit\newblock}}
+
+\newbibmacro*{journalprenote}{%
+ \iffieldundef{prenote}%
+ {\bibsentence}%
+ {\usebibmacro{prenote}}}
+
+\newbibmacro*{choose+surname}{%
+ \ifboolexpr{%
+ test {\ifciteseen}%
+ and
+ not togl {cms@noneshort}%
+ }%
+ {}%
+ {\printnames{labelname}\savefield{fullhash}{\bbx@lasthash}%
+ \ifthenelse{\iffieldequalstr{labelnamesource}{shortauthor}\OR%
+ \iffieldequalstr{labelnamesource}{author}}%
+ {\clearname{author}}%
+ {\iffieldequalstr{labelnamesource}{shorteditor}%
+ {\ifnameundef{namea}%
+ {\newcunit\usebibmacro{editstrg}}%
+ {\newcunit\usebibmacro{parteditstrg}}}%%
+ {\iffieldequalstr{labelnamesource}{editor}%
+ {\newcunit\usebibmacro{editstrg}}%
+ {\iffieldequalstr{labelnamesource}{translator}%
+ {\newcunit\usebibmacro{transstrg}}%
+ {\iffieldequalstr{labelnamesource}{namea}%
+ {\newcunit\usebibmacro{parteditstrg}}%
+ {\iffieldequalstr{labelnamesource}{nameb}%
+ {\newcunit\usebibmacro{parttransstrg}}%
+ {\iffieldequalstr{labelnamesource}{namec}%
+ {\newcunit\usebibmacro{compilestrg}}%
+ {}}}}}}}}}%
+
+\newbibmacro*{clear+labelname}{%
+ \iffieldequalstr{labelnamesource}{shortauthor}%
+ {\clearname{author}\clearname{shortauthor}}%
+ {\iffieldequalstr{labelnamesource}{shorteditor}%
+ {\ifnameundef{namea}%
+ {\clearname{editor}\clearname{shorteditor}}%
+ {\clearname{namea}\clearname{shorteditor}}}%
+ {\clearname{\thefield{labelnamesource}}}}}
+
+\@ifpackagelater{biblatex}{2012/11/20}% for biblatex 2.4
+{\DeclareLabelname{\field{shortauthor} \field{author}%
+ \field{shorteditor} \field{namea} \field{editor}%
+ \field{nameb} \field{translator} \field{namec}}}%
+{\DeclareLabelname{shortauthor,author,shorteditor,namea,%
+ editor,nameb,translator,namec}}
+
+\DeclareLabeltitle[legislation]{%
+ \field{shorttitle}%
+ \field{titleaddon}%
+ \field{title}}%
+
+\DeclareDataInheritance{collection}{suppcollection}{%
+ \inherit{title}{title}
+ \inherit{subtitle}{subtitle}
+ \inherit{titleaddon}{titleaddon}}
+
+\DeclareDataInheritance{mvbook}{incollection}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{book,collection}{letter}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{book}{incollection}{%
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{mvbook,mvcollection}{letter}{%
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\DeclareDataInheritance{mvcollection}{book}{% MT revision
+ \inherit{title}{maintitle}
+ \inherit{subtitle}{mainsubtitle}
+ \inherit{titleaddon}{maintitleaddon}
+ \noinherit{shorttitle}
+ \noinherit{sorttitle}
+ \noinherit{indextitle}
+ \noinherit{indexsorttitle}
+}
+
+\AtEndPreamble{%
+ \iftoggle{cms@blogurl}% 17th ed. blogs w/ comments
+ {\DeclareDataInheritance{article}{review,suppperiodical}{%
+ \inherit{url}{url}%
+ }}{}%
+ \@ifpackageloaded{endnotes}%
+ {\patchcmd\theendnotes
+ {\enoteformat}
+ {\toggletrue{cms@endnote}\enoteformat}
+ {}
+ {\blx@err@patch{'endnotes' package}}}%
+ {}}%
+
+\DeclareDataInheritance{*}{*}{%
+ \noinherit{namea}
+ \noinherit{nameb}
+ \noinherit{nameatype}
+ \noinherit{sortyear}
+ \noinherit{sortname}
+ \noinherit{sorttitle}
+ \noinherit{urlyear}
+ \noinherit{urlmonth}
+ \noinherit{urlday}
+ \noinherit{urlseason}
+ \noinherit{urlhour}
+ \noinherit{urlminute}
+ \noinherit{doi}
+ \noinherit{eprint}
+ \noinherit{eprinttype}
+ \noinherit{url}}
+
+\DeclareDataInheritance{mvbook,mvcollection,mvproceedings,mvreference}%
+{*}{% ???
+ \noinherit{year}
+ \noinherit{month}
+ \noinherit{day}
+ \noinherit{season}
+ \noinherit{endyear}
+ \noinherit{endmonth}
+ \noinherit{endday}
+ \noinherit{endseason}
+ \noinherit{origyear}
+ \noinherit{origmonth}
+ \noinherit{origday}
+ \noinherit{origseason}
+ \noinherit{origendyear}
+ \noinherit{origendmonth}
+ \noinherit{origendday}
+ \noinherit{origendseason}}
+
+\DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7
+ \sort{
+ \field{presort}
+ }
+ \sort[final]{
+ \field{sortkey}
+ }
+ \sort{
+ \field{sortname}
+ \field{author}
+ \field{namea}
+ \field{editor}
+ \field{nameb}
+ \field{translator}
+ \field{namec}
+ \field{sorttitle}
+ \field{journaltitle}
+ \field{organization}
+ \field{title}
+ }
+ \sort{
+ \field{sorttitle}
+ \field{title}
+ }
+ \sort{
+ \field{sortyear}
+ \field{year}
+ }
+ \sort{
+ \field[padside=left,padwidth=4,padchar=0]{volume}
+ \literal{0000}
+ }
+}
+
+\DeclareSortExclusion{misc,online}{organization}
+\DeclareSortExclusion{inreference,mvreference,reference}{%
+ author,editor,namea,nameb,namec,translator}
+
+\DeclareSortingTemplate{shortjournal}{%
+ \sort{
+ \field{shortjournal}
+ }
+}
+
+\DeclareSortingTemplate{shortseries}{%
+ \sort{
+ \field{shortseries}
+ }
+}
+
+\newbibmacro*{compilestrg}{%
+ \ifthenelse{\value{namec}>1\OR\ifandothers{namec}}%
+ {\bibstring{compilers}}%
+ {\bibstring{compiler}}%
+ \clearname{namec}}%
+
+\newbibmacro*{transstrg}{%
+ \ifthenelse{\value{translator}>1\OR\ifandothers{translator}}%
+ {\ifnamesequal{translator}{namec}%
+ {\bibstring{transcompilers}%
+ \clearname{namec}}%
+ {\bibstring{translators}}}%
+ {\ifnamesequal{translator}{namec}%
+ {\bibstring{transcompiler}%
+ \clearname{namec}}%
+ {\bibstring{translator}}}%
+ \clearname{translator}}%
+
+\newbibmacro*{parttransstrg}{%
+ \ifthenelse{\value{nameb}>1\OR\ifandothers{nameb}}%
+ {\ifnamesequal{nameb}{namec}%
+ {\bibstring{transcompilers}%
+ \clearname{namec}}%
+ {\bibstring{translators}}}%
+ {\ifnamesequal{nameb}{namec}%
+ {\bibstring{transcompiler}%
+ \clearname{namec}}%
+ {\bibstring{translator}}}%
+ \clearname{nameb}}%
+
+\newbibmacro*{editstrg}{% Test added for 0.9
+ \ifthenelse{\iffieldundef{editortype}\OR%
+ \iffieldequalstr{editortype}{editor}}%
+ {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}%
+ {\ifthenelse{\ifnamesequal{editor}{translator}\AND%
+ \ifnamesequal{editor}{namec}}%
+ {\bibstring{editortranscompilers}%
+ \clearname{translator}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{namec}%
+ {\bibstring{editorcompilers}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{translator}%
+ {\bibstring{editortranslators}%
+ \clearname{translator}}%
+ {\bibstring{editors}}}}}%
+ {\ifthenelse{\ifnamesequal{editor}{translator}\AND%
+ \ifnamesequal{editor}{namec}}%
+ {\bibstring{editortranscompiler}%
+ \clearname{translator}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{namec}%
+ {\bibstring{editorcompiler}%
+ \clearname{namec}}%
+ {\ifnamesequal{editor}{translator}%
+ {\bibstring{editortranslator}%
+ \clearname{translator}}%
+ {\bibstring{editor}}}}}}%
+ {\ifbibxstring{\thefield{editortype}}%
+ {\ifthenelse{\value{editor}>1\OR\ifandothers{editor}}%
+ {\bibstring{\thefield{editortype}s}}%
+ {\bibstring{\thefield{editortype}}}}%
+ {\printtext[note]{\thefield{editortype}}}}%
+ \clearname{editor}}%
+
+\newbibmacro*{parteditstrg}{%
+ \ifthenelse{\iffieldundef{nameatype}\OR%
+ \iffieldequalstr{nameatype}{editor}}%
+ {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}%
+ {\ifthenelse{\ifnamesequal{namea}{nameb}\AND%
+ \ifnamesequal{namea}{namec}}%
+ {\bibstring{editortranscompilers}%
+ \clearname{nameb}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{namec}%
+ {\bibstring{editorcompilers}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{editortranslators}%
+ \clearname{nameb}}%
+ {\bibstring{editors}}}}}%
+ {\ifthenelse{\ifnamesequal{namea}{nameb}\AND%
+ \ifnamesequal{namea}{namec}}%
+ {\bibstring{editortranscompiler}%
+ \clearname{nameb}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{namec}%
+ {\bibstring{editorcompiler}%
+ \clearname{namec}}%
+ {\ifnamesequal{namea}{nameb}%
+ {\bibstring{editortranslator}%
+ \clearname{nameb}}%
+ {\bibstring{editor}}}}}}%
+ {\ifbibxstring{\thefield{nameatype}}%
+ {\ifthenelse{\value{namea}>1\OR\ifandothers{namea}}%
+ {\bibstring{\thefield{nameatype}s}}%
+ {\bibstring{\thefield{nameatype}}}}%
+ {\printtext[note]{\thefield{nameatype}}}}%
+ \clearname{namea}}%
+
+\newbibmacro*{clearorigin}{%
+ \toggletrue{cms@origcite}%
+ \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}%
+ {\ifnameundef{bookauthor}%
+ {\savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}%
+ {\ifnamesequal{author}{bookauthor}%
+ {\clearname{bookauthor}%
+ \savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}%
+ {\savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}}}%
+ {\clearname{author}}}%
+
+\newbibmacro*{clearpublin}{%
+ \toggletrue{cms@origcite}%
+ \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}%
+ {\ifnameundef{bookauthor}%
+ {\savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}%
+ {\ifnamesequal{author}{bookauthor}%
+ {\clearname{bookauthor}%
+ \savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}%
+ {\savefield{fullhash}{\bbx@lasthash}%
+ \clearname{author}}}}%
+ {\clearname{author}}%
+ \ifthenelse{\ifentrytype{collection}\OR\ifentrytype{proceedings}\OR%
+ \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}}%
+ {}%
+ {\clearname{namea}%
+ \clearname{nameb}}%
+ \clearfield{nameaddon}%
+ \ifthenelse{\(\ifentrytype{periodical}\OR\ifentrytype{mvbook}\OR%
+ \ifentrytype{mvcollection}\OR\ifentrytype{mvproceedings}\OR%
+ \ifentrytype{mvreference}\OR\ifentrytype{collection}\OR%
+ \ifentrytype{proceedings}\OR\ifentrytype{reference}\OR%
+ \ifentrytype{suppbook}\OR\ifentrytype{suppcollection}\)\OR%
+ \(\(\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}\)\AND\(\iffieldundef{booktitle}\AND%
+ \iffieldundef{entrysubtype}\)\)}% Song w/o album?
+ {}%
+ {\clearfield{title}%
+ \clearfield{subtitle}%
+ \clearfield{titleaddon}%
+ \clearfield{usere}%
+ \clearlist{language}%
+ \ifentrytype{music}%
+ {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}%
+ \clearfield{eventmonth}}%
+ {}}%
+ \ifentrytype{letter}%
+ {\iftoggle{cms@switchdates}%
+ {\clearfield{year}\clearfield{month}\clearfield{season}}%
+ {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}%
+ \clearfield{origlocation}}%
+ {}%
+ \clearfield{reprinttitle}%
+}
+
+%%%% Related macros from biblatex.def %%%%
+
+\renewcommand*{\begrelateddelim}{%
+ \ifcitation{\newcunitpunct}%
+ {\ifboolexpr{%
+ togl {cms@fullnote}%
+ or
+ togl {cms@shortnote}%
+ }%
+ {\newcunitpunct}%
+ {\newunitpunct}}}%
+
+\newcommand*{\begrelateddelimreviewof}{%
+ \ifcitation{\newcunitpunct}%
+ {\ifboolexpr{%
+ togl {cms@fullnote}%
+ or
+ togl {cms@shortnote}%
+ }%
+ {\newcunitpunct}%
+ {\newunitpunct}}}
+
+\newbibmacro*{related:reviewof}[1]{%
+ \iftoggle{cms@shortnote}%
+ {\entrydata*{#1}{%
+ \cmsrelhyper{\printfield[citetitle]{labeltitle}}}}%
+ {\entrydata*{#1}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \let\newunit\newcunit%
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \newcunit%
+ \ifnameundef{author}%
+ {\newcunit%
+ \ifbibliography%
+ {\usebibmacro{byeditor+others}}%
+ {\usebibmacro{cbyeditor+others}}}%
+ {\bibstring{byauthor}\addspace%
+ \printnames[byauthor]{author}%
+ \ifbibliography%
+ {\newcunit\usebibmacro{byeditor+others}}%
+ {\newcunit\usebibmacro{cbyeditor+others}}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}}}}%
+
+\newbibmacro*{related:commenton}[1]{%
+ \iftoggle{cms@shortnote}%
+ {\entrydata*{#1}{%
+ \iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\classicpunct}%
+ {\cmsrelnamehyper{\printnames{labelname}}%
+ \isdot\classicpunct}}%
+ \usebibmacro{cms+relextra+test}}}%
+ {\ifbibliography%
+ {\entrydata*{#1}{%
+ \ifentryinbib{\strfield{clonesourcekey}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\classicpunct}%
+ {\printnames{labelname}%
+ \isdot\classicpunct}}%
+ \usebibmacro{cms+relextra+test}}%
+ {\usebibmacro{at+every+item}\toggletrue{cms@fullnote}%
+ \iffieldundef{savedyear}{}{\clearfield{year}}%
+ \iffieldundef{savedmonth}{}{\clearfield{month}}%
+ \iffieldundef{savedseason}{}{\clearfield{season}}%
+ \iffieldundef{savedurl}{}{\clearfield{url}}%
+ \iffieldundef{savedaddendum}{}{\clearfield{addendum}}%
+ \usebibmacro{bib:related:full}}}}%
+ {\entrydata*{#1}{%
+ \ifentryseen{\thefield{clonesourcekey}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\classicpunct}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\classicpunct}%
+ {\cmsrelnamehyper{\printnames{labelname}}%
+ \isdot\classicpunct}}%
+ \usebibmacro{cms+relextra+test}}%
+ {\usebibmacro{at+every+item}%
+ \iffieldundef{savedurl}{}{\clearfield{url}}%
+ \iffieldundef{savedaddendum}{}{\clearfield{addendum}}%
+ \listcsxadd{blx@bsee@\the\c@refsection}{\strfield{clonesourcekey}}%
+ \usebibmacro{cite:related:full}}}}}}
+
+% Used inside previous to allow chains of relatedtype "commenton"
+% entries to mimic online thread structure. In particular it stops
+% the printing of auto-generated title fields.
+
+\newbibmacro*{cms+relextra+test}{%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ (
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ (
+ test {\ifentrytype{online}}%
+ and
+ test {\IfBeginWith{\thefield{title}}{CCCCCC}}%
+ ))
+ }%
+ {\entrydata{\thefield{clonesourcekey}}{%
+ \ifboolexpr{%
+ test {\iffieldundef{extratitle}}%
+ and
+ test {\iffieldundef{extraname}}%
+ }%
+ {}%
+ {\ifcsundef{cms@xfield}%
+ {\ifentrytype{online}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printdate%
+ \iffieldundef{hour}%
+ {}%
+ {\newcunit\printtime}}}%
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \printeventdate%
+ \iffieldundef{eventhour}%
+ {}%
+ {\newcunit\printeventtime}}}}%
+ {\setunit{\shortextrapunct}%
+ \usebibmacro{shortnote+extrafield}}}}}%
+ {\cmsrelhyper{\printfield[citetitle]{labeltitle}}}}
+
+\newrobustcmd*{\cmsrelnamehyper}[1]{%
+ \ifhyperref%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{commenton}}%
+ and
+ (
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ or
+ (
+ test {\ifentrytype{online}}%
+ and
+ test {\IfBeginWith{\thefield{title}}{CCCCCC}}%
+ ))
+ }%
+ {\iffieldequalstr{savedrelatedtype}{commenton}%
+ {\iftoggle{cms@allshort}%
+ {#1}%
+ {\bibhyperlink{\strfield{clonesourcekey}}{#1}}}%
+ {\cmsrelhyper{#1}}}%
+ {#1}}%
+ {#1}}
+
+\renewbibmacro*{related:origpubas}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \usebibmacro{cite:origfull}}}%
+
+\renewbibmacro*{related:reprintfrom}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \nopunct% ???
+ \usebibmacro{cite:origpubl}}}%
+
+\renewbibmacro*{related:bytranslator}[1]{%
+ \entrydata{#1}{%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{name:hook}[1]{%
+ \ifnumequal{\value{listcount}}{1}%
+ {\begingroup
+ \mkrelatedstring%
+ \lbx@initnamehook{#1}%
+ \endgroup}
+ {}}%
+ \printnames[bytranslator]{translator}%
+ \setunit*{\addspace\bibstring[\mkrelatedstring]{astitle}\addspace}%
+ \clearname{translator}%
+ \usebibmacro{cite:origfull}}}%
+
+\renewbibmacro*{related:default}[1]{%
+ \entrydata*{#1}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \usedriver%
+ {\ifnameundef{savedauthor}%
+ {\ifnameundef{savededitor}%
+ {}%
+ {\ifnamesequal{editor}{savededitor}%
+ {\iftoggle{cms@headlessnote}%
+ {}%
+ {\clearname{editor}}}%
+ {}}}%
+ {\ifnamesequal{author}{savedauthor}%
+ {\iftoggle{cms@headlessnote}%
+ {}%
+ {\clearname{author}}}%
+ {}}%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{related:init}{}%
+ \DeclareNameAlias{sortname}{default}%
+ \renewbibmacro*{pageref}{}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}}%\nopunct
+ {cite:\thefield{entrytype}}}}}%
+
+\newbibmacro*{related:maintitle}[1]{%
+ \entrydata*{#1}{%
+ \ifthenelse{\ifentrytype{mvbook}\OR\ifentrytype{mvcollection}\OR%
+ \ifentrytype{mvproceedings}\OR\ifentrytype{mvreference}}%
+ {\iffieldundef{volumes}{}{\savefield*{volumes}{\cms@mtvolumes}}%
+ \bibstring{in}\nopunct}%
+ {\ifcsdef{cms@mtvolumes}{\restorefield{savedvolumes}{\cms@mtvolumes}}{}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\ifthenelse{\iffieldundef{volumes}\AND\iffieldundef{savedvolumes}}%
+ {\bibsstring{thiscite}\nopunct}%
+ {\iffieldundef{volumes}%
+ {\printfield[volumes]{savedvolumes}}%
+ {\printfield{volumes}\clearfield{volumes}}%
+ \newcunit\bibsstring{thiscite}%
+ \nopunct}}%
+ {\iffieldundef{volume}%
+ {\printfield[xrefpart]{part}\usebibmacro{mt:ofvols}}%
+ {\iffieldundef{part}%
+ {\printfield{volume}\usebibmacro{mt:ofvols}}%
+ {\printfield{volume}\usebibmacro{mt:ofvols}\printfield{part}}}}%
+ \ifcsdef{cms@mtpages}{\restorefield{pages}{\cms@mtpages}}{}%
+ \ifcsdef{cms@mtpagination}{\restorefield{bookpagination}%
+ {\cms@mtpagination}}{}%
+ \ifcsdef{cms@mtchapter}{\restorefield{chapter}{\cms@mtchapter}}{}%
+ \ifcsdef{cms@mtauthor}%
+ {\savename*{author}{\cms@mtsecauthor}%
+ \ifcsequal{cms@mtauthor}{cms@mtsecauthor}%
+ {\clearname{author}}%
+ {}}%
+ {}%
+ \ifcsdef{cms@mteditor}%
+ {\savename*{editor}{\cms@mtseceditor}%
+ \ifcsequal{cms@mteditor}{cms@mtseceditor}%
+ {\clearname{editor}}%
+ {}}%
+ {}%
+ \ifcsdef{cms@mttranslator}%
+ {\savename*{translator}{\cms@mtsectranslator}%
+ \ifcsequal{cms@mttranslator}{cms@mtsectranslator}%
+ {\clearname{translator}}%
+ {}}%
+ {}%
+ \ifcsdef{cms@mtnamec}%
+ {\savename*{namec}{\cms@mtsecnamec}%
+ \ifcsequal{cms@mtnamec}{cms@mtsecnamec}%
+ {\clearname{namec}}%
+ {}}%
+ {}}%
+ \ifbibliography%
+ {\printtext[cmsdefrelhypertarget]{%
+ \usedriver%
+ {\ifnameundef{savedauthor}%
+ {\ifnameundef{savededitor}%
+ {\ifnameundef{savedtranslator}%
+ {\ifnameundef{savednamec}%
+ {}%
+ {\ifnamesequal{namec}{savednamec}%
+ {\clearname{namec}}%
+ {}}}%
+ {\ifnamesequal{translator}{savedtranslator}%
+ {\clearname{translator}}%
+ {}}}%
+ {\ifnamesequal{editor}{savededitor}%
+ {\clearname{editor}}%
+ {}}}%
+ {\ifnamesequal{author}{savedauthor}%
+ {\clearname{author}}%
+ {}}%
+ \clearfield{volume}\clearfield{part}%
+ \clearfield{maintitle}%\clearfield{volumes}%
+ \clearfield{crossref}\clearfield{xref}%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{related:init}{}%
+ \DeclareNameAlias{sortname}{default}%
+ \renewbibmacro*{pageref}{}%
+ \renewbibmacro*{editor}{}%
+ \renewbibmacro*{author/editor}{}%
+ \clearfield{nameaddon}%
+ \toggletrue{cms@mtvolpunct}}%
+ {\thefield{entrytype}}}}%
+ {\printtext[cmsdefrelhypertarget]{%
+ \usedriver%
+ {\ifnameundef{savedauthor}%
+ {\ifnameundef{savededitor}%
+ {\ifnameundef{savedtranslator}%
+ {\ifnameundef{savednamec}%
+ {}%
+ {\ifnamesequal{namec}{savednamec}%
+ {\clearname{namec}}%
+ {}}}%
+ {\ifnamesequal{translator}{savedtranslator}%
+ {\clearname{translator}}%
+ {}}}%
+ {\ifnamesequal{editor}{savededitor}%
+ {\clearname{editor}}%
+ {}}}%
+ {\ifnamesequal{author}{savedauthor}%
+ {\clearname{author}}%
+ {}}%
+ \clearfield{volume}\clearfield{part}%
+ \clearfield{maintitle}%\clearfield{volumes}%
+ \clearfield{crossref}\clearfield{xref}%
+ \usebibmacro{at+every+item}%
+ \renewbibmacro*{related:init}{}%
+ \DeclareNameAlias{sortname}{default}%
+ \renewbibmacro*{pageref}{}%
+ \renewbibmacro*{editor}{}%
+ \renewbibmacro*{author/editor}{}%
+ \clearfield{nameaddon}%
+ \toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}}%
+ {cite:\thefield{entrytype}}}}}}%
+
+\newbibmacro*{mt:ofvols}{% MT -- used by previous
+ \iftoggle{cms@hidevolumes}%
+ {\clearfield{volumes}}%
+ {\ifthenelse{\iffieldundef{volumes}\AND\iffieldundef{savedvolumes}}%
+ {}%
+ {\addspace\bibstring{of}\addspace%
+ \iffieldundef{volumes}%
+ {\printfield[default]{savedvolumes}}%
+ {\printfield[default]{volumes}\clearfield{volumes}}}}}%
+
+\newbibmacro*{extract+mt+vol}{% MT fix
+ \ifthenelse{\iffieldequalstr{relatedtype}{maintitle}\OR%
+ \iffieldequalstr{relatedtype}{maintitlenc}}%
+ {\setcounter{cms@reviewcount}{\value{instcount}}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {\entrydata{\thefield{related}}{%
+ \iffieldundef{volume}{}{\savefield{volume}{\cms@mtvolume}}%
+ \iffieldundef{part}{}{\savefield{part}{\cms@mtpart}}}}%
+ {}%
+ \ifcsundef{cms@mtvolume}{}{\restorefield{volume}{\cms@mtvolume}}%
+ \ifcsundef{cms@mtpart}{}{\restorefield{part}{\cms@mtpart}}%
+ \csgundef{cms@mtvolume}\csgundef{cms@mtpart}}%
+ {}}
+
+\newbibmacro*{extract+clonekey+note}{%
+ \entrydata{\thefield{related}}{%
+ \ifboolexpr{%
+ test {\ifentryseen{\thefield{clonesourcekey}}}%
+ and
+ not togl {cms@citecrossref}%
+ }%
+ {\savefield{clonesourcekey}{\cms@shortmtkey}}%
+ {}}\iftoggle{cms@noterefs}{\addtocounter{instcount}{-1}}{}}%
+
+\newbibmacro*{extract+clonekey+bib}{%
+ \entrydata{\thefield{related}}{%
+ \ifboolexpr{%
+ test {\ifentryinbib{\strfield{clonesourcekey}}}%
+ and
+ not togl {cms@bibcrossref}%
+ }%
+ {\savefield{clonesourcekey}{\cms@shortmtkey}}%
+ {}}}%
+
+\letbibmacro*{related:maintitlenc}{related:maintitle}% MT fix
+
+\renewbibmacro*{related:multivolume}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \ifthenelse{\iffieldundef{volume}\AND\iffieldundef{part}}%
+ {}%
+ {\printtext{%
+ \printfield{volume}%
+ \printfield{part}}%
+ \setunit{\addcolon\addspace}}%
+ \usebibmacro{ctitle+stitle}%
+ \ifboolexpr{%
+ test {\ifnamesequal{author}{savedauthor}}%
+ or
+ test {\ifnameundef{author}}%
+ }%
+ {}%
+ {\usebibmacro{bytypestrg}{author}{author}%
+ \setunit{\addspace}%
+ \printnames[byauthor]{author}%
+ \newcunit\newblock}%
+ \ifboolexpr{%
+ test {\ifnamesequal{namea}{savednamea}}%
+ or
+ test {\ifnameundef{namea}}%
+ }%
+ {\ifboolexpr{%
+ test {\ifnamesequal{editor}{savededitor}}%
+ or
+ test {\ifnameundef{editor}}%
+ }%
+ {\ifboolexpr{%
+ test {\ifnamesequal{nameb}{savednameb}}%
+ or
+ test {\ifnameundef{nameb}}%
+ }%
+ {}%
+ {\bibstring{cbytranslator}\addspace%
+ \printnames[bytranslator]{nameb}\newcunit}}%
+ {\usebibmacro{cbyeditor+others}%
+ \newcunit}}%
+ {\usebibmacro{cpart+editor+translator}%
+ \newcunit}%
+ \usebibmacro{date}}}%
+
+\renewbibmacro*{related:origpubin}[1]{%
+ \entrydata*{#1}{%
+ \usebibmacro{at+every+item}%
+ \usebibmacro{cmsyear}%
+ \ifboolexpr{%
+ test {\iflistsequal{publisher}{savedpublisher}}%
+ or
+ test {\iflistundef{publisher}}%
+ }%
+ {}%
+ {\midsentence% Why is this kludge necessary?
+ \setunit{\addspace\bibstring[\mkrelatedstring]{bypublisher}\space}%
+ \printlist{publisher}%
+ \setunit{\addcomma\space}%
+ \iflistsequal{location}{savedlocation}%
+ {}%
+ {\printlist{location}}}}}
+
+\DeclareFieldFormat{title:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibemph{#1}}
+
+\DeclareFieldFormat{ititle:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{#1}%
+ \endgroup
+ \mkbibquote{#1}}
+
+\DeclareFieldFormat{chapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1\addspace\bibstring{in}}%
+
+\DeclareFieldFormat{avchapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{chapter}}%
+ \endgroup
+ \bibstring{chapter}~#1}%
+
+\DeclareFieldFormat{muschapter:hook}{%
+ \begingroup
+ \mkrelatedstring%
+ \ifboolexpr{%
+ togl {cms@otherlang}%
+ and
+ not test {\iffieldundef{langid}}%
+ }%
+ {\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
+ \lbx@inittitlehook{\bibstring{track}}%
+ \endgroup
+ \bibstring{track}~#1}%
+
+\DeclareFieldFormat{sitnoformat}{#1}
+\DeclareFieldFormat{sjtnoformat}{#1}
+\DeclareFieldFormat{stnoformat}{#1}
+\DeclareFieldFormat{sbtnoformat}{#1}
+\DeclareFieldFormat{smtnoformat}{#1}
+\DeclareFieldFormat{itnoformat}{#1}
+\DeclareFieldFormat{jtnoformat}{#1}
+\DeclareFieldFormat{jtsnoformat}{#1}
+\DeclareFieldFormat{tnoformat}{#1}
+\DeclareFieldFormat{btnoformat}{#1}
+\DeclareFieldFormat{mtnoformat}{#1}
+
+\providetoggle{cms@otherlang}
+
+\apptocmd\blx@opt@autolang@other%
+{\toggletrue{cms@otherlang}}%
+{\blx@info@noline{Patching 'autolang=other' option}}
+{\PackageWarningNoLine{biblatex-chicago}%
+ {Upgrading biblatex to >v2.7a recommended,\MessageBreak
+ especially if you are using the "related"\MessageBreak
+ functionality}}
+
+\newbibmacro*{cms:titlehook}{% Needed for full drivers in reprintfrom
+ \ifthenelse{\iffieldundef{chapter}\OR\NOT\(\ifentrytype{audio}\OR%
+ \ifentrytype{inbook}\OR\ifentrytype{incollection}\OR%
+ \ifentrytype{inproceedings}\OR\ifentrytype{letter}\OR%
+ \ifentrytype{music}\OR\ifentrytype{video}\)}%
+ {\iffieldundef{issuetitle}%
+ {\iffieldundef{title}%
+ {\iffieldundef{booktitle}%
+ {\iffieldundef{journaltitle}% Switched order for 17th ed.
+ {\iffieldundef{maintitle}%
+ {}%
+ {\DeclareFieldAlias{mtnoformat}{title:hook}%
+ \DeclareFieldAlias{smtnoformat}{title}%
+ \DeclareFieldAlias{maintitle}{default}}}%
+ {\DeclareFieldAlias{jtnoformat}{title:hook}%
+ \DeclareFieldAlias{sjtnoformat}{title}%
+ \DeclareFieldAlias{journaltitle}{default}%
+ \DeclareFieldAlias{shortjournal}{series}%
+ \DeclareFieldAlias{jtsnoformat}{title:hook}}}%
+ {\DeclareFieldAlias{btnoformat}{title:hook}%
+ \DeclareFieldAlias{sbtnoformat}{title}%
+ \DeclareFieldAlias{booktitle}{default}}}%
+ {\DeclareFieldAlias{tnoformat}{title:hook}%
+ \DeclareFieldAlias{stnoformat}{citetitle}%
+ \DeclareFieldAlias[video]{title}{default}%
+ \DeclareFieldAlias[audio]{title}{default}%
+ \DeclareFieldAlias[music]{title}{default}%
+ \DeclareFieldAlias{title}{default}%
+ \DeclareFieldAlias[periodical]{shorttitle}{series}}}%
+ {\iffieldundef{issuesubtitle}%
+ {\DeclareFieldAlias{itnoformat}{ititle:hook}%
+ \DeclareFieldAlias{issuetitle}{default}}%
+ {\DeclareFieldAlias{issuetitle}{ititle:hook}}}}%
+ {\ifthenelse{\ifentrytype{audio}\OR\ifentrytype{music}\OR%
+ \ifentrytype{video}}%
+ {\iffieldundef{title}%
+ {\ifentrytype{music}%
+ {\DeclareFieldAlias[music]{chapter}{muschapter:hook}}%
+ {\DeclareFieldAlias{chapter}{avchapter:hook}}}%
+ {\DeclareFieldAlias{tnoformat}{title:hook}%
+ \DeclareFieldAlias{stnoformat}{citetitle}%
+ \DeclareFieldAlias[video]{title}{default}%
+ \DeclareFieldAlias[audio]{title}{default}%
+ \DeclareFieldAlias[music]{title}{default}}}%
+ {\DeclareFieldAlias{chapter}{chapter:hook}}}}%
+
+\newbibmacro*{cite:origfull}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \clearname{author}\clearfield{userf}\clearfield{shorthand}%
+ \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}%
+ \frenchspacing}%
+ {cite:\thefield{entrytype}}}}
+
+\newbibmacro*{cite:origpubl}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
+ \usebibmacro{clearpublin}\clearfield{shorthand}%
+ \toggletrue{cms@fullnote}\toggletrue{cms@headlessnote}%
+ \toggletrue{cms@origpublished}\frenchspacing%
+ \usebibmacro{cms:titlehook}}%
+ {cite:\thefield{entrytype}}}}
+
+\newbibmacro*{cite:related:full}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}%
+ {cite:\thefield{entrytype}}}}%
+
+\newbibmacro*{bib:related:full}{%
+ \printtext[cmsdefrelhypertarget]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}%
+ {\thefield{entrytype}}}}%
+
+\DeclareFieldFormat{cmsdefrelhypertarget}{%
+ \ifhyperref%
+ {\ifbibliography%
+ {\ifentryinbib{\strfield{clonesourcekey}}%
+ {#1}%
+ {\hypertarget{cite.\the\c@refsection @\thefield{clonesourcekey}}{#1}}}%
+ {\bibhypertarget{\thefield{clonesourcekey}}{#1}}}%
+ {#1}}
+
+\newrobustcmd*{\cmsrelhyper}[1]{%
+ \ifhyperref%
+ {\ifbibliography%
+ {\ifentryinbib{\strfield{clonesourcekey}}%
+ {\bibhyperref[\strfield{clonesourcekey}]{#1}}%
+ {#1}}%
+ {\iftoggle{cms@allshort}%
+ {\IfSubStr{\thefield{savedoptions}}{skipbib}%
+ {\bibhyperref[\strfield{clonesourcekey}]{#1}}%%
+ {\bibhyperref[\thefield{savedentrykey}]{#1}}}%
+ {\iftoggle{cms@fullnote}%
+ {\ifentryseen{\thefield{clonesourcekey}}%
+ {\bibhyperlink{\strfield{clonesourcekey}}{#1}}%
+ {#1}}%
+ {\bibhyperlink{\thefield{savedentrykey}}{#1}}}}}%
+ {#1}}%
+
+\newbibmacro*{at+every+item}{%
+ \ifboolexpr{%
+ test {\iffieldundef{origyear}}%
+ or
+ test {\iffieldundef{year}}%
+ or
+ not test {\iffieldint{year}}%
+ or
+ togl {cms@switchdates}%
+ }%
+ {}%
+ {\ifboolexpr{% Needed for open-ended ranges
+ test {\iffieldundef{endyear}}%
+ or
+ not test {\iffieldnum{endyear}}%
+ }%
+ {\ifthenelse{\thefield{origyear}>\thefield{year}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}%
+ {\ifthenelse{\thefield{origyear}>\thefield{endyear}}%
+ {\toggletrue{cms@switchdates}}%
+ {}}}}%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-notes.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx
index b132de4700..383cc3cd18 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/bbx/chicago-notes.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx
@@ -1,10 +1,9 @@
-% $Id: chicago-notes.bbx,v 0.10.1.14 2018/01/11 09:17:35 dfussner Exp $
-% This is a biblatex style file, adapted mainly from Lehman's standard.bbx
-% It provides the bibliography formatting for the Chicago notes +
-% bibliography style.
+% This is a biblatex style file, adapted mainly from Lehman's
+% standard.bbx It provides the bibliography formatting for the Chicago
+% notes + bibliography style.
-
-\ProvidesFile{chicago-notes.bbx}[2018/01/11 v 3.10 biblatex bibliography style]
+\ProvidesFile{chicago-notes16.bbx}[2020/04/20 v 3.14 biblatex
+bibliography style]
%%%% Initialize and format bibliography and los %%%%
@@ -44,19 +43,6 @@
{\endlist}
{\item}
-\defbibenvironment{shorthands}% For biblatex < 2.9
- {\list
- {\printfield[shorthandwidth]{shorthand}}%
- {\setlength{\labelwidth}{\shorthandwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\lositemsep}%
- \setlength{\parsep}{\bibparsep}%
- \renewcommand*{\makelabel}[1]{##1\hss}}}
- {\endlist}
- {\item}
-
\defbibenvironment{losnotes}
{\list
{\printfield[shorthandwidth]{shorthand}}%
@@ -346,11 +332,19 @@
\newbibmacro*{justauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\iftoggle{cms@origcite}{}{\let\bbx@lasthash\undefined}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}%
+ \ifentrytype{customc}%
+ {\newunit}%
+ {\setunit{\addspace}}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -358,16 +352,25 @@
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\printnames{author}%
+ \ifentrytype{customc}%
+ {\ifbibliography{\newunit}{\newcunit}}%
+ {\setunit{\addspace}}%
+ \printfield{nameaddon}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{moreauthor}{%
\ifthenelse{\ifnameundef{author}\OR\NOT\ifuseauthor}%
{\usebibmacro{pickeditor}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
{\iffieldundef{nameaddon}%
- {\bibnamedash\addperiod\addspace}%
- {\bibnamedash\addspace}}%
+ {\printtext{\bibnamedash}}%\addperiod\addspace
+ {\printtext{\bibnamedash}\setunit{\addspace}\printfield{nameaddon}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{author}\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
@@ -375,6 +378,8 @@
{\bibleftbracket\printnames{author}\addquestion\bibrightbracket%
\savefield{fullhash}{\bbx@lasthash}}%
{\printnames{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
\savefield{fullhash}{\bbx@lasthash}}}}}}
\newbibmacro*{pickeditor}{%
@@ -384,13 +389,23 @@
\newbibmacro*{moreeditor}{%
\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
- {\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
- {\printnames{editor}\editordelim%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{editstrg}}}
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{editstrg}}}
\renewbibmacro*{editor}{%
\iftoggle{cms@headlessnote}%
@@ -398,28 +413,58 @@
{\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
{\ifthenelse{\ifnameundef{editor}\OR\NOT\ifuseeditor}%
{\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\editordelim}%
- {\printnames{editor}\editordelim%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\editordelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\editordelim}}%
+ {\printnames{editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\editordelim%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{editstrg}}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{parteditstrg}}}}%
\newbibmacro*{parteditor}{%
\ifthenelse{\ifnameundef{namea}\OR\NOT\ifusenamea}%
- {\usebibmacro{picktranslator}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\nameadelim}%
- {\printnames[sortname]{namea}\nameadelim%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{parteditstrg}}}
+ {\usebibmacro{picktranslator}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\nameadelim}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim}}%
+ {\printnames[sortname]{namea}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\nameadelim%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parteditstrg}}}
\newbibmacro*{picktranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
@@ -428,31 +473,61 @@
\newbibmacro*{moretranslator}{%
\ifthenelse{\ifnameundef{translator}\OR\NOT\ifusetranslator}%
- {\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{translator}\addcomma\addspace%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{transstrg}}}
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{translator}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{transstrg}}}
\newbibmacro*{parttranslator}{%
\ifthenelse{\ifnameundef{nameb}\OR\NOT\ifusenameb}%
- {\usebibmacro{compiler}}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{nameb}\addcomma\addspace%
- \savefield{fullhash}{\bbx@lasthash}}%
- \usebibmacro{parttransstrg}}}
+ {\usebibmacro{compiler}}%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{nameb}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
+ \savefield{fullhash}{\bbx@lasthash}}%
+ \usebibmacro{parttransstrg}}}
\newbibmacro*{compiler}{%
\ifthenelse{\ifnameundef{namec}\OR\NOT\ifusenamec}%
{\let\bbx@lasthash\undefined}%
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND\NOT%
- \iffirstonpage}%
- {\bibnamedash\addcomma\addspace}%
- {\printnames[sortname]{namec}\addcomma\addspace%
+ {\ifboolexpr{%
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\iffieldundef{nameaddon}%
+ {\printtext{\bibnamedash}\newcunit}%
+ {\printtext{\bibnamedash}\setunit{\addspace}%
+ \printfield{nameaddon}\newcunit}}%
+ {\printnames[sortname]{namec}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}\newcunit%
\savefield{fullhash}{\bbx@lasthash}}%
\usebibmacro{compilestrg}}}
@@ -514,9 +589,16 @@
}
\map[overwrite]{
\pertype{jurisdiction}
- \step[fieldsource=shortjournal, match=\regexp{[^\\adddot][a-z]}, final]
+ \step[fieldsource=shortjournal, match=\regexp{\\adddot},%
+ replace=\regexp{\\ADDDOT}]
+ \step[fieldsource=shortjournal, match=\regexp{[a-z]}, final]
\step[fieldset=shortjournal, fieldvalue=\addnbspace, append]
}
+ \map[overwrite]{
+ \pertype{jurisdiction}
+ \step[fieldsource=shortjournal, match=\regexp{\\ADDDOT},%
+ replace=\regexp{\\adddot}]
+ }
\map{
\pertype{legislation}
\step[fieldsource=title, match=\regexp{Const}, final]
@@ -582,30 +664,10 @@
}
}%
-\DeclareBibliographyDriver{shorthands}{% For biblatex < 2.9
- \iftoggle{cms@fullshhand}%
- {\usedriver{\frenchspacing}%
- {\thefield{entrytype}}%
- \finentry}%
- {\ifnameundef{labelname}%
- {\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
- \ifentrytype{periodical}}%
- {\printtext[bibhyperref]{\printfield[journaltitle]{journaltitle}%
- \newcunit}}%
- {\ifentrytype{manual}%
- {\printtext[bibhyperref]{\printlist{organization}\newcunit}}%
- {}}}%
- {\usebibmacro{author/editor}%
- \setunit{\addcomma\addspace}}%
- \printfield[lostitle]{title}%
- \finentry}}
-
\DeclareBibliographyDriver{article}{%
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{mag+news+author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{mag+news+title}%
\setunit{\addspace}%
@@ -637,6 +699,8 @@
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -646,8 +710,6 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{mag+news+title}%
\setunit{\addspace}%
@@ -679,6 +741,8 @@
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -691,8 +755,6 @@
\DeclareBibliographyDriver{artwork}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newcunit\newblock
@@ -720,7 +782,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -731,8 +797,6 @@
\DeclareBibliographyDriver{audio}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock% 16th ed.
@@ -798,7 +862,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -809,8 +877,6 @@
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
@@ -871,7 +937,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -889,7 +959,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -907,7 +981,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -918,8 +996,6 @@
\DeclareBibliographyDriver{bookinbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
@@ -977,7 +1053,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -995,7 +1075,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1013,7 +1097,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1024,8 +1112,6 @@
\DeclareBibliographyDriver{booklet}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock% 16th ed.
@@ -1043,7 +1129,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1054,8 +1144,6 @@
\DeclareBibliographyDriver{collection}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
@@ -1101,7 +1189,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1119,7 +1211,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1137,7 +1233,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1147,18 +1247,16 @@
\DeclareBibliographyDriver{customc}{%
\usebibmacro{bibindex}%
- \usebibmacro{author/editor}%
- \newunit\newblock
- \printfield{nameaddon}%
- \setunit*{\addspace}%
+ \usebibmacro{justauthor}%
+ \iffieldundef{nameaddon}%
+ {\newunit}%
+ {\setunit{\addspace}}%
\usebibmacro{italtitle+stitle}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{image}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newcunit%\setunit{\addcomma\addspace}%
@@ -1186,7 +1284,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1197,8 +1299,6 @@
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%\bibsentence
@@ -1248,7 +1348,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1267,7 +1371,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1286,7 +1394,11 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1297,8 +1409,6 @@
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%\bibsentence
@@ -1348,7 +1458,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1367,7 +1481,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1386,7 +1504,11 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1397,8 +1519,6 @@
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%
@@ -1441,7 +1561,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1460,7 +1584,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1479,7 +1607,11 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1540,7 +1672,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1557,8 +1693,6 @@
\DeclareBibliographyDriver{letter}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\printtext[title]{%
\printfield[noformat]{title}}%
@@ -1609,7 +1743,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1628,7 +1766,11 @@
\bibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1647,7 +1789,11 @@
\bibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1658,8 +1804,6 @@
\DeclareBibliographyDriver{manual}{%
\usebibmacro{bibindex}%
\usebibmacro{bibauthor+org}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit\newblock
@@ -1685,7 +1829,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1696,8 +1844,6 @@
\DeclareBibliographyDriver{misc}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldundef{entrysubtype}%
{\usebibmacro{italtitle+stitle}}%
@@ -1737,7 +1883,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1748,8 +1898,6 @@
\DeclareBibliographyDriver{music}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\newunit% 16th ed.
@@ -1827,7 +1975,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1846,8 +1998,6 @@
\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}%
@@ -1880,7 +2030,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1925,7 +2079,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -1936,8 +2094,6 @@
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
@@ -1965,8 +2121,6 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
@@ -1990,7 +2144,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2001,8 +2159,6 @@
\DeclareBibliographyDriver{proceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{italtitle+stitle}%
\setunit{\addspace}%
@@ -2042,7 +2198,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2060,7 +2220,11 @@
\bookbibxrefcite{\thefield{xref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2078,7 +2242,11 @@
\bookbibxrefcite{\thefield{crossref}}%
\usebibmacro{xrefpostnote}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2130,7 +2298,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2141,8 +2313,6 @@
\DeclareBibliographyDriver{report}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\iffieldequalstr{entrysubtype}{unpublished}%
{\usebibmacro{title+stitle}}%
@@ -2170,7 +2340,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2186,7 +2360,7 @@
\newunit\newblock
\printeventdate% 16th ed.
\setunit{\addspace}%
- \printfield{nameaddon}% 16th ed.
+ \printfield{nameaddon}%
\newunit\newblock
\ifboolexpr{%
togl {cms@related}%
@@ -2231,6 +2405,8 @@
togl {cms@related}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -2242,8 +2418,6 @@
\DeclareBibliographyDriver{suppbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{inforaft}%
\setunit{\addspace}\newblock
@@ -2287,7 +2461,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2302,8 +2480,6 @@
\DeclareBibliographyDriver{thesis}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}%\newblock%
@@ -2321,7 +2497,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2332,8 +2512,6 @@
\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\usebibmacro{title+stitle}%
\setunit{\addspace}\newblock%
@@ -2365,7 +2543,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2376,8 +2558,6 @@
\DeclareBibliographyDriver{video}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
\newunit\newblock
\printtext[title]{%
\printfield[noformat]{title}%
@@ -2452,7 +2632,11 @@
\newunit\newblock
\usebibmacro{pageref}%
\newunit\newblock
- \iftoggle{cms@related}%
+ \ifboolexpr{%
+ togl {cms@related}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newunit}%
@@ -2852,6 +3036,612 @@
\usebibmacro{editorpunct}%
\usebibmacro{withafterword}}
+%%%% New date macros enabling special handling of seasons, decades,
+%%%% centuries, date eras, and uncertain dates (circa and ?), along
+%%%% with CMS compression of year ranges.
+
+\newcount\cms@tempcnta
+\newcount\cms@tempcntb
+
+\protected\def\cmsunspecified#1#2{%
+ \ifboolexpr{%
+ test {\iffieldundef{#2dateunspecified}}%
+ or
+ togl {cms@alwaysrange}%
+ }%
+ {\ifboolexpr{%
+ test {\iffieldundef{#2endyear}}%
+ or
+ test {\iffieldequalstr{#2dateera}{bce}}%
+ or
+ not togl {cms@compyears}%
+ or
+ not test {\iffieldnum{#2year}}%
+ or
+ not test {\iffieldnum{#2endyear}}%
+ or
+ not test {\if@cms@onlyyears{#2}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}%
+ {\cmscompcenturies{#2}%
+ \ifboolexpr{%
+ (
+ test {\if@cms@bracket}%
+ and
+ not test {\if@cms@endbracket}
+ )
+ or
+ (
+ not test {\if@cms@bracket}%
+ and
+ test {\if@cms@endbracket}%
+ )
+ or
+ (
+ test {\if@cms@endcirca}%
+ and
+ not test {\if@cms@circa}%
+ )
+ or
+ not test {\ifnumequal{\cms@tempcnta}{\cms@tempcntb}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearindecade}}%
+ and
+ test {\ifbibstring{decade}}%
+ and
+ not togl {cms@decaderange}%
+ }%
+ {\cmsmkdecade{#1}{#2}}%
+ {\ifboolexpr{%
+ test {\iffieldequalstr{#2dateunspecified}{yearincentury}}%
+ and
+ test {\ifbibstring{century}}%
+ and
+ not togl {cms@centuryrange}%
+ }%
+ {\cmsmkcentury{#2}}%
+ {\iftoggle{cms@compyears}%
+ {\cmsdateeraprintpre{#2year}\cmscompressyears{#2}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}}}}}%
+
+\protected\def\cmscompressyears#1{%
+ \def\cms@tempa{\thefield{#1year}--\thefield{#1endyear}}%
+ \edef\cms@tempb{\mkcomprange{\csuse{cms@tempa}}}%
+ \cms@tempb}%
+
+\def\cmscompcenturies#1{%
+ \cms@tempcnta=\thefield{#1year}%
+ \divide\cms@tempcnta100
+ \cms@tempcntb=\thefield{#1endyear}%
+ \divide\cms@tempcntb100}
+
+\protected\def\cmsformatextra{}% Author-date requires these
+
+\protected\def\cmsformatendextra{}%
+
+\newbibmacro*{cmsextradate}{}%
+
+\newbibmacro*{cmsparensextradate}{}%
+
+\protected\def\cmsdateeraprintpre#1{% AD/BC order depends on language
+ \ifdefstring\blx@dateera{astronomical}%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifnumless{0-\thefield{#1}}{0}%
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}%
+ {}}%
+ {}%
+ \endgroup}%
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}{}{\global\toggletrue{cms@bc}}}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\ifdefstring\blx@tempa{end}%
+ {\iftoggle{cms@bc}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}%
+ {}}%
+ {\printtext{%
+ \bibsstring{\blx@dateera@ce}\printdelim{dateaddelim}}%
+ \global\togglefalse{cms@bc}}}%
+ {}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\protected\def\cmsdateeraprint#1{% AD/BC order depends on language
+ \ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\if@cms@adfirst}%
+ }%
+ {\iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \blx@ifstrendswith{#1}{endyear}
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype
+ \def\blx@tempa{end}}
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {}%
+ \endgroup}
+ {}}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{secular}}%
+ or
+ (
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ not test {\if@cms@adfirst}%
+ )
+ }%
+ {\iffieldnum{#1}%
+ {\begingroup%
+ \let\blx@tempa\@empty%
+ \blx@ifstrendswith{#1}{endyear}%
+ {\blx@stripfromendinto{#1}{endyear}\blx@datetype%
+ \def\blx@tempa{end}}%
+ {\blx@stripfromendinto{#1}{year}\blx@datetype}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}%
+ {\csuse{if\blx@datetype enddateera}{bce}%
+ {}%
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto%
+ \printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@bce}}\relax%
+ \fi}}}%
+ {\ifdefstring\blx@tempa{end}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}%
+ {\csuse{if\blx@datetype enddateera}{ce}%
+ {}%
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto%
+ {\printtext{\printdelim{dateeradelim}\midsentence%
+ \bibsstring{\blx@dateera@ce}}}%
+ {}}}}%
+ \endgroup}%
+ {}}%
+ {}}}
+
+\newrobustcmd*{\cms@datebrackets}{%
+ \iftoggle{cms@nodatebrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}%
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@yearbrackets}{%
+ \iftoggle{cms@noyearbrackets}%
+ {\global\boolfalse{cms:bracket}%
+ \ifboolexpr{%
+ test {\if@cms@bracket}%
+ and
+ togl {cms@nodates}%
+ and
+ not bool {cms:nd}
+ }%
+ {\booltrue{cms:nd}\bibstring{nodate}\addcomma\addspace}%
+ {\boolfalse{cms:nd}}}%
+ {\global\booltrue{cms:bracket}%
+ \bibopenbracket}}%
+
+\newrobustcmd*{\cms@mkbibrangetrunc}[2]{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkbibrangefull}[2]{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\newrobustcmd*{\cms@mkyearrangeextra}[3][]{%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}}}}}%
+ \endgroup}%
+
+\def\if@cms@adfirst{%
+ \ifboolexpr{%
+ test {\ifdefstring\blx@languagename{american}}%
+ or
+ test {\ifdefstring\blx@languagename{british}}%
+ or
+ test {\ifdefstring\blx@languagename{canadian}}%
+ or
+ test {\ifdefstring\blx@languagename{english}}%
+ or
+ test {\ifdefstring\blx@languagename{UKenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{USenglish}}%
+ or
+ test {\ifdefstring\blx@languagename{australian}}%
+ or
+ test {\ifdefstring\blx@languagename{newzealand}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@bracket{%
+ \ifboolexpr{%
+ (
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endbracket{%
+ \ifboolexpr{%
+ (
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ )
+ or
+ (
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ )
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@circa{%
+ \ifboolexpr{%
+ test {\ifdatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@uncertain{%
+ \ifboolexpr{%
+ test {\ifdateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@endcirca{%
+ \ifboolexpr{%
+ test {\ifenddatecirca}%
+ and
+ togl {blx@datecirca}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@enduncertain{%
+ \ifboolexpr{%
+ test {\ifenddateuncertain}%
+ and
+ togl {blx@dateuncertain}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
+\def\if@cms@onlyyears#1{%
+ \ifboolexpr{%
+ test {\iffieldundef{#1month}}%
+ and
+ test {\iffieldundef{#1endmonth}}%
+ and
+ test {\iffieldundef{#1day}}%
+ and
+ test {\iffieldundef{#1endday}}%
+ }%
+ {\@firstoftwo}%
+ {\@secondoftwo}}
+
%%%% Related functionality from standard.bbx %%%%
\newcounter{bbx:relatedcount}
@@ -2875,7 +3665,10 @@
\newbibmacro*{related}{%
\ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }%
{}%
- {\usebibmacro{begrelated}%
+ {\ifcsundef{begrelateddelim\strfield{relatedtype}}%
+ {\printunit{\begrelateddelim}}%
+ {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+ \usebibmacro{begrelated}%
\def\bbx@tempa{}%
\setcounter{bbx:relatedtotal}{0}%
\def\do##1{%
@@ -2895,7 +3688,13 @@
\def\do{%
\stepcounter{bbx:relatedcount}%
\ifnumgreater{\value{bbx:relatedcount}}{1}%
- {\printtext{\relateddelim}}%
+ {\ifcsundef{relateddelim\strfield{relatedtype}}%
+ {\printunit{\relateddelim}}%
+ {\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\printunit
+ \expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter{%
+ \csuse{relateddelim\strfield{relatedtype}}}}}%
{}}%
\ifbibmacroundef{related:\strfield{relatedtype}}%
{\appto{\do}{\usebibmacro{related:default}}}%
@@ -2929,4 +3728,272 @@
{}%
\usebibmacro{endrelated}}}%
+%%% List of all CMS bibliography strings %%%
+
+\NewBibliographyString{%
+ afterwordto,%
+ broadcast,%
+ by,%
+ bychoreographer,%
+ bycompileraf,%
+ bycompileran,%
+ bycompileranaf,%
+ bycompileranfo,%
+ bycompileranin,%
+ bycompilerco,%
+ bycompilercoaf,%
+ bycompilercofo,%
+ bycompilercoin,%
+ bycompilerfo,%
+ bycompilerin,%
+ byconductor,%
+ bydirector,%
+ byeditoralt,%
+ byeditorcp,%
+ byeditorcpaf,%
+ byeditorcpan,%
+ byeditorcpanaf,%
+ byeditorcpanfo,%
+ byeditorcpanin,%
+ byeditorcpco,%
+ byeditorcpcoaf,%
+ byeditorcpcofo,%
+ byeditorcpcoin,%
+ byeditorcpfo,%
+ byeditorcpin,%
+ byeditortrcp,%
+ byeditortrcpaf,%
+ byeditortrcpan,%
+ byeditortrcpanaf,%
+ byeditortrcpanfo,%
+ byeditortrcpanin,%
+ byeditortrcpco,%
+ byeditortrcpcoaf,%
+ byeditortrcpcofo,%
+ byeditortrcpcoin,%
+ byeditortrcpfo,%
+ byeditortrcpin,%
+ bynone,%
+ byproducer,%
+ bytranslatorcp,%
+ bytranslatorcpaf,%
+ bytranslatorcpan,%
+ bytranslatorcpanaf,%
+ bytranslatorcpanfo,%
+ bytranslatorcpanin,%
+ bytranslatorcpco,%
+ bytranslatorcpcoaf,%
+ bytranslatorcpcofo,%
+ bytranslatorcpcoin,%
+ bytranslatorcpfo,%
+ bytranslatorcpin,%
+ canadasection,%
+ canadasections,%
+ cbyannotator,%
+ cbyauthor,%
+ cbychoreographer,%
+ cbycollaborator,%
+ cbycommentator,%
+ cbycompiler,%
+ cbycompileraf,%
+ cbycompileran,%
+ cbycompileranaf,%
+ cbycompileranfo,%
+ cbycompileranin,%
+ cbycompilerco,%
+ cbycompilercoaf,%
+ cbycompilercofo,%
+ cbycompilercoin,%
+ cbycompilerfo,%
+ cbycompilerin,%
+ cbyconductor,%
+ cbycontinuator,%
+ cbydirector,%
+ cbyeditor,%
+ cbyeditoraf,%
+ cbyeditoralt,%
+ cbyeditoran,%
+ cbyeditoranaf,%
+ cbyeditoranfo,%
+ cbyeditoranin,%
+ cbyeditorco,%
+ cbyeditorcoaf,%
+ cbyeditorcofo,%
+ cbyeditorcoin,%
+ cbyeditorcp,%
+ cbyeditorcpaf,%
+ cbyeditorcpan,%
+ cbyeditorcpanaf,%
+ cbyeditorcpanfo,%
+ cbyeditorcpanin,%
+ cbyeditorcpco,%
+ cbyeditorcpcoaf,%
+ cbyeditorcpcofo,%
+ cbyeditorcpcoin,%
+ cbyeditorcpfo,%
+ cbyeditorcpin,%
+ cbyeditorfo,%
+ cbyeditorin,%
+ cbyeditortr,%
+ cbyeditortraf,%
+ cbyeditortran,%
+ cbyeditortranaf,%
+ cbyeditortranfo,%
+ cbyeditortranin,%
+ cbyeditortrco,%
+ cbyeditortrcoaf,%
+ cbyeditortrcofo,%
+ cbyeditortrcoin,%
+ cbyeditortrcp,%
+ cbyeditortrcpaf,%
+ cbyeditortrcpan,%
+ cbyeditortrcpanaf,%
+ cbyeditortrcpanfo,%
+ cbyeditortrcpanin,%
+ cbyeditortrcpco,%
+ cbyeditortrcpcoaf,%
+ cbyeditortrcpcofo,%
+ cbyeditortrcpcoin,%
+ cbyeditortrcpfo,%
+ cbyeditortrcpin,%
+ cbyeditortrfo,%
+ cbyeditortrin,%
+ cbyfounder,%
+ cbynone,%
+ cbyorganizer,%
+ cbyproducer,%
+ cbyredactor,%
+ cbytranslator,%
+ cbytranslatoraf,%
+ cbytranslatoran,%
+ cbytranslatoranaf,%
+ cbytranslatoranfo,%
+ cbytranslatoranin,%
+ cbytranslatorco,%
+ cbytranslatorcoaf,%
+ cbytranslatorcofo,%
+ cbytranslatorcoin,%
+ cbytranslatorcp,%
+ cbytranslatorcpaf,%
+ cbytranslatorcpan,%
+ cbytranslatorcpanaf,%
+ cbytranslatorcpanfo,%
+ cbytranslatorcpanin,%
+ cbytranslatorcpco,%
+ cbytranslatorcpcoaf,%
+ cbytranslatorcpcofo,%
+ cbytranslatorcpcoin,%
+ cbytranslatorcpfo,%
+ cbytranslatorcpin,%
+ cbytranslatorfo,%
+ cbytranslatorin,%
+ century,%
+ cfromamerican,%
+ cfrombrazilian,%
+ cfrombulgarian,%
+ cfromcatalan,%
+ cfromcroatian,%
+ cfromczech,%
+ cfromdanish,%
+ cfromdutch,%
+ cfromenglish,%
+ cfromestonian,%
+ cfromfinnish,%
+ cfromfrench,%
+ cfromgalician,%
+ cfromgerman,%
+ cfromgreek,%
+ cfromitalian,%
+ cfromjapanese,%
+ cfromlatin,%
+ cfromnorwegian,%
+ cfrompolish,%
+ cfromportuguese,%
+ cfromrussian,%
+ cfromslovak,%
+ cfromslovene,%
+ cfromspanish,%
+ cfromswedish,%
+ cfromukrainian,%
+ choreographer,%
+ choreographers,%
+ commenton,%
+ conductor,%
+ conductors,%
+ decade,%
+ director,%
+ directors,%
+ discrecorded,%
+ edamerican,%
+ edbrazilian,%
+ edbulgarian,%
+ edcatalan,%
+ edcroatian,%
+ edczech,%
+ eddanish,%
+ eddutch,%
+ edenglish,%
+ edestonian,%
+ edfinnish,%
+ edfrench,%
+ edgalician,%
+ edgerman,%
+ edgreek,%
+ editalian,%
+ editorcompiler,%
+ editorcompilers,%
+ editortranscompiler,%
+ editortranscompilers,%
+ editortranslator,%
+ editortranslators,%
+ edjapanese,%
+ edlatin,%
+ ednorwegian,%
+ edpolish,%
+ edportuguese,%
+ edrussian,%
+ edslovak,%
+ edslovene,%
+ edspanish,%
+ edswedish,%
+ edukrainian,%
+ forewordto,%
+ hereinafter,%
+ inlang,%
+ introductionto,%
+ none,%
+ nones,%
+ note,%
+ numbers,%
+ of,%
+ on,%
+ origedition,%
+ origpub,%
+ origpublin,%
+ origpubyear,%
+ origpubyearalt,%
+ origreleaseyear,%
+ origshownyear,%
+ partvolume,%
+ patentfiled,%
+ patentissued,%
+ preface,%
+ printed,%
+ producer,%
+ producers,%
+ pseudonym,%
+ review,%
+ revisededition,%
+ selfpublished,%
+ songrecorded,%
+ subsection,%
+ subsections,%
+ subverbis,%
+ subverbo,%
+ supranote,%
+ track,%
+ transcompiler,%
+ transcompilers%
+ }%
+
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-notes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx
index 2839e02015..bf8060da7f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cbx/chicago-notes.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx
@@ -1,14 +1,17 @@
-% $Id: chicago-notes.cbx,v 0.11.1.33 2018/01/10 16:41:54 dfussner Exp $
-
% This is a biblatex citation style file, adapted from Lehman's
% authortitle-cverb.cbx. It is heavily modified, with the intention
% of providing footnote citations and a bibliography formatted
% according to the specifications of the Chicago Manual of Style.
-\ProvidesFile{chicago-notes.cbx}[2018/01/10 v 3.10 biblatex citation style]
+\ProvidesFile{chicago-notes16.cbx}[2020/04/20 v 3.14 biblatex citation style]
%%%% Biblatex initialization + Chicago options + Toggles %%%%
+\newbool{cms:bracket}% Date-handling booleans
+\newbool{cms:extraparens}
+\newbool{cms:comma}
+\newbool{cms:nd}
+
\providecommand*{\mkibid}[1]{#1}
\providetoggle{cms@oneyear}% Needed for author-date
@@ -18,6 +21,7 @@
\providetoggle{cms@jrcomma}% For comma before Jr./Sr.
\providetoggle{cms@url}% These are for the field-exclusion options
+\providetoggle{cms@urltime}% 17th ed.
\providetoggle{cms@doi}
\providetoggle{cms@doionly}
\providetoggle{cms@eprint}
@@ -29,10 +33,20 @@
\providetoggle{cms@notefield}
\providetoggle{cms@addendum}
\providetoggle{cms@comprange}
+\providetoggle{cms@compyears}
\providetoggle{cms@modpostnote}
\providetoggle{cms@url@innotes}
\providetoggle{cms@ukord}
+\providetoggle{cms@bc}% Attempt to provide correct dateera handling
+\providetoggle{cms@alwaysrange}% Turns off decade and century handling
+\providetoggle{cms@decaderange}% Only turns off decade handling
+\providetoggle{cms@centuryrange}% Only turns off century handling
+\providetoggle{cms@nodatebrackets}% For brackets in uncertain & circa
+\providetoggle{cms@noyearbrackets}%
+\providetoggle{cms@nodates}%
+
+\providetoggle{cms@strict}
\providetoggle{cms@headlessnote}
\providetoggle{cms@origcite}
\providetoggle{cms@fullnote}
@@ -40,6 +54,7 @@
\providetoggle{cms@allshort}
\providetoggle{cms@noibid}
\providetoggle{cms@noidem}
+\providetoggle{cms@namedash}
\providetoggle{cms@usecompiler}
\providetoggle{cms@shorthandibid}
\providetoggle{cms@printshhand}
@@ -108,47 +123,58 @@
\PackageWarningNoLine{biblatex-chicago}{#1}%
\endgroup}
-\DeclareBibliographyOption[boolean]{genallnames}[true]{%
- \settoggle{cms@genallnames}{#1}}
+%% These are options for extended date attributes
+
+\DeclareBiblatexOption{global,entry}[boolean]{alwaysrange}[true]{%
+ \settoggle{cms@alwaysrange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{decaderange}[true]{%
+ \settoggle{cms@decaderange}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{centuryrange}[true]{%
+ \settoggle{cms@centuryrange}{#1}}%
-\DeclareEntryOption[boolean]{genallnames}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodatebrackets}[true]{%
+ \settoggle{cms@nodatebrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{noyearbrackets}[true]{%
+ \settoggle{cms@noyearbrackets}{#1}}%
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{nodates}[true]{%
+ \settoggle{cms@nodates}{#1}}%
+
+\DeclareBiblatexOption{global,entry}[boolean]{genallnames}[true]{%
\settoggle{cms@genallnames}{#1}}
\DeclareBibliographyOption{annotation}[true]{%
\global\toggletrue{cms@annotation}}
-\DeclareBibliographyOption{noibid}[true]{%
+\DeclareBibliographyOption[boolean]{noibid}[true]{%
\global\toggletrue{cms@noibid}}
+\DeclareBibliographyOption[boolean]{dashed}[true]{%
+ \settoggle{cms@namedash}{#1}}
+
\DeclareBibliographyOption[boolean]{short}[true]{%
\global\settoggle{cms@allshort}{#1}}
\DeclareBibliographyOption[boolean]{legalnotes}[true]{%
\global\settoggle{cms@legalnotes}{#1}}
-\DeclareBibliographyOption[boolean]{supranotes}[true]{%
- \global\settoggle{cms@supranotes}{#1}}
-
-\DeclareEntryOption[boolean]{supranotes}[true]{%
- \global\settoggle{cms@supranotes}{#1}}
-
-\DeclareBibliographyOption[boolean]{noneshort}[true]{%
- \global\settoggle{cms@noneshort}{#1}}
+\DeclareBiblatexOption{global,entry}[boolean]{supranotes}[true]{%
+ \settoggle{cms@supranotes}{#1}}
-\DeclareTypeOption[boolean]{noneshort}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{noneshort}[true]{%
\settoggle{cms@noneshort}{#1}}
-\DeclareEntryOption[boolean]{noneshort}[true]{%
- \settoggle{cms@noneshort}{#1}}
-
-\DeclareBibliographyOption{shorthandibid}[true]{%
+\DeclareBibliographyOption[boolean]{shorthandibid}[true]{%
\global\toggletrue{cms@shorthandibid}}
-\DeclareBibliographyOption{shorthandfull}[true]{%
+\DeclareBibliographyOption[boolean]{shorthandfull}[true]{%
\settoggle{cms@fullshhand}{#1}}
-\DeclareBibliographyOption{inheritshorthand}[true]{%
- \settoggle{cms@inheritshhand}{#1}
+\DeclareBibliographyOption[boolean]{inheritshorthand}[true]{%
+ \settoggle{cms@inheritshhand}{#1}%
\iftoggle{cms@inheritshhand}%
{\DeclareDataInheritance{*}{*}{%
\inherit{shorthand}{shorthand}
@@ -156,24 +182,16 @@
}}%
{}}%
-\DeclareBibliographyOption[boolean]{shorthandfirst}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{shorthandfirst}[true]{%
\settoggle{cms@firstshort}{#1}}
-\DeclareEntryOption[boolean]{shorthandfirst}[true]{%
- \settoggle{cms@firstshort}{#1}}
+\DeclareBibliographyOption[boolean]{compresspages}[true]{%
+ \global\settoggle{cms@comprange}{#1}}%
-\DeclareBibliographyOption{compresspages}[true]{%
- \ifcsdef{cms@opt@crange@#1}%
- {\csuse{cms@opt@crange@#1}}%
- {\blx@err@invopt{compresspages=#1}{}}}%
-\def\cms@opt@crange@true{%
- \global\toggletrue{cms@comprange}%
- \setcounter{mincomprange}{100}%
- \setcounter{mincompwidth}{10}%
-}%
-\def\cms@opt@crange@false{}%
+\DeclareBibliographyOption[boolean]{compressyears}[true]{%
+ \global\settoggle{cms@compyears}{#1}}%
-\DeclareBibliographyOption{postnotepunct}[true]{%
+\DeclareBibliographyOption[string]{postnotepunct}[true]{%
\ifcsdef{cms@opt@ppunct@#1}%
{\csuse{cms@opt@ppunct@#1}}%
{\blx@err@invopt{postnotepunct=#1}{}}}%
@@ -181,25 +199,16 @@
\global\toggletrue{cms@modpostnote}}%
\def\cms@opt@ppunct@false{}%
-\DeclareBibliographyOption[boolean]{usecompiler}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{usecompiler}[true]{%
\settoggle{blx@usenamec}{#1}}
-\DeclareEntryOption[boolean]{usecompiler}[true]{%
- \settoggle{blx@usenamec}{#1}}
-
-\DeclareBibliographyOption{juniorcomma}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{juniorcomma}[true]{%
\settoggle{cms@jrcomma}{#1}}
-\DeclareEntryOption{juniorcomma}[true]{%
- \settoggle{cms@jrcomma}{#1}}
-
-\DeclareBibliographyOption{delayvolume}[true]{%
- \settoggle{cms@postvol}{#1}}
-
-\DeclareEntryOption{delayvolume}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{delayvolume}[true]{%
\settoggle{cms@postvol}{#1}}
-\DeclareBibliographyOption{longcrossref}[false]{%
+\DeclareBiblatexOption{global,entry}[string]{longcrossref}[false]{%
\ifcsdef{cms@opt@lxref@#1}%
{\csuse{cms@opt@lxref@#1}}%
{\blx@err@invopt{longcrossref=#1}{}}}%
@@ -221,12 +230,7 @@
\togglefalse{cms@citecrossref}%
\toggletrue{cms@bibcrossref}}%
-\DeclareEntryOption{longcrossref}[false]{%
- \ifcsdef{cms@opt@lxref@#1}%
- {\csuse{cms@opt@lxref@#1}}%
- {\blx@err@invopt{longcrossref=#1}{}}}%
-
-\DeclareBibliographyOption{booklongxref}[true]{%
+\DeclareBiblatexOption{global,entry}[string]{booklongxref}[true]{%
\ifcsdef{cms@opt@bklxref@#1}%
{\csuse{cms@opt@bklxref@#1}}%
{\blx@err@invopt{booklongxref=#1}{}}}%
@@ -243,24 +247,13 @@
\togglefalse{cms@bookcitexref}%
\toggletrue{cms@bookbibxref}}%
-\DeclareEntryOption{booklongxref}[true]{%
- \ifcsdef{cms@opt@bklxref@#1}%
- {\csuse{cms@opt@bklxref@#1}}%
- {\blx@err@invopt{booklongxref=#1}{}}}%
-
-\DeclareBibliographyOption{omitxrefdate}[true]{%
- \settoggle{cms@omitxrefdate}{#1}}%
-
-\DeclareEntryOption{omitxrefdate}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{omitxrefdate}[true]{%
\settoggle{cms@omitxrefdate}{#1}}%
-\DeclareBibliographyOption[boolean]{xrefurl}[true]{%
+\DeclareBiblatexOption{global,entry}[boolean]{xrefurl}[true]{%
\settoggle{cms@xrefurl}{#1}}%
-\DeclareEntryOption[boolean]{xrefurl}[true]{%
- \settoggle{cms@xrefurl}{#1}}%
-
-\DeclareBibliographyOption[string]{journalabbrev}[false]{%
+\DeclareBiblatexOption{global,entry}[string]{journalabbrev}[false]{%
\ifcsdef{cms@opt@jtabb@#1}%
{\csuse{cms@opt@jtabb@#1}}%
{\csuse{cms@opt@jtabb@false}\cms@warning@noline%
@@ -281,31 +274,22 @@
\togglefalse{cms@citejtabb}%
\toggletrue{cms@bibjtabb}}%
-\DeclareEntryOption[string]{journalabbrev}[false]{%
- \ifcsdef{cms@opt@jtabb@#1}%
- {\csuse{cms@opt@jtabb@#1}}%
- {\csuse{cms@opt@jtabb@false}\cms@warning@noline%
- {'journalabbrev=#1' isn't a valid option.\MessageBreak
- The default - 'false' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
\DeclareBibliographyOption[boolean]{ordinalgb}[true]{%
\settoggle{cms@ukord}{#1}}%
% The field-exclusion options %
-\DeclareBibliographyOption[boolean]{urlnotes}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlnotes}[true]{%
\settoggle{cms@url@innotes}{#1}}%
-\DeclareEntryOption[boolean]{urlnotes}[true]{%
- \settoggle{cms@url@innotes}{#1}}%
+\DeclareBiblatexOption{global,type,entry}[boolean]{urlstamp}[true]{%
+ \settoggle{cms@urltime}{#1}}%
-\DeclareBibliographyOption{isbn}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{%
\settoggle{cms@isbn}{#1}}%
-\DeclareBibliographyOption{url}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{%
\settoggle{cms@url}{#1}}%
-\DeclareBibliographyOption{doi}[true]{%
+\DeclareBiblatexOption{global,type,entry}[string]{doi}[true]{%
\ifcsdef{cms@opt@doi@#1}%
{\csuse{cms@opt@doi@#1}}%
{\blx@err@invopt{doi=#1}{}}}%
@@ -315,64 +299,35 @@
\togglefalse{cms@doi}}%
\def\cms@opt@doi@only{%
\toggletrue{cms@doionly}}%
-\DeclareBibliographyOption{eprint}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{%
\settoggle{cms@eprint}{#1}}%
-\DeclareBibliographyOption{numbermonth}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{numbermonth}[true]{%
\settoggle{cms@numbermonth}{#1}}%
-\DeclareBibliographyOption{bookpages}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookpages}[true]{%
\settoggle{cms@bookpages}{#1}}%
-\DeclareBibliographyOption{includeall}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{includeall}[true]{%
\settoggle{cms@isbn}{#1}%
\settoggle{cms@url}{#1}%
+ \settoggle{cms@urltime}{#1}% 17th ed.
\settoggle{cms@doi}{#1}%
\settoggle{cms@eprint}{#1}%
\settoggle{cms@numbermonth}{#1}%
\settoggle{cms@bookpages}{#1}}%
-\DeclareBibliographyOption{hidevolumes}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{hidevolumes}[true]{%
\settoggle{cms@hidevolumes}{#1}}%
-\DeclareBibliographyOption{addendum}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{addendum}[true]{%
\settoggle{cms@addendum}{#1}}%
-\DeclareBibliographyOption{bookseries}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{bookseries}[true]{%
\settoggle{cms@bookseries}{#1}}%
-\DeclareBibliographyOption{notefield}[true]{%
+\DeclareBiblatexOption{global,type,entry}[boolean]{notefield}[true]{%
\settoggle{cms@notefield}{#1}}%
\DeclareBibliographyOption{completenotes}[true]{%
\settoggle{cms@addendum}{#1}%
\settoggle{cms@bookseries}{#1}%
\settoggle{cms@notefield}{#1}}%
-\DeclareEntryOption{isbn}[true]{%
- \settoggle{cms@isbn}{#1}}%
-\DeclareEntryOption{url}[true]{%
- \settoggle{cms@url}{#1}}%
-\DeclareEntryOption{doi}[true]{%
- \ifcsdef{cms@opt@doi@#1}%
- {\iftoggle{cms@doi}%
- {\togglefalse{cms@doi}%
- \iftoggle{cms@doionly}%
- {\togglefalse{cms@doionly}}% !!
- {}}%
- {\toggletrue{cms@doi}}% !!
- \csuse{cms@opt@doi@#1}}%
- {\blx@err@invopt{doi=#1}{}}}%
-\DeclareEntryOption{eprint}[true]{%
- \settoggle{cms@eprint}{#1}}%
-\DeclareEntryOption{numbermonth}[true]{%
- \settoggle{cms@numbermonth}{#1}}%
-\DeclareEntryOption{bookpages}[true]{%
- \settoggle{cms@bookpages}{#1}}%
-\DeclareEntryOption{hidevolumes}[true]{%
- \settoggle{cms@hidevolumes}{#1}}%
-
-\DeclareEntryOption{addendum}[true]{%
- \settoggle{cms@addendum}{#1}}%
-\DeclareEntryOption{bookseries}[true]{%
- \settoggle{cms@bookseries}{#1}}%
-\DeclareEntryOption{notefield}[true]{%
- \settoggle{cms@notefield}{#1}}%
-
-\DeclareBibliographyOption[string]{related}[bib]{%
+\DeclareBiblatexOption{global,type,entry}[string]{related}[bib]{%
\ifcsdef{cms@opt@rel@#1}%
{\csuse{cms@opt@rel@#1}}%
{\csuse{cms@opt@rel@bib}\cms@warning@noline%
@@ -393,39 +348,18 @@
\settoggle{cms@citerel}{true}%
\settoggle{cms@related}{false}}%
-\DeclareEntryOption[string]{related}[bib]{%
- \ifcsdef{cms@opt@rel@#1}%
- {\csuse{cms@opt@rel@#1}}%
- {\csuse{cms@opt@rel@bib}\cms@warning@noline%
- {'related=#1' is not a valid option.\MessageBreak
- The default - 'bib' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
% Adding a disambiguating field to short notes otherwise identical %
-\DeclareBibliographyOption[string]{shortextrafield}{%
- \def\cms@xfield{#1}}%
-
-\DeclareTypeOption[string]{shortextrafield}{%
- \def\cms@xfield{#1}}%
-
-\DeclareEntryOption[string]{shortextrafield}{%
+\DeclareBiblatexOption{global,type,entry}[string]{shortextrafield}{%
\def\cms@xfield{#1}}%
-\DeclareBibliographyOption[string]{shortextraformat}{%
+\DeclareBiblatexOption{global,type,entry}[string]{shortextraformat}{%
\def\cms@xformat{#1}}%
-\DeclareTypeOption[string]{shortextraformat}{%
- \def\cms@xformat{#1}}%
-
-\DeclareEntryOption[string]{shortextraformat}{%
- \def\cms@xformat{#1}}%
-
-\DeclareBibliographyOption[string]{shortextrapunct}[comma]{%
+\DeclareBiblatexOption{global,type,entry}[string]{shortextrapunct}[comma]{%
\ifcsdef{cms@opt@shxp@#1}%
{\csuse{cms@opt@shxp@#1}}%
- {\csuse{cms@opt@shxp@period}\cms@warning@noline%
+ {\csuse{cms@opt@shxp@comma}\cms@warning@noline%
{'shortextrapunct=#1' is not a valid option.\MessageBreak
The default - 'comma' - has been set.\MessageBreak
Please see biblatex-chicago.pdf for valid\MessageBreak
@@ -443,27 +377,9 @@
\def\cms@opt@shxp@period{%
\def\shortextrapunct{\addperiod\addspace}}%
-\DeclareTypeOption[string]{shortextrapunct}[comma]{%
- \ifcsdef{cms@opt@shxp@#1}%
- {\csuse{cms@opt@shxp@#1}}%
- {\csuse{cms@opt@shxp@period}\cms@warning@noline%
- {'shortextrapunct=#1' is not a valid option.\MessageBreak
- The default - 'comma' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
-\DeclareEntryOption[string]{shortextrapunct}[comma]{%
- \ifcsdef{cms@opt@shxp@#1}%
- {\csuse{cms@opt@shxp@#1}}%
- {\csuse{cms@opt@shxp@period}\cms@warning@noline%
- {'shortextrapunct=#1' is not a valid option.\MessageBreak
- The default - 'comma' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
% Controlling punctuation before titleaddon fields %
-\DeclareBibliographyOption[string]{ptitleaddon}[period]{%
+\DeclareBiblatexOption{global,type,entry}[string]{ptitleaddon}[period]{%
\ifcsdef{cms@opt@ptao@#1}%
{\csuse{cms@opt@ptao@#1}}%
{\csuse{cms@opt@ptao@period}\cms@warning@noline%
@@ -484,16 +400,7 @@
\def\cms@opt@ptao@period{%
\def\ptitleaddonpunct{\addperiod\addspace}}%
-\DeclareEntryOption[string]{ptitleaddon}[period]{%
- \ifcsdef{cms@opt@ptao@#1}%
- {\csuse{cms@opt@ptao@#1}}%
- {\csuse{cms@opt@ptao@period}\cms@warning@noline%
- {'ptitleaddon=#1' is not a valid option.\MessageBreak
- The default - 'period' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
-\DeclareBibliographyOption[string]{ctitleaddon}[comma]{%
+\DeclareBiblatexOption{global,type,entry}[string]{ctitleaddon}[comma]{%
\ifcsdef{cms@opt@ctao@#1}%
{\csuse{cms@opt@ctao@#1}}%
{\csuse{cms@opt@ctao@comma}\cms@warning@noline%
@@ -514,18 +421,9 @@
\def\cms@opt@ctao@period{%
\def\ctitleaddonpunct{\addperiod\addspace}}%
-\DeclareEntryOption[string]{ctitleaddon}[comma]{%
- \ifcsdef{cms@opt@ctao@#1}%
- {\csuse{cms@opt@ctao@#1}}%
- {\csuse{cms@opt@ctao@comma}\cms@warning@noline%
- {'ctitleaddon=#1' is not a valid option.\MessageBreak
- The default - 'comma' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
% Controlling punctuation before shorthand in notes %
-\DeclareBibliographyOption[string]{shorthandpunct}[space]{%
+\DeclareBiblatexOption{global,type,entry}[string]{shorthandpunct}[space]{%
\ifcsdef{cms@opt@shp@#1}%
{\csuse{cms@opt@shp@#1}}%
{\csuse{cms@opt@shp@space}\cms@warning@noline%
@@ -550,18 +448,9 @@
\def\cms@opt@shp@endash{%
\def\shorthandpunct{\addspace\textendash\addspace}}%
-\DeclareEntryOption[string]{shorthandpunct}[space]{%
- \ifcsdef{cms@opt@shp@#1}%
- {\csuse{cms@opt@shp@#1}}%
- {\csuse{cms@opt@shp@space}\cms@warning@noline%
- {'shorthandpunct=#1' isn't a valid option.\MessageBreak
- The default - 'space' - has been set.\MessageBreak
- Please see biblatex-chicago.pdf for valid\MessageBreak
- option keys}}}%
-
\ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,%
related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,%
- legalnotes,supranotes,shortextrapunct}
+ legalnotes,supranotes,shortextrapunct,dashed}
\iftoggle{cms@legalnotes}%
{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}%
@@ -569,33 +458,38 @@
% For author-date compatibility %
-\DeclareEntryOption{switchdates}[true]{%
+\DeclareEntryOption[boolean]{switchdates}[true]{%
\settoggle{cms@switchdates}{#1}}%
\DeclareEntryOption{cmsdate}{}%
\DeclareBibliographyOption{cmsdate}{}%
-\DeclareBibliographyOption{strict}[true]{%
- \let\splitfootnoterule\footnoterule
- \renewcommand\footnoterule{}%
- \advance\skip\footins 4\p@\@plus2\p@\relax
- \gdef\split@prev{0}
- \let\pagefootnoterule\footnoterule
- % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
- \def\footnoterule{\relax
- \ifnum\split@prev=\z@
- \pagefootnoterule
- \else
- \splitfootnoterule
- \fi
- \xdef\split@prev{\the\insertpenalties}%
- }}
+\DeclareBibliographyOption[boolean]{strict}[true]{%
+ \settoggle{cms@strict}{#1}%
+ \iftoggle{cms@strict}%
+ {\let\splitfootnoterule\footnoterule
+ \renewcommand\footnoterule{}%
+ \advance\skip\footins 4\p@\@plus2\p@\relax
+ \gdef\split@prev{0}
+ \let\pagefootnoterule\footnoterule
+ % \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@}
+ \def\footnoterule{\relax
+ \ifnum\split@prev=\z@
+ \pagefootnoterule
+ \else
+ \splitfootnoterule
+ \fi
+ \xdef\split@prev{\the\insertpenalties}%
+ }}%
+ {}}
\protected\def\blx@newcunit{%
- \global\let\blx@unitpunct\newcunitpunct
- \global\toggletrue{blx@unit}}%
+ \iftoggle{blx@keepunit}%
+ {}%
+ {\global\let\blx@unitpunct\newcunitpunct
+ \global\toggletrue{blx@unit}}}%
\appto\blx@blxinit{%
\let\newcunit\blx@newcunit}
@@ -698,8 +592,8 @@
\usebibmacro{cite:save}}%
{\global\toggletrue{cms@fullnote}%
\global\togglefalse{cms@shortnote}%
- \usebibmacro{cite:full}%
\usebibmacro{footcite:save}% FIXME!!
+ \usebibmacro{cite:full}%
\usebibmacro{cite:save}}}}}%
\newbibmacro*{cite:full}{%
@@ -791,7 +685,7 @@
{\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}}%
\ifboolexpr{%
- test {\ifuniquework}%
+ test {\iffieldundef{extratitle}}%
or
test {\ifcsundef{cms@xfield}}%
}%
@@ -803,15 +697,7 @@
\iffieldundef{\csuse{cms@xfield}}% short notes
{\iflistundef{\csuse{cms@xfield}}%
{\ifnameundef{\csuse{cms@xfield}}%
- {\ifcsstring{cms@xfield}{date}%
- {\printtext[\csuse{cms@xformat}]{\printdate}}%
- {\ifcsstring{cms@xfield}{origdate}%
- {\printtext[\csuse{cms@xformat}]{\printorigdate}}%
- {\ifcsstring{cms@xfield}{eventdate}%
- {\printtext[\csuse{cms@xformat}]{\printeventdate}}%
- {\ifcsstring{cms@xfield}{urldate}%
- {\printtext[\csuse{cms@xformat}]{\printurldate}}%
- {\printtext[\csuse{cms@xformat}]{\cms@xfield}}}}}}%
+ {\cms@xtime}% See below; stops spurious parentheses appearing
{\printtext[\csuse{cms@xformat}]{%
\printnames[default]{\csuse{cms@xfield}}}}}%
{\printtext[\csuse{cms@xformat}]{%
@@ -838,8 +724,43 @@
}%
{\printtext[\csuse{cms@xformat}]{%
\printfield[letterday]{\csuse{cms@xfield}}}}%
+ {\ifboolexpr{%
+ test {\ifcsstring{cms@xfield}{season}}%
+ or
+ test {\ifcsstring{cms@xfield}{origseason}}%
+ or
+ test {\ifcsstring{cms@xfield}{eventseason}}%
+ or
+ test {\ifcsstring{cms@xfield}{urlseason}}%
+ }%
+ {\printtext[\csuse{cms@xformat}]{%
+ \mkbibseason{\thefield{\csuse{cms@xfield}}}}}%
+ {\IfSubStr{\cms@xfield}{year}%
+ {\StrCut{\cms@xfield}{year}\cms@yeartype\cms@tempnull%
+ \iffieldundef{\csuse{cms@yeartype}year}%
+ {}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \csuse{print\cms@yeartype dateextra}}}}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \printfield{\csuse{cms@xfield}}}}}}}}}%
+
+\newrobustcmd*{\cms@xtime}{% Tests for presence of field before printing
+ \IfSubStr{\cms@xfield}{time}%
+ {\StrCut{\cms@xfield}{time}\cms@timetype\cms@tempnull%
+ \iffieldundef{\csuse{cms@timetype}hour}%
+ {}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \csuse{print\cms@timetype date}%
+ \newcunit\csuse{print\cms@timetype time}}}}%
+ {\IfSubStr{\cms@xfield}{date}%
+ {\StrCut{\cms@xfield}{date}\cms@datetype\cms@tempnull%
+ \ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND%
+ \iffieldundef{\csuse{cms@datetype}month}\AND%
+ \iffieldundef{\csuse{cms@datetype}season}}%
+ {}%
{\printtext[\csuse{cms@xformat}]{%
- \printfield{\csuse{cms@xfield}}}}}}}%
+ \csuse{print\cms@datetype date}}}}%
+ {}}}
\newbibmacro*{footcite:save}{%
\ifboolexpr{%
@@ -1326,8 +1247,8 @@
{\usebibmacro{citeindex}%
\toggletrue{cms@fullnote}%
\togglefalse{cms@shortnote}%
- \usebibmacro{cite:full}%
\usebibmacro{footcite:save}%
+ \usebibmacro{cite:full}%
\usebibmacro{cite:save}}
{\multicitedelim}
{}
@@ -1337,8 +1258,8 @@
{\usebibmacro{citeindex}%
\toggletrue{cms@fullnote}%
\togglefalse{cms@shortnote}%
- \usebibmacro{cite:full}%
\usebibmacro{footcite:save}%
+ \usebibmacro{cite:full}%
\usebibmacro{cite:save}}
{\multicitedelim}
{}
@@ -1348,7 +1269,7 @@
\ifhyperref%
{\hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}%
{}%
- \nopunct\unspace}% Put \nopunct and \unspace here for 0.8e.
+ \nopunct}%\unspace% Put \nopunct and \unspace here for 0.8e.
{\usedriver
{\DeclareNameAlias{sortname}{default}\clearfield{postnote}%
\usebibmacro{clearorigin}\clearfield{userf}\clearfield{shorthand}%
@@ -1383,7 +1304,7 @@
{\finentry}
\DeclareCiteCommand{\headlessfullcite}
- {\usebibmacro{hlprenote}}%
+ {\usebibmacro{prenote}}%
{\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{default}\usebibmacro{cite:save}%
@@ -1394,18 +1315,18 @@
{}%\usebibmacro{finentry}}
\DeclareCiteCommand{\headlesscite}
- {\usebibmacro{hlcprenote}}
+ {\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\toggletrue{cms@headlessnote}%
\usebibmacro{clear+labelname}%
\clearname{labelname}%
\usebibmacro{cite}%
- \global\toggletrue{cms@noidem}}
+ \global\toggletrue{cms@noidem}}%
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\headlessparencite}[\mkbibparens]
- {\usebibmacro{hlcprenote}}
+ {\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\toggletrue{cms@headlessnote}%
\usebibmacro{clear+labelname}%
@@ -1449,8 +1370,8 @@
{\renewbibmacro*{author/editor}{\usebibmacro{choose+surname}}%
\renewbibmacro*{editor}{\usebibmacro{choose+surname}}%
\renewbibmacro*{author}{\usebibmacro{choose+surname}}%
- \usebibmacro{cite}}}
- {\multicitedelim}
+ \usebibmacro{cite}}}%
+ {\multicitedelim}%
{\usebibmacro{cite:postnote}}
\DeclareMultiCiteCommand{\surnamecites}{surnamecite}{\multicitedelim}
@@ -1507,10 +1428,16 @@
{\multicitedelim}
{\usebibmacro{postnote}}
+\newrobustcmd*{\Headlesscite}{\bibsentence\headlesscite}
+
+\newrobustcmd*{\Headlesscites}{\bibsentence\headlesscites}
+
\DeclareMultiCiteCommand{\citetitles}{citetitle}{\multicitedelim}
\DeclareMultiCiteCommand{\headlesscites}{headlesscite}{\multicitedelim}
+\DeclareMultiCiteCommand{\headlessfullcites}{headlessfullcite}{\multicitedelim}
+
\DeclareMultiCiteCommand{\headlessparencites}[\mkbibparens]%
{headlessparencite}{\multicitedelim}
@@ -1694,9 +1621,7 @@
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{cmag+news+author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{cmag+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -1728,6 +1653,8 @@
togl {cms@citerel}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -1736,9 +1663,7 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{cmag+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -1772,6 +1697,8 @@
togl {cms@citerel}%
and
not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ not test {\iffieldundef{related}}%
}%
{\usebibmacro{related:init}%
\usebibmacro{related}%
@@ -1782,9 +1709,7 @@
\DeclareBibliographyDriver{cite:artwork}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
\usebibmacro{citaltitle+stitle}%
\newcunit\newblock
\usebibmacro{date}%
@@ -1813,7 +1738,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -1823,9 +1752,7 @@
\DeclareBibliographyDriver{cite:audio}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -1893,7 +1820,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -1903,9 +1834,7 @@
\DeclareBibliographyDriver{cite:book}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{citaltitle+stitle}%
\setunit{\addspace}%
\usebibmacro{cite:xref+date}%
@@ -1967,7 +1896,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -1994,9 +1927,7 @@
\DeclareBibliographyDriver{cite:bookinbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{citaltitle+stitle}%
\setunit{\addspace}%
\usebibmacro{cite:xref+date}%
@@ -2048,7 +1979,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2075,9 +2010,7 @@
\DeclareBibliographyDriver{cite:booklet}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
\usebibmacro{citaltitle+stitle}%
\newcunit\newblock
\usebibmacro{byauthor}%
@@ -2095,7 +2028,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2105,9 +2042,7 @@
\DeclareBibliographyDriver{cite:collection}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
\usebibmacro{citaltitle+stitle}%
\setunit{\addspace}
\usebibmacro{cite:xref+date}%
@@ -2156,7 +2091,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2192,9 +2131,7 @@
\DeclareBibliographyDriver{cite:image}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%
\usebibmacro{citaltitle+stitle}%
\newcunit%\setunit{\addcomma\addspace}%
\usebibmacro{date}%
@@ -2223,7 +2160,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2233,9 +2174,7 @@
\DeclareBibliographyDriver{cite:inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -2288,7 +2227,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2311,9 +2254,7 @@
\DeclareBibliographyDriver{cite:incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock%
+ \usebibmacro{hlpunct}%
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -2366,7 +2307,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2389,9 +2334,7 @@
\DeclareBibliographyDriver{cite:inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -2440,7 +2383,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2508,7 +2455,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2567,7 +2518,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2624,7 +2579,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2688,7 +2647,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2698,9 +2661,7 @@
\DeclareBibliographyDriver{cite:legal}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -2754,7 +2715,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2765,9 +2730,7 @@
\iffieldequalstr{entrysubtype}{uk}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -2821,7 +2784,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2830,9 +2797,7 @@
{\iffieldequalstr{entrysubtype}{hansard}% FIXME?
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -2880,7 +2845,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2888,9 +2857,7 @@
\usebibmacro{finentry}}
{\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{clegis+news+title}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -2952,7 +2919,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3017,7 +2988,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3040,9 +3015,7 @@
\DeclareBibliographyDriver{cite:manual}{%
\usebibmacro{bibindex}%
\usebibmacro{author+org}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
\usebibmacro{citaltitle+stitle}%
\newcunit
\usebibmacro{edition}%
@@ -3070,7 +3043,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3080,9 +3057,7 @@
\DeclareBibliographyDriver{cite:misc}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%
\iffieldundef{entrysubtype}%
{\usebibmacro{citaltitle+stitle}}%
{\printfield{title}%
@@ -3123,7 +3098,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3133,9 +3112,7 @@
\DeclareBibliographyDriver{cite:music}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%
\usebibmacro{citaltitle+stitle}%
\newcunit
\usebibmacro{byauthor}%
@@ -3215,7 +3192,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3233,9 +3214,7 @@
\DeclareBibliographyDriver{cite:online}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -3270,7 +3249,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3318,7 +3301,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3329,9 +3316,7 @@
\iffieldequalstr{entrysubtype}{magazine}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -3355,7 +3340,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3363,9 +3352,7 @@
\usebibmacro{finentry}}%
{\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{issuetitle}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -3391,7 +3378,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3401,9 +3392,7 @@
\DeclareBibliographyDriver{cite:proceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock%
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock%
\usebibmacro{citaltitle+stitle}%
\setunit{\addspace}
\usebibmacro{cite:xref+date}%
@@ -3449,7 +3438,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3514,7 +3507,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3524,9 +3521,7 @@
\DeclareBibliographyDriver{cite:report}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
\iffieldequalstr{entrysubtype}{unpublished}%
{\usebibmacro{ctitle+stitle}}%
{\usebibmacro{citaltitle+stitle}}%
@@ -3556,7 +3551,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3627,9 +3626,7 @@
\DeclareBibliographyDriver{cite:suppbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%\newcunit\newblock
\usebibmacro{inforaft}%
\setunit{\addspace}\newblock
\usebibmacro{citaltitle+stitle}%
@@ -3671,7 +3668,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3685,9 +3686,7 @@
\DeclareBibliographyDriver{cite:thesis}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -3707,7 +3706,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3717,9 +3720,7 @@
\DeclareBibliographyDriver{cite:unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \setunit{\addcomma\addspace}\newblock
+ \usebibmacro{hlpunct}%\setunit{\addcomma\addspace}\newblock
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}%
\usebibmacro{language+transtitle}%
@@ -3753,7 +3754,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3763,9 +3768,7 @@
\DeclareBibliographyDriver{cite:video}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
- \setunit{\addspace}%
- \printfield{nameaddon}%
- \newcunit\newblock
+ \usebibmacro{hlpunct}%
\usebibmacro{ctitle+stitle}%
\setunit{\addspace}\newblock%
\usebibmacro{language+transtitle}%
@@ -3833,7 +3836,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldundef{related}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -3958,19 +3965,14 @@
\DeclareFieldFormat{prenote}{\ifcapital{\MakeCapital{#1}}{#1}\isdot}
-\iftoggle{cms@comprange}% Audrey Boruvka's code from StackExchange
-{\patchcmd{\blx@comprange@check}%
- {\blx@comprange@comp{#1}{#2}}%
- {\blx@tempcnta=#1%
- \divide\blx@tempcnta100%
- \multiply\blx@tempcnta100%
- \ifnumequal{\blx@tempcnta}{#1}%
- {\blx@range@out@value{#1\bibrangedash#2}}%
- {\blx@comprange@comp{#1}{#2}}}%
- {}{}}{}%
+%% comprange code moved to .sty
\DeclareFieldFormat{postnote}{% Changed for page compression option
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\mkcomprange{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -3979,7 +3981,11 @@
{\mkpageprefix[pagination]{#1}}}}%
\DeclareFieldFormat[inreference]{postnote}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\bibsstring{subverbo}\addspace\mkbibquote{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -4003,7 +4009,11 @@
{\printtext{at}\addspace #1}}}}%
\DeclareFieldFormat[jurisdiction,legal,legislation]{postnote}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{pagination}%
{\mkcomprange[\mkjuridprefix]{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
@@ -4012,7 +4022,11 @@
{\mkpageprefix[pagination]{#1}}}}%
\DeclareFieldFormat{pages}{%
- \iftoggle{cms@comprange}%
+ \ifboolexpr{%
+ togl {cms@comprange}%
+ and
+ test {\ifpages{#1}}%
+ }%
{\iffieldundef{bookpagination}%
{\mkcomprange{#1}\isdot}%
{\mkcomprange[{\mkpageprefix[bookpagination]}]{#1}}}%
@@ -4020,13 +4034,6 @@
{#1\isdot}%
{\mkpageprefix[bookpagination]{#1}}}}%
-% \DeclareFieldFormat{edlang}{%
-% \ifbibstring{#1}%
-% {\bibstring{#1}}%
-% {\ifbibstring{ed#1}%
-% {\bibstring{ed#1}}%
-% {\ifcapital{\MakeCapital{#1}}{#1}}}}
-
\DeclareListFormat{edlang}{% Required for feminine forms in some
\usebibmacro{list:delim}{% languages
\ifbibstring{#1}%
@@ -4365,7 +4372,7 @@
\ifthenelse{\iffieldequalstr{entrysubtype}{uk}\OR%
\iffieldequalstr{entrysubtype}{hansard}}%
{c\adddotspace #1}%
- {\bibsstring{chapter}~#1}}%
+ {ch\adddotspace #1}}%
%% This tries to get hyperlinks from shortened cross-ref'd notes to %%
%% long notes working properly. Used in short and shorthand cites. %%
@@ -4523,12 +4530,12 @@
{\setunit*{\addspace}}%
{\setunit*{\addcomma\addspace}}}
-\newcommand{\reprintpunct}{%
+\newcommand*{\reprintpunct}{%
\iftoggle{cms@fullnote}%
{\setunit*{\addsemicolon\addspace}}%
{\setunit*{\addperiod\addspace}}}
-\newcommand{\encypunct}{% for named entries in an encyclopedia
+\newcommand*{\encypunct}{% for named entries in an encyclopedia
\iftoggle{cms@fullnote}%
{\ifentrytype{book}%
{\ifthenelse{\iffieldundef{addendum}\AND\iffieldundef{doi}\AND
@@ -4551,22 +4558,13 @@
{\addperiod}%
{}}}}%
-\newcommand{\postvolpunct}{\addcolon}% For vol:page customization
+\newcommand*{\postvolpunct}{\addcolon}% For vol:page customization
-\newcommand{\parttrans}{%
+\newcommand*{\parttrans}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbytranslator}\addspace}%
{\bibstring{bytranslator}\addspace}}%
-% \newcommand{\partedit}{%
-% \iftoggle{cms@postposit}% Kludge to make it work in French.
-% {\iftoggle{cms@fullnote}%
-% {\bibstring{cbyeditoralt}\addspace}%
-% {\bibstring{byeditoralt}\addspace}}%
-% {\iftoggle{cms@fullnote}%
-% {\bibstring{cbyeditor}\addspace}%
-% {\bibstring{byeditor}\addspace}}}%
-
\protected\def\partedit#1{%
\ifcat\noexpand~\noexpand#1%
\ifundef{\cms@tempb}{}{\appto{\cms@tempb}{#1}}%
@@ -4598,37 +4596,37 @@
\cms@tempa%
}%
-\newcommand{\part@edit@i}{%
+\newcommand*{\part@edit@i}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbyeditor}\addspace}%
{\bibstring{byeditor}\addspace}}%
-\newcommand{\partcomp}{%
+\newcommand*{\partcomp}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbycompiler}\addspace}%
{\bibstring{bycompiler}\addspace}}%
-\newcommand{\parteditandcomp}{%
+\newcommand*{\parteditandcomp}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbyeditorcp}\addspace}%
{\bibstring{byeditorcp}\addspace}}%
-\newcommand{\parttransandcomp}{%
+\newcommand*{\parttransandcomp}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbytranslatorcp}\addspace}%
{\bibstring{bytranslatorcp}\addspace}}%
-\newcommand{\partedittransandcomp}{%
+\newcommand*{\partedittransandcomp}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbyeditortrcp}\addspace}%
{\bibstring{byeditortrcp}\addspace}}%
-\newcommand{\parteditandtrans}{%
+\newcommand*{\parteditandtrans}{%
\iftoggle{cms@fullnote}%
{\bibstring{cbyeditortr}\addspace}%
{\bibstring{byeditortr}\addspace}}%
-\newcommand{\reprint}{%
+\newcommand*{\reprint}{%
\iftoggle{cms@fullnote}%
{\bibsstring{reprint}}%
{\bibstring{reprint}}}%
@@ -4666,10 +4664,10 @@
{\addspace}%
{\iftoggle{cms@shortnote}%
{\iffieldequalstr{entrysubtype}{classical}%
- {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% Makes classical
+ {\DeclareNumChars*{abcdeABCDE:}% Makes classical
\iffieldpages{postnote}% test more accurate. See 17.253.
{\addspace}%
- {\addcomma\addspace}}%
+ {\addcomma\addspace}\DeclareNumChars{.}}%
{\addcomma\addspace}}% 16th ed -- no more volumes test.
{\iftoggle{cms@fullnote}%
{\ifthenelse{\(\ifentrytype{article}\OR
@@ -4715,8 +4713,8 @@
and
not togl {cms@fullnote}%
}%
- {\addperiod\addspace}%
- {\addcomma\addspace}}
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
\newcommand*{\nameadelim}{%
\ifboolexpr{%
@@ -4724,8 +4722,8 @@
and
not togl {cms@fullnote}%
}%
- {\addperiod\addspace}%
- {\addcomma\addspace}}
+ {\newunit}%\addperiod\addspace
+ {\newcunit}}%\addcomma\addspace
\DeclareListFormat{cfromoriglanguage}{% Needed for notes, to provide
\begingroup% final {by}.
@@ -4740,7 +4738,7 @@
{\ifboolexpr{%
test {\ifnumless{\value{listcount}}{\value{liststop}}}%
or
- test \ifmoreitems%
+ test {\ifmoreitems}%
}%
{\bibstring{from#1}}%
{\bibstring{cfrom#1}}}%
@@ -4754,7 +4752,7 @@
\ifboolexpr{%
test {\ifnumequal{\value{listcount}}{\value{liststop}}}%
and
- test \ifmoreitems%
+ test {\ifmoreitems}%
}%
{\ifnumgreater{\value{liststop}}{1}%
{\finalandcomma}%
@@ -4844,7 +4842,6 @@
{\cms@citetracker@xref}}%
{\cms@citetracker@crossref}}}}%
-
\def\cms@citetracker@crossref{% cf. \blx@citetracker@global
\ifbool{citetracker}%
{\xifinlistcs\abx@field@crossref{blx@bsee@\the\c@refsection}%
@@ -4932,22 +4929,35 @@
\newbibmacro*{mag+news+author}{%
\ifnameundef{author}%
- {\ifthenelse{\iffieldequals{journaltitle}{\bbx@lasthash}\AND\NOT
- \iffirstonpage}%
- {\bibnamedash\addperiod\addspace}%
+ {\ifboolexpr{%
+ test {\iffieldequals{journaltitle}{\bbx@lasthash}}%
+ and
+ not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
+ }%
+ {\printtext{\bibnamedash}}%
{\usebibmacro{journal+sub}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
\savefield{journaltitle}{\bbx@lasthash}}}%
{\ifuseauthor%
- {\usebibmacro{author}}%
+ {\ifthenelse{\(\ifentrytype{review}\OR\ifentrytype{suppperiodical}\)%
+ \AND\NOT\iffieldundef{nameaddon}}%
+ {\savefield{nameaddon}{\cms@tempn}\clearfield{nameaddon}%
+ \usebibmacro{author}\restorefield{nameaddon}{\cms@tempn}}%
+ {\usebibmacro{author}}}%
{}}}%
\newbibmacro*{cmag+news+author}{%
\ifnameundef{author}%
{}% 16th ed.
{\ifuseauthor%
- {\usebibmacro{author}}%
+ {\ifthenelse{\(\ifentrytype{review}\OR\ifentrytype{suppperiodical}\)%
+ \AND\NOT\iffieldundef{nameaddon}}%
+ {\savefield{nameaddon}{\cms@tempn}\clearfield{nameaddon}%
+ \usebibmacro{author}\restorefield{nameaddon}{\cms@tempn}}%
+ {\usebibmacro{author}}}%
{}}}%
\newbibmacro*{type+inst+year}{%
@@ -4955,7 +4965,7 @@
\newcunit
\printlist{institution}%
\setunit*{\addcomma\addspace}%
- \usebibmacro{cmsyear}}
+ \usebibmacro{date}}% Instead of cmsyear
\newbibmacro*{institution+organization}{%
\iflistundef{organization}%
@@ -4975,8 +4985,10 @@
test {\iflistequals{organization}{\bbx@lasthash}}%
and
not test {\iffirstonpage}%
+ and
+ togl {cms@namedash}%
}%
- {\bibnamedash\addperiod\addspace}%
+ {\printtext{\bibnamedash}}%
{\printlist{organization}%
\savelist{organization}{\bbx@lasthash}}}}%
{\usebibmacro{editor}}}%
@@ -5237,7 +5249,7 @@
\printnames[byeditor]{namea}%
\ifnameundef{nameb}%
{}%
- {\newunit%
+ {\newcunit%
\bibstring{cbytranslator}\addspace%
\printnames[bytranslator]{nameb}}}}}
@@ -5716,12 +5728,14 @@
{\printlist{origlocation}%
\newcunit\newblock}%
\iftoggle{cms@switchdates}%
- {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
{}%
- {\cms@datelongalt}}%
- {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
{}%
- {\cms@datelong}}}
+ {\cms@datelong{orig}}}}
\newbibmacro*{unpubl+letter+date}{% For Misc entries
\iflistundef{origlocation}%
@@ -5729,12 +5743,14 @@
{\printlist{origlocation}%
\newcunit\newblock}%
\iftoggle{cms@switchdates}%
- {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}}%
+ {\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}\AND%
+ \iffieldundef{season}}%
{}%
- {\cms@datelongalt}}%
- {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}}%
+ {\cms@datelong{}}}%
+ {\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}\AND%
+ \iffieldundef{origseason}}%
{\printdate}% For interviews and other dated non-letters.
- {\cms@datelong}}}
+ {\cms@datelong{orig}}}}
\newbibmacro*{pubstate}{%
\iftoggle{cms@reprint}%
@@ -5818,8 +5834,8 @@
\newbibmacro*{cmsyear}{%
\iftoggle{cms@switchdates}%
- {\printfield{origyear}}%
- {\printfield{year}}}
+ {\printorigdateextra}% \printfield{origyear}
+ {\printdateextra}}% \printfield{year}
\newbibmacro*{number+or+month}{%
\iffieldundef{number}%
@@ -5828,36 +5844,37 @@
{\usebibmacro{date}}%
{\usebibmacro{cmsyear}}}}
-\newcommand*{\cms@datelong}{% Modified for 0.9
- \iffieldundef{origmonth}%
- {\printfield{origyear}}%
- {\printfield[letterday]{origday}\setunit*{\nobreakspace}% Bug fix
- \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}%
- \printfield{origyear}}}%
-
-\newcommand*{\cms@datelongalt}{% Modified for 0.9
- \iffieldundef{month}%
- {\printfield{year}}%
- {\printfield[letterday]{day}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}%
- \printfield{year}}}%
-
-\newcommand*{\letterdatelong}{% Modified for 0.9
- \iftoggle{cms@switchdates}% This one for users
- {\iffieldundef{year}% Previous two for internal use
+\newcommand*{\cms@datelong}[1]{% Modified for 17th ed.
+ \begingroup
+ \protected\def\mkbibdatelong##1##2##3{%
+ \iffieldundef{##3}%
{}%
- {\iffieldundef{month}%
- {\printfield{year}}%
- {\printfield[letterday]{day}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{month}}\setunit{\nobreakspace}%
- \printfield{year}}}}%
- {\iffieldundef{origyear}%
+ {\iftoggle{cms@ukord}%
+ {\mkbibordinal{\thefield{##3}}}%
+ {\stripzeros{\thefield{##3}}}%
+ \iffieldundef{##2}{}{\nobreakspace}}%
+ \iffieldundef{##2}%
{}%
- {\iffieldundef{origmonth}%
- {\printfield{origyear}}%
- {\printfield[letterday]{origday}\setunit*{\nobreakspace}%
- \mkbibmonth{\thefield{origmonth}}\setunit{\nobreakspace}%
- \printfield{origyear}}}}}%
+ {\mkbibmonth{\thefield{##2}}%
+ \iffieldundef{##1}{}{\space}}%
+ \iffieldbibstring{##1}%
+ {\bibstring{\thefield{##1}}}%
+ {\cmsdateeraprintpre{##1}\stripzeros{\thefield{##1}}}}%
+ \cms@mkbibrangetrunc{long}{#1}%
+ \endgroup}%
+
+\newrobustcmd*{\letterdatelong}{% For users: 17th ed.
+ \ifboolexpr{%
+ test {\ifdefstring{\blx@languagename}{american}}%
+ or
+ test {\ifdefstring{\blx@languagename}{english}}% i.e., no babel
+ }%
+ {\iftoggle{cms@switchdates}%
+ {\cms@datelong{}}%
+ {\cms@datelong{orig}}}%
+ {\iftoggle{cms@switchdates}%
+ {\printdate}%
+ {\printorigdate}}}%
\newbibmacro*{cjournal+ser+vol+num}{%
\usebibmacro{journal+sub}%
@@ -6442,6 +6459,12 @@
\usebibmacro{semel:postnote}}}
\newbibmacro*{xrefprenote}{%
+ \ifboolexpr{% Kludgy fix for spurious idem
+ test {\ifdefvoid{\blx@idemtracker}}%
+ or
+ test {\ifbibliography}%
+ }%
+ {}{\blx@idemtracker}%
\iffieldundef{volume}{}{\savefield{volume}{\cbx@incollvol}}%
\iffieldundef{pages}{}{\savefield{pages}{\cbx@incollpages}}%
\iffieldundef{part}{}{\savefield{part}{\cbx@incollpart}}%
@@ -6471,23 +6494,10 @@
\global\let\cbx@incollpgn\undefined%
\global\let\cbx@incollbkpgn\undefined}%
-\newbibmacro*{hlprenote}{% Removes spurious comma after prenote in
- \iffieldundef{prenote}% \headlessfullnote citations.
- {}%
- {\printfield{prenote}%
- \nopunct}}% Do we need \unspace here?
-
-\newbibmacro*{hlcprenote}{% As previous, but for generalized \headlesscite
- \iffieldundef{prenote}% command, rather than \headlessfullcite.
- {\bibsentence}% Needed for Ibid to be capitalized.
- {\printfield{prenote}%
- \ifboolexpr{%
- test {\ifciteseen}%
- or
- togl {cms@allshort}%
- }%
- {\addspace}%
- {\nopunct}}}% Do we need \unspace here?
+\newbibmacro*{hlpunct}{%
+ \iftoggle{cms@headlessnote}%
+ {}%
+ {\newcunit\newblock}}
\newbibmacro*{journalprenote}{%
\iffieldundef{prenote}%
@@ -6597,6 +6607,9 @@
\noinherit{urlyear}
\noinherit{urlmonth}
\noinherit{urlday}
+ \noinherit{urlseason}
+ \noinherit{urlhour}
+ \noinherit{urlminute}
\noinherit{doi}
\noinherit{eprint}
\noinherit{eprinttype}
@@ -6607,15 +6620,19 @@
\noinherit{year}
\noinherit{month}
\noinherit{day}
+ \noinherit{season}
\noinherit{endyear}
\noinherit{endmonth}
\noinherit{endday}
+ \noinherit{endseason}
\noinherit{origyear}
\noinherit{origmonth}
\noinherit{origday}
+ \noinherit{origseason}
\noinherit{origendyear}
\noinherit{origendmonth}
- \noinherit{origendday}}
+ \noinherit{origendday}
+ \noinherit{origendseason}}
\DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7
\sort{
@@ -6651,6 +6668,10 @@
}
}
+\DeclareSortExclusion{misc,online}{organization}
+\DeclareSortExclusion{inreference,mvreference,reference}{%
+ author,editor,namea,nameb,namec,translator}
+
\DeclareSortingTemplate{shortjournal}{%
\sort{
\field{shortjournal}
@@ -6798,11 +6819,15 @@
\clearfield{subtitle}%
\clearfield{titleaddon}%
\clearfield{usere}%
- \clearlist{language}}%
+ \clearlist{language}%
+ \ifentrytype{music}%
+ {\clearfield{note}\clearfield{howpublished}\clearfield{eventyear}%
+ \clearfield{eventmonth}}%
+ {}}%
\ifentrytype{letter}%
{\iftoggle{cms@switchdates}%
- {\clearfield{year}\clearfield{month}}%
- {\clearfield{origyear}\clearfield{origmonth}}%
+ {\clearfield{year}\clearfield{month}\clearfield{season}}%
+ {\clearfield{origyear}\clearfield{origmonth}\clearfield{origseason}}%
\clearfield{origlocation}}%
{}%
\clearfield{reprinttitle}%
@@ -6810,6 +6835,26 @@
%%%% Related macros from biblatex.def %%%%
+\renewcommand*{\begrelateddelim}{%
+ \ifcitation{\newcunitpunct}%
+ {\ifboolexpr{%
+ togl {cms@fullnote}%
+ or
+ togl {cms@shortnote}%
+ }%
+ {\newcunitpunct}%
+ {\newunitpunct}}}%
+
+\newcommand*{\begrelateddelimreviewof}{%
+ \ifcitation{\newcunitpunct}%
+ {\ifboolexpr{%
+ togl {cms@fullnote}%
+ or
+ togl {cms@shortnote}%
+ }%
+ {\newcunitpunct}%
+ {\newunitpunct}}}
+
\newbibmacro*{related:reviewof}[1]{%
\iftoggle{cms@shortnote}%
{\entrydata{#1}{%
@@ -6962,6 +7007,11 @@
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibemph{#1}}
@@ -6975,6 +7025,11 @@
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{#1}%
\endgroup
\mkbibquote{#1}}
@@ -6988,6 +7043,11 @@
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1\addspace\bibstring{in}}%
@@ -7001,6 +7061,11 @@
not test {\iffieldundef{langid}}%
}%
{\unspace}{}%
+ \ifdefstring{\blx@main@language}{french}%
+ {}%
+ {\iftoggle{smartof}%
+ {\let\lbx@inittitlehook\lbx@fr@smartof}%
+ {}}%
\lbx@inittitlehook{\bibstring{chapter}}%
\endgroup
\bibstring{chapter}~#1}%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-american.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx
index c135816831..3934e01c8f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-american.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-american.lbx,v 0.10.2.8 2018/01/09 18:58:58 dfussner Exp $
-
-\ProvidesFile{cms-american.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-american.lbx}[2020/04/20 v 3.14 biblatex localization]
\InheritBibliographyExtras{american}
@@ -8,9 +6,14 @@
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Introduction}%
+ \def\sectionname{Section}%
+ \def\subsectionname{Subsection}%
+ \def\forewordname{Foreword}%
+ \def\notesname{Notes}%
\protected\def\mkjuridordinal#1{%
\begingroup
\@tempcnta0#1\relax\number\@tempcnta
@@ -20,282 +23,110 @@
\fi
\ifcase\@tempcnta th\or st\or d\or d\else th\fi
\endgroup}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#2}
+ {}
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#3}
+ {\iffieldundef{#1}{}{\space}}
+ {\nobreakspace}}%
+ \iffieldundef{#3}
+ {}
+ {\stripzeros{\thefield{#3}}%
+ \iffieldundef{#1}{}{,\space}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\cmsdateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#2}
+ {}
+ {\mkmonthzeros{\thefield{#2}}%
+ \iffieldundef{#3}
+ {\iffieldundef{#1}{}{/}}
+ {/}}%
+ \iffieldundef{#3}
+ {}
+ {\mkdayzeros{\thefield{#3}}%
+ \iffieldundef{#1}{}{/}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\cmsmkdecade#1#2{%
+ \cms@tempcnta=\thefield{#2year}%
+ \divide\cms@tempcnta100
+ \multiply\cms@tempcnta100
+ \ifnumequal{\cms@tempcnta}{\thefield{#2year}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\ifnumequal{\thefield{#2year}}{1}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\ifnumless{\thefield{#2year}}\blx@dateeraauto}%
+ }%
+ {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}%
+ {}}%
+ {}%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}%
+ }%
+ {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}%
+ {}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\cmsdateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{%
\lbx@cms@mkbibrangetrunc@long{long}}%
\protected\def\mkdaterangeterse{%
\lbx@cms@mkbibrangetrunc@short{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc@long{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc@short{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}}%
+ \lbx@cms@mkbibrangefull@us}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}}%
\UndeclareBibliographyExtras{%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangeterse%
\restorecommand\mkdaterangefull%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangeterse%
- \restorecommand\mkbibrangefull%
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
}
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
-
\DeclareBibliographyStrings{%
inherit = {english},
afterwordto = {{afterword to}{afterw\adddot\space to}},
@@ -337,9 +168,13 @@
producers = {{prods\adddot}{prods\adddot}},
editor = {{ed\adddot}{ed\adddot}},
editors = {{eds\adddot}{eds\adddot}},
+ choreographer = {{chor\adddot}{chor\adddot}},
+ choreographers = {{chors\adddot}{chors\adddot}},
ibidem = {{ibid\adddot}{id\adddot}},% Shorter for legal
origpub = {{originally published as\addspace}%
{orig\adddot\ pub\adddot\ as\addspace}},
+ origpubin = {{first published}%
+ {first pub\adddot}},
origpublin = {{originally published in\addspace}%
{orig\adddot\ pub\adddot\addspace in\addspace}},
origpubyear = {{originally published in\addspace}%
@@ -359,6 +194,15 @@
discrecorded = {{recorded}{recorded}},
numbers = {{nos\adddot}{nos\adddot}},
nodate = {{{}n\adddot d\adddot}{{}n\adddot d\adddot}},
+ % commonera = {{CE}{CE}},
+ % beforecommonera = {{BCE}{BCE}},
+ % annodomini = {{AD}{AD}},
+ % beforechrist = {{BC}{BC}},
+% circa = {{ca\adddot}{ca\adddot}},
+ am = {{a\adddot m\adddot}{a\adddot m\adddot}},
+ pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
+ decade = {{s}{s}},
+ century = {{century}{c\adddot}},
pseudonym = {{pseud\adddot}{pseud\adddot}},
patentfiled = {{filed}{filed}},
patentissued = {{issued}{issued}},
@@ -403,7 +247,10 @@
annotators = {{annot\adddot}{annot\adddot}},
review = {{review}{review}},
reviewof = {{review of}{review of}},
+ commenton = {{comment on}{comment on}},
reprint = {{reprint}{repr\adddot}},
+ printed = {{printed}{printed}},% 17th ed.
+ selfpublished = {{self-published}{self-pub\adddot}},
shorthands = {{Abbreviations}{Abbreviations}},
newseries = {{n\adddot s\adddot}{n\adddot s\adddot}},
urlseen = {{accessed}{accessed}},
@@ -423,6 +270,7 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{dir\adddot}{dir\adddot}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{chor\adddot}{chor\adddot}},
cbyeditortr = {{ed\adddot\space and
trans\adddot\addspace\lbx@cfromlang}%
{ed\adddot\space and trans\adddot\addspace\lbx@cfromlang}},
@@ -686,6 +534,7 @@
jourser = {{ser\adddot}{ser\adddot}},
oldseries = {{o\adddot s\adddot}{o\adddot s\adddot}},
edition = {{ed\adddot}{ed\adddot}},
+ version = {{version}{v\adddot}},
page = {{p\adddot}{p\adddot}},
pages = {{pp\adddot}{pp\adddot}},
column = {{col\adddot}{col\adddot}},
@@ -696,6 +545,10 @@
paragraphs = {{\P\P}{\P\P}},
section = {{\S}{\S}},
sections = {{\S\S}{\S\S}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S\S}{\S\S}},
+ preface = {{preface}{pref\adddot}},
+ note = {{note}{n\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto
@@ -706,8 +559,9 @@
verse = {{v\adddot}{v\adddot}},
verses = {{vv\adddot}{vv\adddot}},
number = {{no\adddot}{no\adddot}},
- chapter = {{chap\adddot}{ch\adddot}},% for legal citations
- part = {{part}{pt\adddot}},% ditto
+ chapter = {{chap\adddot}{chap\adddot}},%
+ part = {{part}{pt\adddot}},% for legal citations
+ track = {{track}{track}},
mathesis = {{master's thesis}{master's thesis}},
phdthesis = {{PhD\addabbrvspace diss\adddot}{PhD\addabbrvspace diss\adddot}},
techreport = {{technical report}{technical report}},
@@ -746,6 +600,7 @@
byconductor = {{directed by}{dir\adddot}},
bydirector = {{directed by}{dir\adddot}},
byproducer = {{produced by}{prod\adddot}},
+ bychoreographer = {{choreographed by}{chor\adddot}},
byeditorcp = {{edited and compiled by}{ed\adddot\space and comp\adddot}},
byeditortrcp = {{edited, translated \lbx@fromlang, and compiled by}%
{ed.,\addabbrvspace trans.\addspace\lbx@fromlang, and comp\adddot}},
@@ -886,63 +741,290 @@
{comp\adddot\space and annot\adddot, with an afterword, by}},
}
+%%% The logic here is tricky because of the need to print AD before
+%%% the year and BC after, and also only to print them once in a date
+%%% range that has two years belonging to the same era. Other
+%%% subtleties include the relative positions of question mark and
+%%% date era, and of date era and end bracket.
+
\protected\gdef\lbx@cms@mkbibrangetrunc@long#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
{}%
{\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
{}%
- {\bibdatedash%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2endday}}%
- {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}%
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}}
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2endday}}%
+ {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{#2year}{}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
\protected\gdef\lbx@cms@mkbibrangetrunc@short#1#2{% Modify ???
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
{}%
{\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
{}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
{\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
+\protected\gdef\lbx@cms@mkbibrangefull@us#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
{}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\bibsstring{circa}\printdelim{datecircadelim}}
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
{}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
{\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx
new file mode 100644
index 0000000000..320935b6eb
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx
@@ -0,0 +1,533 @@
+\ProvidesFile{cms-brazilian.lbx}[2020/04/20 v 3.14 biblatex localization]
+
+% STATUS OF THIS FILE
+% - Strings provided by native speaker Gustavo Barros.
+
+\DeclareRedundantLanguages{brazilian}{brazil,portuges}
+
+\InheritBibliographyExtras{brazilian}
+
+\DeclareBibliographyExtras{%
+ \toggletrue{cms@postposit}%
+ \savecommand\cms@datelong%
+ \savecommand\mkdaterangecomp%
+ \savecommand\mkdaterangeterse%
+ \savecommand\mkdaterangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Introdu\c{c}\~ao}%
+ \def\sectionname{Se\c{c}\~ao}%
+ \def\subsectionname{Subse\c{c}\~ao}%
+ \def\forewordname{Pref\'acio}%
+ \def\notesname{Notas}%
+ \protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\mkdaterangecomp{%
+ \cms@mkbibrangetrunc{long}}%
+ \protected\def\mkdaterangeterse{%
+ \cms@mkbibrangetrunc{short}}%
+ \protected\def\mkdaterangefull{%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \protected\def\cmsmkdecade#1#2{%
+ \dateeraprintpre{#2year}%
+ \bibsstring{decade}%
+ \printdelim{dateaddelim}%
+ \stripzeros{\thefield{#2year}}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {}{\dateeraprintpre{#1year}}%
+ \bibsstring{century}%
+ \printdelim{dateaddelim}%
+ \csuse{mkcmscentury}{#1year}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}%
+ \protected\def\mkcmscentury#1{%
+ \MakeUppercase{\romannumeral\numexpr\thefield{#1}/100+1}}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\cms@datelong%
+ \restorecommand\mkdaterangecomp%
+ \restorecommand\mkdaterangeterse%
+ \restorecommand\mkdaterangefull%
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+ \togglefalse{cms@postposit}%
+}%
+
+\DeclareBibliographyStrings{%
+ inherit = {brazilian},
+ afterwordto = {{posf\'acio a}{posf\adddot\ a}},
+ forewordto = {{pref\'acio a}{pref\adddot\ a}},
+ introductionto = {{introdu\c{c}\~ao a}{introd\adddot\ a}},
+ partvolume = {{tomo}{tomo}},
+ by = {{por}{por}},
+ of = {{de}{de}},
+ on = {{em}{em}},
+ compiler = {{comp\adddot}{comp\adddot}},
+ compilers = {{comp\adddot}{comp\adddot}},
+ transcompiler = {{trad\adddot\ e comp\adddot}%
+ {trad\adddot\ e comp\adddot}},
+ transcompilers = {{trad\adddot\ e comp\adddot}%
+ {trad\adddot\ e comp\adddot}},
+ editortranscompiler = {{ed.,\addabbrvspace trad\adddot\ e comp\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ e comp\adddot}},
+ editorcompiler = {{ed\adddotspace e comp\adddot}%
+ {ed\adddotspace e comp\adddot}},
+ editortranslator = {{ed\adddotspace e trad\adddot}%
+ {ed\adddotspace e trad\adddot}},
+ editortranscompilers = {{ed.,\addabbrvspace trad\adddot\ e comp\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ e comp\adddot}},
+ editorcompilers = {{ed\adddotspace e comp\adddot}%
+ {ed\adddotspace e comp\adddot}},
+ editortranslators = {{ed\adddotspace e trad\adddot}%
+ {ed\adddotspace e trad\adddot}},
+ conductor = {{reg\adddot}{reg\adddot}},
+ conductors = {{reg\adddot}{reg\adddot}},
+ director = {{dir\adddot}{dir\adddot}},
+ directors = {{dir\adddot}{dir\adddot}},
+ none = {{}{}},
+ nones = {{}{}},
+ producer = {{prod\adddot}{prod\adddot}},
+ producers = {{prod\adddot}{prod\adddot}},
+ editor = {{ed\adddot}{ed\adddot}},
+ editors = {{ed\adddot}{ed\adddot}},
+ organizer = {{org\adddot}{org\adddot}},
+ organizers = {{org\adddot}{org\adddot}},
+ ibidem = {{ibid\adddot}{ibid\adddot}},
+ origpub = {{originalmente publicado como\addspace}%
+ {orig\adddot\ pub\adddot\ como\addspace}},
+ origpublin = {{originalmente publicado em\addspace}%
+ {orig\adddot\ pub\adddot\ em\addspace}},
+ origpubyear = {{originalmente publicado em\addspace}%
+ {orig\adddot\ pub\adddot\addspace}},
+ origpubyearalt = {{originalmente publicado em\addspace}%
+ {orig\adddot\ pub\adddot\addspace}},
+ origreleaseyear = {{originalmente lan\c{c}ado em\addspace}%
+ {orig\adddot\ lan\c{c}ado\addspace}},
+ origshownyear = {{originalmente apresentado em\addspace}%
+ {orig\adddot\ apresentado\addspace}},
+ origedition ={{edi\c{c}\~ao}%
+ {ed\adddot\addcolon\addspace}},
+ revisededition = {{ed\adddotspace rev\adddot}%
+ {ed\adddotspace rev\adddot}},
+ broadcast = {{transmitido}{transmitido}},
+ songrecorded = {{gravada}{gravada}},
+ discrecorded = {{gravado}{gravado}},
+ numbers = {{n\adddot}{n\adddot}},
+ nodate = {{{}s\adddot d\adddot}{{}s\adddot d\adddot}},
+ decade = {{d\'ecada de}{d\'ec\adddot}},
+ century = {{s\'eculo}{s\'ec\adddot}},
+ pseudonym = {{pseud\adddot}{pseud\adddot}},
+ patentfiled = {{pedida}{pedida}},
+ patentissued = {{concedida}{concedida}},
+ inlang = {{em\addspace}{em\addspace}},
+ edamerican = {{americana}{americana}},
+ edbrazilian = {{brasileira}{brasileira}},
+ edbulgarian = {{b\'ulgara}{b\'ulgara}},
+ edcatalan = {{catal\~a}{catal\~a}},
+ edcroatian = {{croata}{croata}},
+ edczech = {{tcheca}{tcheca}},
+ eddanish = {{dinamarquesa}{dinamarquesa}},
+ eddutch = {{holandesa}{holandesa}},
+ edenglish = {{inglesa}{inglesa}},
+ edfinnish = {{finlandesa}{finlandesa}},
+ edestonian = {{estoniana}{estoniana}},
+ edfrench = {{francesa}{francesa}},
+ edgalician = {{galega}{galega}},
+ edgerman = {{alem\~a}{alem\~a}},
+ edgreek = {{grega}{grega}},
+ editalian = {{italiana}{italiana}},
+ edjapanese = {{japonesa}{japonesa}},
+ edlatin = {{latina}{latina}},
+ ednorwegian = {{norueguesa}{norueguesa}},
+ edpolish = {{polonesa}{polonesa}},
+ edportuguese = {{portuguesa}{portuguesa}},
+ edrussian = {{russa}{russa}},
+ edslovak = {{eslovaca}{eslovaca}},
+ edslovene = {{eslovena}{eslovena}},
+ edspanish = {{espanhola}{espanhola}},
+ edswedish = {{sueca}{sueca}},
+ translator = {{trad\adddot}{trad\adddot}},
+ translators = {{trad\adddot}{trad\adddot}},
+ redactor = {{red\adddot}{red\adddot}},
+ redactors = {{red\adddot}{red\adddot}},
+ commentator = {{coment\adddot}{coment\adddot}},
+ commentators = {{coment\adddot}{coment\adddot}},
+ founder = {{fund\adddot}{fund\adddot}},
+ founders = {{fund\adddot}{fund\adddot}},
+ continuator = {{cont\adddot}{cont\adddot}},
+ continuators = {{cont\adddot}{cont\adddot}},
+ collaborator = {{col\adddot}{col\adddot}},
+ collaborators = {{col\adddot}{col\adddot}},
+ annotator = {{notas}{notas}},
+ annotators = {{notas}{notas}},
+ review = {{resenha}{resenha}},
+ reviewof = {{resenha de}{resenha de}},
+ reprint = {{reimpress\~ao}{reimpr\adddot}},
+ shorthands = {{Abreviaturas}{Abreviaturas}},
+ newseries = {{s\adddot n\adddot}{s\adddot n\adddot}},
+ urlseen = {{acesso em}{acesso em}},
+ cbynone = {{}{}},
+ cbyauthor = {{por}{por}},
+ cbyeditor = {{ed\adddot}{ed\adddot}},
+ cbyorganizer = {{org\adddot}{org\adddot}},
+ cbytranslator = {{trad\adddot\ \lbx@cfromlang}%
+ {trad\adddot\ \lbx@cfromlang}},
+ cbycompiler = {{comp\adddot}{comp\adddot}},
+ cbyredactor = {{red\adddot}{red\adddot}},
+ cbycommentator = {{coment\adddot}{coment\adddot}},
+ cbyannotator = {{anot\adddot}{anot\adddot}},
+ cbyfounder = {{fund\adddot}{fund\adddot}},
+ cbycontinuator = {{cont\adddot}{cont\adddot}},
+ cbycollaborator = {{em col\adddot\ com}%
+ {em col\adddot\ com}},
+ cbyconductor = {{reg\adddot}{reg\adddot}},
+ cbydirector = {{dir\adddot}{dir\adddot}},
+ cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbyeditortr = {{ed\adddotspace e trad\adddot\ \lbx@cfromlang}%
+ {ed\adddotspace e trad\adddot\ \lbx@cfromlang}},
+ cbyeditorcp = {{ed\adddotspace e comp\adddot}%
+ {ed\adddotspace e comp\adddot}},
+ cbyeditorco = {{ed\adddotspace e coment\adddot}%
+ {ed\adddotspace e coment\adddot}},
+ cbyeditoran = {{ed\adddotspace e anot\adddot}%
+ {ed\adddotspace e anot\adddot}},
+ cbyeditorin = {{ed\adddotspace e introd\adddot}%
+ {ed\adddotspace e introd\adddot}},
+ cbyeditorfo = {{ed\adddotspace e pref\adddot}%
+ {ed\adddotspace e pref\adddot}},
+ cbyeditoraf = {{ed\adddotspace e posf\adddot}%
+ {ed\adddotspace e posf\adddot}},
+ cbyeditortrcp = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}},
+ cbyeditortrco = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e coment\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e coment\adddot}},
+ cbyeditortran = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e anot\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e anot\adddot}},
+ cbyeditortrin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e introd\adddot}},
+ cbyeditortrfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e pref\adddot}},
+ cbyeditortraf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e posf\adddot}},
+ cbyeditorcpco = {{ed.,\addabbrvspace comp\adddot\ e coment\adddot}%
+ {ed.,\addabbrvspace comp\adddot\ e coment\adddot}},
+ cbyeditorcpan = {{ed.,\addabbrvspace comp\adddot\ e anot\adddot}%
+ {ed.,\addabbrvspace comp\adddot\ e anot\adddot}},
+ cbyeditorcpin = {{ed.,\addabbrvspace comp\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace comp\adddot\ e introd\adddot}},
+ cbyeditorcpfo = {{ed.,\addabbrvspace comp\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace comp\adddot\ e pref\adddot}},
+ cbyeditorcpaf = {{ed.,\addabbrvspace comp\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace comp\adddot\ e posf\adddot}},
+ cbyeditorcpcoin = {{ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}},
+ cbyeditorcpcofo = {{ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}},
+ cbyeditorcpcoaf = {{ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}},
+ cbyeditorcpanin = {{ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}},
+ cbyeditorcpanfo = {{ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}},
+ cbyeditorcpanaf = {{ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}},
+ cbyeditortrcpco = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
+ cbyeditortrcpan = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
+ cbyeditortrcpin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}},
+ cbyeditortrcpfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}},
+ cbyeditortrcpaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}},
+ cbyeditortrcpcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}},
+ cbyeditortrcpcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}},
+ cbyeditortrcpcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}},
+ cbyeditortrcpanin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}},
+ cbyeditortrcpanfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}},
+ cbyeditortrcpanaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}},
+ cbyeditorcoin = {{ed.,\addabbrvspace coment\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace coment\adddot\ e introd\adddot}},
+ cbyeditorcofo = {{ed.,\addabbrvspace coment\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace coment\adddot\ e pref\adddot}},
+ cbyeditorcoaf = {{ed.,\addabbrvspace coment\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace coment\adddot\ e posf\adddot}},
+ cbyeditoranin = {{ed.,\addabbrvspace anot\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace anot\adddot\ e introd\adddot}},
+ cbyeditoranfo = {{ed.,\addabbrvspace anot\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace anot\adddot\ e pref\adddot}},
+ cbyeditoranaf = {{ed.,\addabbrvspace anot\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace anot\adddot\ e posf\adddot}},
+ cbyeditortrcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}},
+ cbyeditortrcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}},
+ cbyeditortrcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}},
+ cbyeditortranin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}},
+ cbyeditortranfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}},
+ cbyeditortranaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}},
+ cbytranslatorcp = {{trad\adddot\ \lbx@fromlang\ e comp\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e comp\adddot}},
+ cbytranslatorco = {{trad\adddot\ \lbx@fromlang\ e coment\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e coment\adddot}},
+ cbytranslatoran = {{trad\adddot\ \lbx@fromlang\ e anot\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e anot\adddot}},
+ cbytranslatorin = {{trad\adddot\ \lbx@fromlang\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e introd\adddot}},
+ cbytranslatorfo = {{trad\adddot\ \lbx@fromlang\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e pref\adddot}},
+ cbytranslatoraf = {{trad\adddot\ \lbx@fromlang\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang\ e posf\adddot}},
+ cbytranslatorcoin = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot}},
+ cbytranslatorcofo = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot}},
+ cbytranslatorcoaf = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot}},
+ cbytranslatoranin = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot}},
+ cbytranslatoranfo = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot}},
+ cbytranslatoranaf = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot}},
+ cbytranslatorcpco = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
+ cbytranslatorcpan = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
+ cbytranslatorcpin = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}},
+ cbytranslatorcpfo = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}},
+ cbytranslatorcpaf = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}},
+ cbytranslatorcpcoin = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}},
+ cbytranslatorcpcofo = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}},
+ cbytranslatorcpcoaf = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}},
+ cbytranslatorcpanin = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}},
+ cbytranslatorcpanfo = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}},
+ cbytranslatorcpanaf = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}},
+ cbycompilerco = {{comp\adddot\ e coment\adddot}%
+ {comp\adddot\ e coment\adddot}},
+ cbycompileran = {{comp\adddot\ e anot\adddot}%
+ {comp\adddot\ e anot\adddot}},
+ cbycompilerin = {{comp\adddot\ e introd\adddot}%
+ {comp\adddot\ e introd\adddot}},
+ cbycompilerfo = {{comp\adddot\ e pref\adddot}%
+ {comp\adddot\ e pref\adddot}},
+ cbycompileraf = {{comp\adddot\ e posf\adddot}%
+ {comp\adddot\ e posf\adddot}},
+ cbycompilercoin = {{comp., coment\adddot\ e introd\adddot}%
+ {comp., coment\adddot\ e introd\adddot}},
+ cbycompilercofo = {{comp., coment\adddot\ e pref\adddot}%
+ {comp., coment\adddot\ e pref\adddot}},
+ cbycompilercoaf = {{comp., coment\adddot\ e posf\adddot}%
+ {comp., coment\adddot\ e posf\adddot}},
+ cbycompileranin = {{comp., anot\adddot\ e introd\adddot}%
+ {comp., anot\adddot\ e introd\adddot}},
+ cbycompileranfo = {{comp., anot\adddot\ e pref\adddot}%
+ {comp., anot\adddot\ e pref\adddot}},
+ cbycompileranaf = {{comp., anot\adddot\ e posf\adddot}%
+ {comp., anot\adddot\ e posf\adddot}},
+ volume = {{vol\adddot}{vol\adddot}},
+ volumes = {{vol\adddot}{vol\adddot}},
+ jourvol = {{v\adddot}{v\adddot}},
+ jourser = {{s\'er\adddot}{s\'er\adddot}},
+ oldseries = {{s\adddot a\adddot}{s\adddot a\adddot}},
+ edition = {{ed\adddot}{ed\adddot}},
+ page = {{p\adddot}{p\adddot}},
+ pages = {{pp\adddot}{pp\adddot}},
+ column = {{col\adddot}{col\adddot}},
+ columns = {{col\adddot}{col\adddot}},
+ line = {{l\adddot}{l\adddot}},
+ lines = {{ll\adddot}{ll\adddot}},
+ paragraph = {{par\adddot}{par\adddot}},
+ paragraphs = {{par\adddot}{par\adddot}},
+ section = {{\S}{\S}},
+ sections = {{\S\S}{\S\S}},
+ canadasection = {{s\adddot}{s\adddot}},% For legal citations
+ canadasections = {{s\adddot}{s\adddot}},% ditto
+ supranote = {{nota \mkbibemph{supra}\addnbspace}% ditto
+ {nota \mkbibemph{supra}\addnbspace}},
+ hereinafter = {{doravante}{doravante}},
+ subverbo = {{verbete}{verb\adddot}},
+ subverbis = {{verbetes}{verb\adddot}},
+ verse = {{v\adddot}{v\adddot}},
+ verses = {{vv\adddot}{vv\adddot}},
+ number = {{n\adddot}{n\adddot}},
+ chapter = {{cap\adddot}{cap\adddot}},
+ mathesis = {{diss\adddot\ de mestrado}{diss\adddot\ de mestrado}},
+ phdthesis = {{tese de doutorado}{tese de doutorado}},
+ techreport = {{relat\'orio t\'ecnico}{rel\adddot\ t\'ec\adddot}},
+ cfromamerican = {{do ingl\^es por}{do ingl\^es por}},
+ cfrombrazilian = {{do portugu\^es por}{do portugu\^es por}},
+ cfrombulgarian = {{do b\'ulgaro por}{do b\'ulgaro por}},
+ cfromcatalan = {{do catal\~ao por}{do catal\~ao por}},
+ cfromcroatian = {{do croata por}{do croata por}},
+ cfromczech = {{do tcheco por}{do tcheco por}},
+ cfromdanish = {{do dinamarqu\^es por}{do dinamarqu\^es por}},
+ cfromdutch = {{do holand\^es por}{do holand\^es por}},
+ cfromenglish = {{do ingl\^es por}{do ingl\^es por}},
+ cfromestonian = {{do estoniano por}{do estoniano por}},
+ cfromfinnish = {{do finland\^es por}{do finland\^es por}},
+ cfromfrench = {{do franc\^es por}{do franc\^es por}},
+ cfromgalician = {{do galego por}{do galego por}},
+ cfromgerman = {{do alem\~ao por}{do alem\~ao por}},
+ cfromgreek = {{do grego por}{do grego por}},
+ cfromitalian = {{do italiano por}{do italiano por}},
+ cfromjapanese = {{do japon\^es por}{do japon\^es por}},
+ cfromlatin = {{do latim por}{do latim por}},
+ cfromnorwegian = {{do noruegu\^es por}{do noruegu\^es por}},
+ cfrompolish = {{do polon\^es por}{do polon\^es por}},
+ cfromportuguese = {{do portugu\^es por}{do portugu\^es por}},
+ cfromrussian = {{do russo por}{do russo por}},
+ cfromslovak = {{do eslovaco por}{do eslovaco por}},
+ cfromslovene = {{do esloveno por}{do esloveno por}},
+ cfromspanish = {{do espanhol por}{do espanhol por}},
+ cfromswedish = {{do sueco por}{do sueco por}},
+ bynone = {{}{}},
+ bycompiler = {{compilado por}{comp\adddot}},
+ byconductor = {{regida por}{reg\adddot}},
+ bydirector = {{dirigido por}{dir\adddot}},
+ byproducer = {{produzido por}{prod\adddot}},
+ byeditorcp = {{editado e compilado por}{ed\adddotspace e comp\adddot}},
+ byeditortrcp = {{editado, traduzido \lbx@fromlang\ e compilado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}},
+ byeditortrcpco = {{editado, traduzido \lbx@fromlang, compilado e comentado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
+ byeditortrcpan = {{editado, traduzido \lbx@fromlang, compilado e anotado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
+ byeditortrcpin = {{editado, traduzido \lbx@fromlang, compilado e introduzido por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}},
+ byeditortrcpfo = {{editado, traduzido \lbx@fromlang, compilado e prefaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}},
+ byeditortrcpaf = {{editado, traduzido \lbx@fromlang, compilado e posfaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}},
+ byeditortrcpcoin = {{editado, traduzido \lbx@fromlang, compilado, comentado e introduzido por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}},
+ byeditortrcpcofo = {{editado, traduzido \lbx@fromlang, compilado, comentado e prefaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}},
+ byeditortrcpcoaf = {{editado, traduzido \lbx@fromlang, compilado, comentado e posfaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}},
+ byeditortrcpanin = {{editado, traduzido \lbx@fromlang, compilado, anotado e introduzido por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}},
+ byeditortrcpanfo = {{editado, traduzido \lbx@fromlang, compilado, anotado e prefaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}},
+ byeditortrcpanaf = {{editado, traduzido \lbx@fromlang, compilado, anotado e posfaciado por}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}},
+ byeditorcpco = {{editado, compilado e comentado por}%
+ {ed.,\addabbrvspace comp\adddot\ e coment\adddot}},
+ byeditorcpan = {{editado, compilado e anotado por}%
+ {ed.,\addabbrvspace comp\adddot\ e anot\adddot}},
+ byeditorcpin = {{editado, compilado e introduzido por}%
+ {ed.,\addabbrvspace comp\adddot\ e introd\adddot}},
+ byeditorcpfo = {{editado, compilado e prefaciado por}%
+ {ed.,\addabbrvspace comp\adddot\ e pref\adddot}},
+ byeditorcpaf = {{editado, compilado e posfaciado por}%
+ {ed.,\addabbrvspace comp\adddot\ e posf\adddot}},
+ byeditorcpcoin = {{editado, compilado, comentado e introduzido por}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot}},
+ byeditorcpcofo = {{editado, compilado, comentado e prefaciado por}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot}},
+ byeditorcpcoaf = {{editado, compilado, comentado e posfaciado por}%
+ {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot}},
+ byeditorcpanin = {{editado, compilado, anotado e introduzido por}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot}},
+ byeditorcpanfo = {{editado, compilado, anotado e prefaciado por}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot}},
+ byeditorcpanaf = {{editado, compilado, anotado e posfaciado por}%
+ {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot}},
+ bytranslatorcp = {{traduzido \lbx@fromlang\ e compilado por}%
+ {trad\adddot\ \lbx@fromlang\ e comp\adddot}},
+ bytranslatorcpco = {{traduzido \lbx@fromlang, compilado e comentado por}%
+ {trad\adddot\ \addspace\lbx@fromlang, comp\adddot\ e coment\adddot}},
+ bytranslatorcpan = {{traduzido \lbx@fromlang, compilado e anotado por}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
+ bytranslatorcpin = {{traduzido \lbx@fromlang, compilado e introduzido por}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot}},
+ bytranslatorcpfo = {{traduzido \lbx@fromlang, compilado e prefaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot}},
+ bytranslatorcpaf = {{traduzido \lbx@fromlang, compilado e posfaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot}},
+ bytranslatorcpcoin = {{traduzido \lbx@fromlang, compilado, comentado e introduzido por}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot}},
+ bytranslatorcpcofo = {{traduzido \lbx@fromlang, compilado, comentado e prefaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot}},
+ bytranslatorcpcoaf = {{traduzido \lbx@fromlang, compilado, comentado e posfaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot}},
+ bytranslatorcpanin = {{traduzido \lbx@fromlang, compilado, anotado e introduzido por}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot}},
+ bytranslatorcpanfo = {{traduzido \lbx@fromlang, compilado, anotado e prefaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot}},
+ bytranslatorcpanaf = {{traduzido \lbx@fromlang, compilado, anotado e posfaciado por}%
+ {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot}},
+ bycompilerco = {{compilado e comentado por}%
+ {comp\adddot\ e coment\adddot}},
+ bycompileran = {{compilado e anotado por}%
+ {comp\adddot\ e anot\adddot}},
+ bycompilerin = {{compilado e introduzido por}%
+ {comp\adddot\ e introd\adddot}},
+ bycompilerfo = {{compilado e prefaciado por}%
+ {comp\adddot\ e pref\adddot}},
+ bycompileraf = {{compilado e posfaciado por}%
+ {comp\adddot\ e posf\adddot}},
+ bycompilercoin = {{compilado, comentado e introduzido por}%
+ {comp., coment\adddot\ e introd\adddot}},
+ bycompilercofo = {{compilado, comentado e prefaciado por}%
+ {comp., coment\adddot\ e pref\adddot}},
+ bycompilercoaf = {{compilado, comentado e posfaciado por}%
+ {comp., coment\adddot\ e posf\adddot}},
+ bycompileranin = {{compilado, anotado e introduzido por}%
+ {comp., anot\adddot\ e introd\adddot}},
+ bycompileranfo = {{compilado, anotado e prefaciado por}%
+ {comp., anot\adddot\ e pref\adddot}},
+ bycompileranaf = {{compilado, anotado e posfaciado por}%
+ {comp., anot\adddot\ e posf\adddot}},
+ note = {{nota}{nota}},
+ preface = {{pref\'acio}{pref\adddot}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S\S}{\S\S}},
+ selfpublished = {{auto-publicado}{auto-pub\adddot}},
+ commenton = {{coment\'ario em}{coment\'ario em}},
+ printed = {{impresso}{impresso}},
+ track = {{faixa}{faixa}},
+ choreographer = {{coreogr\adddot}{coreogr\adddot}},
+ choreographers = {{coreogr\adddot}{coreogr\adddot}},
+ cbychoreographer = {{coreograf\adddot}{coreograf\adddot}},
+ bychoreographer = {{coreografado por}{coreograf\adddot}},
+}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx
new file mode 100644
index 0000000000..74db7a87f7
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx
@@ -0,0 +1,133 @@
+\ProvidesFile{cms-british.lbx}[2020/04/20 v 3.14 biblatex localization]
+
+\InheritBibliographyExtras{british}
+
+\DeclareBibliographyExtras{%
+ \savecommand\cms@datelong%
+ \savecommand\mkdaterangecomp%
+ \savecommand\mkdaterangeterse%
+ \savecommand\mkdaterangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Introduction}%
+ \def\sectionname{Section}%
+ \def\subsectionname{Subsection}%
+ \def\forewordname{Foreword}%
+ \def\notesname{Notes}%
+ \protected\def\mkjuridordinal#1{%
+ \begingroup
+ \@tempcnta0#1\relax\number\@tempcnta
+ \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}%
+ \ifnum\@tempcnta>20
+ \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}%
+ \fi
+ \ifcase\@tempcnta th\or st\or d\or d\else th\fi
+ \endgroup}%
+ \protected\def\mkdaterangecomp{%
+ \cms@mkbibrangetrunc{long}}%
+ \protected\def\mkdaterangeterse{%
+ \cms@mkbibrangetrunc{short}}%
+ \protected\def\mkdaterangefull{%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#3}%
+ {}%
+ {\iftoggle{cms@ukord}%
+ {\mkbibordinal{\thefield{#3}}}%
+ {\stripzeros{\thefield{#3}}}%
+ \iffieldundef{#2}{}{\nobreakspace}}%
+ \iffieldundef{#2}%
+ {}%
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}%
+ \iffieldbibstring{#1}%
+ {\bibstring{\thefield{#1}}}%
+ {\cmsdateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\mkdayzeros{\thefield{#3}}%
+ \iffieldundef{#2}{}{/}}%
+ \iffieldundef{#2}
+ {}
+ {\mkmonthzeros{\thefield{#2}}%
+ \iffieldundef{#1}{}{/}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \cmsdateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\cmsmkdecade#1#2{%
+ \cms@tempcnta=\thefield{#2year}%
+ \divide\cms@tempcnta100
+ \multiply\cms@tempcnta100
+ \ifnumequal{\cms@tempcnta}{\thefield{#2year}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\ifnumequal{\thefield{#2year}}{1}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\ifnumless{\thefield{#2year}}\blx@dateeraauto}%
+ }%
+ {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}%
+ {}}%
+ {}%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\ifboolexpr{%
+ test {\ifdefstring\blx@dateera{christian}}%
+ and
+ test {\ifnumless{\thefield{#1year}}\blx@dateeraauto}%
+ }%
+ {\bibsstring{\blx@dateera@ce}\printdelim{dateeradelim}}%
+ {}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\cmsdateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\cms@datelong%
+ \restorecommand\mkdaterangecomp%
+ \restorecommand\mkdaterangefull%
+ \restorecommand\mkdaterangeterse%
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
+
+\InheritBibliographyStrings{cms-american}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx
new file mode 100644
index 0000000000..662909b8ad
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx
@@ -0,0 +1,530 @@
+\ProvidesFile{cms-dutch.lbx}[2020/04/20 v 3.14 biblatex localization]
+
+% STATUS OF THIS FILE
+% - Strings provided by native speaker Wouter Lancee.
+
+\InheritBibliographyExtras{dutch}
+
+\DeclareBibliographyExtras{%
+ \savecommand\cms@datelong%
+ \savecommand\mkdaterangecomp%
+ \savecommand\mkdaterangeterse%
+ \savecommand\mkdaterangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Inleiding}%
+ \def\sectionname{Sectie}%
+ \def\subsectionname{Subsectie}%
+ \def\forewordname{Voorwoord}%
+ \def\notesname{Noten}%
+ \protected\def\cmsmkdecade#1#2{%
+ \dateeraprintpre{#2year}%
+ \bibsstring{decade}%
+ \printdelim{dateaddelim}%
+ \stripzeros{\thefield{#2year}}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
+ \protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\mkdaterangecomp{%
+ \cms@mkbibrangetrunc{long}}%
+ \protected\def\mkdaterangeterse{%
+ \cms@mkbibrangetrunc{short}}%
+ \protected\def\mkdaterangefull{%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\cms@datelong%
+ \restorecommand\mkdaterangecomp%
+ \restorecommand\mkdaterangeterse%
+ \restorecommand\mkdaterangefull%
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
+
+\DeclareBibliographyStrings{%
+ inherit = {dutch},
+ afterwordto = {{nawoord van}{nawoord van}},
+ forewordto = {{voorwoord van}{voorwoord van}},
+ introductionto = {{inleiding van}{inleiding van}},
+ partvolume = {{deel}{deel}},
+ by = {{door}{door}},
+ of = {{door}{door}},
+ on = {{op}{op}},
+ compiler = {{samengesteld door}{samengesteld door}},%
+ compilers = {{samengesteld door}{samengesteld door}},%
+ transcompiler = {{vertaald en samengesteld door}%
+ {vertaald en samengesteld door}},
+ transcompilers ={{vertaald en geproduceerd door}%
+ {vertaald en geproduceerd door}},
+ editortranscompiler = {{bewerkt\addcomma\addspace vertaald en samengesteld door}
+ {bewerkt\addcomma\addspace vertaald en samengesteld door}},
+ editorcompiler = {{bewerkt en samengesteld door}%
+ {bewerkt en samengesteld door}},
+ editortranslator = {{bewerkt en vertaald door}%
+ {bewerkt en vertaald door}},
+ editortranscompilers = {{bewerkt\addcomma\addspace vertaald en samengesteld door}%
+ {bewerkt\addcomma\addspace vertaald en samengesteld door}},
+ editorcompilers = {{bewerkt en samengesteld door}%
+ {bewerkt en samengesteld door}},
+ editortranslators = {{bewerkt en vertaald door}%
+ {bewerkt en vertaald door}},
+ conductor = {{gedirigeerd door}{gedirigeerd door}},%??
+ conductors = {{gedirigeerd door}{gedirigeerd door}},%??
+ director = {{gedirigeerd door}{gedirigeerd door}},%??
+ directors = {{gedirigeerd door}{gedirigeerd door}},
+ none = {{}{}},
+ nones = {{}{}},
+ producer = {{geproduceerd door}{geproduceerd door}},
+ producers = {{geproduceerd door}{geproduceerd door}},
+ editor = {{bewerkt door}{bewerkt door}},
+ editors = {{bewerkt door}{bewerkt door}},
+ ibidem = {{ibid\adddot}{id\adddot}},% Shorter for legal
+ origpub = {{oorspronkelijk gepubliceerd als\addspace}%
+ {oorspronkelijk gepubliceerd als\addspace}},
+ origpublin = {{oorspronkelijk gepubliceerd in\addspace}%
+ {oorspronkelijk gepubliceerd in\addspace}},
+ origpubyear = {{oorspronkelijk gepubliceerd in\addspace}%
+ {oorspronkelijk gepubliceerd in\addspace}},
+ origpubyearalt = {{eerste publicatie\addspace}%
+ {eerste publicatie\adddot\addspace}},
+ origreleaseyear = {{oorspronkelijk uitgegeven in\addspace}%
+ {oorspronkelijk uitgegeven in\addspace}},
+ origshownyear = {{oorspronkelijk vertoond in\addspace}%
+ {oorspronkelijk vertoond in\addspace}},
+ origedition ={{edition\addcolon\addspace}%
+ {bewerking\addcolon\addspace}},
+ revisededition = {{gereviseerde uitgave}%
+ {gereviseerde uitgave}},
+ broadcast = {{uitgezonden}{uitgezonden}},
+ songrecorded = {{opgenomen}{opgenomen}},
+ discrecorded = {{opgenomen}{opgenomen}},
+ numbers = {{No\adddot}{No\adddot}},
+ nodate = {{{}z\adddot d\adddot}{{}z\adddot d\adddot}},
+ decade = {{jaren}{jaren}},
+ century = {{eeuw}{eeuw}},
+ pseudonym = {{pseud\adddot}{pseud\adddot}},
+ patentfiled = {{patentaanvraag ingediend}{patentaanvraag ingediend}},
+ patentissued = {{patent uitgegeven}{patent uitgegeven}},
+ inlang = {{in\addspace}{in\addspace}},
+ edamerican = {{Amerikaans}{Amerikaans}},
+ edbrazilian = {{Braziliaans}{Braziliaans}},
+ edbulgarian = {{Bulgaars}{Bulgaars}},
+ edcatalan = {{Catalaans}{Catalaans}},
+ edcroatian = {{Kroatisch}{Kroatisch}},
+ edczech = {{Tsjechisch}{Tsjechisch}},
+ eddanish = {{Deens}{Deens}},
+ eddutch = {{Nederlands}{Nederlands}},
+ edenglish = {{Engels}{Engels}},
+ edestonian = {{Estisch}{Estisch}},
+ edfinnish = {{Fins}{Fins}},
+ edfrench = {{Frans}{Frans}},
+ edgalician = {{Galicisch}{Galicisch}},
+ edgerman = {{Duits}{Duits}},
+ edgreek = {{Grieks}{Grieks}},
+ editalian = {{Italiaans}{Italiaans}},
+ edjapanese = {{Japans}{Japans}},
+ edlatin = {{Latijn}{Latijn}},
+ ednorwegian = {{Noors}{Noors}},
+ edportuguese = {{Portugees}{Portugees}},
+ edrussian = {{Russisch}{Russisch}},
+ edslovak = {{Slowaaks}{Slowaaks}},
+ edslovene = {{Sloveens}{Sloveens}},
+ edspanish = {{Spaans}{Spaans}},
+ edswedish = {{Zweeds}{Zweeds}},
+ edukrainian = {{Oekra\"{i}ens}{Oekra\"{i}ens}},
+ translator = {{vertaald door}{vertaald door}},
+ translators = {{vertaald door}{vertaald door}},
+ redactor = {{redactie door}{redactie door}},
+ redactors = {{redactie door}{redactie door}},
+ founder = {{gesticht door}{gesticht door}},
+ founders = {{gesticht door}{gesticht door}},
+ continuator = {{opgevolgd door}{opgevolgd door}},% ?
+ continuators = {{opgevolgd door}{opgevolgd door}},% ?
+ collaborator = {{in samenwerking met}{in samenwerking met}},% ?
+ collaborators = {{in samenwerking met}{in samenwerking met}},% ?
+ annotator = {{geannoteerd door}{geannoteerd door}},
+ annotators = {{geannoteerd door}{geannoteerd door}},
+ review = {{recensie}{recensie}},
+ reviewof = {{recensie van}{recensie van}},
+ reprint = {{herdruk}{herdruk}},
+ shorthands = {{afkortingen}{afkortingen}},
+ newseries = {{nieuwe serie}{nieuwe serie}},
+ urlseen = {{geraadpleegd op}{geraadpleegd op}},
+ cbynone = {{}{}},
+ cbyauthor = {{door}{door}},
+ cbyeditor = {{bewerkt door}{bewerkt door}},
+ cbytranslator = {{vertaald\addspace\lbx@cfromlang\addspace door}%
+ {vertaald\addspace\lbx@cfromlang\addspace door}},
+ cbycompiler = {{samengesteld door}{samengesteld door}},
+ cbyredactor = {{redactie door}{redactie door}},
+ cbycommentator = {{van commentaar voorzien door}{van commentaar voorzien door}},
+ cbyannotator = {{geannoteerd door}{geannoteerd door}},
+ cbyfounder = {{stichter}{stichter}},
+ cbycontinuator = {{voortgezet}{voortgezet}},
+ cbycollaborator = {{in samenwerking met}%
+ {in samenwerking met}},
+ cbyconductor = {{directie}{directie}},
+ cbydirector = {{directie}{directie}},
+ cbyproducer = {{geproduceerd door}{geproduceerd door}},
+ cbyeditortr = {{bewerkt en vertaald\addspace\lbx@cfromlang}%
+ {bewerkt en vertaald\addspace\lbx@cfromlang}},
+ cbyeditorcp = {{bewerkt en samengesteld door}%
+ {bewerkt en samengesteld door}},
+ cbyeditorco = {{bewerkt en van commentaar voorzien door}%
+ {bewerkt en van commentaar voorzien door}},
+ cbyeditoran = {{bewerkt en geannoteerd door}%
+ {bewerkt en geannoteerd door}},
+ cbyeditorin = {{bewerkt en van een inleiding voorzien door}%
+ {bewerkt en van een inleiding voorzien door}},
+ cbyeditorfo = {{bewerkt en van een voorwoord voorzien door}%
+ {bewerkt en van een voorwoord voorzien door}},
+ cbyeditoraf = {{bewerkt en van een nawoord voorzien door}%
+ {bewerkt en van een nawoord voorzien door}},
+ cbyeditortrcp = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en samengesteld door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en samengesteld door}},
+ cbyeditortrco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en van commentaar voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en van commentaar voorzien door}},
+ cbyeditortran = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\addspace en geannoteerd door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace en geannoteerd door}},
+ cbyeditortrin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\ en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\ en van een inleiding voorzien door}},
+ cbyeditortrfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ en van een voorwoord voorzien door}},
+ cbyeditortraf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\addspace\ en van een nawoord voorzien door}},
+ cbyeditorcpco = {{bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}},
+ cbyeditorcpan = {{bewerkt\addcomma\addspace samengesteld en geannoteerd door}%
+ {bewerkt\addcomma\addspace samengesteld en geannoteerd door}},
+ cbyeditorcpin = {{bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}%
+ {bewerkt\space\addcomma\addspace samengesteld en van een inleiding voorzien door}},
+ cbyeditorcpfo = {{bewerkt\space\addcomma\addspace samengesteld en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}},
+ cbyeditorcpaf = {{bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}},
+ cbyeditorcpcoin = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}},
+ cbyeditorcpcofo = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}},
+ cbyeditorcpcoaf = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}},
+ cbyeditorcpanin = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ cbyeditorcpanfo = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ cbyeditorcpanaf = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ cbyeditortrcpco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\
+ samengesteld en van commentaar voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}},
+ cbyeditortrcpan = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}},
+ cbyeditortrcpin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}},
+ cbyeditortrcpfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}},
+ cbyeditortrcpaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld van een nawoord voorzien door}},
+ cbyeditortrcpcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}},
+ cbyeditortrcpcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}},
+ cbyeditortrcpcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}},
+ cbyeditortrcpanin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ cbyeditortrcpanfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ cbyeditortrcpanaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ cbyeditorcoin = {{bewerkt en van commentaar en een inleiding voorzien door}%
+ {bewerkt en van commentaar en een inleiding voorzien door}},
+ cbyeditorcofo = {{bewerkt en van commentaar en een voorwoord voorzien door}%
+ {bewerkt en van commentaar en een voorwoord voorzien door}},
+ cbyeditorcoaf = {{bewerkt en van commentaar en een nawoord voorzien door}%
+ {bewerkt en van commentaar en een nawoord voorzien door}},
+ cbyeditoranin = {{bewerkt\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ cbyeditoranfo = {{bewerkt\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ cbyeditoranaf = {{bewerkt\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ cbyeditortrcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een inleiding voorzien door}},
+ cbyeditortrcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een voorwoord voorzien door}},
+ cbyeditortrcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space en van commentaar en een nawoord voorzien door}},
+ cbyeditortranin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een inleiding voorzien door}},
+ cbyeditortranfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}},
+ cbyeditortranaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ cbytranslatorcp = {{vertaald\addspace\lbx@fromlang\ en samengesteld door}%
+ {vertaald\addspace\lbx@fromlang\ en samengesteld door}},
+ cbytranslatorco = {{vertaald\addspace\lbx@fromlang\ en van commentaar voorzien door}%
+ {vertaald\addspace\lbx@fromlang\ en van commentaar voorzien door}},
+ cbytranslatoran = {{vertaald\addspace\lbx@fromlang\ en geannoteerd door}%
+ {vertaald\addspace\lbx@fromlang\ en geannoteerd door}},
+ cbytranslatorin = {{vertaald\addspace\lbx@fromlang en van een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang en van een inleiding voorzien door}},
+ cbytranslatorfo = {{vertaald\addspace\lbx@fromlang\ en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\ en van een voorwoord voorzien door}},
+ cbytranslatoraf = {{vertaald\addspace\lbx@fromlang\ en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang en van een nawoord voorzien door}},
+ cbytranslatorcoin = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\ en van commentaar en een inleiding voorzien door}},
+ cbytranslatorcofo = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\ en van commentaar en een voorwoord voorzien door}},
+ cbytranslatorcoaf = {{vertaald\addspace\lbx@fromlang\ en van commentaar en een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\ en van commentaar en een nawoord voorzien door}},
+ cbytranslatoranin = {{vertaald\addspace\lbx@fromlang\ geannoteerd en van een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een inleiding voorzien door}},
+ cbytranslatoranfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een voorwoord voorzien door}},
+ cbytranslatoranaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ geannoteerd en van een nawoord voorzien door}},
+ cbytranslatorcpco = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien}},
+ cbytranslatorcpan = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}},
+ cbytranslatorcpin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}},
+ cbytranslatorcpfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}},
+ cbytranslatorcpaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}},
+ cbytranslatorcpcoin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}},
+ cbytranslatorcpcofo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}},
+ cbytranslatorcpcoaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}},
+ cbytranslatorcpanin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ cbytranslatorcpanfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ cbytranslatorcpanaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ cbycompilerco = {{samengesteld en van commentaar voorzien door}%
+ {samengesteld en van commentaar voorzien door}},
+ cbycompileran = {{samengesteld en geannoteerd door}%
+ {samengesteld en geannoteerd door}},
+ cbycompilerin = {{samengesteld en van een inleiding voorzien door}%
+ {samengesteld en van een inleiding voorzien door}},
+ cbycompilerfo = {{samengesteld en van een voorwoord voorzien door}%
+ {samengesteld en van een voorwoord voorzien door}},
+ cbycompileraf = {{samengesteld en van een nawoord voorzien door}%
+ {samengesteld en van een nawoord voorzien door}},
+ cbycompilercoin = {{samengesteld en van commentaar en een inleiding voorzien door}%
+ {samengesteld en van commentaar en een inleiding voorzien door}},
+ cbycompilercofo = {{samengesteld en van commentaar en een voorwoord voorzien door}%
+ {samengesteld en van commentaar en een voorwoord voorzien door}},
+ cbycompilercoaf = {{samengesteld en van commentaar en een nawoord voorzien door}%
+ {samengesteld en van commentaar en een nawoord voorzien door}},
+ cbycompileranin = {{samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien doorr}%
+ {samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ cbycompileranfo = {{samengesteld en geannoteerd en van een voorwoord voorzien door}%
+ {samengesteld en geannoteerd en van een voorwoord voorzien door}},
+ cbycompileranaf = {{samengesteld en geannoteerd en van een nawoord voorzien door}%
+ {samengesteld en geannoteerd en van een nawoord voorzien door}},
+ volume = {{vol\adddot}{vol\adddot}},
+ volumes = {{vols\adddot}{vols\adddot}},
+ jourvol = {{vol\adddot}{vol\adddot}},
+ jourser = {{ser\adddot}{ser\adddot}},
+ oldseries = {{o\adddot s\adddot}{o\adddot s\adddot}},
+ edition = {{editie}{editie}},
+ page = {{pag\adddot}{pag\adddot}},
+ pages = {{pp\adddot}{pp\adddot}},
+ column = {{kolom}{kolom}},
+ columns = {{kolommen}{kolommen}},
+ line = {{regel}{regel}},
+ lines = {{regels}{regels}},
+ paragraph = {{\P}{\P}},
+ paragraphs = {{\P\P}{\P\P}},
+ section = {{\S}{\S}},
+ sections = {{\S\S}{\S\S}},
+ canadasection = {{s\adddot}{s\adddot}},% For legal citations
+ canadasections = {{s\adddot}{s\adddot}},% ditto
+ supranote = {{noot hierboven}{noot hierboven}},% ditto (Changed)
+ hereinafter = {{hierna}{hierna}},
+ subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}},
+ subverbis = {{s\adddot vv\adddot}{s\adddot vv\adddot}},
+ verse = {{v\adddot}{v\adddot}},
+ verses = {{vv\adddot}{vv\adddot}},
+ number = {{no\adddot}{no\adddot}},
+ chapter = {{hoofdstuk}{hoofdstuk}},% for legal citations
+ part = {{deel}{deel}},% ditto
+ mathesis = {{masters thesis}{masters thesis}},
+ phdthesis = {{PhD\addabbrvspace dissertatie}{PhD\addabbrvspace dissertatie}},
+ techreport = {{technisch verslag}{technisch verslag}},
+ cfromamerican = {{uit het Amerikaans door}{uit het Americaans door}},
+ cfrombrazilian = {{uit het Braziliaans door}{uit het Braziliaans door}},
+ cfrombulgarian = {{uit het Bulgaars door}{uit het Bulgaars door}},
+ cfromcatalan = {{uit het Catalaans door}{uit het Catalaans door}},
+ cfromcroatian = {{uit het Kroatisch door}{uit het Kroatisch door}},
+ cfromczech = {{uit het Tsjechisch door}{uit het Tsjechisch door}},
+ cfromdanish = {{uit het Deens door}{uit het Deens door}},
+ cfromdutch = {{uit het Nederlands door}{uit het Nederlands door}},
+ cfromenglish = {{uit het Engels door}{uit het Engels door}},
+ cfromestonian = {{uit het Estisch door}{uit het Estisch door}},
+ cfromfinnish = {{uit het Fins door}{uit het Fins door}},
+ cfromfrench = {{uit het Frans door}{uit het Frans door}},
+ cfromgalician = {{uit het Galicisch door}{uit het Galicisch door}},
+ cfromgerman = {{uit het Duits door}{uit het Duits door}},
+ cfromgreek = {{uit het Grieks door}{uit het Grieks door}},
+ cfromitalian = {{uit het Italiaans door}{uit het Italiaans door}},
+ cfromjapanese = {{uit het Japans door}{uit het Japans door}},
+ cfromlatin = {{uit het Latijn door}{uit het Latijn door}},
+ cfromnorwegian = {{uit het Noors door}{uit het Noors door}},
+ cfrompolish = {{uit het Pools door}{uit het Pools door}},
+ cfromportuguese = {{uit het Portugees door}{uit het Portugees door}},
+ cfromrussian = {{uit het Russisch door}{uit het Russisch door}},
+ cfromslovak = {{uit het Slowaaks door}{uit het Slowaaks door}},
+ cfromslovene = {{uit het Sloveens door}{uit het Sloveens door}},
+ cfromspanish = {{uit het Spaans door}{uit het Spaans door}},
+ cfromswedish = {{uit het Zweeds door}{uit het Zweeds door}},
+ cfromukrainian = {{uit het Oekra\"{i}ens door}{uit het Oekra\"{i}ens door}},
+ bynone = {{}{}},
+ bycompiler = {{samengesteld door}{samengesteld door}},
+ byconductor = {{gedirigeerd door}{gedirigeerd door}},
+ bydirector = {{gedirigeerd door}{gedirigeerd door}},
+ byproducer = {{geproduceerd door}{geproduceerd door}},
+ byeditorcp = {{bewerkt en samengesteld door}{bewerkt en samengesteld door}},
+ byeditortrcp = {{bewerkt\addcomma\addspace vertaald\lbx@fromlang en samengesteld door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ en samengesteld door}},
+ byeditortrcpco = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}},
+ byeditortrcpan = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}},
+ byeditortrcpin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}},
+ byeditortrcpfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}},
+ byeditortrcpaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}},
+ byeditortrcpcoin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}},
+ byeditortrcpcofo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}},
+ byeditortrcpcoaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}},
+ byeditortrcpanin = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ byeditortrcpanfo = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ byeditortrcpanaf = {{bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace en geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ byeditorcpco = {{bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar voorzien door}},
+ byeditorcpan = {{bewerkt\addcomma\addspace samengesteld en geannoteerd door}%
+ {bewerkt\addcomma\addspace samengesteld en geannoteerd door}},
+ byeditorcpin = {{bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van een inleiding voorzien door}},
+ byeditorcpfo = {{bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van een voorwoord voorzien door}},
+ byeditorcpaf = {{bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van een nawoord voorzien door}},
+ byeditorcpcoin = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door }%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een inleiding voorzien door}},
+ byeditorcpcofo = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door }%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een voorwoord voorzien door}},
+ byeditorcpcoaf = {{bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld en van commentaar en een nawoord voorzien door}},
+ byeditorcpanin = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door }%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ byeditorcpanfo = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door }%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ byeditorcpanaf = {{bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {bewerkt\addcomma\addspace samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ bytranslatorcp = {{vertaald \lbx@fromlang\ en samengesteld door}%
+ {vertaald\addspace\lbx@fromlang\ en samengesteld door}},
+ bytranslatorcpco = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar voorzien door}},
+ bytranslatorcpan = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en geannoteerd door}},
+ bytranslatorcpin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door }%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een inleiding voorzien door}},
+ bytranslatorcpfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een voorwoord voorzien door}},
+ bytranslatorcpaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van een nawoord voorzien door}},
+ bytranslatorcpcoin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een inleiding voorzien door }},
+ bytranslatorcpcofo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een voorwoord voorzien door}},
+ bytranslatorcpcoaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld en van commentaar en een nawoord voorzien door}},
+ bytranslatorcpanin = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ bytranslatorcpanfo = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ bytranslatorcpanaf = {{vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {vertaald\addspace\lbx@fromlang\finalandcomma\space\addcomma\ samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}},
+ bycompilerco = {{samengesteld en van commentaar voorzien door}%
+ {samengesteld en van commentaar voorzien door}},
+ bycompileran = {{samengesteld en geannoteerd door}%
+ {samengesteld en geannoteerd door}},
+ bycompilerin = {{samengesteld en van een inleiding voorzien door}%
+ {samengesteld en van een inleiding voorzien door}},
+ bycompilerfo = {{samengesteld en van een voorwoord voorzien door}%
+ {samengesteld en van een voorwoord voorzien door}},
+ bycompileraf = {{samengesteld en van een nawoord voorzien door}%
+ {samengesteld en van een nawoord voorzien door}},
+ bycompilercoin = {{samengesteld en van commentaar en een inleiding voorzien door}%
+ {samengesteld en van commentaar en een inleiding voorzien door}},
+ bycompilercofo = {{samengesteld en van commentaar en een voorwoord voorzien door}%
+ {samengesteld en van commentaar en een voorwoord voorzien door}},
+ bycompilercoaf = {{samengesteld en van commentaar en een nawoord voorzien door}%
+ {samengesteld en van commentaar en een nawoord voorzien door}},
+ bycompileranin = {{samengesteld en geannoteerd en van een inleiding voorzien door}%
+ {samengesteld\addcomma\addspace geannoteerd en van een inleiding voorzien door}},
+ bycompileranfo = {{samengesteld en geannoteerd en van een voorwoord voorzien door}%
+ {samengesteld\addcomma\addspace geannoteerd en van een voorwoord voorzien door}},
+ bycompileranaf = {{samengesteld\addcomma\addspace geannoteerd en van een nawoord voorzien door}%
+ {samengesteld\addcomma\addspace geannoteerd en van een nawoord
+ voorzien door}},
+ circa = {{ongeveer}{ong\adddot}},
+ spring = {{lente}{lente}},
+ summer = {{zomer}{zomer}},
+ autumn = {{herfst}{herfst}},
+ winter = {{winter}{winter}},
+ note = {{noot}{noot}},
+ preface = {{voorwoord}{woorw\adddot}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S\S}{\S\S}},
+ selfpublished = {{zelf-gepubliceerde}{zelf-gep\adddot}},
+ commenton = {{reactie op}{reactie op}},
+ printed = {{gedrukt}{gedrukt}},
+ track = {{nummer}{nummer}},
+ choreographer = {{choreogr\adddot}{choreogr\adddot}},
+ choreographers = {{choreogr\adddot}{choreogr\adddot}},
+ cbychoreographer = {{gechoreograf\adddot}{gechoreograf\adddot}},
+ bychoreographer = {{gechoreografeerd door}{gechoreograf\adddot}},
+}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-finnish.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx
index bb8be1c19e..571b232b77 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-finnish.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-finnish.lbx,v 0.13 2018/01/09 19:01:03 dfussner Exp $
-
-\ProvidesFile{cms-finnish.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-finnish.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated by a native speaker (Antti-Juhani Kaijanaho).
@@ -14,14 +12,18 @@
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
\savecommand\lbx@fromlang%
\savecommand\lbx@lfromlang%
\savecommand\lbx@sfromlang%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
+ \def\introductionname{Johdanto}%
+ \def\sectionname{Kohta}% These 2 highly uncertain
+ \def\subsectionname{Kappale}%
+ \def\forewordname{Esipuhe}%
+ \def\notesname{Viitteet}% ?
\def\lbx@fromlang{%
\iffieldundef{userf}%
{\iflistundef{origlanguage}%
@@ -40,257 +42,68 @@
{}%
{\printlist[sfromoriglanguage]{origlanguage}\addspace}}%
{}}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}%
\protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\cmsmkdecade#1#2{%
+ \cms@tempcnta=\thefield{#2year}%
+ \divide\cms@tempcnta100
+ \multiply\cms@tempcnta100
+ \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% Disambiguation of -luku
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\ifnumequal{\thefield{#2year}}{1}%
+ {\printtext{I vuosikymmen}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\printtext{I vuosisata}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\csuse{mkbibdatelong}{#1year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
\protected\def\mkdaterangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}}%
\UndeclareBibliographyExtras{%
\restorecommand\lbx@fromlang%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp% DATE FIX
\restorecommand\mkdaterangeterse%
\restorecommand\mkdaterangefull%
- \restorecommand\mkbibrangecomp% DATE FIX
- \restorecommand\mkbibrangeterse%
- \restorecommand\mkbibrangefull}%
-
-\NewBibliographyString{bynone}
-% \NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-% \NewBibliographyString{byproducer}
-% \NewBibliographyString{byeditorcp}
-% \NewBibliographyString{byeditortrcp}
-% \NewBibliographyString{byeditortrcpco}
-% \NewBibliographyString{byeditortrcpan}
-% \NewBibliographyString{byeditortrcpin}
-% \NewBibliographyString{byeditortrcpfo}
-% \NewBibliographyString{byeditortrcpaf}
-% \NewBibliographyString{byeditortrcpcoin}
-% \NewBibliographyString{byeditortrcpcofo}
-% \NewBibliographyString{byeditortrcpcoaf}
-% \NewBibliographyString{byeditortrcpanin}
-% \NewBibliographyString{byeditortrcpanfo}
-% \NewBibliographyString{byeditortrcpanaf}
-% \NewBibliographyString{byeditorcpco}
-% \NewBibliographyString{byeditorcpan}
-% \NewBibliographyString{byeditorcpin}
-% \NewBibliographyString{byeditorcpfo}
-% \NewBibliographyString{byeditorcpaf}
-% \NewBibliographyString{byeditorcpcoin}
-% \NewBibliographyString{byeditorcpcofo}
-% \NewBibliographyString{byeditorcpcoaf}
-% \NewBibliographyString{byeditorcpanin}
-% \NewBibliographyString{byeditorcpanfo}
-% \NewBibliographyString{byeditorcpanaf}
-% \NewBibliographyString{bytranslatorcp}
-% \NewBibliographyString{bytranslatorcpco}
-% \NewBibliographyString{bytranslatorcpan}
-% \NewBibliographyString{bytranslatorcpin}
-% \NewBibliographyString{bytranslatorcpfo}
-% \NewBibliographyString{bytranslatorcpaf}
-% \NewBibliographyString{bytranslatorcpcoin}
-% \NewBibliographyString{bytranslatorcpcofo}
-% \NewBibliographyString{bytranslatorcpcoaf}
-% \NewBibliographyString{bytranslatorcpanin}
-% \NewBibliographyString{bytranslatorcpanfo}
-% \NewBibliographyString{bytranslatorcpanaf}
-% \NewBibliographyString{bycompilerco}
-% \NewBibliographyString{bycompileran}
-% \NewBibliographyString{bycompilerin}
-% \NewBibliographyString{bycompilerfo}
-% \NewBibliographyString{bycompileraf}
-% \NewBibliographyString{bycompilercoin}
-% \NewBibliographyString{bycompilercofo}
-% \NewBibliographyString{bycompilercoaf}
-% \NewBibliographyString{bycompileranin}
-% \NewBibliographyString{bycompileranfo}
-% \NewBibliographyString{bycompileranaf}
-% \NewBibliographyString{cbynone}
-% \NewBibliographyString{cbyauthor}
-% \NewBibliographyString{cbyeditor}
-% \NewBibliographyString{cbytranslator}
-% \NewBibliographyString{cbycompiler}
-% \NewBibliographyString{cbyredactor}
-% \NewBibliographyString{cbycommentator}
-% \NewBibliographyString{cbyannotator}
-% \NewBibliographyString{cbyfounder}
-% \NewBibliographyString{cbycontinuator}
-% \NewBibliographyString{cbycollaborator}
-% \NewBibliographyString{cbyconductor}
-% \NewBibliographyString{cbydirector}
-% \NewBibliographyString{cbyproducer}
-% \NewBibliographyString{cbyeditortr}
-% \NewBibliographyString{cbyeditorcp}
-% \NewBibliographyString{cbyeditorco}
-% \NewBibliographyString{cbyeditoran}
-% \NewBibliographyString{cbyeditorin}
-% \NewBibliographyString{cbyeditorfo}
-% \NewBibliographyString{cbyeditoraf}
-% \NewBibliographyString{cbyeditortrcp}
-% \NewBibliographyString{cbyeditortrco}
-% \NewBibliographyString{cbyeditortran}
-% \NewBibliographyString{cbyeditortrin}
-% \NewBibliographyString{cbyeditortrfo}
-% \NewBibliographyString{cbyeditortraf}
-% \NewBibliographyString{cbyeditortrcpco}
-% \NewBibliographyString{cbyeditortrcpan}
-% \NewBibliographyString{cbyeditortrcpin}
-% \NewBibliographyString{cbyeditortrcpfo}
-% \NewBibliographyString{cbyeditortrcpaf}
-% \NewBibliographyString{cbyeditorcoin}
-% \NewBibliographyString{cbyeditorcofo}
-% \NewBibliographyString{cbyeditorcoaf}
-% \NewBibliographyString{cbyeditoranin}
-% \NewBibliographyString{cbyeditoranfo}
-% \NewBibliographyString{cbyeditoranaf}
-% \NewBibliographyString{cbyeditortrcoin}
-% \NewBibliographyString{cbyeditortrcofo}
-% \NewBibliographyString{cbyeditortrcoaf}
-% \NewBibliographyString{cbyeditortranin}
-% \NewBibliographyString{cbyeditortranfo}
-% \NewBibliographyString{cbyeditortranaf}
-% \NewBibliographyString{cbyeditortrcpcoin}
-% \NewBibliographyString{cbyeditortrcpcofo}
-% \NewBibliographyString{cbyeditortrcpcoaf}
-% \NewBibliographyString{cbyeditortrcpanin}
-% \NewBibliographyString{cbyeditortrcpanfo}
-% \NewBibliographyString{cbyeditortrcpanaf}
-% \NewBibliographyString{cbyeditorcpco}
-% \NewBibliographyString{cbyeditorcpan}
-% \NewBibliographyString{cbyeditorcpin}
-% \NewBibliographyString{cbyeditorcpfo}
-% \NewBibliographyString{cbyeditorcpaf}
-% \NewBibliographyString{cbyeditorcpcoin}
-% \NewBibliographyString{cbyeditorcpcofo}
-% \NewBibliographyString{cbyeditorcpcoaf}
-% \NewBibliographyString{cbyeditorcpanin}
-% \NewBibliographyString{cbyeditorcpanfo}
-% \NewBibliographyString{cbyeditorcpanaf}
-% \NewBibliographyString{cbytranslatorcp}
-% \NewBibliographyString{cbytranslatorco}
-% \NewBibliographyString{cbytranslatoran}
-% \NewBibliographyString{cbytranslatorin}
-% \NewBibliographyString{cbytranslatorfo}
-% \NewBibliographyString{cbytranslatoraf}
-% \NewBibliographyString{cbytranslatorcpco}
-% \NewBibliographyString{cbytranslatorcpan}
-% \NewBibliographyString{cbytranslatorcpin}
-% \NewBibliographyString{cbytranslatorcpfo}
-% \NewBibliographyString{cbytranslatorcpaf}
-% \NewBibliographyString{cbytranslatorcoin}
-% \NewBibliographyString{cbytranslatorcofo}
-% \NewBibliographyString{cbytranslatorcoaf}
-% \NewBibliographyString{cbytranslatoranin}
-% \NewBibliographyString{cbytranslatoranfo}
-% \NewBibliographyString{cbytranslatoranaf}
-% \NewBibliographyString{cbytranslatorcpcoin}
-% \NewBibliographyString{cbytranslatorcpcofo}
-% \NewBibliographyString{cbytranslatorcpcoaf}
-% \NewBibliographyString{cbytranslatorcpanin}
-% \NewBibliographyString{cbytranslatorcpanfo}
-% \NewBibliographyString{cbytranslatorcpanaf}
-% \NewBibliographyString{cbycompilerco}
-% \NewBibliographyString{cbycompileran}
-% \NewBibliographyString{cbycompilerin}
-% \NewBibliographyString{cbycompilerfo}
-% \NewBibliographyString{cbycompileraf}
-% \NewBibliographyString{cbycompilercoin}
-% \NewBibliographyString{cbycompilercofo}
-% \NewBibliographyString{cbycompilercoaf}
-% \NewBibliographyString{cbycompileranin}
-% \NewBibliographyString{cbycompileranfo}
-% \NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-% \NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-% \NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-% \NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-% \NewBibliographyString{origreleaseyear}
-% \NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}
-\NewBibliographyString{patentissued}
-\NewBibliographyString{inlang}
-% \NewBibliographyString{langrussian}
-% \NewBibliographyString{fromrussian}
-% \NewBibliographyString{edamerican}
-% \NewBibliographyString{edbrazilian}
-% \NewBibliographyString{eddanish}
-% \NewBibliographyString{eddutch}
-% \NewBibliographyString{edenglish}
-% \NewBibliographyString{edfrench}
-% \NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-% \NewBibliographyString{editalian}
-% \NewBibliographyString{edlatin}
-% \NewBibliographyString{ednorwegian}
-% \NewBibliographyString{edportuguese}
-% \NewBibliographyString{edrussian}
-% \NewBibliographyString{edspanish}
-% \NewBibliographyString{edswedish}
-% \NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-% \NewBibliographyString{section}
-% \NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-% \NewBibliographyString{compiler}
-% \NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-% \NewBibliographyString{director}
-% \NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-% \NewBibliographyString{producer}
-% \NewBibliographyString{producers}
-% \NewBibliographyString{transcompiler}
-% \NewBibliographyString{transcompilers}
-% \NewBibliographyString{editortranscompiler}
-% \NewBibliographyString{editorcompiler}
-% \NewBibliographyString{editortranslator}
-% \NewBibliographyString{editortranscompilers}
-% \NewBibliographyString{editorcompilers}
-% \NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {finnish},
afterwordto = {{j\"alkipuhe teokselle}{j\"alkipuhe teokselle}},
% forewordto = {{foreword to}{forew\adddot\space to}},
- introductionto = {{johdanto teoksessa}{johdanto\adddot\space teoksessa}},
+ introductionto = {{johdanto teoksessa}{johdanto teoksessa}},
partvolume = {{osa}{osa}},
- by = {{kirjoittanut}{kirjoittanut}},
+ by = {{}{}},
% of = {{of}{of}},
on = {{levyll\"a}{levyll\"a}},
% compiler = {{comp\adddot}{comp\adddot}},
@@ -325,6 +138,8 @@
% producers = {{prods\adddot}{prods\adddot}},
% editor = {{toim\adddot}{toim\adddot}},
% editors = {{toimm\adddot}{toimm\adddot}},
+ choreographer = {{koreografi}{koreografi}},% ??
+ choreographers = {{koreografit}{koreografit}},% ??
% ibidem = {{ibid\adddot}{ibid\adddot}},
origpub = {{alkuper\"ainen julkaisu\addspace}%
{alkup\adddot\ julk\adddot\ as\addspace}},
@@ -347,6 +162,8 @@
discrecorded = {{taltioitu}{taltioitu}},
numbers = {{not\adddot}{not\adddot}},
nodate = {{{}n\adddot d\adddot}{{}n\adddot d\adddot}},
+ decade = {{-luku}{-luku}},
+ century = {{-luku}{-luku}},
pseudonym = {{salanimi}{salan\adddot}},
patentfiled = {{haettu}{haettu}},
patentissued = {{my\"onnetty}{my\"onnetty}},
@@ -382,13 +199,16 @@
% annotators = {{annot\adddot}{annot\adddot}},
% review = {{review}{review}},
reviewof = {{arvio teoksesta}{arvio teoksesta}},
+ commenton = {{kommentti}{kommentti}},% ??
% reprint = {{reprint}{repr\adddot}},
+ printed = {{painettu}{painettu}},% ??
+ selfpublished = {{omajulkaisu}{omajulk\adddot}},
% shorthands = {{Abbreviations}{Abbreviations}},
% newseries = {{n\adddot s\adddot}{n\adddot s\adddot}},
% urlseen = {{accessed}{accessed}},
% cbynone = {{}{}},
- % cbyauthor = {{by}{by}},
- % cbyeditor = {{ed\adddot}{ed\adddot}},
+ cbyauthor = {{kirj\adddot}{kirj\adddot}},
+ cbyeditor = {{toim\adddot}{toim\adddot}},
% cbytranslator = {{trans\adddot\addspace\lbx@cfromlang}%
% {trans\adddot\addspace\lbx@cfromlang}},
% cbycompiler = {{comp\adddot}{comp\adddot}},
@@ -402,6 +222,7 @@
% cbyconductor = {{johtaa}{joht\adddot}},
% cbydirector = {{dir\adddot}{dir\adddot}},
% cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{koreografi}{koreografi}},% ??
% cbyeditortr = {{ed\adddot\space and
% trans\adddot\addspace\lbx@cfromlang}%
% {ed\adddot\space and trans\adddot\addspace\lbx@cfromlang}},
@@ -675,6 +496,10 @@
% paragraphs = {{\P\P}{\P\P}},
% section = {{\S}{\S}},
% sections = {{\S\S}{\S\S}},
+ subsection = {{kappale}{kappale}},% These 3 extremely uncertain
+ subsections = {{kappaleet}{kappaleet}},
+ preface = {{esipuhe}{esipuhe}},
+ note = {{viite}{viite}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace viite\addnbspace}% ditto
@@ -686,6 +511,7 @@
% verses = {{vv\adddot}{vv\adddot}},
% number = {{no\adddot}{no\adddot}},
% chapter = {{chap\adddot}{chap\adddot}},
+ track = {{kappale}{kappale}},% ??
% mathesis = {{master's thesis}{master's thesis}},
% phdthesis = {{PhD\addabbrvspace diss\adddot}{PhD\addabbrvspace diss\adddot}},
% techreport = {{technical report}{technical report}},
@@ -712,6 +538,7 @@
byconductor = {{johtaa}{joht.\adddot}},
bydirector = {{ohjannut}{ohj\adddot}},
% byproducer = {{produced by}{prod\adddot}},
+ bychoreographer = {{koreografi}{koreografi}},% ??
% byeditorcp = {{edited and compiled by}{ed\adddot\space and comp\adddot}},
% byeditortrcp = {{edited, translated \lbx@fromlang, and compiled by}%
% {ed.,\addabbrvspace trans.\addspace\lbx@fromlang, and comp\adddot}},
@@ -852,53 +679,4 @@
% {comp\adddot\space and annot\adddot, with an afterword, by}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-french.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx
index aae7f702bb..c2a6b66492 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-french.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-french.lbx,v 0.9.5.39 2018/01/10 16:38:12 dfussner Exp $
-
-\ProvidesFile{cms-french.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-french.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Some strings still missing
@@ -16,294 +14,67 @@
\savecommand\mkbibnamefamily%
\protected\def\mkbibnamefamily#1{\textnohyphenation{#1}}%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Introduction}%
+ \def\sectionname{Section}%
+ \def\subsectionname{Paragraphe}%
+ \def\forewordname{Pr\'eface}%
+ \def\notesname{Notes}%
\protected\def\mkjuridordinal{\mkbibordinal}%
\protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \protected\def\cmsmkdecade#1#2{%
+ \dateeraprintpre{#2year}%
+ \bibsstring{decade}%
+ \printdelim{dateaddelim}%
+ \stripzeros{\thefield{#2year}}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \ifbool{cms:extraparens}%
+ {\usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\usebibmacro{cmsextradate}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\csuse{mkcmscentury}[er]{#1year}}%
+ {\dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}[e]{#1year}}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury[#1]#2{%
+ \textsc{\romannumeral\numexpr\thefield{#2}/100+1}%
+ \raise.45ex\hbox{\scriptsize #1}}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
\UndeclareBibliographyExtras{%
\restorecommand\postvolpunct%
\restorecommand\mkbibnamefamily%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\togglefalse{cms@postposit}%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangeterse%
\restorecommand\mkdaterangefull%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbyeditoralt} % To cope with \smartof issues
-\NewBibliographyString{byeditoralt} % in \partedit command.
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}% 2 strings to allow matching gender
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {french},
@@ -340,6 +111,8 @@
producers = {{prod\adddot}{prod\adddot}},
editor = {{\'ed\adddot}{\'ed\adddot}},
editors = {{\'eds\adddot}{\'eds\adddot}},
+ choreographer = {{chor\'egr\adddot}{chor\'egr\adddot}},
+ choreographers = {{chor\'egrs\adddot}{chor\'egrs\adddot}},
ibidem = {{ibid\adddot}{ibid\adddot}},
origpub = {{originellement publi\'e comme}%
{origin\adddot\ publ\adddot\ comme}},
@@ -361,6 +134,8 @@
discrecorded = {{enregistr\'e}{enregistr\'e}},
numbers = {{n\textsuperscript{os}}{n\textsuperscript{os}}},% ?
nodate = {{{}s\adddot d\adddot}{{}s\adddot d\adddot}},% ?
+ decade = {{ann\'ees}{ann\'ees}},
+ century = {{si\`ecle}{s\adddot}},
pseudonym = {{pseudonym}{pseudonym}},% ?
patentfiled = {{d\'epos\'e}{d\'epos\'e}},
patentissued = {{d\'elivr\'e}{d\'elivr\'e}},
@@ -406,7 +181,10 @@
annotators = {{annot\adddot}{annot\adddot}},
review = {{critique}{critique}},
reviewof = {{critique de}{critique de}},
+ commenton = {{commentaire sur}{commentaire sur}},
reprint = {{r\'eimpression}{r\'eimpr\adddot}},
+ printed = {{imprim\'e}{imprim\'e}},
+ selfpublished = {{auto-publi\'e}{auto-publ\adddot}},
shorthands = {{Sigles}{Sigles}},
newseries = {{nouv\adddot\ s\'er\adddot}{nouv\adddot\
s\'er\adddot}},
@@ -429,6 +207,7 @@
{sous la dir\adddotspace\smartof}},
cbydirector = {{r\'eal\adddot}{r\'eal\adddot}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{chor\'egr\adddot}{chor\'egr\adddot}},
cbyeditortr = {{\'ed\adddotspace \'etablie et trad\adddot\
\lbx@cfromlang}{\'ed\adddotspace \'etablie et trad\adddot\
\lbx@cfromlang}},
@@ -677,6 +456,10 @@
paragraphs = {{par\adddot}{par\adddot}},
section = {{\S}{\S}},
sections = {{\S\S}{\S\S}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S\S}{\S\S}},
+ preface = {{pr\'eface}{pr\'ef\adddot}},
+ note = {{note}{note}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto
@@ -688,6 +471,7 @@
verses = {{v\adddot}{v\adddot}},
number = {{n\textsuperscript{o}}{n\textsuperscript{o}}},
chapter = {{chap\adddot}{chap\adddot}},
+ track = {{titre}{titre}},
mathesis = {{m\'emoire de ma\^{\i}trise}{m\'emoire de ma\^{\i}trise}},
phdthesis = {{th\`ese de doct\adddot}{th\`ese de doct\adddot}},
techreport = {{rapport technique}{rapport technique}},
@@ -724,6 +508,7 @@
{sous la dir\adddotspace\smartof}},
bydirector = {{r\'ealis\'e par}{r\'eal\adddot}},
byproducer = {{produit par}{prod\adddot}},
+ bychoreographer = {{chor\'egraphi\'e par}{chor\'egr\adddot}},
byeditorcp = {{\'edition \'etablie et compil\'ee par}%
{\'ed\adddotspace \'etablie et comp\adddot}},
byeditortrcp = {{\'edition \'etablie, traduite \lbx@fromlang\ et
@@ -857,53 +642,4 @@
par}{comp\adddot, annot\adddot\ et postf\adddot}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-german.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx
index 73ac2cd225..7bf991606c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-german.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-german.lbx,v 0.9.5.36 2018/01/09 19:01:32 dfussner Exp $
-
-\ProvidesFile{cms-german.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-german.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated strings and formatting decisions need review by native
@@ -12,14 +10,18 @@
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
\savecommand\lbx@fromlang%
\savecommand\lbx@lfromlang%
\savecommand\lbx@sfromlang%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
+ \def\introductionname{Einleitung}%
+ \def\sectionname{Paragraph}%
+ \def\subsectionname{Absatz}%
+ \def\forewordname{Vorwort}%
+ \def\notesname{Anmerkungen}%
\protected\def\mkjuridordinal{\mkbibordinal}%
\def\lbx@fromlang{%
\iffieldundef{userf}%
@@ -39,258 +41,49 @@
{}%
{\printlist[sfromoriglanguage]{origlanguage}\addspace}}%
{}}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}%
+ \protected\def\cmsmkdecade#1#2{%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+}%
\UndeclareBibliographyExtras{%
\restorecommand\lbx@fromlang%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangeterse%
\restorecommand\mkdaterangefull%
- \restorecommand\mkbibrangecomp% DATE FIX
- \restorecommand\mkbibrangeterse%
- \restorecommand\mkbibrangefull}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}
-\NewBibliographyString{patentissued}
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {german},
@@ -332,6 +125,8 @@
producers = {{Prod\adddot}{Prod\adddot}},
editor = {{Hrsg\adddot}{Hrsg\adddot}},
editors = {{Hrsg\adddot}{Hrsg\adddot}},
+ choreographer = {{Choreograph}{Choreograph}},
+ choreographers = {{Choreografen}{Choreografen}},
ibidem = {{ebd\adddot}{ebd\adddot}},
origpub = {{urspr\"unglich ver\"offentlicht als}%
{urspr\adddot\ ver\"offtl\adddot\ als}},
@@ -356,15 +151,16 @@
% translationof = {{}{}},% FIXME: missing
% translationas = {{}{}},% FIXME: missing
% translationfrom = {{}{}},% FIXME: missing
-% reviewof = {{}{}},% FIXME: missing
origpubas = {{urspr\"unglich ver\"offentlicht als}%
{urspr\adddot\ ver\"offtl\adddot\ als}},% FIXME
- origpubin = {{urspr\"unglich ver\"offentlicht im Jahr\addspace}%
- {urspr\adddot\ ver\"offtl\adddot\addspace}},% FIXME
+ origpubin = {{urspr\"unglich ver\"offentlicht im Jahr}%
+ {urspr\adddot\ ver\"offtl\adddot}},% FIXME
astitle = {{als}{als}},% FIXME
bypublisher = {{von}{von}},% FIXME
numbers = {{Nrn\adddot}{Nrn\adddot}},
nodate = {{{}o\adddot Dat\adddot}{{}o\adddot Dat\adddot}},% ?
+ decade = {{er}{er}},
+ century = {{Jahrhundert}{Jh\adddot}},
pseudonym = {{Pseud\adddot}{Pseud\adddot}},
patentfiled = {{eingereicht}{eingereicht}},% Are these 2 correct?
patentissued = {{erteilt}{erteilt}},% ?
@@ -410,7 +206,10 @@
annotators = {{Erl\"aut\adddot}{Erl\"aut\adddot}},
review = {{Rezension}{Rezension}},
reviewof = {{Rezension des}{Rezension des}},
+ commenton = {{Kommentar zu}{Kommentar zu}},
reprint = {{Nachdruck}{Nachdr\adddot}},
+ printed = {{gedruckt}{gedruckt}},
+ selfpublished = {{selbst ver\"offentlicht}{selbst ver\"offtl\adddot}},
shorthands = {{Sigel}{Sigel}},
newseries = {{n.\,F\adddot}{n.\,F\adddot}},
cbynone = {{}{}},
@@ -429,6 +228,8 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{unter der Reg\adddot\ von}{unter der Reg\adddot\ von}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{choreograph\adddotspace von}%
+ {choreograph\adddotspace von}},
cbyeditortr = {{hrsg\adddot\addabbrvspace und \lbx@fromlang
\"ubers\adddot}%
{hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}},
@@ -794,6 +595,10 @@
paragraphs = {{Abs\adddot}{Abs\adddot}},
section = {{\S}{\S}},
sections = {{\S\S}{\S\S}},
+ subsection = {{Abs\adddot}{Abs\adddot}},
+ subsections = {{Abs\adddot}{Abs\adddot}},
+ preface = {{Vorwort}{Vorw\adddot}},
+ note = {{Anmerkung}{Anm\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace Anmerkung\addnbspace}% ditto
@@ -805,6 +610,7 @@
verses = {{V\adddot}{V\adddot}},
number = {{Nr\adddot}{Nr\adddot}},
chapter = {{Kap\adddot}{Kap\adddot}},
+ track = {{Track}{Track}},
mathesis = {{Magisterarbeit}{Magisterarbeit}},
phdthesis = {{Diss\adddot}{Diss\adddot}},
techreport = {{Technischer Bericht}{Technischer Bericht}},
@@ -813,6 +619,7 @@
byconductor = {{dirigiert von}{dir\adddot}},
bydirector = {{unter der Regie von}{unter der Reg\adddot\ von}},
byproducer = {{produziert von}{prod\adddot}},
+ bychoreographer = {{choreographiert von}{choreograph\adddotspace von}},
byeditorcp = {{herausgegeben und zusammengestellt von}%
{hrsg\adddot\addabbrvspace und zusammengest\adddot}},
byeditortrcp = {{herausgegeben, \lbx@fromlang \"ubersetzt und
@@ -1001,53 +808,4 @@
vers\adddot\ von}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx
new file mode 100644
index 0000000000..0524c160d8
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx
@@ -0,0 +1,657 @@
+\ProvidesFile{cms-icelandic.lbx}[2020/04/20 v 3.14 biblatex localization]
+
+% STATUS OF THIS FILE
+% - Translated by a native speaker (Baldur Kristinsson).
+% - Depends on icelandic.lbx from the biblatex project
+% - Many bibstrings remain untranslated.
+% - Needs fine tuning, since declension of Icelandic nouns (names + titles)
+% makes straight translations difficult in some cases.
+% - Last worked on: 2019-11-07
+% - Date handling altered by dfussner, along with a few other small
+% fixes. I have attempted to make the new decade, century, season,
+% and dateuncertain code as grammatically correct as I can, but all
+% fixes would be gratefully received. I have added guesses for many
+% strings, but need help from a native speaker to provide better
+% ones. See "bydirector," "cbydirector," "byconductor,"
+% "cbyconductor," "byproducer," "cbyproducer," "broadcast,"
+% "songrecorded," "discrecorded," "on," "selfpublished,"
+% "commenton," "printed," "track," "choreographer,"
+% "choreographers," "cbychoreographer," and "bychoreographer."
+
+\InheritBibliographyExtras{icelandic}
+
+\DeclareBibliographyExtras{%
+ \savecommand\cms@datelong%
+ \savecommand\mkdaterangecomp%
+ \savecommand\mkdaterangeterse%
+ \savecommand\mkdaterangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Inngangur}%
+ \def\sectionname{Grein}%
+ \def\subsectionname{M\'alsgrein}%
+ \def\forewordname{Form\'ali}%
+ \def\notesname{Athugasemdir}%
+ \protected\def\mkjuridordinal{\mkbibordinal}%
+ %%% The following code attempts to take account of the grammatical
+ %%% complexity of season presentation in Icelandic. Corrections
+ %%% gratefully received.
+ \protected\def\mkbibseasondateshort#1#2{%
+ \begingroup
+ \let\cms@tempa\@empty
+ \blx@ifstrendswith{#2}{endseason}%
+ {\blx@stripfromendinto{#2}{endseason}\cms@datetype%
+ \def\cms@tempa{end}}%
+ {\blx@stripfromendinto{#2}{season}\cms@datetype}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{\csuse{cms@datetype}}%
+ {\csuse{cms@datetype}end}}%
+ and
+ not test {\iffieldsequal{\csuse{cms@datetype}season}%
+ {\csuse{cms@datetype}endseason}}%
+ }%
+ {\ifdefstring{\cms@tempa}{end}%
+ {\bibsstring{\thefield{#2}}}%
+ {\biblstring{\thefield{#2}}}}%
+ {\ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND%
+ \iffieldundef{\csuse{cms@datetype}endyear}}%
+ {\biblstring{\thefield{#2}}}%
+ {\bibsstring{\thefield{#2}}}}\endgroup%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \begingroup
+ \let\cms@tempa\@empty
+ \blx@ifstrendswith{#2}{endseason}%
+ {\blx@stripfromendinto{#2}{endseason}\cms@datetype%
+ \def\cms@tempa{end}}%
+ {\blx@stripfromendinto{#2}{season}\cms@datetype}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{\csuse{cms@datetype}}%
+ {\csuse{cms@datetype}end}}%
+ and
+ not test {\iffieldsequal{\csuse{cms@datetype}season}%
+ {\csuse{cms@datetype}endseason}}%
+ }%
+ {\ifdefstring{\cms@tempa}{end}%
+ {\bibsstring{\thefield{#2}}}%
+ {\biblstring{\thefield{#2}}}}%
+ {\ifthenelse{\iffieldundef{\csuse{cms@datetype}year}\AND%
+ \iffieldundef{\csuse{cms@datetype}endyear}}%
+ {\biblstring{\thefield{#2}}}%
+ {\bibsstring{\thefield{#2}}}}\endgroup%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\cmsmkdecade#1#2{% A bulky presentation - the plain
+ \cms@tempcnta=\thefield{#2year}% year range may be better.
+ \cms@tempcntb=\cms@tempcnta%
+ \divide\cms@tempcnta100
+ \multiply\cms@tempcnta100
+ \advance\cms@tempcntb-\cms@tempcnta
+ \divide\cms@tempcnta100
+ \advance\cms@tempcnta\@ne
+ \divide\cms@tempcntb10
+ \advance\cms@tempcntb\@ne
+ \ifnumequal{\thefield{#2year}}{1}%
+ {}%
+ {\dateeraprintpre{#2year}}%
+ \mkbibordinal{\the\cms@tempcntb}%
+ \addspace%
+ \bibsstring{decade}%
+ \addspace%
+ \mkbibordinal{\the\cms@tempcnta}%
+ \addspace%
+ \biblstring{century}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
+ \protected\def\mkdaterangecompextra{%
+ \lbx@cms@mkyearrangeextra@is[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \lbx@cms@mkyearrangeextra@is[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \lbx@cms@mkyearrangeextra@is[1]}%
+ \protected\def\mkdaterangecomp{%
+ \lbx@cms@mkbibrangetrunc@is{long}}%
+ \protected\def\mkdaterangeterse{%
+ \lbx@cms@mkbibrangetrunc@is{short}}%
+ \protected\def\mkdaterangefull{%
+ \lbx@cms@mkbibrangefull@is}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\cms@datelong%
+ \restorecommand\mkdaterangecomp%
+ \restorecommand\mkdaterangefull%
+ \restorecommand\mkdaterangeterse%
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
+
+\DeclareBibliographyStrings{%
+ inherit = {icelandic},
+ afterwordto = {{eftirm\'ali vi}{eftirm\'ali vi}},
+ forewordto = {{form\'ali vi}{form\'ali vi}},
+ introductionto = {{inngangur a}{inngangur a}},
+ partvolume = {{hl\adddot}{hl\adddot}},
+ by = {{eftir}{eftir}},
+ of = {{af}{af}},
+ on = {{\'a}{\'a}},
+ compiler = {{ritstj\adddot}{ritstj\adddot}},% Same as editor
+ compilers = {{ritstj\adddot}{ritstj\adddot}},
+ transcompiler = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ transcompilers = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ editortranscompiler = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ editorcompiler = {{ritstj\adddot}{ritstj\adddot}},
+ editortranslator = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ editortranscompilers = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ editorcompilers = {{ritstj\adddot}{ritstj\adddot}},
+ editortranslators = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
+ {ritstj\adddot\addabbrvspace og \'y\adddot}},
+ conductor = {{stj\'ornandi}{stj\'ornandi}},
+ conductors = {{stj\'ornenduur}{stj\'ornendur}},
+ director = {{leikstj\adddot}{leikstj\adddot}},
+ directors = {{leikstj\adddot}{leikstj\adddot}},
+ none = {{}{}},
+ nones = {{}{}},
+ producer = {{framl\adddot}{framl\adddot}},
+ producers = {{framl\adddot}{framl\adddot}},
+ editor = {{ritstj\adddot}{ritstj\adddot}},
+ editors = {{ritstj\adddot}{ritstj\adddot}},
+ choreographer = {{dansh\"of\adddot}{dansh\"of\adddot}},
+ choreographers = {{dansh\"of\adddot}{dansh\"of\adddot}},
+ ibidem = {{sama heimild}{s\adddot h\adddot}},
+ origpub = {{upphaflega birt sem}%
+ {upph\adddot\ birt sem}},
+ origpubin = {{birtist upphaflega \'{\i}}%
+ {birtist upph\adddot \'{\i}}},
+ origpubyear = {{birtist upphaflega \'ari}%
+ {birtist upph\adddot\ \'ari}},
+ origreleaseyear = {{upphaflegt \'ut\'ar\addspace}%
+ {upph\adddot \'utg\'afu\'ar\addspace}},
+ origshownyear = {{upphaflega s\'ynt \'ari}%
+ {upph\adddot\ s\'ynt \'ari}},
+ origedition = {{\'utg\'afa\addcolon}%
+ {\'utg\adddot\addcolon}},
+ revisededition = {{endurskou \'utg\'afa}%
+ {endursk\adddot \'utg\adddot}},
+ broadcast = {{\'utvarps\th\'attur}{\'utvarps\th\'attur}},
+ songrecorded = {{skr\'a\dh}{skr\'a\dh}},
+ discrecorded = {{skr\'a\dh}{skr\'a\dh}},
+ numbers = {{nr\adddot}{nr\adddot}},
+ nodate = {{\'an \'ars}{\'an \'ars}},
+ decade = {{\'aratugur}{\'aratugur}},
+ century = {{aldar}{\"oldin}},
+ pseudonym = {{dulnefni}{dulnefni}},
+ patentfiled = {{lagt fram til skr\'aningar}{lagt fram til skr\'aningar}},%
+ patentissued = {{veitt}{veitt}},% ?
+ inlang = {{}{}}, % if this is translated "\'a",%
+% it would lead to "\'a r\'ussneska", etc.
+ edamerican = {{bandar\'{\i}sk}{bandar\'{\i}sk}},
+ edbrazilian = {{brasil\'{\i}sk}{brasil\'{\i}sk}},
+ eddanish = {{d\"onsk}{d\"onsk}},
+ eddutch = {{hollensk}{hollensk}},
+ edenglish = {{bresk}{bresk}},
+ edfrench = {{fr\"onsk}{fr\"onsk}},
+ edgalician = {{galis\'isk}{galis\'isk}},
+ edgerman = {{\'ysk}{\'ysk}},
+ edgreek = {{gr\'{\i}sk}{gr\'{\i}sk}},
+ editalian = {{\'{\i}t\"olsk}{\'{\i}t\"olsk}},
+ edlatin = {{latnesk}{latnesk}},
+ ednorwegian = {{norsk}{norsk}},
+ edpolish = {{p\'olsk}{p\'olsk}},
+ edportuguese = {{port\'ug\"olsk}{port\'ug\"olsk}},
+ edrussian = {{r\'ussnesk}{r\'ussnesk}},
+ edspanish = {{sp\ae{}nsk}{sp\ae{}nsk}},
+ edswedish = {{s\ae{}nsk}{s\ae{}nsk}},
+ translator = {{\'y\adddot}{\'y\adddot}},
+ translators = {{\'y\adddot}{\'y\adddot}},
+ redactor = {{ritstj\adddot}{ritstj\adddot}}, % same as editor
+ redactors = {{ritstj\adddot}{ritstj\adddot}},
+ founder = {{stofnandi}{stofnandi}},
+ founders = {{stofnendur}{stofnendur}},
+ continuator = {{haldi \'afram af}{haldi \'afram af}},
+ continuators = {{haldi \'afram af}{haldi \'afram af}},
+ collaborator = {{samstarfsmaur}{samstarfsmaur}},
+ collaborators = {{samstarfsmenn}{samstarfsmenn}},
+ annotator = {{me sk\'yringum eftir}{me sk\'yringum eftir}},
+ annotators = {{me sk\'yringum eftir}{me sk\'yringum eftir}},
+ review = {{ritd\'omur}{ritd\'omur}},
+ reviewof = {{ritd\'omur um}{ritd\'omur um}},
+ commenton = {{athugasemd\ \'a}{athugasemd\ \'a}},
+ reprint = {{endurprentun}{endurpr\adddot}},
+ printed = {{prentu\dh}{prentu\dh}},
+ selfpublished = {{sj\'alfst\ae tt birt}{sj\'alfst\ae tt birt}},
+ shorthands = {{skammstafanir}{skammstafanir}},
+ newseries = {{n\'y ritr\"o}{n\adddot rr\adddot}},
+ bynone = {{}{}},
+ cbynone = {{}{}},
+ cbyauthor = {{eftir}{eftir}},
+ cbyeditor = {{ritstj\adddot}{ritstj\adddot}},
+ cbycompiler = {{teki saman af}{teki saman af}},
+ cbyredactor = {{endurskoa af}{endurskoa af}},
+% The following translations have been taken directly from my version of
+% icelandic.lbx for biblatex (without the "c" in front).
+ cbytranslator = {{\'y\adddot\addspace\lbx@lfromlang}%
+ {\'y\adddot\addspace\lbx@sfromlang}},%
+ cbycommentator = {{sk\'yringar:}{sk\'yringar:}},
+ cbyannotator = {{sk\'yringar:}{sk\'yringar:}},
+ cbyconductor = {{stj\'orn\adddot}{stj\'orn\adddot}},
+ cbydirector = {{leikst\adddot}{leikst\adddot}},
+ cbyproducer = {{framl\adddot}{framl\adddot}},
+ cbychoreographer = {{dansverk af}{dansverk af}},
+ cbyeditortr = {{\'utg.~og \'y\adddot \lbx@lfromlang}%
+ {\'utg.~og \'y\adddot}},
+ cbyeditorco = {{\'utg.~og sk\'yringar:}%
+ {\'utg.~og sk\'yringar:}},
+ cbyeditoran = {{\'utg.~og sk\'yringar:}%
+ {\'utg. og sk\'yringar:}},
+ cbyeditorin = {{\'utg. og inng\adddot:}%
+ {\'utg. og inng\adddot:}},
+ cbyeditorfo = {{\'utg. og form\'ali:}%
+ {\'utg. og form\'ali:}},
+ cbyeditoraf = {{\'utg. og eftirm\'ali:}%
+ {\'utg. og eftirm\'ali:}},
+ cbyeditortrco = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}},
+ cbyeditortran = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}},
+ cbyeditortrin = {{\'utg., \'y\adddot \lbx@sfromlang\ og inng\adddot:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og inng\adddot:}},
+ cbyeditortrfo = {{\'utg., \'y\adddot \lbx@sfromlang\ og form\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og form\'ali:}},
+ cbyeditortraf = {{\'utg., \'y\adddot \lbx@sfromlang\ og eftirm\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og eftirm\'ali:}},
+ cbyeditorcoin = {{\'utg., sk\'yringar og inng\adddot:}%
+ {\'utg., sk\'yringar og inng\adddot:}},
+ cbyeditorcofo = {{\'utg., sk\'yringar og form\'ali:}%
+ {\'utg., sk\'yringar og form\'ali:}},
+ cbyeditorcoaf = {{\'utg., sk\'yringar og eftirm\'ali:}%
+ {\'utg., sk\'yringar og eftirm\'ali:}},
+ cbyeditoranin = {{\'utg., sk\'yringar og inng\adddot:}%
+ {\'utg., sk\'yringar og inng\adddot:}},
+ cbyeditoranfo = {{\'utg., sk\'yringar og form\'ali:}%
+ {\'utg., sk\'yringar og form\'ali:}},
+ cbyeditoranaf = {{\'utg., sk\'yringar og eftirm\'ali:}%
+ {\'utg., sk\'yringar og eftirm\'ali:}},
+ cbyeditortrcoin = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}},
+ cbyeditortrcofo = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}},
+ cbyeditortrcoaf = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}},
+ cbyeditortranin = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}},
+ cbyeditortranfo = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}},
+ cbyeditortranaf = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}%
+ {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}},
+ cbytranslatorco = {{\'y\adddot \lbx@lfromlang\ og sk\'yringar:}%
+ {\'y\adddot \lbx@lfromlang\ og sk\'yringar:}},
+ cbytranslatoran = {{\'y\adddot \lbx@lfromlang\ og sk\'yringar:}%
+ {\'y\adddot \lbx@lfromlang\ og sk\'yringar:}},
+ cbytranslatorin = {{\'y\adddot \lbx@lfromlang\ og inng\adddot:}%
+ {\'y\adddot \lbx@lfromlang\ og inng\adddot:}},
+ cbytranslatorfo = {{\'y\adddot \lbx@lfromlang\ og form\'ali:}%
+ {\'y\adddot \lbx@lfromlang\ og form\'ali:}},
+ cbytranslatoraf = {{\'y\adddot \lbx@lfromlang\ og eftirm\'ali:}%
+ {\'y\adddot \lbx@lfromlang\ og eftirm\'ali:}},
+ cbytranslatorcoin = {{\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}},
+ cbytranslatorcofo = {{\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}},
+ cbytranslatorcoaf = {{\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}},
+ cbytranslatoranin = {{\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}},
+ cbytranslatoranfo = {{\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}},
+ cbytranslatoranaf = {{\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}%
+ {\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}},
+ % Missing: cbycompilerco, cbycompileran, cbycompilerin, cbycompilerfo, cbycompileraf,
+ % cbycompilercoin, cbycompilercofo, cbycompilercoaf, cbycompileranin,
+ % cbycompileranfo, cbycompileranaf
+ volume = {{bindi}{bindi}},
+ volumes = {{bindi}{bindi}},
+ jourvol = {{\'arg\adddot}{\'arg\adddot}},
+ jourser = {{ritr\"o}{rr\adddot}},
+ oldseries = {{g\"omul ritr\"o}{g\adddot rr\adddot}},
+ edition = {{\'utg\adddot}{\'utg\adddot}},
+ page = {{bls\adddot}{bls\adddot}},
+ pages = {{bls\adddot}{bls\adddot}},
+ column = {{d\'alkur}{dlk\adddot}},
+ columns = {{d\'alkar}{dlk\adddot}},
+ line = {{l\'{\i}na}{l\adddot}},
+ lines = {{l\'{\i}nur}{l\adddot}},
+ paragraph = {{mgr\adddot}{mgr\adddot}},
+ paragraphs = {{mgr\adddot}{mgr\adddot}},
+ section = {{\S}{\S}},
+ sections = {{\S\S}{\S\S}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S\S}{\S\S}},
+ preface = {{form\'ali}{form\'ali}},
+ note = {{athugasemd}{aths\adddot}},
+ canadasection = {{s\adddot}{s\adddot}},% For legal citations
+ canadasections = {{s\adddot}{s\adddot}},% ditto
+ supranote = {{\mkbibemph{supra}\addspace athugasemd\addnbspace}% ditto
+ {\mkbibemph{supra}\addspace aths\adddotspace}},
+ hereinafter = {{h\'er eftir}{h\'er eftir}},
+ subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}},
+ subverbis = {{s\adddot vv\adddot}{s\adddot vv\adddot}},
+ verse = {{erindi}{er\adddot}},
+ verses = {{erindi}{er\adddot}},
+ number = {{nr\adddot}{nr\adddot}},
+ chapter = {{kafli}{k\adddot}},
+ track = {{lag}{lag}},
+ circa = {{um \'arin}{um \'ari\dh}},% 2 cases of noun, these five
+ spring = {{vor}{vori\dh}},% Indefinite in long slot, for mkbibseason
+ summer = {{sumar}{sumari\dh}},% in NB style (?)
+ autumn = {{haust}{hausti\dh}},%
+ winter = {{vetur}{veturinn}},%
+ byconductor = {{stj\'orna\th\ af}{stj\'orn\adddot}},
+ bydirector = {{leikst\'yrt af}{leikst\adddot}},
+ byproducer = {{framleidd af}{framl\adddot}},
+ bychoreographer = {{dansverk af}{dansverk af}},
+ % A lot of keys already present in icelandic.lbx omitted here
+}
+
+\protected\gdef\lbx@cms@mkbibrangetrunc@is#1#2{% DATE FIX
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\if@cms@endbracket%
+ {\biblstring{circa}\printdelim{datecircadelim}}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\iffieldsequal{#2month}{#2endmonth}%
+ {\csuse{mkbibdate#1}{}{}{#2day}}%
+ {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2endyear}%
+ \clearfield{#2endyear}}% Clear up inheritance problem ???
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
+ {\cmsunspecified{#1}{#2}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\csuse{mkbibseasondate#1}{}{#2season}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#2endyear}%
+ {\iffieldundef{#2endmonth}%
+ {\ifthenelse{\iffieldundef{#2endseason}\OR%
+ \iffieldsequal{#2season}{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\bibdaterangesep%
+ \csuse{mkbibseasondate#1}{}{#2endseason}}}%
+ {\bibdaterangesep%
+ \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdatedash%
+ \iffieldundef{#2endseason}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibdate#1}{#2year}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}%
+ {\ifdateyearsequal{#2}{#2end}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2endseason}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\protected\gdef\lbx@cms@mkbibrangefull@is#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \clearfield{extradate}%
+ \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}\AND%
+ \iffieldundef{#2season}}%
+ {}%
+ {\printtext[#2date]{%
+ \if@cms@bracket%
+ {\cms@datebrackets%
+ \if@cms@circa%
+ {\if@cms@endbracket%
+ {\biblstring{circa}\printdelim{datecircadelim}}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \iffieldundef{#2season}%
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \ifboolexpr{%
+ test {\ifdateyearsequal{#2}{#2end}}%
+ and
+ test {\iffieldundef{#2month}}%
+ and
+ test {\iffieldundef{#2day}}%
+ }%
+ {\cmsdateeraprint{#2endyear}\clearfield{#2endyear}}%
+ {\cmsdateeraprint{#2year}}}%
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \cmsdateeraprint{#2year}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {\bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#2endyear}%
+ {\bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}%
+ \AND\iffieldundef{#2endseason}}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}}%
+ {\iffieldequalstr{#2endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@datebrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%\bibdaterangesep%
+ \iffieldundef{#2endseason}%
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#2endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#2endyear}}}%
+ {\enddateuncertainprint%
+ \cmsdateeraprint{#2endyear}}}}}}%
+ \endgroup}
+
+\protected\gdef\lbx@cms@mkyearrangeextra@is[#1]#2#3{%
+ \global\boolfalse{cms:extraparens}%
+ \begingroup
+ \clearfield{#3month}\clearfield{#3day}\clearfield{#3endmonth}%
+ \clearfield{#3endday}\clearfield{#3season}\clearfield{#3endseason}%
+ \blx@metadateinfo{#3}%
+ \iffieldundef{#3year}
+ {\blx@nounit}%
+ {\printtext{%
+ \if@cms@bracket%
+ {\cms@yearbrackets%
+ \if@cms@circa%
+ {\if@cms@endbracket%
+ {\biblstring{circa}\printdelim{datecircadelim}}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\global\boolfalse{cms:bracket}}%
+ \ifdateyearsequal{#3}{#3end}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3endyear}%
+ \clearfield{#3endyear}}%
+ {\ifblank{#1}%
+ {\cmsunspecified{#2}{#3}}%
+ {\csuse{mkbibdate#2}{#3year}{}{}\cmsdateeraprint{#3year}}}%
+ \if@cms@bracket%
+ {\if@cms@uncertain%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {\ifthenelse{\iffieldundef{#3endyear}\OR%
+ \iffieldequalstr{#3endyear}{}}%
+ {\global\booltrue{cms:extraparens}}%
+ {}%
+ \bibdateuncertain}}%
+ {\if@cms@enduncertain%
+ {\iffieldundef{#3endyear}%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}}%
+ {}}}%
+ {}%
+ \iffieldundef{#3endyear}
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra}%\usebibmacro{cmsextradate}%
+ {\iffieldequalstr{#3endyear}{}%
+ {\ifbool{cms:bracket}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}}%
+ {}%
+ \cmsformatextra%\usebibmacro{cmsextradate}%
+ \mbox{\bibdaterangesep}}%
+ {\ifbool{cms:bracket}%
+ {\if@cms@circa%
+ {\if@cms@endbracket%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}%
+ {\if@cms@endcirca%
+ {\bibdaterangesep\bibsstring{circa}\printdelim{datecircadelim}}%
+ {\if@cms@enduncertain%
+ {\bibdaterangesep}%
+ {\bibclosebracket\global\boolfalse{cms:bracket}%
+ \bibdaterangesep}}}}%
+ {\if@cms@endbracket%
+ {\bibdaterangesep%
+ \cms@yearbrackets%
+ \if@cms@endcirca%
+ {\if@cms@circa%
+ {}%
+ {\bibsstring{circa}\printdelim{datecircadelim}}}%
+ {}}%
+ {\bibdaterangesep}}%
+ \csuse{mkbibdate#2}{#3endyear}{}{}%
+ \ifbool{cms:bracket}%
+ {\if@cms@bracket%
+ {\cmsdateeraprint{#3endyear}%
+ \enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}}%
+ {\enddateuncertainprint%
+ \bibclosebracket\global\boolfalse{cms:bracket}%
+ \cmsdateeraprint{#3endyear}}}%
+ {\if@cms@enduncertain%
+ {\global\booltrue{cms:extraparens}%
+ \bibdateuncertain}%
+ {}%
+ \cmsdateeraprint{#3endyear}}%
+ \cmsformatendextra}}}}%
+ \endgroup}%
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-ngerman.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx
index a9f7691e0d..ac93c989b9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-ngerman.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-ngerman.lbx,v 0.9.5.36 2018/01/09 19:01:32 dfussner Exp $
-
-\ProvidesFile{cms-ngerman.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-ngerman.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated strings and formatting decisions need review by native
@@ -12,14 +10,18 @@
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
\savecommand\lbx@fromlang%
\savecommand\lbx@lfromlang%
\savecommand\lbx@sfromlang%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
+ \def\introductionname{Einleitung}%
+ \def\sectionname{Paragraph}%
+ \def\subsectionname{Absatz}%
+ \def\forewordname{Vorwort}%
+ \def\notesname{Anmerkungen}%
\protected\def\mkjuridordinal{\mkbibordinal}%
\def\lbx@fromlang{%
\iffieldundef{userf}%
@@ -39,258 +41,49 @@
{}%
{\printlist[sfromoriglanguage]{origlanguage}\addspace}}%
{}}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}%
+ \protected\def\cmsmkdecade#1#2{%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{% DATE FIX
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+}%
\UndeclareBibliographyExtras{%
\restorecommand\lbx@fromlang%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangeterse%
\restorecommand\mkdaterangefull%
- \restorecommand\mkbibrangecomp% DATE FIX
- \restorecommand\mkbibrangeterse%
- \restorecommand\mkbibrangefull}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}
-\NewBibliographyString{patentissued}
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {ngerman},
@@ -332,6 +125,8 @@
producers = {{Prod\adddot}{Prod\adddot}},
editor = {{Hrsg\adddot}{Hrsg\adddot}},
editors = {{Hrsg\adddot}{Hrsg\adddot}},
+ choreographer = {{Choreograph}{Choreograph}},
+ choreographers = {{Choreografen}{Choreografen}},
ibidem = {{ebd\adddot}{ebd\adddot}},
origpub = {{urspr\"unglich ver\"offentlicht als}%
{urspr\adddot\ ver\"offtl\adddot\ als}},
@@ -356,15 +151,16 @@
% translationof = {{}{}},% FIXME: missing
% translationas = {{}{}},% FIXME: missing
% translationfrom = {{}{}},% FIXME: missing
-% reviewof = {{}{}},% FIXME: missing
origpubas = {{urspr\"unglich ver\"offentlicht als}%
{urspr\adddot\ ver\"offtl\adddot\ als}},% FIXME
- origpubin = {{urspr\"unglich ver\"offentlicht im Jahr\addspace}%
- {urspr\adddot\ ver\"offtl\adddot\addspace}},% FIXME
+ origpubin = {{urspr\"unglich ver\"offentlicht im Jahr}%
+ {urspr\adddot\ ver\"offtl\adddot}},% FIXME
astitle = {{als}{als}},% FIXME
bypublisher = {{von}{von}},% FIXME
numbers = {{Nrn\adddot}{Nrn\adddot}},
nodate = {{{}o\adddot Dat\adddot}{{}o\adddot Dat\adddot}},% ?
+ decade = {{er}{er}},
+ century = {{Jahrhundert}{Jh\adddot}},
pseudonym = {{Pseud\adddot}{Pseud\adddot}},
patentfiled = {{eingereicht}{eingereicht}},% Are these 2 correct?
patentissued = {{erteilt}{erteilt}},% ?
@@ -410,7 +206,10 @@
annotators = {{Erl\"aut\adddot}{Erl\"aut\adddot}},
review = {{Rezension}{Rezension}},
reviewof = {{Rezension des}{Rezension des}},
+ commenton = {{Kommentar zu}{Kommentar zu}},
reprint = {{Nachdruck}{Nachdr\adddot}},
+ printed = {{gedruckt}{gedruckt}},
+ selfpublished = {{selbst ver\"offentlicht}{selbst ver\"offtl\adddot}},
shorthands = {{Sigel}{Sigel}},
newseries = {{n.\,F\adddot}{n.\,F\adddot}},
cbynone = {{}{}},
@@ -429,6 +228,8 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{unter der Reg\adddot\ von}{unter der Reg\adddot\ von}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{choreograph\adddotspace von}%
+ {choreograph\adddotspace von}},
cbyeditortr = {{hrsg\adddot\addabbrvspace und \lbx@fromlang
\"ubers\adddot}%
{hrsg\adddot\addabbrvspace und \lbx@fromlang \"ubers\adddot}},
@@ -794,6 +595,10 @@
paragraphs = {{Abs\adddot}{Abs\adddot}},
section = {{\S}{\S}},
sections = {{\S\S}{\S\S}},
+ subsection = {{Abs\adddot}{Abs\adddot}},
+ subsections = {{Abs\adddot}{Abs\adddot}},
+ preface = {{Vorwort}{Vorw\adddot}},
+ note = {{Anmerkung}{Anm\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace Anmerkung\addnbspace}% ditto
@@ -805,6 +610,7 @@
verses = {{V\adddot}{V\adddot}},
number = {{Nr\adddot}{Nr\adddot}},
chapter = {{Kap\adddot}{Kap\adddot}},
+ track = {{Track}{Track}},
mathesis = {{Magisterarbeit}{Magisterarbeit}},
phdthesis = {{Diss\adddot}{Diss\adddot}},
techreport = {{Technischer Bericht}{Technischer Bericht}},
@@ -813,6 +619,7 @@
byconductor = {{dirigiert von}{dir\adddot}},
bydirector = {{unter der Regie von}{unter der Reg\adddot\ von}},
byproducer = {{produziert von}{prod\adddot}},
+ bychoreographer = {{choreographiert von}{choreograph\adddotspace von}},
byeditorcp = {{herausgegeben und zusammengestellt von}%
{hrsg\adddot\addabbrvspace und zusammengest\adddot}},
byeditortrcp = {{herausgegeben, \lbx@fromlang \"ubersetzt und
@@ -1001,53 +808,4 @@
vers\adddot\ von}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norsk.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx
index 63f6d319a8..2b53432fb5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norsk.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-norsk.lbx,v 1.11 2018/01/09 19:02:41 dfussner Exp $
-
-\ProvidesFile{cms-norsk.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-norsk.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated by a native speaker (H{\aa}kon Malmedal).
@@ -10,292 +8,59 @@
\DeclareBibliographyExtras{%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Innledning}%
+ \def\sectionname{Avsnitt}%
+ \def\subsectionname{Avsnitt}%
+ \def\forewordname{Forord}%
+ \def\notesname{Noter}%
\protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\cmsmkdecade#1#2{%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
\UndeclareBibliographyExtras{%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangefull%
\restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {norsk},
@@ -338,6 +103,8 @@
producers = {{prod\adddot}{prod\adddot}},
editor = {{red\adddot}{red\adddot}},
editors = {{red\adddot}{red\adddot}},
+ choreographer = {{koreogr\adddot}{koreogr\adddot}},
+ choreographers = {{koreogr\adddot}{koreogr\adddot}},
ibidem = {{sst\adddot}{sst\adddot}},
origpub = {{opprinnelig utgitt som}%
{oppr\adddot\ utg\adddot\ som}},
@@ -360,6 +127,8 @@
discrecorded = {{spilt inn}{spilt inn}},
numbers = {{nr\adddot}{nr\adddot}},
nodate = {{udatert}{udatert}},
+ decade = {{-{\aa}rene}{-{\aa}rene}},
+ century = {{{\aa}rhundre}{{\aa}rhundre}},% Is there an abbreviation?
pseudonym = {{pseud\adddot}{pseud\adddot}},
patentfiled = {{s{\o}kt}{s{\o}kt}},
patentissued = {{meddelt}{meddelt}},
@@ -405,6 +174,9 @@
annotators = {{forkl\adddot}{forkl\adddot}},
review = {{omtale}{omtale}},
reviewof = {{omtale av}{omtale av}},
+ commenton = {{kommentar p\aa}{kommentar p\aa}},
+ printed = {{trykt}{trykt}},
+ selfpublished = {{selvpublisert}{selvpubl\adddot}},
cbynone = {{}{}},
cbyauthor = {{av}{av}},
cbyeditor = {{red\adddot}{red\adddot}},
@@ -421,6 +193,7 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{regi}{regi}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}},
cbyeditortr = {{red\adddot\space og
overs\adddot\addspace\lbx@cfromlang}%
{red\adddot\space og overs\adddot\addspace\lbx@cfromlang}},
@@ -633,6 +406,10 @@
paragraphs = {{avsn\adddot}{avsn\adddot}},
section = {{avsn\adddot}{avsn\adddot}},
sections = {{avsn\adddot}{avsn\adddot}},
+ subsection = {{avsn\adddot}{avsn\adddot}},
+ subsections = {{avsn\adddot}{avsn\adddot}},
+ preface = {{forord}{forord}},
+ note = {{note}{n\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto
@@ -644,6 +421,7 @@
verses = {{v\adddot}{v\adddot}},
number = {{nr\adddot}{nr\adddot}},
chapter = {{kap\adddot}{kap\adddot}},
+ track = {{sporet}{sporet}},
cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}},
cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra
brasiliansk-portugisisk av}},
@@ -676,6 +454,7 @@
byconductor = {{dirigert av}{dir\adddot}},
bydirector = {{regissert av}{regi}},
byproducer = {{produsert av}{prod\adddot}},
+ bychoreographer = {{koreografert av}{koreogr\adddotspace av}},
byeditorcp = {{redigert og kompilert av}{red\adddot\space og komp\adddot}},
byeditortrcp = {{redigert, oversatt \lbx@fromlang og kompilert av}%
{red.,\addabbrvspace overs.\addspace\lbx@fromlang og komp\adddot}},
@@ -785,53 +564,4 @@
{komp\adddot\space og forkl\adddot, med etterord, av}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norwegian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx
index caa5ce959c..fd690c94bf 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-norwegian.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-norwegian.lbx,v 1.11 2018/01/09 19:03:01 dfussner Exp $
-
-\ProvidesFile{cms-norwegian.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-norwegian.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated by a native speaker (H{\aa}kon Malmedal).
@@ -10,292 +8,59 @@
\DeclareBibliographyExtras{%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Innledning}%
+ \def\sectionname{Avsnitt}%
+ \def\subsectionname{Avsnitt}%
+ \def\forewordname{Forord}%
+ \def\notesname{Noter}%
\protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\cmsmkdecade#1#2{%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
\UndeclareBibliographyExtras{%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangefull%
\restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {norwegian},
@@ -338,6 +103,8 @@
producers = {{prod\adddot}{prod\adddot}},
editor = {{red\adddot}{red\adddot}},
editors = {{red\adddot}{red\adddot}},
+ choreographer = {{koreogr\adddot}{koreogr\adddot}},
+ choreographers = {{koreogr\adddot}{koreogr\adddot}},
ibidem = {{sst\adddot}{sst\adddot}},
origpub = {{opprinnelig utgitt som}%
{oppr\adddot\ utg\adddot\ som}},
@@ -360,6 +127,8 @@
discrecorded = {{spilt inn}{spilt inn}},
numbers = {{nr\adddot}{nr\adddot}},
nodate = {{udatert}{udatert}},
+ decade = {{-{\aa}rene}{-{\aa}rene}},
+ century = {{{\aa}rhundre}{{\aa}rhundre}},% Is there an abbreviation?
pseudonym = {{pseud\adddot}{pseud\adddot}},
patentfiled = {{s{\o}kt}{s{\o}kt}},
patentissued = {{meddelt}{meddelt}},
@@ -405,6 +174,9 @@
annotators = {{forkl\adddot}{forkl\adddot}},
review = {{omtale}{omtale}},
reviewof = {{omtale av}{omtale av}},
+ commenton = {{kommentar p\aa}{kommentar p\aa}},
+ printed = {{trykt}{trykt}},
+ selfpublished = {{selvpublisert}{selvpubl\adddot}},
cbynone = {{}{}},
cbyauthor = {{av}{av}},
cbyeditor = {{red\adddot}{red\adddot}},
@@ -421,6 +193,7 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{regi}{regi}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}},
cbyeditortr = {{red\adddot\space og
overs\adddot\addspace\lbx@cfromlang}%
{red\adddot\space og overs\adddot\addspace\lbx@cfromlang}},
@@ -633,6 +406,10 @@
paragraphs = {{avsn\adddot}{avsn\adddot}},
section = {{avsn\adddot}{avsn\adddot}},
sections = {{avsn\adddot}{avsn\adddot}},
+ subsection = {{avsn\adddot}{avsn\adddot}},
+ subsections = {{avsn\adddot}{avsn\adddot}},
+ preface = {{forord}{forord}},
+ note = {{note}{n\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto
@@ -644,6 +421,7 @@
verses = {{v\adddot}{v\adddot}},
number = {{nr\adddot}{nr\adddot}},
chapter = {{kap\adddot}{kap\adddot}},
+ track = {{sporet}{sporet}},
cfromamerican = {{fra amerikansk-engelsk av}{fra amerikansk-engelsk av}},
cfrombrazilian = {{fra brasiliansk-portugisisk av}{fra
brasiliansk-portugisisk av}},
@@ -676,6 +454,7 @@
byconductor = {{dirigert av}{dir\adddot}},
bydirector = {{regissert av}{regi}},
byproducer = {{produsert av}{prod\adddot}},
+ bychoreographer = {{koreografert av}{koreogr\adddotspace av}},
byeditorcp = {{redigert og kompilert av}{red\adddot\space og komp\adddot}},
byeditortrcp = {{redigert, oversatt \lbx@fromlang og kompilert av}%
{red.,\addabbrvspace overs.\addspace\lbx@fromlang og komp\adddot}},
@@ -785,53 +564,4 @@
{komp\adddot\space og forkl\adddot, med etterord, av}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-nynorsk.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx
index a529b84cd6..e5d451151b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-nynorsk.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx
@@ -1,6 +1,4 @@
-% $Id: cms-nynorsk.lbx,v 1.11 2018/01/09 19:03:19 dfussner Exp $
-
-\ProvidesFile{cms-nynorsk.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-nynorsk.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated by a native speaker (H{\aa}kon Malmedal).
@@ -10,292 +8,66 @@
\DeclareBibliographyExtras{%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Innleiing}%
+ \def\sectionname{Avsnitt}%
+ \def\subsectionname{Avsnitt}%
+ \def\forewordname{F{\o}reord}%
+ \def\notesname{Notar}%
\protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\cmsmkdecade#1#2{%
+ \csuse{mkbibdate#1}{#2year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\dateeraprintpre{#1year}%
+ \csuse{mkcmscentury}{#1year}%
+ \addnbspace%
+ \biblstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
+ {\csuse{mkbibdatelong}{#1year}{}{}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\mkcmscentury#1{%
+ \cms@tempcnta=\numexpr\thefield{#1}/100+1%
+ \mkbibordinal{\the\cms@tempcnta}}%
\protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
\UndeclareBibliographyExtras{%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangefull%
\restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {nynorsk},
@@ -360,6 +132,8 @@
discrecorded = {{spelt inn}{spelt inn}},
numbers = {{nr\adddot}{nr\adddot}},
nodate = {{udatert}{udatert}},
+ decade = {{-{\aa}ra}{-{\aa}ra}},
+ century = {{hundre{\aa}ret}{-talet}},% Kludge for 1st c. / all others
pseudonym = {{pseud\adddot}{pseud\adddot}},
patentfiled = {{s{\o}kt}{s{\o}kt}},
patentissued = {{meldt}{meldt}},
@@ -405,6 +179,7 @@
annotators = {{forkl\adddot}{forkl\adddot}},
review = {{omtale}{omtale}},
reviewof = {{omtale av}{omtale av}},
+ selfpublished = {{selvpublisert}{selvpubl\adddot}},
cbynone = {{}{}},
cbyauthor = {{av}{av}},
cbyeditor = {{red\adddot}{red\adddot}},
@@ -633,6 +408,10 @@
paragraphs = {{avsn\adddot}{avsn\adddot}},
section = {{avsn\adddot}{avsn\adddot}},
sections = {{avsn\adddot}{avsn\adddot}},
+ subsection = {{avsn\adddot}{avsn\adddot}},
+ subsections = {{avsn\adddot}{avsn\adddot}},
+ preface = {{f{\o}reord}{f{\o}reord}},
+ note = {{note}{n\adddot}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace note\addnbspace}% ditto
@@ -786,53 +565,4 @@
{komp\adddot\space og forkl\adddot, med etterord, av}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-swedish.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx
index 4927caf5aa..87c3d96268 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-swedish.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx
@@ -1,6 +1,4 @@
-% $Id$
-
-\ProvidesFile{cms-swedish.lbx}[2018/01/09 v 3.10 biblatex localization]
+\ProvidesFile{cms-swedish.lbx}[2020/04/20 v 3.14 biblatex localization]
% STATUS OF THIS FILE
% - Translated by a native speaker (Stefan Bj\"{o}rk).
@@ -10,292 +8,64 @@
\DeclareBibliographyExtras{%
\savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
\savecommand\mkdaterangecomp%
\savecommand\mkdaterangeterse%
\savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
+ \savecommand\mkdaterangecompextra%
+ \savecommand\mkdaterangeterseextra%
+ \savecommand\mkdaterangefullextra%
+ \def\introductionname{Inledning}%
+ \def\sectionname{Paragraf}%
+ \def\subsectionname{Paragraf}%
+ \def\forewordname{F\"orord}%
+ \def\notesname{Noter}%
\protected\def\mkjuridordinal{\mkbibordinal}%
+ \protected\def\cmsmkdecade#1#2{%
+ \cms@tempcnta=\thefield{#2year}%
+ \divide\cms@tempcnta100
+ \multiply\cms@tempcnta100
+ \ifnumequal{\cms@tempcnta}{\thefield{#2year}}% Disambiguation of -talet
+ {\csuse{mkbibdate#1}{#2year}{}{}\cmsdateeraprint{#2year}}%
+ {\ifnumequal{\thefield{#2year}}{1}%
+ {\printtext{00}}%
+ {\csuse{mkbibdate#1}{#2year}{}{}}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{decade}%
+ \cmsdateeraprint{#2endyear}\clearfield{#2endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}}%
+ \protected\def\cmsmkcentury#1{%
+ \ifnumequal{\thefield{#1year}}{1}%
+ {\printtext{000}}%
+ {\csuse{mkbibdatelong}{#1year}{}{}}%
+ \setunit{}%\blx@nounit%
+ \bibsstring{century}%
+ \cmsdateeraprint{#1endyear}\clearfield{#1endyear}%
+ \usebibmacro{cmsparensextradate}%
+ \global\boolfalse{cms:extraparens}}%
\protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
+ \cms@mkbibrangetrunc{long}}%
\protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
+ \cms@mkbibrangetrunc{short}}%
\protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
+ \cms@mkbibrangefull}%
+ \protected\def\mkdaterangecompextra{%
+ \cms@mkyearrangeextra[]{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \cms@mkyearrangeextra[]{short}}%
+ \protected\def\mkdaterangefullextra{%
+ \cms@mkyearrangeextra[1]}%
+ \def\cms@datelong#1{\csname print#1date\endcsname}}%
\UndeclareBibliographyExtras{%
\restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
\restorecommand\mkdaterangecomp%
\restorecommand\mkdaterangefull%
\restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-\NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-\NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
+ \restorecommand\mkdaterangecompextra%
+ \restorecommand\mkdaterangeterseextra%
+ \restorecommand\mkdaterangefullextra%
+}%
\DeclareBibliographyStrings{%
inherit = {swedish},
@@ -338,6 +108,8 @@
producers = {{prod\adddot}{prod\adddot}},
editor = {{red\adddot}{red\adddot}},
editors = {{red\adddot}{red\adddot}},
+ choreographer = {{koreogr\adddot}{\koreogr\adddot}},
+ choreographers = {{koreogr\adddot}{koreogr\adddot}},
ibidem = {{ibid\adddot}{ibid\adddot}},
origpub = {{ursprungligen publicerad som}%
{urspr\adddot\ pub\adddot\ som}},
@@ -360,6 +132,8 @@
discrecorded = {{spilt inn}{spilt inn}},
numbers = {{nr\adddot}{nr\adddot}},
nodate = {{udatert}{udatert}},
+ decade = {{-talet}{-talet}},
+ century = {{-talet}{-talet}},
pseudonym = {{pseud\adddot}{pseud\adddot}},
patentfiled = {{s{\o}kt}{s{\o}kt}},
patentissued = {{meddelt}{meddelt}},
@@ -405,6 +179,9 @@
annotators = {{forkl\adddot}{forkl\adddot}},
review = {{omtale}{omtale}},
reviewof = {{omtale av}{omtale av}},
+ commenton = {{kommentar p{\aa}}{kommentar p{\aa}}},
+ printed = {{tryckt}{tryckt}},
+ selfpublished = {{sj\"alv publicerad}{sj\"alv publ\adddot}},
cbynone = {{}{}},
cbyauthor = {{av}{av}},
cbyeditor = {{red\adddot}{red\adddot}},
@@ -421,6 +198,7 @@
cbyconductor = {{dir\adddot}{dir\adddot}},
cbydirector = {{regi}{regi}},
cbyproducer = {{prod\adddot}{prod\adddot}},
+ cbychoreographer = {{koreogr\adddotspace av}{koreogr\adddotspace av}},
cbyeditortr = {{red\adddot\space och
\"{o}vers\adddot\addspace\lbx@cfromlang}%
{red\adddot\space och \"{o}vers\adddot\addspace\lbx@cfromlang}},
@@ -627,12 +405,16 @@
pages = {{s\adddot}{s\adddot}},
column = {{sp\adddot}{sp\adddot}},
columns = {{sp\adddot}{sp\adddot}},
- line = {{l\adddot}{l\adddot}},
- lines = {{l\adddot}{l\adddot}},
- paragraph = {{avsn\adddot}{avsn\adddot}},
- paragraphs = {{avsn\adddot}{avsn\adddot}},
- section = {{avsn\adddot}{avsn\adddot}},
- sections = {{avsn\adddot}{avsn\adddot}},
+ line = {{r\adddot}{r\adddot}},
+ lines = {{r\adddot}{r\adddot}},
+ paragraph = {{\S}{\S}},
+ paragraphs = {{\S}{\S}},
+ section = {{\S}{\S}},
+ sections = {{\S}{\S}},
+ subsection = {{\S}{\S}},
+ subsections = {{\S}{\S}},
+ preface = {{f\"orord}{f\"orord}},
+ note = {{not}{not}},
canadasection = {{s\adddot}{s\adddot}},% For legal citations
canadasections = {{s\adddot}{s\adddot}},% ditto
supranote = {{\mkbibemph{supra}\addspace not\addnbspace}% ditto
@@ -644,6 +426,12 @@
verses = {{v\adddot}{v\adddot}},
number = {{nr\adddot}{nr\adddot}},
chapter = {{kap\adddot}{kap\adddot}},
+ track = {{sp{\aa}ret}{sp{\aa}ret}},
+ circa = {{cirka}{ca}},
+ spring = {{v{\aa}r}{v{\aa}r}},
+ summer = {{sommar}{sommar}},
+ autumn = {{h\"ost}{h\"ost}},
+ winter = {{vinter}{vinter}},
cfromamerican = {{fr{\aa}n engelska av}{fr{\aa}n engelska av}},
cfrombrazilian = {{fr{\aa}n portugisiska av}{fr{\aa}n
portugisiska av}},
@@ -678,6 +466,7 @@
byconductor = {{dirigerad av}{dir\adddot}},
bydirector = {{regisserad av}{regi}},
byproducer = {{producerad av}{prod\adddot}},
+ bychoreographer = {{koreograferad av}{koreogr\adddotspace av}},
byeditorcp = {{redigerad och sammanst\"{a}lld av}{red\adddot\space och sam\adddot}},
byeditortrcp = {{redigerad, \"{o}versatt \lbx@fromlang och sammanst\"{a}lld av}%
{red.,\addabbrvspace \"{o}vers.\addspace\lbx@fromlang och sammanst\adddot}},
@@ -787,53 +576,4 @@
{sammanst\adddot\space och forkl\adddot, med efterord, av}},
}
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty
new file mode 100644
index 0000000000..08cb5f61db
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty
@@ -0,0 +1,392 @@
+\ProvidesPackage{cmsdocs}
+
+\RequirePackage{refcount}
+\RequirePackage{listings}
+\RequirePackage[svgnames]{xcolor}
+\RequirePackage{hyperref}
+
+%%% This file contains kludges and hacks to enable the bespoke
+%%% cross-referencing system found in cms-notes-intro.pdf and
+%%% cms-dates-intro.pdf. It contains code adapted from several
+%%% sources, especially from Ulrich Dirr's hyperendnotes.sty, found on
+%%% comp.text.tex. Please don't load it unless you really mean to, as
+%%% it messes with the standard biblatex-chicago macros.
+
+%%% These counters are for the slightly more informative endnote marks
+%%% used in the notes intro.
+
+\newcounter{Article}\setcounter{Article}{1}
+\newcounter{Artwork}\setcounter{Artwork}{2}
+\newcounter{Audio}\setcounter{Audio}{3}
+\newcounter{Book}\setcounter{Book}{4}
+\newcounter{BookInBook}\setcounter{BookInBook}{5}
+\newcounter{Booklet}\setcounter{Booklet}{6}
+\newcounter{Collection}\setcounter{Collection}{7}
+\newcounter{CustomC}\setcounter{CustomC}{8}
+\newcounter{Image}\setcounter{Image}{9}
+\newcounter{InBook}\setcounter{InBook}{10}
+\newcounter{InCollection}\setcounter{InCollection}{11}
+\newcounter{InProceedings}\setcounter{InProceedings}{12}
+\newcounter{InReference}\setcounter{InReference}{13}
+\newcounter{Letter}\setcounter{Letter}{14}
+\newcounter{Manual}\setcounter{Manual}{15}
+\newcounter{MastersThesis}\setcounter{MastersThesis}{16}
+\newcounter{Misc}\setcounter{Misc}{17}
+\newcounter{Music}\setcounter{Music}{18}
+\newcounter{MVBook}\setcounter{MVBook}{19}
+\newcounter{MVCollection}\setcounter{MVCollection}{20}
+\newcounter{MVProceedings}\setcounter{MVProceedings}{21}
+\newcounter{MVReference}\setcounter{MVReference}{22}
+\newcounter{Online}\setcounter{Online}{23}
+\newcounter{Patent}\setcounter{Patent}{24}
+\newcounter{Periodical}\setcounter{Periodical}{25}
+\newcounter{Proceedings}\setcounter{Proceedings}{26}
+\newcounter{Reference}\setcounter{Reference}{27}
+\newcounter{Report}\setcounter{Report}{28}
+\newcounter{Review}\setcounter{Review}{29}
+\newcounter{SuppBook}\setcounter{SuppBook}{30}
+\newcounter{SuppCollection}\setcounter{SuppCollection}{31}
+\newcounter{SuppPeriodical}\setcounter{SuppPeriodical}{32}
+\newcounter{TechReport}\setcounter{TechReport}{33}
+\newcounter{Thesis}\setcounter{Thesis}{34}
+\newcounter{Unpublished}\setcounter{Unpublished}{35}
+\newcounter{Video}\setcounter{Video}{36}
+\newcounter{Performance}\setcounter{Performance}{37}
+\newcounter{Standard}\setcounter{Standard}{38}
+\newcounter{Dataset}\setcounter{Dataset}{39}
+
+%%% Here starts the adaptation of hyperendnotes.sty
+
+\newif\ifenotelinks
+\newcounter{Hendnote}
+% Redefining portions of endnotes-package:
+\let\savedhref\href
+\let\savedurl\url
+\def\endnotemark{%
+ \@ifnextchar[\@xendnotemark{%
+ \stepcounter{endnote}%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \@endnotemark
+ }%
+}%
+\def\@xendnotemark[#1]{%
+ \begingroup\c@endnote#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \endgroup
+ \@endnotemark
+}%
+\def\endnotetext{%
+ \@ifnextchar[\@xendnotenext{%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \@endnotetext
+ }%
+}%
+\def\@xendnotenext[#1]{%
+ \begingroup
+ \c@endnote=#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \endgroup
+ \@endnotetext
+}%
+\def\endnote{%
+ \@ifnextchar[\@xendnote{%
+ \stepcounter{endnote}%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \@endnotemark\@endnotetext
+ }%
+}%
+\def\@xendnote[#1]{%
+ \begingroup
+ \c@endnote=#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@refsection\number\c@endnote}%
+ \show\@theenvalue
+ \endgroup
+ \@endnotemark\@endnotetext
+}%
+\def\@endnotemark{%
+ \leavevmode
+ \ifhmode
+ \edef\@x@sf{\the\spacefactor}\nobreak
+ \fi
+ \ifenotelinks
+ \expandafter\@firstofone
+ \else
+ \expandafter\@gobble
+ \fi
+ {%
+ \Hy@raisedlink{%
+ \hyper@@anchor{Hendnotepage.\@theenvalue}{\empty}%
+ }%
+ }%
+ \hyper@linkstart{link}{Hendnote.\@theenvalue}%
+ \makeenmark
+ \hyper@linkend
+ \ifhmode
+ \spacefactor\@x@sf
+ \fi
+ \relax
+}%
+\long\def\@endnotetext#1{%
+ \if@enotesopen
+ \else
+ \@openenotes
+ \fi
+ \immediate\write\@enotes{%
+ \@doanenote{\@theenmark}{\@theenvalue}%
+ }%
+ \begingroup
+ \def\next{#1}%
+ \newlinechar='40
+ \immediate\write\@enotes{\meaning\next}%
+ \endgroup
+ \immediate\write\@enotes{%
+ \@endanenote
+ }%
+}%
+\def\theendnotes{%
+ \immediate\closeout\@enotes
+ \global\@enotesopenfalse
+ \begingroup
+ \makeatletter
+ \edef\@tempa{`\string>}%
+ \ifnum\catcode\@tempa=12
+ \let\@ResetGT\relax
+ \else
+ \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}%
+ \@makeother\>%
+ \fi
+ \def\@doanenote##1##2##3>{%
+ \def\@theenmark{##1}%
+ \def\@theenvalue{##2}%
+ \par
+% \smallskip %<-small vertical gap between endnotes
+ \begingroup
+ \def\href{\expandafter\savedhref}%
+ \def\url{\expandafter\savedurl}%
+ \@ResetGT
+ \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}%
+ \enoteformat
+ }%
+ \def\@endanenote{%
+ \par\endgroup
+ }%
+ % Redefine, how numbers are formatted in the endnotes-section:
+ \renewcommand*\@makeenmark{%
+ \hbox{\normalfont\@theenmark~}%
+ }%
+ % header of endnotes-section
+ \enoteheading
+ % font-size of endnotes
+ \enotesize
+ \input{\jobname.ent}%
+ \endgroup
+}%
+\def\enoteformat{%
+ \renewcommand{\makeenmark}%
+ {\color{DarkBlue}{\textsf{\theenmark:\,\,}}}%
+ \rightskip\z@
+ \leftskip\z@
+ \parindent=2.3em
+ \leavevmode\llap{%
+ \setcounter{Hendnote}{\@theenvalue}%
+ \addtocounter{Hendnote}{-1}%
+ \refstepcounter{Hendnote}%
+ \ifenotelinks
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+ {\@firstofone}%
+ {\hyperlink{Hendnotepage.\@theenvalue}}%
+ {\makeenmark}%
+ }%
+}%
+% stop redefining portions of endnotes-package:
+
+% Toggle switch in order to turn on/off back-links in the
+% endnote-section:
+\enotelinkstrue
+% \enotelinksfalse
+
+%%% Here we substitute entry types for the usual numbers for endnote
+%%% marks.
+
+\def\cmssymbol#1{\expandafter\@cmssymbol\csname c@#1\endcsname}
+
+\def\@cmssymbol#1{\ifcase#1\or Article\or Artwork\or Audio\or Book\or
+ BookInBook\or Booklet\or Collection\or CustomC\or Image\or InBook\or
+ InCollection\or InProceedings\or InReference\or Letter\or Manual\or
+ MastersThesis\or Misc\or Music\or MVBook\or MVCollection\or
+ MVProceedings\or MVReference\or Online\or Patent\or Periodical\or
+ Proceedings\or Reference\or Report\or Review\or SuppBook\or
+ SuppCollection\or SuppPeriodical\or TechReport\or Thesis\or
+ Unpublished\or Video\or Perfor\-mance\or Standard\or
+ Dataset\else\@ctrerr\fi}
+
+\renewcommand{\theendnote}{\cmssymbol{endnote}}
+
+%%% Now we define parameters and a command for the lstlisting
+%%% environments, which print the .bib entries at the end of the .pdf.
+
+\lstset{%
+ basicstyle=\footnotesize\ttfamily,
+ breaklines=true,
+ breakatwhitespace=true,
+ breakautoindent=false,
+ breakindent=40pt,
+ escapechar=*,
+ keywordstyle=\color{DarkBlue},
+ columns=fullflexible,
+}%
+
+\lstdefinelanguage{BibTeX}
+{keywords={%
+ @string%
+ },
+ comment=[l][\itshape]{@comment},
+ sensitive=false,
+}%
+
+\newrobustcmd*{\lnbackref}[2]{%
+ \hyperlink{Hendnote.#2\the\value{#1}}{\color{DarkBlue}@#1}}
+
+\newrobustcmd*{\adlnbackref}[2]{%
+ \@ifnextchar[%]
+ {\adlnbackref@i{#1}{#2}}%
+ {\adlnbackref@i{#1}{#2}[{#2}]}}%
+
+\def\adlnbackref@i#1#2[#3]{%
+ \hyperlink{cite.0@#3}{\color{DarkBlue}@#1}\{#2}%
+
+%%% Here we renew some macros from chicago-notes.cbx, and add some
+%%% field formats to make navigating the intro easier.
+
+\renewbibmacro*{cite:full}{%
+ \ifnumequal{\the\value{refsection}}{8}%
+ {\printtext[cmsbiblink]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}
+ {cite:\thefield{entrytype}}}}
+ {\iffieldequalstr{entrykey}{lac:leaders}%
+ {\printtext{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}
+ {cite:\thefield{entrytype}}}}%
+ {\printtext[bibhyperref]{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}\frenchspacing}
+ {cite:\thefield{entrytype}}}}}}%
+
+\ifdef{\cmshyper}%
+{\renewrobustcmd*{\cmshyper}[1]{%
+ \ifboolexpr{%
+ (
+ test {\ifbibliography}%
+ or
+ test {\ifnumgreater{\the\value{refsection}}{3}}%
+ )
+ and
+ not test {\ifnumequal{\the\value{refsection}}{8}}%
+ }%
+ {\printtext[bibhyperref]{#1}}%
+ {\printtext[cmsbiblink]{#1}}}}%
+{}%
+
+\ifdef{\cmsrelhyper}%
+{\renewrobustcmd*{\cmsrelhyper}[1]{%
+ \ifhyperref%
+ {\ifbibliography%
+ {\ifentryinbib{\strfield{clonesourcekey}}%
+ {\bibhyperref[\strfield{clonesourcekey}]{#1}}%
+ {#1}}%
+ {\iftoggle{cms@allshort}%
+ {\IfSubStr{\thefield{savedoptions}}{skipbib}%
+ {\bibhyperref[\strfield{clonesourcekey}]{#1}}%%
+ {\bibhyperref[\thefield{savedentrykey}]{#1}}}%
+ {\iftoggle{cms@fullnote}%
+ {\ifentryseen{\thefield{clonesourcekey}}%
+ {\bibhyperref[\strfield{clonesourcekey}]{#1}}%
+ {#1}}%
+ {\bibhyperref[\thefield{savedentrykey}]{#1}}}}}%
+ {#1}}}%
+{}%
+
+\renewbibmacro*{cite:journal}{%
+ \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
+ {\iffieldundef{prenote}%
+ {\bibsentence\usebibmacro{cite:ibid}}%
+ {\usebibmacro{cite:ibid}}}%
+ {\iffieldundef{journaltitle}%
+ {\usebibmacro{cite:short}}%
+ {\iffieldequalstr{authortype}{anon}%
+ {\bibleftbracket\printnames{labelname}%
+ \bibrightbracket\newcunit}%
+ {\iffieldequalstr{authortype}{anon?}%
+ {\bibleftbracket\printnames{labelname}?%
+ \bibrightbracket\newcunit}%
+ {\printnames{labelname}%
+ \isdot\newcunit}}%
+ \iftoggle{cms@allshort}%
+ {\printtext[cmsbiblink]{%
+ \printfield[journaltitle]{journaltitle}}}%
+ {\printtext[cmsbiblink]{%
+ \printfield[journaltitle]{journaltitle}}}%
+ \iffieldundef{volume}%
+ {\iffieldundef{number}%
+ {\iffieldundef{issue}
+ {\newcunit%
+ \usebibmacro{number+or+month}}%
+ {\newcunit%
+ \printfield{issue}%
+ \setunit{\addspace}%
+ \usebibmacro{cmsyear}}}%
+ {\newcunit%
+ \printfield[journum]{number}}}%
+ {\toggletrue{cms@fullnote}%
+ \togglefalse{cms@shortnote}%
+ \setunit{\addspace}%
+ \printfield[jourvol]{volume}%
+ \ifthenelse{\iffieldundef{pagination}\AND%
+ \iffieldundef{bookpagination}}%
+ {\setunit{\postvolpunct}}%
+ {\setunit{\addcolon\addspace}}}}}}
+
+\DeclareFieldFormat{cmsbiblink}{%
+ \hyperlink{\getrefbykeydefault{\abx@field@entrykey}{anchor}{}}{#1}}
+
+\def\cmsdocref@entry{%
+ \iffieldundef{clonesourcekey}%
+ {\printfield{entrykey}}%
+ {\printfield{clonesourcekey}}}
+
+\def\cmsdoc@entrykey{%
+ \iffieldundef{clonesourcekey}%
+ {\abx@field@entrykey}%
+ {\abx@field@clonesourcekey}}
+
+\newcommand*{\cmslink}[1]{%
+ \hyperlink{\getrefbykeydefault{#1}{anchor}{}}%
+ {\texttt{#1}}}
+
+\DeclareFieldFormat{annotation}{\par\nobreak \vskip \bibitemsep%
+ \hyperlink{\getrefbykeydefault{\cmsdoc@entrykey}{anchor}{}}%
+ {\small{\textbf{[\cmsdocref@entry]\addspace}}}\small#1}
+
+%%% These commands provide the hyperlinks to the external docs in
+%%% biblatex-chicago.pdf.
+
+\newrobustcmd*{\cmssecref}[2][]{\marginpar{\href{\@baseurl%
+ \getrefbykeydefault{#2}{anchor}{}}{\small §\,\getrefnumber{#2}}%
+ \ifblank{#1}{}{\scriptsize,\, s.v.\\[1pt]\enquote{#1}}}}
+\newrobustcmd*{\cmspagref}[1]{\marginpar{\href{\@baseurl%
+ page.\getpagerefnumber{#1}}{p.~\getpagerefnumber{#1}}}}
+\newrobustcmd*{\cmstabref}[2][]{\marginpar{\href{\@baseurl%
+ \getrefbykeydefault{#2}{anchor}{}}%
+ {\footnotesize Table\,\getrefnumber{#2}}%
+ \ifblank{#1}{}{\scriptsize,\, s.v.\\[1pt]\enquote{#1}}}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty
new file mode 100644
index 0000000000..5f6d430831
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty
@@ -0,0 +1,560 @@
+% Copyright (c) 2003 John Lavagnino
+% 2003 Ulrich Dirr
+% 2020 David Fussner
+%
+% This package is currently maintained by David Fussner.
+%
+% This work may be copied, 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 2005/12/01 or later. This software is provided as is,
+% without warranty of any kind, either expressed or implied,
+% including, but not limited to, the implied warranties of
+% merchantability and fitness for a particular purpose.
+
+% This package is ultimately based on John Lavagnino's "endnotes"
+% package, and also on Ulrich Dirr's code, from comp.text.tex, adding
+% hyperref support to Lavagnino's package. Dirr's code has never, to
+% my knowledge, been released as a separate package. My own
+% contribution is to allow users easily to split the endnotes by part,
+% chapter, section, or subsection when they are printed all at once at
+% the end of a document, which is the arrangement the Chicago Manual
+% envisages for books by a single author. This arrangement was
+% possible before by using the \addtoendnotes command in your
+% document, but this was tricky to automate, hence the following.
+
+% Please see biblatex-chicago.pdf for details of how to use this
+% package.
+
+\ProvidesPackage{cmsendnotes}[2020/04/20 v 3.14 biblatex auxiliary package]
+
+\RequirePackage{kvoptions}
+\RequirePackage{endnotes}
+\RequirePackage{etoolbox}
+\RequirePackage{nameref}
+
+\SetupKeyvalOptions{%
+ family=cms@end,
+ prefix=cms@end@}%
+
+\DeclareStringOption{split}[chapter]
+
+\DeclareStringOption{headername}% 2
+
+\DeclareStringOption{subheadername}% 3
+
+\DeclareStringOption{runningname}% 4
+
+% \DeclareStringOption{introname}[\prefacename] (#5) now provided by
+% biblatex-chicago's noterefintro option
+
+%%% For general hyperref functionality
+
+\DeclareBoolOption[true]{hyper}%
+
+%%% Dirr's \ifenotelinks, "for back-links in the endnote section"
+
+\DeclareBoolOption[true]{enotelinks}%
+
+%%% In case users want to roll their own using \addtoendnotes or
+%%% separate sectioning commands
+
+\DeclareBoolOption{noheader}%
+
+%%% Stops the printing of the subhead when using split endnotes
+
+\DeclareBoolOption{nosubheader}%
+
+%%% Provides flush-left block formatting for endnote text, instead of
+%%% usual first-line indent
+
+\DeclareBoolOption{blocknotes}%
+
+%%% For attempting more elegantly to hide the zeros in section numbers
+
+%% \DeclareBoolOption{hidezeros}% Moved to cbx.
+
+\ProcessKeyvalOptions*
+
+%%% Dirr's hyperendnotes.sty, with CMS extensions, starts here
+
+\providetoggle{cms@entheader}
+\newcounter{Hendnote}
+\newcounter{cms@enttotal}
+\newcounter{cms@entprinted}
+
+%%% Hyperendnotes redefines portions of the endnotes package, now
+%%% further redefined for CMS
+
+%% The absence of a Roman zero messes with .ent file creation and
+%% printing, so we reluctantly redefine \thepart here
+
+\renewcommand{\thepart}{%
+ \ifnumequal{\csuse{c@part}}{0}%
+ {\@arabic{\c@part}}%
+ {\@Roman{\c@part}}}
+
+\let\cms@entlist\@empty
+
+% This allows splitting by "part" to work, suboptimally, with babel's
+% French option
+
+\ifdef{\ifFBPartNameFull}{\FBPartNameFullfalse}{}%
+
+%% This creates as many .ent files as there are different relevant
+%% sections, the relevant section being that given by the "split"
+%% option. It uses biblatex commands to patch the relevant section
+%% commands when they appear in the document. In the absence of the
+%% "split" option, it reverts to standard endnotes package .ent file
+%% handling.
+
+\ifx\cms@end@split\@empty
+\def\@openenotes{%
+ \immediate\openout\@enotes=\jobname.ent\relax
+ \global\@enotesopentrue}%
+\else
+\AtEndPreamble{%
+ \ifdefstring{\cms@end@split}{section}%
+ {\blx@refpatch@sect{section}{\cms@closechap}{1}%
+ \ifundef\chapter
+ {}%
+ {\blx@refpatch@chapter\cms@closechap}}%
+ {\ifdefstring{\cms@end@split}{subsection}%
+ {\blx@refpatch@sect{subsection}{\cms@closechap}{1}%
+ \ifundef\chapter
+ {}%
+ {\blx@refpatch@chapter\cms@closechap}}%
+ {\ifboolexpr{%
+ test {\ifdefstring{\cms@end@split}{chapter}}%
+ or
+ test {\ifdefstring{\cms@end@split}{part}}%
+ }%
+ {\csuse{blx@refpatch@\cms@end@split}\cms@closechap}%
+ {}}}}%
+\def\@openenotes{%
+ \stepcounter{cms@enttotal}%
+ \listxadd\cms@entlist{\csuse{the\cms@end@split}}%
+ \immediate\openout\@enotes=\jobname\csuse{the\cms@end@split}.ent\relax
+ \global\@enotesopentrue}%
+\fi
+
+\def\cms@closechap{%
+ \immediate\closeout\@enotes
+ \global\@enotesopenfalse}
+
+\long\def\addtoendnotes#1{%
+ \if@enotesopen \else \@openenotes \fi
+ \begingroup
+ \newlinechar='40
+ \let\protect\string
+ \immediate\write\@enotes{#1}%
+ \endgroup}
+
+\let\savedhref\href
+\let\savedurl\url
+
+\def\endnotemark{%
+ \@ifnextchar[%]
+ \@xendnotemark{%
+ \stepcounter{endnote}%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@endnote}%
+ \@endnotemark}}%
+
+\def\@xendnotemark[#1]{%
+ \begingroup\c@endnote#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@endnote}%
+ \endgroup
+ \@endnotemark}%
+
+\def\endnotetext{%
+ \@ifnextchar[%]
+ \@xendnotenext{%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@endnote}%
+ \@endnotetext}}%
+
+\def\@xendnotenext[#1]{%
+ \begingroup
+ \c@endnote=#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@endnote}%
+ \endgroup
+ \@endnotetext}%
+
+\def\endnote{%
+ \@ifnextchar[%]
+ \@xendnote{%
+ \stepcounter{endnote}%
+ \protected@xdef\@theenmark{\theendnote}%
+ \protected@xdef\@theenvalue{\number\c@endnote}%
+ \@endnotemark\@endnotetext}}%
+
+\def\@xendnote[#1]{%
+ \begingroup
+ \c@endnote=#1\relax
+ \unrestored@protected@xdef\@theenmark{\theendnote}%
+ \unrestored@protected@xdef\@theenvalue{\number\c@endnote}%
+ \show\@theenvalue
+ \endgroup
+ \@endnotemark\@endnotetext}%
+
+%% This macro is part of the core of the endnotes and hyperendnotes
+%% code, with cmsendnotes booleans to control when the hyper
+%% extensions are used.
+
+\def\@endnotemark{%
+ \leavevmode
+ \ifhmode
+ \edef\@x@sf{\the\spacefactor}\nobreak
+ \fi
+ \ifcms@end@hyper
+ \ifcms@end@enotelinks
+ \expandafter\@firstofone
+ \else
+ \expandafter\@gobble
+ \fi
+ {%
+ \Hy@raisedlink{%
+ \hyper@@anchor{Hendnotepage.\@theenvalue}{\empty}%
+ }%
+ }%
+ \hyper@linkstart{link}{Hendnote.\@theenvalue}%
+ \makeenmark
+ \hyper@linkend
+ \else
+ \makeenmark
+ \fi
+ \ifhmode
+ \spacefactor\@x@sf
+ \fi
+ \relax}%
+
+\long\def\@endnotetext#1{%
+ \if@enotesopen
+ \else
+ \@openenotes
+ \fi
+ \immediate\write\@enotes{%
+ \@doanenote{\@theenmark}{\@theenvalue}%
+ }%
+ \begingroup
+ \def\next{#1}%
+ \newlinechar='40
+ \immediate\write\@enotes{\meaning\next}%
+ \endgroup
+ \immediate\write\@enotes{%
+ \@endanenote}}%
+
+%% This new command prints each .ent file separately, with
+%% configurable headings. With an optional argument, it prints only
+%% that particular .ent file, again with configurable heading. If
+%% the "split" option isn't set, it reverts to the standard endnotes
+%% package command \theendnotes. The starred version prints no
+%% headings at all, just the notes.
+
+\newrobustcmd*{\theendnotesbypart}{\@ifstar\@theendnotesbypart%
+ \@@theendnotesbypart}%
+
+\newcommand*{\@@theendnotesbypart}[1][]{%
+ \ifcsvoid{cms@end@split}%
+ {\theendnotes}%
+ {\ifblank{#1}%
+ {\def\do##1{%
+ \IfFileExists{\jobname##1.ent}%
+ {\theendnotesbypart@i[##1]%
+ \stepcounter{cms@entprinted}}%
+ {}}%
+ \dolistcsloop{cms@entlist}}%
+ {\toggletrue{cms@entheader}%
+ \theendnotesbypart@i[#1]%
+ \togglefalse{cms@entheader}}}}%
+
+\newcommand*{\@theendnotesbypart}[1][]{%
+ \cms@end@noheadertrue
+ \ifcsvoid{cms@end@split}%
+ {\theendnotes}%
+ {\ifblank{#1}%
+ {\def\do##1{%
+ \IfFileExists{\jobname##1.ent}%
+ {\theendnotesbypart@i[##1]%
+ \stepcounter{cms@entprinted}}%
+ {}}%
+ \dolistcsloop{cms@entlist}}%
+ {\toggletrue{cms@entheader}%
+ \cms@end@nosubheadertrue%
+ \theendnotesbypart@i[#1]%
+ \togglefalse{cms@entheader}%
+ \cms@end@nosubheaderfalse}}\cms@end@noheaderfalse}%
+
+\def\theendnotesbypart@i[#1]{%
+ \ifx\cms@end@headername\@empty
+ \def\cms@end@headername{\notesname}\fi
+ \theendnotesbypart@ii[#1]{\cms@end@headername}}%
+
+\def\cms@choose@subhead{%
+ \ifcsname \cms@end@split name\endcsname%
+ \csuse{\csuse{cms@end@split}name}%
+ \else
+ \cms@end@split%
+ \fi}
+
+\def\cms@localize@subhead{%
+ \ifcsname \cms@end@subheadername name\endcsname%
+ \csuse{\csuse{cms@end@subheadername}name}%
+ \else
+ \cms@end@subheadername%
+ \fi}
+
+\def\theendnotesbypart@ii[#1]#2{%
+ \ifx\cms@end@subheadername\@empty
+ \theendnotesbypart@iii[#1]#2{\cms@choose@subhead}%
+ \else
+ \theendnotesbypart@iii[#1]#2{\cms@localize@subhead}%
+ \fi}
+
+\def\theendnotesbypart@iii[#1]#2#3{%
+ \ifx\cms@end@runningname\@empty
+ \def\cms@end@runningname{Notes to}\fi
+ \theendnotesbypart@iv[#1]#2#3{\cms@end@runningname}}%
+
+\def\cms@localize@introname{%
+ \ifcsname \cms@note@introname name\endcsname%
+ \csuse{\csuse{cms@note@introname}name}%
+ \else
+ \cms@note@introname%
+ \fi}
+
+\def\theendnotesbypart@iv[#1]#2#3#4{%
+ \ifdefvoid{\cms@note@introname}%
+ {\theendnotesbypart@v[#1]#2#3#4[]}%
+ {\theendnotesbypart@v[#1]#2#3#4[\cms@localize@introname]}}%
+
+%%% [sec. no.]{gen. title}{sec. title}{#2 + prepos.}[intro. name]
+
+\def\theendnotesbypart@v[#1]#2#3#4[#5]{%
+ \immediate\closeout\@enotes
+ \global\@enotesopenfalse
+ \begingroup
+ \makeatletter
+ \edef\@tempa{`\string>}%
+ \ifnum\catcode\@tempa=12
+ \let\@ResetGT\relax
+ \else
+ \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}%
+ \@makeother\>%
+ \fi
+ \def\@doanenote##1##2##3>{%
+ \def\@theenmark{##1}%
+ \def\@theenvalue{##2}%
+ \par
+ \enoteskip% Configurable vertical gap between endnotes
+ \begingroup
+ \def\href{\expandafter\savedhref}%
+ \def\url{\expandafter\savedurl}%
+ \@ResetGT
+ \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}%
+ \toggletrue{blx@footnote}\toggletrue{cms@endnote}%
+ \enoteformat
+ }%
+ \def\@endanenote{%
+ \par\endgroup
+ }%
+ % Redefine, how numbers are formatted in the endnotes-section:
+ \renewcommand*\@makeenmark{%
+ \hbox{\normalfont\@theenmark.~}%
+ }%
+ % header(s) of endnote section(s)
+ \def\enoteheader{\section*{\MakeCapital{#2}}}%
+ \def\enotesubheader{%
+ \subsection*{\MakeCapital{#3}\ \zero@sect{#1}}%
+ \@mkboth{\MakeUppercase{#4\ #3}\ \zero@sect{#1}}%
+ {\MakeUppercase{#4\ #3}\ \zero@sect{#1}}%
+ \mbox{}\par\vskip-\baselineskip}%
+ \def\enotepartheader{%
+ \subsection*{\MakeCapital{#3}\ \zero@sect{#1}}%
+ \@mkboth{\MakeUppercase{#4\ #3}\ \zero@sect{#1}}%
+ {\MakeUppercase{#4\ #3}\ \zero@sect{#1}}%
+ \mbox{}\par\vskip-\baselineskip}%
+ \def\intropartheader{%
+ \subsection*{\MakeCapital{#5},\ \zeri@intro{#1}}%
+ \@mkboth{\MakeUppercase{#4\ #5}\ \zeri@intro{#1}}%
+ {\MakeUppercase{#4\ #5}\ \zeri@intro{#1}}%
+ \mbox{}\par\vskip-\baselineskip}%
+ \def\introsubheader{%
+ \subsection*{\MakeCapital{#5}}%
+ \@mkboth{\MakeUppercase{#4\ #5}}%
+ {\MakeUppercase{#4\ #5}}%
+ \mbox{}\par\vskip-\baselineskip}%
+ % Tests for which header(s), if any, to print
+ \ifcms@end@noheader
+ \let\enoteheader\relax\fi
+ \ifcms@end@nosubheader
+ \ifcms@end@noheader
+ \else
+ \iftoggle{cms@entheader}%
+ {}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {}%
+ {\enoteheader\mbox{}\par\vskip-\baselineskip}}\fi%
+ \else
+ \ifboolexpr{%
+ test {\ifblank{#5}}%
+ or
+ not test {\IfBeginWith{#1}{0}}%
+ }%
+ {\iftoggle{cms@entheader}%
+ {\enotepartheader}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {\enotesubheader}%
+ {\enoteheader\enotesubheader}}}%
+ {\ifboolexpr{%
+ test {\IfBeginWith{#1}{0.}}%
+ or
+ test {\IfBeginWith{#1}{0,}}%
+ }%
+ {\IfInteger{#1}
+ {\iftoggle{cms@entheader}%
+ {\introsubheader}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {\introsubheader}%
+ {\enoteheader\introsubheader}}}%
+ {\StrGobbleLeft{\@xs@afterinteger}{1}[\temp@r]%
+ \IfEq{\temp@r}{0}%
+ {\iftoggle{cms@entheader}%
+ {\introsubheader}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {\introsubheader}%
+ {\enoteheader\introsubheader}}}%
+ {\iftoggle{cms@entheader}%
+ {\intropartheader}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {\intropartheader}%
+ {\enoteheader\intropartheader}}}}}%
+ {\iftoggle{cms@entheader}%
+ {\introsubheader}%
+ {\ifnumgreater{\value{cms@entprinted}}{0}%
+ {\introsubheader}%
+ {\enoteheader\introsubheader}}}}\fi%
+ % font-size of endnotes -- by default set to \small
+ \enotesize
+ \input{\jobname#1.ent}%\cms@input@ent%
+ \endgroup}%
+
+%% An inelegant kludge attempting to remove zeros from section numbers
+%% while retaining minimal descriptive accuracy
+
+%\newrobustcmd*{\cmspref}{\emph{pref}}% Moved to .cbx file
+
+\newrobustcmd*{\zero@sect}[1]{%
+ \IfBeginWith{#1}{0}%
+ {#1}%
+ {\iftoggle{cms@hidezeros}
+ {\StrSubstitute{#1}{.0.0}{.1\ (\cmspref)}[\temp@a]%
+ \StrSubstitute{\temp@a}{,0,0}{,1\ (\cmspref)}[\temp@a]%
+ \StrSubstitute{\temp@a}{.0.}{.\cmspref.}[\temp@a]%
+ \StrSubstitute{\temp@a}{,0,}{,\cmspref,}[\temp@a]%
+ \StrSubstitute{\temp@a}{.0}{.1\ (\cmspref)}[\temp@a]%
+ \StrSubstitute{\temp@a}{,0}{,1\ (\cmspref)}}%
+ {#1}}}%
+
+\newrobustcmd*{\zeri@intro}[1]{%
+ \cmsintrosection\ \StrGobbleLeft{#1}{2}}%
+
+\def\enoteheading{\section*{\notesname}
+ \@mkboth{\MakeUppercase{\notesname}}%
+ {\MakeUppercase{\notesname}}%
+ \mbox{}\par\vskip-\baselineskip}
+
+\def\theendnotes{%
+ \immediate\closeout\@enotes
+ \global\@enotesopenfalse
+ \begingroup
+ \makeatletter
+ \edef\@tempa{`\string>}%
+ \ifnum\catcode\@tempa=12
+ \let\@ResetGT\relax
+ \else
+ \edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}%
+ \@makeother\>%
+ \fi
+ \def\@doanenote##1##2##3>{%
+ \def\@theenmark{##1}%
+ \def\@theenvalue{##2}%
+ \par
+ \enoteskip% Configurable vertical gap between endnotes
+ \begingroup
+ \def\href{\expandafter\savedhref}%
+ \def\url{\expandafter\savedurl}%
+ \@ResetGT
+ \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}%
+ \enoteformat
+ }%
+ \def\@endanenote{%
+ \par\endgroup
+ }%
+ % Redefine, how numbers are formatted in the endnotes-section:
+ \renewcommand*\@makeenmark{%
+ \hbox{\normalfont\@theenmark.~}%
+ }%
+ % header of endnotes-section, defined by endnotes.sty, with CMS
+ % option not to print it at all
+ \ifcms@end@noheader
+ \else
+ \enoteheading
+ \fi
+ % font-size of endnotes
+ \enotesize
+ \input{\jobname.ent}%\cms@input@ent%
+ \endgroup}%
+
+%% The second core part of the hyperendnotes code, again with CMS
+%% booleans to control when the hyperref functionality is switched on
+
+\def\enoteformat{%
+ \ifcms@end@blocknotes
+ \rightskip\z@
+ \leftskip1.8em
+ \parindent\z@
+ \else
+ \rightskip\z@
+ \leftskip\z@
+ \parindent1.8em
+ \fi
+ \leavevmode\llap{%
+ \setcounter{Hendnote}{\@theenvalue}%
+ \addtocounter{Hendnote}{-1}%
+ \refstepcounter{Hendnote}%
+ \ifcms@end@hyper
+ \ifcms@end@enotelinks
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi
+ {\@firstofone}%
+ {\hyperlink{Hendnotepage.\@theenvalue}}%
+ {\makeenmark}%
+ \else
+ \makeenmark
+ \fi}}%
+
+%%% Here the hyperendnotes code stops redefining portions of
+%%% the endnotes package
+
+%%% This sets the CMS default, which is to turn on both the general
+%%% hyperref functionality and the back-links from the endnotes
+%%% section to the main text, assuming that the hyperref package is
+%%% loaded. If it isn't, we don't. Also, set defaults for two
+%%% formatting macros.
+
+\AtEndPreamble{%
+ \@ifpackageloaded{hyperref}%
+ {}{\cms@end@hyperfalse}}%
+
+\def\enotesize{\small}
+\let\enoteskip\relax
+
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-brazilian.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-brazilian.lbx
deleted file mode 100644
index abe484542d..0000000000
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-brazilian.lbx
+++ /dev/null
@@ -1,791 +0,0 @@
-% $Id: cms-brazilian.lbx,v 0.10.1.36 2016/06/01 11:02:59 dfussner Exp $
-
-\ProvidesFile{cms-brazilian.lbx}[2018/01/09 v 3.10 biblatex localization]
-
-% STATUS OF THIS FILE
-% - Strings provided by native speaker Gustavo Barros.
-
-
-\DeclareRedundantLanguages{brazilian}{brazil,portuges}
-
-\InheritBibliographyExtras{brazilian}
-
-\DeclareBibliographyExtras{%
- \toggletrue{cms@postposit}%
- \savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
- \savecommand\mkdaterangecomp%
- \savecommand\mkdaterangeterse%
- \savecommand\mkdaterangefull%
- \protected\def\mkjuridordinal{\mkbibordinal}%
- \protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
-
-\UndeclareBibliographyExtras{%
- \restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
- \restorecommand\mkdaterangecomp%
- \restorecommand\mkdaterangeterse%
- \restorecommand\mkdaterangefull%
- \togglefalse{cms@postposit}%
-}%
-
-\NewBibliographyString{organizer}
-\NewBibliographyString{organizers}
-\NewBibliographyString{byorganizer}
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbyorganizer}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{cfromamerican}
-\NewBibliographyString{cfrombrazilian}
-\NewBibliographyString{cfrombulgarian}
-\NewBibliographyString{cfromcatalan}
-\NewBibliographyString{cfromcroatian}
-\NewBibliographyString{cfromczech}
-\NewBibliographyString{cfromdanish}
-\NewBibliographyString{cfromdutch}
-\NewBibliographyString{cfromenglish}
-\NewBibliographyString{cfromestonian}
-\NewBibliographyString{cfromfinnish}
-\NewBibliographyString{cfromfrench}
-\NewBibliographyString{cfromgalician}
-\NewBibliographyString{cfromgerman}
-\NewBibliographyString{cfromgreek}
-\NewBibliographyString{cfromitalian}
-\NewBibliographyString{cfromjapanese}
-\NewBibliographyString{cfromlatin}
-\NewBibliographyString{cfromnorwegian}
-\NewBibliographyString{cfrompolish}
-\NewBibliographyString{cfromportuguese}
-\NewBibliographyString{cfromrussian}
-\NewBibliographyString{cfromslovak}
-\NewBibliographyString{cfromslovene}
-\NewBibliographyString{cfromspanish}
-\NewBibliographyString{cfromswedish}
-% \NewBibliographyString{cfromukrainian}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origpubyearalt}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}% Needed for CMS style patent entries
-\NewBibliographyString{patentissued}%
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-\NewBibliographyString{edbulgarian}
-\NewBibliographyString{edcatalan}
-\NewBibliographyString{edcroatian}
-\NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-\NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-\NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-\NewBibliographyString{edslovak}
-\NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-% \NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
-
-\DeclareBibliographyStrings{%
- inherit = {brazilian},
- afterwordto = {{posf\'acio a}{posf\adddot\addspace a}},
- forewordto = {{pref\'acio a}{pref\adddot\addspace a}},
- introductionto = {{introdu\c{c}\~ao a}{introd\adddot\addspace a}},
- partvolume = {{tomo}{tomo}},
- by = {{por}{por}},
- of = {{de}{de}},
- on = {{em}{em}},
- compiler = {{comp\adddot}{comp\adddot}},
- compilers = {{comps\adddot}{comps\adddot}},
- transcompiler = {{trad\adddot\addspace e comp\adddot}%
- {trad\adddot\addspace e comp\adddot}},
- transcompilers = {{trads\adddot\addspace e comps\adddot}%
- {trads\adddot\addspace e comps\adddot}},
- editortranscompiler = {{ed\adddot\addcomma\addspace trad\adddot\addspace e comp\adddot}%
- {ed\adddot\addcomma\addspace trad\adddot\addspace e comp\adddot}},
- editorcompiler = {{ed\adddot\addspace e comp\adddot}%
- {ed\adddot\addspace e comp\adddot}},
- editortranslator = {{ed\adddot\addspace e trad\adddot}%
- {ed\adddot\addspace e trad\adddot}},
- editortranscompilers = {{eds\adddot\addcomma\addspace trads\adddot\addspace e comps\adddot}%
- {eds\adddot\addcomma\addspace trads\adddot\addspace e comps\adddot}},
- editorcompilers = {{eds\adddot\addspace e comps\adddot}%
- {eds\adddot\addspace e comps\adddot}},
- editortranslators = {{eds\adddot\addspace e trads\adddot}%
- {eds\adddot\addspace e trads\adddot}},
- conductor = {{reg\adddot}{reg\adddot}},
- conductors = {{regs\adddot}{regs\adddot}},
- director = {{dir\adddot}{dir\adddot}},
- directors = {{dirs\adddot}{dirs\adddot}},
- none = {{}{}},
- nones = {{}{}},
- producer = {{prod\adddot}{prod\adddot}},
- producers = {{prods\adddot}{prods\adddot}},
- editor = {{ed\adddot}{ed\adddot}},
- editors = {{eds\adddot}{eds\adddot}},
- organizer = {{org\adddot}{org\adddot}},
- organizers = {{orgs\adddot}{orgs\adddot}},
- byorganizer = {{organizado por}{org\adddot\addspace por}},
- ibidem = {{ibid\adddot}{ibid\adddot}},
- origpub = {{originalmente publicado como\addspace}%
- {orig\adddot\ pub\adddot\ como\addspace}},
- origpublin = {{originalmente publicado em\addspace}%
- {orig\adddot\ pub\adddot\addspace em\addspace}},
- origpubyear = {{originalmente publicado em\addspace}%
- {orig\adddot\ pub\adddot\addspace}},
- origpubyearalt = {{originalmente publicado em\addspace}%
- {orig\adddot\ pub\adddot\addspace}},
- origreleaseyear = {{originalmente lan\c{c}ado em\addspace}%
- {orig\adddot\ lan\c{c}ado\addspace}},
- origshownyear = {{originalmente apresentado em\addspace}%
- {orig\adddot\ apresentado\addspace}},
- origedition ={{edi\c{c}\~ao}%
- {ed\adddot\addcolon\addspace}},
- revisededition = {{ed\adddot\addspace rev\adddot}%
- {ed\adddot\addspace rev\adddot}},
- broadcast = {{transmitido}{transmitido}},
- songrecorded = {{gravada}{gravada}},
- discrecorded = {{gravado}{gravado}},
- numbers = {{n\textsuperscript{os}}{n\textsuperscript{os}}},
- nodate = {{{}s\adddot d\adddot}{{}s\adddot d\adddot}},
- pseudonym = {{pseud\adddot}{pseud\adddot}},
- patentfiled = {{pedida}{pedida}},
- patentissued = {{concedida}{concedida}},
- inlang = {{em\addspace}{em\addspace}},
- edamerican = {{americana}{americana}},
- edbrazilian = {{brasileira}{brasileira}},
- edbulgarian = {{b\'ulgara}{b\'ulgara}},
- edcatalan = {{catal\~a}{catal\~a}},
- edcroatian = {{croata}{croata}},
- edczech = {{tcheca}{tcheca}},
- eddanish = {{dinamarquesa}{dinamarquesa}},
- eddutch = {{holandesa}{holandesa}},
- edenglish = {{inglesa}{inglesa}},
- edfinnish = {{finland\^esa}{finland\^esa}},
- edestonian = {{estoniana}{estoniana}},
- edfrench = {{francesa}{francesa}},
- edgalician = {{galega}{galega}},
- edgerman = {{alem\~a}{alem\~a}},
- edgreek = {{grega}{grega}},
- editalian = {{italiana}{italiana}},
- edjapanese = {{japon\^esa}{japon\^esa}},
- edlatin = {{latina}{latina}},
- ednorwegian = {{norueguesa}{norueguesa}},
- edpolish = {{polon\^esa}{polon\^esa}},
- edportuguese = {{portuguesa}{portuguesa}},
- edrussian = {{russa}{russa}},
- edslovak = {{eslovaca}{eslovaca}},
- edslovene = {{eslovena}{eslovena}},
- edspanish = {{espanhola}{espanhola}},
- edswedish = {{sueca}{sueca}},
- translator = {{trad\adddot}{trad\adddot}},
- translators = {{trads\adddot}{trads\adddot}},
- redactor = {{red\adddot}{red\adddot}},
- redactors = {{reds\adddot}{reds\adddot}},
- founder = {{fund\adddot}{fund\adddot}},
- founders = {{funds\adddot}{funds\adddot}},
- continuator = {{cont\adddot}{cont\adddot}},
- continuators = {{conts\adddot}{conts\adddot}},
- collaborator = {{col\adddot}{col\adddot}},
- collaborators = {{cols\adddot}{cols\adddot}},
- annotator = {{anot\adddot}{anot\adddot}},
- annotators = {{anots\adddot}{anots\adddot}},
- review = {{resenha}{resenha}},
- reviewof = {{resenha de}{resenha de}},
- reprint = {{reimpress\~ao}{reimpr\adddot}},
- shorthands = {{Abreviaturas}{Abreviaturas}},
- newseries = {{n\adddot s\adddot}{n\adddot s\adddot}},
- urlseen = {{acesso}{acesso}},
- cbynone = {{}{}},
- cbyauthor = {{por}{por}},
- cbyeditor = {{ed\adddot}{ed\adddot}},
- cbyorganizer = {{org\adddot}{org\adddot}},
- cbytranslator = {{trad\adddot\addspace\lbx@cfromlang}%
- {trad\adddot\addspace\lbx@cfromlang}},
- cbycompiler = {{comp\adddot}{comp\adddot}},
- cbyredactor = {{red\adddot}{red\adddot}},
- cbycommentator = {{coment\adddot}{coment\adddot}},
- cbyannotator = {{anot\addot}{anot\addot}},
- cbyfounder = {{fund\adddot}{fund\adddot}},
- cbycontinuator = {{cont\adddot}{cont\adddot}},
- cbycollaborator = {{em col\adddot\addspace com}%
- {em col\adddot\addspace com}},
- cbyconductor = {{reg\adddot}{reg\adddot}},
- cbydirector = {{dir\adddot}{dir\adddot}},
- cbyproducer = {{prod\adddot}{prod\adddot}},
- cbyeditortr = {{ed\adddot\addspace e trad\adddot\addspace\lbx@cfromlang}%
- {ed\adddot\addspace e trad\adddot\addspace\lbx@cfromlang}},
- cbyeditorcp = {{ed\adddot\addspace e comp\adddot}%
- {ed\adddot\addspace e comp\adddot}},
- cbyeditorco = {{ed\adddot\addspace e coment\adddot}%
- {ed\adddot\addspace e coment\adddot}},
- cbyeditoran = {{ed\adddot\addspace e anot\adddot}%
- {ed\adddot\addspace e anot\adddot}},
- cbyeditorin = {{ed\adddot\addspace e introd\adddot\ por}%
- {ed\adddot\addspace e introd\adddot\ por}},
- cbyeditorfo = {{ed\adddot\addspace e pref\adddot\ por}%
- {ed\adddot\addspace e pref\adddot\ por}},
- cbyeditoraf = {{ed\adddot\addspace e posf\adddot\ por}%
- {ed\adddot\addspace e posf\adddot\ por}},
- cbyeditortrcp = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e comp\adddot}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\ e comp\adddot}},
- cbyeditortrco = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e coment\adddot}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e coment\adddot}},
- cbyeditortran = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e anot\adddot}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e anot\adddot}},
- cbyeditortrin = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang e introd\adddot\ por}},
- cbyeditortrfo = {{ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e pref\adddot\ por}},
- cbyeditortraf = {{ed.,\addabbrvspace trad.\addspace\lbx@fromlang\addspace e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\addspace\lbx@fromlang\addspace e posf\adddot\ por}},
- cbyeditorcpco = {{ed.,\addabbrvspace comp\adddot\ e coment\adddot}%
- {ed.,\addabbrvspace comp\adddot\ e coment\adddot}},
- cbyeditorcpan = {{ed.,\addabbrvspace comp\adddot\ e anot\adddot}%
- {ed.,\addabbrvspace comp\adddot\ e anot\adddot}},
- cbyeditorcpin = {{ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}},
- cbyeditorcpfo = {{ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}},
- cbyeditorcpaf = {{ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}},
- cbyeditorcpcoin = {{ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace comp., coment\adddot e introd\adddot\ por}},
- cbyeditorcpcofo = {{ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}},
- cbyeditorcpcoaf = {{ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}},
- cbyeditorcpanin = {{ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}},
- cbyeditorcpanfo = {{ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}},
- cbyeditorcpanaf = {{ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}},
- cbyeditortrcpco = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
- cbyeditortrcpan = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
- cbyeditortrcpin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}},
- cbyeditortrcpfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}},
- cbyeditortrcpaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}},
- cbyeditortrcpcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}},
- cbyeditortrcpcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}},
- cbyeditortrcpcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}},
- cbyeditortrcpanin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}},
- cbyeditortrcpanfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}},
- cbyeditortrcpanaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}},
- cbyeditorcoin = {{ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}},
- cbyeditorcofo = {{ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}},
- cbyeditorcoaf = {{ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}},
- cbyeditoranin = {{ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}},
- cbyeditoranfo = {{ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}},
- cbyeditoranaf = {{ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}},
- cbyeditortrcoin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}},
- cbyeditortrcofo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}},
- cbyeditortrcoaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}},
- cbyeditortranin = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}},
- cbyeditortranfo = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}},
- cbyeditortranaf = {{ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}},
- cbytranslatorcp = {{trad\adddot\ \lbx@fromlang\ e comp\adddot}%
- {trad\adddot\ \lbx@fromlang\ e comp\adddot}},
- cbytranslatorco = {{trad\adddot\ \lbx@fromlang\ e coment\adddot}%
- {trad\adddot\ \lbx@fromlang\ e coment\adddot}},
- cbytranslatoran = {{trad\adddot\ \lbx@fromlang\ e anot\adddot}%
- {trad\adddot\ \lbx@fromlang\ e anot\adddot}},
- cbytranslatorin = {{trad\adddot\ \lbx@fromlang\addspace e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang\addspace e introd\adddot\ por}},
- cbytranslatorfo = {{trad\adddot\ \lbx@fromlang\addspace e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang\addspace e pref\adddot\ por}},
- cbytranslatoraf = {{trad\adddot\ \lbx@fromlang\addspace e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang\addspace e posf\adddot\ por}},
- cbytranslatorcoin = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, coment\adddot\ e introd\adddot\ por}},
- cbytranslatorcofo = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, coment\adddot\ e pref\adddot\ por}},
- cbytranslatorcoaf = {{trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, coment\adddot\ e posf\adddot\ por}},
- cbytranslatoranin = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, anot\adddot\ e introd\adddot\ por}},
- cbytranslatoranfo = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, anot\adddot\ e pref\adddot\ por}},
- cbytranslatoranaf = {{trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, anot\adddot\ e posf\adddot\ por}},
- cbytranslatorcpco = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
- cbytranslatorcpan = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
- cbytranslatorcpin = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}},
- cbytranslatorcpfo = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}},
- cbytranslatorcpaf = {{trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}},
- cbytranslatorcpcoin = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}},
- cbytranslatorcpcofo = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}},
- cbytranslatorcpcoaf = {{trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}},
- cbytranslatorcpanin = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}},
- cbytranslatorcpanfo = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}},
- cbytranslatorcpanaf = {{trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}},
- cbycompilerco = {{comp\adddot\ e coment\adddot}%
- {comp\adddot\ e coment\adddot}},
- cbycompileran = {{comp\adddot\ e anot\adddot}%
- {comp\adddot\ e anot\adddot}},
- cbycompilerin = {{comp\adddot\ e introd\adddot\ por}%
- {comp\adddot\ e introd\adddot\ por}},
- cbycompilerfo = {{comp\adddot\ e pref\adddot\ por}%
- {comp\adddot\ e pref\adddot\ por}},
- cbycompileraf = {{comp\adddot\ e posf\adddot\ por}%
- {comp\adddot\ e posf\adddot\ por}},
- cbycompilercoin = {{comp., coment\adddot\ e introd\adddot\ por}%
- {comp., coment\adddot\ e introd\adddot\ por}},
- cbycompilercofo = {{comp., coment\adddot\ e pref\adddot\ por}%
- {comp., coment\adddot\ e pref\adddot\ por}},
- cbycompilercoaf = {{comp., coment\adddot\ e posf\adddot\ por}%
- {comp., coment\adddot\ e posf\adddot\ por}},
- cbycompileranin = {{comp., anot\adddot\ e introd\adddot\ por}%
- {comp., anot\adddot\ e introd\adddot\ por}},
- cbycompileranfo = {{comp., anot\adddot\ e pref\adddot\ por}%
- {comp., anot\adddot\ e pref\adddot\ por}},
- cbycompileranaf = {{comp., anot\adddot\ e posf\adddot\ por}%
- {comp., anot\adddot\ e posf\adddot\ por}},
- volume = {{vol\adddot}{vol\adddot}},
- volumes = {{vols\adddot}{vols\adddot}},
- jourvol = {{vol\adddot}{vol\adddot}},
- jourser = {{s\'er\adddot}{s\'er\adddot}},
- oldseries = {{s\adddot a\adddot}{s\adddot a\adddot}},
- edition = {{ed\adddot}{ed\adddot}},
- page = {{p\adddot}{p\adddot}},
- pages = {{pp\adddot}{pp\adddot}},
- column = {{col\adddot}{col\adddot}},
- columns = {{cols\adddot}{cols\adddot}},
- line = {{line}{line}},
- lines = {{lines}{lines}},
- paragraph = {{par\adddot}{par\adddot}},
- paragraphs = {{pars\adddot}{pars\adddot}},
- section = {{\S}{\S}},
- sections = {{\S\S}{\S\S}},
- canadasection = {{s\adddot}{s\adddot}},% For legal citations
- canadasections = {{s\adddot}{s\adddot}},% ditto
- supranote = {{\mkbibemph{supra}\addspace nota\addnbspace}% ditto
- {\mkbibemph{supra}\addspace nota\addnbspace}},
- hereinafter = {{doravante}{doravante}},
- subverbo = {{verbete}{verb\adddot}},
- subverbis = {{verbetes}{verbs\adddot}},
- verse = {{v\adddot}{v\adddot}},
- verses = {{vv\adddot}{vv\adddot}},
- number = {{n\textordmasculine}{n\textordmasculine}},
- chapter = {{cap\adddot}{cap\adddot}},
- mathesis = {{diss\adddot\ de mestrado}{diss\adddot\ de mestrado}},
- phdthesis = {{tese de doutorado}{tese de doutorado}},
- techreport = {{relat\'orio t\'ecnico}{relat\'orio t\'ecnico}},
- cfromamerican = {{do ingl\^es por}{do ingl\^es por}},
- cfrombrazilian = {{do portugu\^es por}{do portugu\^es por}},
- cfrombulgarian = {{do b\'ulgaro por}{do b\'ulgaro por}},
- cfromcatalan = {{do catal\~ao por}{do catal\~ao por}},
- cfromcroatian = {{do croata por}{do croata por}},
- cfromczech = {{do tcheco por}{do tcheco por}},
- cfromdanish = {{do dinamarqu\^es por}{do dinamarqu\^es por}},
- cfromdutch = {{do holand\^es por}{do holand\^es por}},
- cfromenglish = {{do ingl\^es por}{do ingl\^es por}},
- cfromestonian = {{do estoniano por}{do estoniano pr}},
- cfromfinnish = {{do finland\^es por}{do finland\^es por}},
- cfromfrench = {{do franc\^es por}{do franc\^es por}},
- cfromgalician = {{do galego por}{do galego por}},
- cfromgerman = {{do alem\~ao por}{do alem\~ao por}},
- cfromgreek = {{do grego por}{do grego por}},
- cfromitalian = {{do italiano por}{do italiano por}},
- cfromlatin = {{do latim por}{do latim por}},
- cfromnorwegian = {{do noruegu\^es por}{do noruegu\^es por}},
- cfrompolish = {{do polon\^es por}{do polon\^es por}},
- cfromportuguese = {{do portugu\^es por}{do portugu\^es por}},
- cfromrussian = {{do russo por}{do russo por}},
- cfromslovak = {{do eslovaco por}{do eslovaco por}},
- cfromslovene = {{do esloveno por}{do esloveno por}},
- cfromspanish = {{do espanhol por}{do espanhol por}},
- cfromswedish = {{do sueco por}{do sueco por}},
- bynone = {{}{}},
- bycompiler = {{compilado por}{comp\adddot}},
- byconductor = {{regida por}{reg\adddot}},
- bydirector = {{dirigido por}{dir\adddot}},
- byproducer = {{produzido por}{prod\adddot}},
- byproducer = {{produzido por}{prod\adddot}},
- byeditorcp = {{editado e compilado por}{ed\adddot\addspace e comp\adddot}},
- byeditortrcp = {{editado, traduzido \lbx@fromlang\ e compilado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang\ e comp\adddot}},
- byeditortrcpco = {{editado, traduzido \lbx@fromlang, compilado e comentado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e coment\adddot}},
- byeditortrcpan = {{editado, traduzido \lbx@fromlang, compilado e anotado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
- byeditortrcpin = {{editado, traduzido \lbx@fromlang, compilado e introduzido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}},
- byeditortrcpfo = {{editado, traduzido \lbx@fromlang, compilado e prefaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}},
- byeditortrcpaf = {{editado, traduzido \lbx@fromlang, compilado e posfaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}},
- byeditortrcpcoin = {{editado, traduzido \lbx@fromlang, compilado, comentado e introduzido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}},
- byeditortrcpcofo = {{editado, traduzido \lbx@fromlang, compilado, comentado e prefaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}},
- byeditortrcpcoaf = {{editado, traduzido \lbx@fromlang, compilado, comentado e posfaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}},
- byeditortrcpanin = {{editado, traduzido \lbx@fromlang, compilado, anotado e introduzido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}},
- byeditortrcpanfo = {{editado, traduzido \lbx@fromlang, compilado, anotado e prefaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}},
- byeditortrcpanaf = {{editado, traduzido \lbx@fromlang, compilado, anotado e posfaciado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}},
- byeditorcpco = {{editado, compilado e comentado por}%
- {ed.,\addabbrvspace comp\adddot\ e coment\adddot}},
- byeditorcpan = {{editado, compilado e anotado por}%
- {ed.,\addabbrvspace comp\adddot\ e anot\adddot}},
- byeditorcpin = {{editado, compilado e introduzido por}%
- {ed.,\addabbrvspace comp\adddot\ e introd\adddot\ por}},
- byeditorcpfo = {{editado, compilado e prefaciado por}%
- {ed.,\addabbrvspace comp\adddot\ e pref\adddot\ por}},
- byeditorcpaf = {{editado, compilado e posfaciado por}%
- {ed.,\addabbrvspace comp\adddot\ e posf\adddot\ por}},
- byeditorcpcoin = {{editado, compilado, comentado e introduzido por}%
- {ed.,\addabbrvspace comp., coment\adddot\ e introd\adddot\ por}},
- byeditorcpcofo = {{editado, compilado, comentado e prefaciado por}%
- {ed.,\addabbrvspace comp., coment\adddot\ e pref\adddot\ por}},
- byeditorcpcoaf = {{editado, compilado, comentado e posfaciado por}%
- {ed.,\addabbrvspace comp., coment\adddot\ e posf\adddot\ por}},
- byeditorcpanin = {{editado, compilado, anotado e introduzido por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e introd\adddot\ por}},
- byeditorcpanfo = {{editado, compilado, anotado e prefaciado por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e pref\adddot\ por}},
- byeditorcpanaf = {{editado, compilado, anotado e posfaciado por}%
- {ed.,\addabbrvspace comp., anot\adddot\ e posf\adddot\ por}},
- bytranslatorcp = {{traduzido \lbx@fromlang\ e compilado por}%
- {trad\adddot\ \lbx@fromlang\ e comp\adddot}},
- bytranslatorcpco = {{traduzido \lbx@fromlang, compilado e comentado por}%
- {trad\adddot\ \addspace\lbx@fromlang, comp\adddot\ e coment\adddot}},
- bytranslatorcpan = {{traduzido \lbx@fromlang, compilado e anotado por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e anot\adddot}},
- bytranslatorcpin = {{traduzido \lbx@fromlang, compilado e introduzido por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e introd\adddot\ por}},
- bytranslatorcpfo = {{traduzido \lbx@fromlang, compilado e prefaciado por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e pref\adddot\ por}},
- bytranslatorcpaf = {{traduzido \lbx@fromlang, compilado e posfaciado por}%
- {trad\adddot\ \lbx@fromlang, comp\adddot\ e posf\adddot\ por}},
- bytranslatorcpcoin = {{traduzido \lbx@fromlang, compilado, comentado e introduzido por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e introd\adddot\ por}},
- bytranslatorcpcofo = {{traduzido \lbx@fromlang, compilado, comentado e prefaciado por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e pref\adddot\ por}},
- bytranslatorcpcoaf = {{traduzido \lbx@fromlang, compilado, comentado e posfaciado por}%
- {trad\adddot\ \lbx@fromlang, comp., coment\adddot\ e posf\adddot\ por}},
- bytranslatorcpanin = {{traduzido \lbx@fromlang, compilado, anotado e introduzido por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e introd\adddot\ por}},
- bytranslatorcpanfo = {{traduzido \lbx@fromlang, compilado, anotado e prefaciado por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e pref\adddot\ por}},
- bytranslatorcpanaf = {{traduzido \lbx@fromlang, compilado, anotado e posfaciado por}%
- {trad\adddot\ \lbx@fromlang, comp., anot\adddot\ e posf\adddot\ por}},
- bycompilerco = {{compilado e comentado por}%
- {comp\adddot\ e coment\adddot}},
- bycompileran = {{compilado e anotado por}%
- {comp\adddot\ e anot\adddot}},
- bycompilerin = {{compilado e introduzido por}%
- {comp\adddot\ e introd\adddot\ por}},
- bycompilerfo = {{compilado e prefaciado por}%
- {comp\adddot\ e pref\adddot\ por}},
- bycompileraf = {{compilado e posfaciado por}%
- {comp\adddot\ e posf\adddot\ por}},
- bycompilercoin = {{compilado, comentado e introduzido por}%
- {comp., coment\adddot\ e introd\adddot\ por}},
- bycompilercofo = {{compilado, comentado e prefaciado por}%
- {comp., coment\adddot\ e pref\adddot\ por}},
- bycompilercoaf = {{compilado, comentado e posfaciado por}%
- {comp., coment\adddot\ e posf\adddot\ por}},
- bycompileranin = {{compilado, anotado e introduzido por}%
- {comp., anot\adddot\ e introd\adddot\ por}},
- bycompileranfo = {{compilado, anotado e prefaciado por}%
- {comp., anot\adddot\ e pref\adddot\ por}},
- bycompileranaf = {{compilado, anotado e posfaciado por}%
- {comp., anot\adddot\ e posf\adddot\ por}},
-}
-
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-british.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-british.lbx
deleted file mode 100644
index 95695f1697..0000000000
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-british.lbx
+++ /dev/null
@@ -1,115 +0,0 @@
-% $Id: cms-british.lbx,v 0.13 2018/01/09 19:00:27 dfussner Exp $
-
-\ProvidesFile{cms-british.lbx}[2018/01/09 v 3.10 biblatex localization]
-
-\InheritBibliographyExtras{british}
-
-\DeclareBibliographyExtras{%
- \savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
- \savecommand\mkdaterangecomp%
- \savecommand\mkdaterangeterse%
- \savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
- \protected\def\mkjuridordinal#1{%
- \begingroup
- \@tempcnta0#1\relax\number\@tempcnta
- \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}%
- \ifnum\@tempcnta>20
- \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}%
- \fi
- \ifcase\@tempcnta th\or st\or d\or d\else th\fi
- \endgroup}%
- \protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibdatelong#1#2#3{%
- \iffieldundef{#3}%
- {}%
- {\iftoggle{cms@ukord}%
- {\mkbibordinal{\thefield{#3}}}%
- {\stripzeros{\thefield{#3}}}%
- \iffieldundef{#2}{}{\nobreakspace}}%
- \iffieldundef{#2}%
- {}%
- {\mkbibmonth{\thefield{#2}}%
- \iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}%
- {\bibstring{\thefield{#1}}}%
- {\stripzeros{\thefield{#1}}}}% FIXME: dateeraprintpre{#1}
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
-
-\UndeclareBibliographyExtras{%
- \restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
- \restorecommand\mkdaterangecomp%
- \restorecommand\mkdaterangefull%
- \restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\InheritBibliographyStrings{cms-american}
-
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-icelandic.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-icelandic.lbx
deleted file mode 100644
index fbc5d3781d..0000000000
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/lbx/cms-icelandic.lbx
+++ /dev/null
@@ -1,544 +0,0 @@
-% $Id: cms-icelandic.lbx,v 0.16 2018/01/09 19:01:57 dfussner Exp $
-
-\ProvidesFile{cms-icelandic.lbx}[2018/01/09 v 3.10 biblatex localization]
-
-% STATUS OF THIS FILE
-% - Translated by a native speaker (Baldur Kristinsson).
-% - Depends on icelandic.lbx from the biblatex project
-% - Many bibstrings remain untranslated.
-% - Needs fine tuning, since declension of Icelandic nouns (names + titles)
-% makes straight translations difficult in some cases.
-% - Last worked on: 2012-06-15
-% - Date handling altered by dfussner, along with a few other small
-% fixes. I have added placeholders for 9 audio-visual strings, but
-% need help from a native speaker to provide the actual strings.
-% See "bydirector," "cbydirector," "byconductor," "cbyconductor,"
-% "byproducer," "cbyproducer," "broadcast," "songrecorded,"
-% "discrecorded," and "on."
-
-\InheritBibliographyExtras{icelandic}
-
-\DeclareBibliographyExtras{%
- \savecommand\cms@datelong%
- \savecommand\cms@datelongalt%
- \savecommand\mkdaterangecomp%
- \savecommand\mkdaterangeterse%
- \savecommand\mkdaterangefull%
- \savecommand\mkbibrangecomp%
- \savecommand\mkbibrangeterse%
- \savecommand\mkbibrangefull%
- \protected\def\mkjuridordinal{\mkbibordinal}%
- \protected\def\mkdaterangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkdaterangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkdaterangefull{%
- \lbx@cms@mkbibrangefull}%
- \protected\def\mkbibrangecomp{%
- \lbx@cms@mkbibrangetrunc{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@cms@mkbibrangetrunc{short}}%
- \protected\def\mkbibrangefull{%
- \lbx@cms@mkbibrangefull}%
- \def\cms@datelong{\printorigdate}%
- \def\cms@datelongalt{\printdate}}%
-
-\UndeclareBibliographyExtras{%
- \restorecommand\cms@datelong%
- \restorecommand\cms@datelongalt%
- \restorecommand\mkdaterangecomp%
- \restorecommand\mkdaterangefull%
- \restorecommand\mkdaterangeterse%
- \restorecommand\mkbibrangecomp%
- \restorecommand\mkbibrangefull%
- \restorecommand\mkbibrangeterse}%
-
-\NewBibliographyString{bynone}
-\NewBibliographyString{bycompiler}
-\NewBibliographyString{byconductor}
-\NewBibliographyString{bydirector}
-\NewBibliographyString{byproducer}
-\NewBibliographyString{byeditorcp}
-\NewBibliographyString{byeditortrcp}
-\NewBibliographyString{byeditortrcpco}
-\NewBibliographyString{byeditortrcpan}
-\NewBibliographyString{byeditortrcpin}
-\NewBibliographyString{byeditortrcpfo}
-\NewBibliographyString{byeditortrcpaf}
-\NewBibliographyString{byeditortrcpcoin}
-\NewBibliographyString{byeditortrcpcofo}
-\NewBibliographyString{byeditortrcpcoaf}
-\NewBibliographyString{byeditortrcpanin}
-\NewBibliographyString{byeditortrcpanfo}
-\NewBibliographyString{byeditortrcpanaf}
-\NewBibliographyString{byeditorcpco}
-\NewBibliographyString{byeditorcpan}
-\NewBibliographyString{byeditorcpin}
-\NewBibliographyString{byeditorcpfo}
-\NewBibliographyString{byeditorcpaf}
-\NewBibliographyString{byeditorcpcoin}
-\NewBibliographyString{byeditorcpcofo}
-\NewBibliographyString{byeditorcpcoaf}
-\NewBibliographyString{byeditorcpanin}
-\NewBibliographyString{byeditorcpanfo}
-\NewBibliographyString{byeditorcpanaf}
-\NewBibliographyString{bytranslatorcp}
-\NewBibliographyString{bytranslatorcpco}
-\NewBibliographyString{bytranslatorcpan}
-\NewBibliographyString{bytranslatorcpin}
-\NewBibliographyString{bytranslatorcpfo}
-\NewBibliographyString{bytranslatorcpaf}
-\NewBibliographyString{bytranslatorcpcoin}
-\NewBibliographyString{bytranslatorcpcofo}
-\NewBibliographyString{bytranslatorcpcoaf}
-\NewBibliographyString{bytranslatorcpanin}
-\NewBibliographyString{bytranslatorcpanfo}
-\NewBibliographyString{bytranslatorcpanaf}
-\NewBibliographyString{bycompilerco}
-\NewBibliographyString{bycompileran}
-\NewBibliographyString{bycompilerin}
-\NewBibliographyString{bycompilerfo}
-\NewBibliographyString{bycompileraf}
-\NewBibliographyString{bycompilercoin}
-\NewBibliographyString{bycompilercofo}
-\NewBibliographyString{bycompilercoaf}
-\NewBibliographyString{bycompileranin}
-\NewBibliographyString{bycompileranfo}
-\NewBibliographyString{bycompileranaf}
-\NewBibliographyString{cbynone}
-\NewBibliographyString{cbyauthor}
-\NewBibliographyString{cbyeditor}
-\NewBibliographyString{cbytranslator}
-\NewBibliographyString{cbycompiler}
-\NewBibliographyString{cbyredactor}
-\NewBibliographyString{cbycommentator}
-\NewBibliographyString{cbyannotator}
-\NewBibliographyString{cbyfounder}
-\NewBibliographyString{cbycontinuator}
-\NewBibliographyString{cbycollaborator}
-\NewBibliographyString{cbyconductor}
-\NewBibliographyString{cbydirector}
-\NewBibliographyString{cbyproducer}
-\NewBibliographyString{cbyeditortr}
-\NewBibliographyString{cbyeditorcp}
-\NewBibliographyString{cbyeditorco}
-\NewBibliographyString{cbyeditoran}
-\NewBibliographyString{cbyeditorin}
-\NewBibliographyString{cbyeditorfo}
-\NewBibliographyString{cbyeditoraf}
-\NewBibliographyString{cbyeditortrcp}
-\NewBibliographyString{cbyeditortrco}
-\NewBibliographyString{cbyeditortran}
-\NewBibliographyString{cbyeditortrin}
-\NewBibliographyString{cbyeditortrfo}
-\NewBibliographyString{cbyeditortraf}
-\NewBibliographyString{cbyeditortrcpco}
-\NewBibliographyString{cbyeditortrcpan}
-\NewBibliographyString{cbyeditortrcpin}
-\NewBibliographyString{cbyeditortrcpfo}
-\NewBibliographyString{cbyeditortrcpaf}
-\NewBibliographyString{cbyeditorcoin}
-\NewBibliographyString{cbyeditorcofo}
-\NewBibliographyString{cbyeditorcoaf}
-\NewBibliographyString{cbyeditoranin}
-\NewBibliographyString{cbyeditoranfo}
-\NewBibliographyString{cbyeditoranaf}
-\NewBibliographyString{cbyeditortrcoin}
-\NewBibliographyString{cbyeditortrcofo}
-\NewBibliographyString{cbyeditortrcoaf}
-\NewBibliographyString{cbyeditortranin}
-\NewBibliographyString{cbyeditortranfo}
-\NewBibliographyString{cbyeditortranaf}
-\NewBibliographyString{cbyeditortrcpcoin}
-\NewBibliographyString{cbyeditortrcpcofo}
-\NewBibliographyString{cbyeditortrcpcoaf}
-\NewBibliographyString{cbyeditortrcpanin}
-\NewBibliographyString{cbyeditortrcpanfo}
-\NewBibliographyString{cbyeditortrcpanaf}
-\NewBibliographyString{cbyeditorcpco}
-\NewBibliographyString{cbyeditorcpan}
-\NewBibliographyString{cbyeditorcpin}
-\NewBibliographyString{cbyeditorcpfo}
-\NewBibliographyString{cbyeditorcpaf}
-\NewBibliographyString{cbyeditorcpcoin}
-\NewBibliographyString{cbyeditorcpcofo}
-\NewBibliographyString{cbyeditorcpcoaf}
-\NewBibliographyString{cbyeditorcpanin}
-\NewBibliographyString{cbyeditorcpanfo}
-\NewBibliographyString{cbyeditorcpanaf}
-\NewBibliographyString{cbytranslatorcp}
-\NewBibliographyString{cbytranslatorco}
-\NewBibliographyString{cbytranslatoran}
-\NewBibliographyString{cbytranslatorin}
-\NewBibliographyString{cbytranslatorfo}
-\NewBibliographyString{cbytranslatoraf}
-\NewBibliographyString{cbytranslatorcpco}
-\NewBibliographyString{cbytranslatorcpan}
-\NewBibliographyString{cbytranslatorcpin}
-\NewBibliographyString{cbytranslatorcpfo}
-\NewBibliographyString{cbytranslatorcpaf}
-\NewBibliographyString{cbytranslatorcoin}
-\NewBibliographyString{cbytranslatorcofo}
-\NewBibliographyString{cbytranslatorcoaf}
-\NewBibliographyString{cbytranslatoranin}
-\NewBibliographyString{cbytranslatoranfo}
-\NewBibliographyString{cbytranslatoranaf}
-\NewBibliographyString{cbytranslatorcpcoin}
-\NewBibliographyString{cbytranslatorcpcofo}
-\NewBibliographyString{cbytranslatorcpcoaf}
-\NewBibliographyString{cbytranslatorcpanin}
-\NewBibliographyString{cbytranslatorcpanfo}
-\NewBibliographyString{cbytranslatorcpanaf}
-\NewBibliographyString{cbycompilerco}
-\NewBibliographyString{cbycompileran}
-\NewBibliographyString{cbycompilerin}
-\NewBibliographyString{cbycompilerfo}
-\NewBibliographyString{cbycompileraf}
-\NewBibliographyString{cbycompilercoin}
-\NewBibliographyString{cbycompilercofo}
-\NewBibliographyString{cbycompilercoaf}
-\NewBibliographyString{cbycompileranin}
-\NewBibliographyString{cbycompileranfo}
-\NewBibliographyString{cbycompileranaf}
-\NewBibliographyString{partvolume}
-\NewBibliographyString{by}
-\NewBibliographyString{of}
-\NewBibliographyString{on}
-\NewBibliographyString{afterwordto}
-\NewBibliographyString{forewordto}
-\NewBibliographyString{introductionto}
-\NewBibliographyString{origpub}
-\NewBibliographyString{origpublin}
-\NewBibliographyString{origpubyear}
-\NewBibliographyString{origreleaseyear}
-\NewBibliographyString{origshownyear}
-\NewBibliographyString{origedition}
-\NewBibliographyString{revisededition}
-\NewBibliographyString{broadcast}
-\NewBibliographyString{songrecorded}
-\NewBibliographyString{discrecorded}
-\NewBibliographyString{numbers}
-\NewBibliographyString{nodate}
-\NewBibliographyString{pseudonym}
-\NewBibliographyString{patentfiled}
-\NewBibliographyString{patentissued}
-\NewBibliographyString{inlang}
-\NewBibliographyString{edamerican}
-\NewBibliographyString{edbrazilian}
-% \NewBibliographyString{edbulgarian}
-% \NewBibliographyString{edcatalan}
-% \NewBibliographyString{edcroatian}
-% \NewBibliographyString{edczech}
-\NewBibliographyString{eddanish}
-\NewBibliographyString{eddutch}
-\NewBibliographyString{edenglish}
-% \NewBibliographyString{edestonian}
-\NewBibliographyString{edfinnish}
-\NewBibliographyString{edfrench}
-\NewBibliographyString{edgalician}
-\NewBibliographyString{edgerman}
-\NewBibliographyString{edgreek}
-\NewBibliographyString{editalian}
-% \NewBibliographyString{edjapanese}
-\NewBibliographyString{edlatin}
-\NewBibliographyString{ednorwegian}
-\NewBibliographyString{edpolish}
-\NewBibliographyString{edportuguese}
-\NewBibliographyString{edrussian}
-% \NewBibliographyString{edslovak}
-% \NewBibliographyString{edslovene}
-\NewBibliographyString{edspanish}
-\NewBibliographyString{edswedish}
-% \NewBibliographyString{edukrainian}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewof}
-\NewBibliographyString{section}
-\NewBibliographyString{sections}
-\NewBibliographyString{canadasection}% For legal citations
-\NewBibliographyString{canadasections}% Ditto
-\NewBibliographyString{supranote}% Ditto
-\NewBibliographyString{hereinafter}% Ditto
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbis}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compilers}
-\NewBibliographyString{conductor}
-\NewBibliographyString{conductors}
-\NewBibliographyString{director}
-\NewBibliographyString{directors}
-\NewBibliographyString{none}
-\NewBibliographyString{nones}
-\NewBibliographyString{producer}
-\NewBibliographyString{producers}
-\NewBibliographyString{transcompiler}
-\NewBibliographyString{transcompilers}
-\NewBibliographyString{editortranscompiler}
-\NewBibliographyString{editorcompiler}
-\NewBibliographyString{editortranslator}
-\NewBibliographyString{editortranscompilers}
-\NewBibliographyString{editorcompilers}
-\NewBibliographyString{editortranslators}
-
-\DeclareBibliographyStrings{%
- inherit = {icelandic},
- afterwordto = {{eftirm\'ali vi}{eftirm\'ali vi}},
- forewordto = {{form\'ali vi}{form\'ali vi}},
- introductionto = {{inngangur a}{inngangur a}},
- partvolume = {{hl\adddot}{hl\adddot}},
- by = {{eftir}{eftir}},
- of = {{af}{af}},
-% on = {{}{}},
- compiler = {{ritstj\adddot}{ritstj\adddot}},% Same as editor
- compilers = {{ritstj\adddot}{ritstj\adddot}},
- transcompiler = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- transcompilers = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- editortranscompiler = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- editorcompiler = {{ritstj\adddot}{ritstj\adddot}},
- editortranslator = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- editortranscompilers = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- editorcompilers = {{ritstj\adddot}{ritstj\adddot}},
- editortranslators = {{ritstj\adddot\addabbrvspace og \'y\adddot}%
- {ritstj\adddot\addabbrvspace og \'y\adddot}},
- conductor = {{stj\'ornandi}{stj\'ornandi}},
- conductors = {{stj\'ornenduur}{stj\'ornendur}},
- director = {{leikstj\adddot}{leikstj\adddot}},
- directors = {{leikstj\adddot}{leikstj\adddot}},
- none = {{}{}},
- nones = {{}{}},
- producer = {{framleiandi}{framl\adddot}},
- producers = {{framleiendur}{framl\adddot}},
- editor = {{ritstj\adddot}{ritstj\adddot}},
- editors = {{ritstj\adddot}{ritstj\adddot}},
- ibidem = {{sama heimild}{s\adddot h\adddot}},
- origpub = {{upphaflega birt sem}%
- {upph\adddot\ birt sem}},
- origpublin = {{birtist upphaflega \'{\i}}%
- {birtist upph\adddot \'{\i}}},
- origpubyear = {{birtist upphaflega \'ari}%
- {birtist upph\adddot\ \'ari}},
- origreleaseyear = {{upphaflegt \'ut\'ar\addspace}%
- {upph\adddot \'utg\'afu\'ar\addspace}},
- origshownyear = {{upphaflega s\'ynt \'ari}%
- {upph\adddot\ s\'ynt \'ari}},
- origedition = {{\'utg\'afa\addcolon}%
- {\'utg\adddot\addcolon}},
- revisededition = {{endurskou \'utg\'afa}%
- {endursk\adddot \'utg\adddot}},
-% broadcast = {{}{}},
-% songrecorded = {{}{}},
-% discrecorded = {{}{}},
- numbers = {{nr\adddot}{nr\adddot}},
- nodate = {{\'an \'ars}{\'an \'ars}},
- pseudonym = {{dulnefni}{dulnefni}},
- patentfiled = {{lagt fram til skr\'aningar}{lagt fram til skr\'aningar}},%
- patentissued = {{veitt}{veitt}},% ?
- inlang = {{}{}}, % if this is translated "\'a",%
-% it would lead to "\'a r\'ussneska", etc.
- edamerican = {{bandar\'{\i}sk}{bandar\'{\i}sk}},
- edbrazilian = {{brasil\'{\i}sk}{brasil\'{\i}sk}},
- eddanish = {{d\"onsk}{d\"onsk}},
- eddutch = {{hollensk}{hollensk}},
- edenglish = {{bresk}{bresk}},
- edfrench = {{fr\"onsk}{fr\"onsk}},
- edgalician = {{galis\'isk}{galis\'isk}},
- edgerman = {{\'ysk}{\'ysk}},
- edgreek = {{gr\'{\i}sk}{gr\'{\i}sk}},
- editalian = {{\'{\i}t\"olsk}{\'{\i}t\"olsk}},
- edlatin = {{latnesk}{latnesk}},
- ednorwegian = {{norsk}{norsk}},
- edpolish = {{p\'olsk}{p\'olsk}},
- edportuguese = {{port\'ug\"olsk}{port\'ug\"olsk}},
- edrussian = {{r\'ussnesk}{r\'ussnesk}},
- edspanish = {{sp\ae{}nsk}{sp\ae{}nsk}},
- edswedish = {{s\ae{}nsk}{s\ae{}nsk}},
- translator = {{\'y\adddot}{\'y\adddot}},
- translators = {{\'y\adddot}{\'y\adddot}},
- redactor = {{ritstj\adddot}{ritstj\adddot}}, % same as editor
- redactors = {{ritstj\adddot}{ritstj\adddot}},
- founder = {{stofnandi}{stofnandi}},
- founders = {{stofnendur}{stofnendur}},
- continuator = {{haldi \'afram af}{haldi \'afram af}},
- continuators = {{haldi \'afram af}{haldi \'afram af}},
- collaborator = {{samstarfsmaur}{samstarfsmaur}},
- collaborators = {{samstarfsmenn}{samstarfsmenn}},
- annotator = {{me sk\'yringum eftir}{me sk\'yringum eftir}},
- annotators = {{me sk\'yringum eftir}{me sk\'yringum eftir}},
- review = {{ritd\'omur}{ritd\'omur}},
- reviewof = {{ritd\'omur um}{ritd\'omur um}},
- reprint = {{endurprentun}{endurpr\adddot}},
- shorthands = {{skammstafanir}{skammstafanir}},
- newseries = {{n\'y ritr\"o}{n\adddot rr\adddot}},
- bynone = {{}{}},
- cbynone = {{}{}},
- cbyauthor = {{eftir}{eftir}},
- cbyeditor = {{ritstj\adddot}{ritstj\adddot}},
- cbycompiler = {{teki saman af}{teki saman af}},
- cbyredactor = {{endurskoa af}{endurskoa af}},
-% The following translations have been taken directly from my version of
-% icelandic.lbx for biblatex (without the "c" in front).
- cbytranslator = {{\'y\adddot\addspace\lbx@lfromlang}%
- {\'y\adddot\addspace\lbx@sfromlang}},%
- cbycommentator = {{sk\'yringar:}{sk\'yringar:}},
- cbyannotator = {{sk\'yringar:}{sk\'yringar:}},
-% cbyconductor = {{}{}},
-% cbydirector = {{}{}},
-% cbyproducer = {{}{}},
- cbyeditortr = {{\'utg.~og \'y\adddot \lbx@lfromlang}%
- {\'utg.~og \'y\adddot}},
- cbyeditorco = {{\'utg.~og sk\'yringar:}%
- {\'utg.~og sk\'yringar:}},
- cbyeditoran = {{\'utg.~og sk\'yringar:}%
- {\'utg. og sk\'yringar:}},
- cbyeditorin = {{\'utg. og inng\adddot:}%
- {\'utg. og inng\adddot:}},
- cbyeditorfo = {{\'utg. og form\'ali:}%
- {\'utg. og form\'ali:}},
- cbyeditoraf = {{\'utg. og eftirm\'ali:}%
- {\'utg. og eftirm\'ali:}},
- cbyeditortrco = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}},
- cbyeditortran = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar:}},
- cbyeditortrin = {{\'utg., \'y\adddot \lbx@sfromlang\ og inng\adddot:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og inng\adddot:}},
- cbyeditortrfo = {{\'utg., \'y\adddot \lbx@sfromlang\ og form\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og form\'ali:}},
- cbyeditortraf = {{\'utg., \'y\adddot \lbx@sfromlang\ og eftirm\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og eftirm\'ali:}},
- cbyeditorcoin = {{\'utg., sk\'yringar og inng\adddot:}%
- {\'utg., sk\'yringar og inng\adddot:}},
- cbyeditorcofo = {{\'utg., sk\'yringar og form\'ali:}%
- {\'utg., sk\'yringar og form\'ali:}},
- cbyeditorcoaf = {{\'utg., sk\'yringar og eftirm\'ali:}%
- {\'utg., sk\'yringar og eftirm\'ali:}},
- cbyeditoranin = {{\'utg., sk\'yringar og inng\adddot:}%
- {\'utg., sk\'yringar og inng\adddot:}},
- cbyeditoranfo = {{\'utg., sk\'yringar og form\'ali:}%
- {\'utg., sk\'yringar og form\'ali:}},
- cbyeditoranaf = {{\'utg., sk\'yringar og eftirm\'ali:}%
- {\'utg., sk\'yringar og eftirm\'ali:}},
- cbyeditortrcoin = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}},
- cbyeditortrcofo = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}},
- cbyeditortrcoaf = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}},
- cbyeditortranin = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og inng\adddot:}},
- cbyeditortranfo = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og form\'ali:}},
- cbyeditortranaf = {{\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}%
- {\'utg., \'y\adddot \lbx@sfromlang\ og sk\'yringar og eftirm\'ali:}},
- cbytranslatorco = {{\'y\adddot \lbx@lfromlang\ og sk\'yringar:}%
- {\'y\adddot \lbx@lfromlang\ og sk\'yringar:}},
- cbytranslatoran = {{\'y\adddot \lbx@lfromlang\ og sk\'yringar:}%
- {\'y\adddot \lbx@lfromlang\ og sk\'yringar:}},
- cbytranslatorin = {{\'y\adddot \lbx@lfromlang\ og inng\adddot:}%
- {\'y\adddot \lbx@lfromlang\ og inng\adddot:}},
- cbytranslatorfo = {{\'y\adddot \lbx@lfromlang\ og form\'ali:}%
- {\'y\adddot \lbx@lfromlang\ og form\'ali:}},
- cbytranslatoraf = {{\'y\adddot \lbx@lfromlang\ og eftirm\'ali:}%
- {\'y\adddot \lbx@lfromlang\ og eftirm\'ali:}},
- cbytranslatorcoin = {{\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}},
- cbytranslatorcofo = {{\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}},
- cbytranslatorcoaf = {{\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}},
- cbytranslatoranin = {{\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og inng\adddot:}},
- cbytranslatoranfo = {{\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og form\'ali:}},
- cbytranslatoranaf = {{\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}%
- {\'y\adddot \lbx@lfromlang, sk\'yringar og eftirm\'ali:}},
- % Missing: cbycompilerco, cbycompileran, cbycompilerin, cbycompilerfo, cbycompileraf,
- % cbycompilercoin, cbycompilercofo, cbycompilercoaf, cbycompileranin,
- % cbycompileranfo, cbycompileranaf
- volume = {{bindi}{bindi}},
- volumes = {{bindi}{bindi}},
- jourvol = {{\'arg\adddot}{\'arg\adddot}},
- jourser = {{ritr\"o}{rr\adddot}},
- oldseries = {{g\"omul ritr\"o}{g\adddot rr\adddot}},
- edition = {{\'utg\adddot}{\'utg\adddot}},
- page = {{bls\adddot}{bls\adddot}},
- pages = {{bls\adddot}{bls\adddot}},
- column = {{d\'alkur}{dlk\adddot}},
- columns = {{d\'alkar}{dlk\adddot}},
- line = {{l\'{\i}na}{l\adddot}},
- lines = {{l\'{\i}nur}{l\adddot}},
- paragraph = {{mgr\adddot}{mgr\adddot}},
- paragraphs = {{mgr\adddot}{mgr\adddot}},
- section = {{\S}{\S}},
- sections = {{\S\S}{\S\S}},
- canadasection = {{s\adddot}{s\adddot}},% For legal citations
- canadasections = {{s\adddot}{s\adddot}},% ditto
- supranote = {{\mkbibemph{supra}\addspace athugasemd\addnbspace}% ditto
- {\mkbibemph{supra}\addspace aths\adddotspace}},
- hereinafter = {{h\'er eftir}{h\'er eftir}},
- subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}},
- subverbis = {{s\adddot vv\adddot}{s\adddot vv\adddot}},
- verse = {{erindi}{er\adddot}},
- verses = {{erindi}{er\adddot}},
- number = {{nr\adddot}{nr\adddot}},
- chapter = {{kafli}{k\adddot}},
-% byconductor = {{}{}},
-% bydirector = {{}{}},
-% byproducer = {{}{}},
- % A lot of keys already present in in icelandic.lbx omitted here
-}
-
-\protected\gdef\lbx@cms@mkbibrangetrunc#1#2{% DATE FIX
- \iffieldundef{#2year}%
- {\iffieldundef{#2month}%
- {}%
- {\printtext[#2date]{%
- \iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {\iffieldundef{#2endmonth}%
- {}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}%
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}%
- {\iffieldsequal{#2month}{#2endmonth}%
- {\csuse{mkbibdate#1}{}{}{#2day}}%
- {\ifthenelse{\iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\csuse{mkbibdate#1}{#2year}{}{}%
- \clearfield{#2endyear}}% Clear up inheritance problem ???
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}}%
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
- \iffieldundef{#2endyear}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\protected\gdef\lbx@cms@mkbibrangefull#1#2{%
- \ifthenelse{\iffieldundef{#2year}\AND\iffieldundef{#2month}}%
- {}%
- {\ifthenelse{\iffieldsequal{#2year}{#2endyear}\AND%
- \iffieldundef{#2month}\AND\iffieldundef{#2day}}%
- {\clearfield{#2endyear}}% Clear up inheritance problem ???
- {}%
- \printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
- \ifthenelse{\iffieldundef{#2endyear}\AND\iffieldundef{#2endmonth}}%
- {}%
- {\iffieldequalstr{#2endyear}{}%
- {\mbox{\bibdatedash}}%
- {\bibdatedash%
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\endinput