summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx1400
1 files changed, 1285 insertions, 115 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx
index 141fb2c5d9a..2839e02015b 100644
--- a/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx
@@ -1,11 +1,11 @@
-% $Id: chicago-notes.cbx,v 0.9.8.44 2017/03/22 18:41:31 dfussner Exp $
+% $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}[2016/06/07 v 3.4 biblatex citation style]
+\ProvidesFile{chicago-notes.cbx}[2018/01/10 v 3.10 biblatex citation style]
%%%% Biblatex initialization + Chicago options + Toggles %%%%
@@ -50,6 +50,9 @@
\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@vol}
\providetoggle{cms@postvol}
\providetoggle{cms@usedvol}
@@ -71,6 +74,7 @@
{}%
{\nocite{\thefield{userc}}}%
\global\togglefalse{cms@loccit}%
+ \global\csundef{@cmsst}%
\iffieldequalstr{pubstate}{reprint}%
{\toggletrue{cms@reprint}}%
{\togglefalse{cms@reprint}}%
@@ -116,8 +120,26 @@
\DeclareBibliographyOption{noibid}[true]{%
\global\toggletrue{cms@noibid}}
-\DeclareBibliographyOption{short}[true]{%
- \global\toggletrue{cms@allshort}}
+\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}}
+
+\DeclareTypeOption[boolean]{noneshort}[true]{%
+ \settoggle{cms@noneshort}{#1}}
+
+\DeclareEntryOption[boolean]{noneshort}[true]{%
+ \settoggle{cms@noneshort}{#1}}
\DeclareBibliographyOption{shorthandibid}[true]{%
\global\toggletrue{cms@shorthandibid}}
@@ -380,6 +402,65 @@
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}{%
+ \def\cms@xfield{#1}}%
+
+\DeclareBibliographyOption[string]{shortextraformat}{%
+ \def\cms@xformat{#1}}%
+
+\DeclareTypeOption[string]{shortextraformat}{%
+ \def\cms@xformat{#1}}%
+
+\DeclareEntryOption[string]{shortextraformat}{%
+ \def\cms@xformat{#1}}%
+
+\DeclareBibliographyOption[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}}}%
+\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}}%
+
+\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]{%
@@ -479,7 +560,12 @@
option keys}}}%
\ExecuteBibliographyOptions{includeall,completenotes,hidevolumes,%
- related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes}
+ related,booklongxref,ptitleaddon,ctitleaddon,shorthandpunct,urlnotes,%
+ legalnotes,supranotes,shortextrapunct}
+
+\iftoggle{cms@legalnotes}%
+{\ExecuteBibliographyOptions[jurisdiction,legal,legislation]{skipbib}}%
+{}%
% For author-date compatibility %
@@ -553,7 +639,21 @@
{\global\togglefalse{cms@noidem}}}%
\newbibmacro*{cite}{%
- \ifciteseen%
+ \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
@@ -599,6 +699,7 @@
{\global\toggletrue{cms@fullnote}%
\global\togglefalse{cms@shortnote}%
\usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}% FIXME!!
\usebibmacro{cite:save}}}}}%
\newbibmacro*{cite:full}{%
@@ -608,6 +709,15 @@
{cite:\thefield{entrytype}}}}%
\newbibmacro*{cite:short}{%
+ \ifentrytype{jurisdiction}%
+ {\usebibmacro{cite:short:jurisdiction}}%
+ {\ifentrytype{legal}%
+ {\usebibmacro{cite:short:legal}}%
+ {\ifentrytype{legislation}%
+ {\usebibmacro{cite:short:legislation}}%
+ {\usebibmacro{cite:short:cms}}}}}%
+
+\newbibmacro*{cite:short:cms}{% was cite:short
\usebibmacro{allshort+firstcite+xref}%
\ifthenelse{\ifnameundef{labelname}\OR%
\ifentrytype{inreference}\OR%
@@ -659,16 +769,250 @@
{\printnames{labelname}%\usebibmacro{choose+labelname}%
\isdot\classicpunct}}}}%
\ifboolexpr{%
+ (
+ test {\ifentrytype{review}}%
+ or
+ test {\ifentrytype{suppperiodical}}%
+ )
+ and
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}%
+ \ifboolexpr{%
+ test {\ifuniquework}%
+ or
+ test {\ifcsundef{cms@xfield}}%
+ }%
+ {}%
+ {\setunit{\shortextrapunct}%
+ \usebibmacro{shortnote+extrafield}}}}%:\thefield{entrytype}?
+
+\newbibmacro*{shortnote+extrafield}{% Disambiguate otherwise identical
+ \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}}}}}}%
+ {\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}}}}%
+ {\printtext[\csuse{cms@xformat}]{%
+ \printfield{\csuse{cms@xfield}}}}}}}%
+
+\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*{cite:short:jurisdiction}{%
+ \iffieldundef{labeltitle}%
+ {}%
+ {\ifboolexpr{%
togl {cms@allshort}%
or
test {\ifbibliography}%
}%
{\printtext[bibhyperref]{%
- \printfield[citetitle]{labeltitle}}}%
+ \printfield[citetitle]{labeltitle}}}%
{\printtext[cmshyperlink]{%
- \printfield[citetitle]{labeltitle}}}}%:\thefield{entrytype}?
+ \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}}%
+
+\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}%
+ % \newcunit%
+ \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}{%
+ \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}%
\iftoggle{cms@allshort}%
{\printtext[bibhyperref]{%
@@ -676,17 +1020,55 @@
{\printtext[cmshyperlink]{%
\printfield{shorthand}}}}
+\newbibmacro*{cite:shorthand:legal}{%
+ \usebibmacro{allshort+firstcite+xref}%
+ \iftoggle{cms@allshort}%
+ {\printtext[bibhyperref]{%
+ \printfield{shorthand}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield{shorthand}}}%
+ \ifboolexpr{%
+ test {\iffootnote}%
+ 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}%
- {%\addspace%\setunit{\addspace}% Fix for after postnote field
- \printtext[parens]{%
- \bibstring{citedas}\addspace%
+ {\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*{choose:ibidstring}{%
+ \ifthenelse{\ifentrytype{jurisdiction}\OR\ifentrytype{legal}\OR%
+ \ifentrytype{legislation}}%
+ {\bibsstring[\mkbibemph]{ibidem}}%
+ {\bibstring[\mkibid]{ibidem}}}
+
\newbibmacro*{cite:ibid}{%
\ifboolexpr{%
togl {cms@noibid}%
@@ -699,9 +1081,9 @@
\usebibmacro{cite:save}}%
{\iftoggle{cms@allshort}%
{\printtext[bibhyperref]{%
- \bibstring[\mkibid]{ibidem}}}%
+ \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem}
{\printtext[cmshyperlink]{%
- \bibstring[\mkibid]{ibidem}}}%
+ \usebibmacro{choose:ibidstring}}}%\bibstring[\mkibid]{ibidem}
\ifboolexpr{%
test {\ifloccit}%
or
@@ -944,8 +1326,9 @@
{\usebibmacro{citeindex}%
\toggletrue{cms@fullnote}%
\togglefalse{cms@shortnote}%
- \usebibmacro{cite:full}%
- \usebibmacro{cite:save}}
+ \usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}}
{\multicitedelim}
{}
@@ -954,8 +1337,9 @@
{\usebibmacro{citeindex}%
\toggletrue{cms@fullnote}%
\togglefalse{cms@shortnote}%
- \usebibmacro{cite:full}
- \usebibmacro{cite:save}}
+ \usebibmacro{cite:full}%
+ \usebibmacro{footcite:save}%
+ \usebibmacro{cite:save}}
{\multicitedelim}
{}
@@ -1053,9 +1437,13 @@
{\usebibmacro{prenote}}%\usebibmacro{hlcprenote}}
{\usebibmacro{citeindex}%
\ifboolexpr{%
+ (
test {\ifciteseen}%
or
togl {cms@allshort}%
+ )
+ and
+ not togl {cms@noneshort}%
}%
{\usebibmacro{cite:short}}
{\renewbibmacro*{author/editor}{\usebibmacro{choose+surname}}%
@@ -1336,7 +1724,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -1376,7 +1768,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -1455,7 +1851,7 @@
{\bibstring{in}\setunit{\addspace}}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}
@@ -1467,7 +1863,7 @@
\setunit{\addspace}
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}
\printfield{maintitleaddon}}}
@@ -2119,6 +2515,450 @@
{}%
\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
+ \iftoggle{cms@citerel}%
+ {\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
+ \iftoggle{cms@citerel}%
+ {\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
+ \iftoggle{cms@citerel}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
+\DeclareBibliographyDriver{cite:legal}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \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
+ \iftoggle{cms@citerel}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{cite:legislation}{%
+ \iffieldequalstr{entrysubtype}{uk}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \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
+ \iftoggle{cms@citerel}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\iffieldequalstr{entrysubtype}{hansard}% FIXME?
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \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
+ \iftoggle{cms@citerel}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}
+ {\usebibmacro{bibindex}%
+ \usebibmacro{author/editor}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \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
+ \iftoggle{cms@citerel}%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}%
+ \newcunit}%
+ {}%
+ \usebibmacro{finentry}}}}
+
\DeclareBibliographyDriver{cite:letter}{%
\usebibmacro{bibindex}%
\savefield{fullhash}{\bbx@lasthash}%
@@ -2246,7 +3086,7 @@
\iffieldundef{entrysubtype}%
{\usebibmacro{citaltitle+stitle}}%
{\printfield{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[noformat]{subtitle}%
\setunit{\ctitleaddonpunct}%
\printfield{titleaddon}%
@@ -2321,7 +3161,7 @@
{\bibstring{in}\setunit{addspace}}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}
@@ -2333,7 +3173,7 @@
\setunit{\addspace}
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}
@@ -2466,7 +3306,7 @@
\printdate}}%
{\bibstring{patentfiled}\setunit{\addspace}%
\usebibmacro{cmsorigdate}%
- \setunit{\addcomma\addspace\bibstring{and}%
+ \setunit{\finalandcomma\addspace\bibstring{and}%
\addspace\bibstring{patentissued}\addspace}%
\usebibmacro{date}}%
\usebibmacro{caddendum}}%
@@ -2687,7 +3527,9 @@
\setunit{\addspace}%
\printfield{nameaddon}%
\setunit{\addcomma\addspace}\newblock
- \usebibmacro{citaltitle+stitle}%
+ \iffieldequalstr{entrysubtype}{unpublished}%
+ {\usebibmacro{ctitle+stitle}}%
+ {\usebibmacro{citaltitle+stitle}}%
\newcunit
\usebibmacro{byauthor}%
\newcunit%
@@ -2731,9 +3573,16 @@
\setunit{\addspace}%
\printfield{nameaddon}% 16th ed.
\newcunit\newblock
- \printfield{title}%
- \setunit{\addcolon\addspace}%
- \printfield[noformat]{subtitle}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{titleaddon}%
\setunit{\addspace}%
@@ -2764,7 +3613,11 @@
\newcunit\newblock
\usebibmacro{pageref}%
\newcunit\newblock
- \iftoggle{cms@citerel}%
+ \ifboolexpr{%
+ togl {cms@citerel}%
+ and
+ not test {\iffieldequalstr{relatedtype}{reviewof}}%
+ }%
{\usebibmacro{related:init}%
\usebibmacro{related}%
\newcunit}%
@@ -2880,9 +3733,17 @@
\newcunit\newblock
\usebibmacro{cnotefield}%
\newcunit\newblock
+ \printfield{eventtitle}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{eventtitleaddon}%
+ \newcunit%
+ \printfield{venue}%
+ \newcunit%
\printlist{location}%
\newcunit\newblock
- \usebibmacro{date}}%
+ \iffieldundef{eventyear}%
+ {\usebibmacro{date}}%
+ {\printeventdate}}%
\usebibmacro{caddendum}%
\usebibmacro{fullpostnote}%
\newcunit\newblock
@@ -2930,7 +3791,7 @@
{\bibstring{in}\setunit{\addspace}}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}
@@ -2942,7 +3803,7 @@
\setunit{\addspace}
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}
@@ -3015,13 +3876,32 @@
{#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}%
- {s\adddot v\adddot\addspace\mkbibquote{#1\isdot}}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1\isdot}}%
{\ifthenelse{\value{listcount}=1}%
- {s\adddot vv\adddot\addspace \mkbibquote{#1\isdot}\addcomma}%
+ {\bibsstring{subverbis}\addspace\mkbibquote{#1\isdot}\addcomma}%
{\ifthenelse{\value{listcount}<\value{listtotal}}%
{\addspace\mkbibquote{#1\isdot}\addcomma}%
{\addspace\mkbibquote{#1\isdot}}}}}
@@ -3101,10 +3981,34 @@
\DeclareFieldFormat[inreference]{postnote}{%
\iftoggle{cms@comprange}%
{\iffieldundef{pagination}%
- {s\adddot v\adddot\addspace\mkbibquote{#1}}%
+ {\bibsstring{subverbo}\addspace\mkbibquote{#1}}%
{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
{\iffieldundef{pagination}%
- {s\adddot v\adddot\addspace\mkbibquote{#1}}%
+ {\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}{%
+ \iftoggle{cms@comprange}%
+ {\iffieldundef{pagination}%
+ {\mkcomprange[\mkjuridprefix]{#1}}%
+ {\mkcomprange[{\mkpageprefix[pagination]}]{#1}}}%
+ {\iffieldundef{pagination}%
+ {\mkjuridprefix{#1}}%
{\mkpageprefix[pagination]{#1}}}}%
\DeclareFieldFormat{pages}{%
@@ -3116,12 +4020,26 @@
{#1\isdot}%
{\mkpageprefix[bookpagination]{#1}}}}%
-\DeclareFieldFormat{edlang}{%
+% \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}%
+ {\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}}}}
+ {\ifcapital{\MakeCapital{#1}}{#1}}}%
+ \usebibmacro{list:andothers}}
\DeclareFieldFormat[suppbook,suppcollection]{title}{\mkbibemph{#1}\isdot}
@@ -3173,6 +4091,21 @@
\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,video]{title}{%
\iffieldundef{booktitle}%
{\mkbibemph{#1}\isdot}%
@@ -3188,6 +4121,29 @@
{\mkbibemph{#1}\isdot}%
{\mkbibquote{#1\isdot}}}
+\DeclareFieldFormat[jurisdiction,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 %%%%
\DeclareNumChars*{:}% For proper ibidem with multi-volume works.
@@ -3256,12 +4212,12 @@
\iftoggle{cms@reprint}% Date fix
{#1}%
{\ifthenelse{\iffieldundef{userd}\OR\NOT\iffieldundef{eventyear}}%
- {\bibstring{recorded}\addspace #1}%
+ {\bibstring{discrecorded}\addspace #1}% Can now match gender
{\printfield{userd}\addspace #1}}}
\DeclareFieldFormat[music]{eventdate}{% 16th ed.
\iffieldundef{userd}%
- {\bibstring{recorded}\addspace #1}%
+ {\bibstring{songrecorded}\addspace #1}% Can now match gender
{\printfield{userd}\addspace #1}}
\DeclareFieldFormat[video]{eventdate}{% 16th ed.
@@ -3314,6 +4270,13 @@
\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}}
@@ -3329,6 +4292,29 @@
\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}}%
@@ -3338,6 +4324,8 @@
{\bibstring{numbers}\addspace #1}%
{\bibstring{number}\addspace #1}}%
+\DeclareFieldFormat{juridnum}{\bibcpstring{number}\addspace #1}%
+
\DeclareFieldFormat{jourvol}{#1}
\DeclareFieldFormat{sernum}{%
@@ -3350,6 +4338,9 @@
\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.
@@ -3365,6 +4356,17 @@
{\bibstring{partvolume}~#1}%
{\ifcapital{\MakeCapital{#1}}{#1}}}
+\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}}%
+
%% This tries to get hyperlinks from shortened cross-ref'd notes to %%
%% long notes working properly. Used in short and shorthand cites. %%
@@ -3449,7 +4451,9 @@
{\ifcapital%
{\MakeCapital{#1}}%
{#1}}%
- \printunit{\relatedpunct}}%
+ \ifentrytype{jurisdiction}%
+ {\newcunit}%
+ {\printunit{\relatedpunct}}}%
\DeclareFieldFormat{relatedstring:reprintfrom}{% For notes + bib
\ifboolexpr{%
@@ -3475,6 +4479,17 @@
\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{\custpunct}{%
\iftoggle{cms@fullnote}%
{\iffieldequalstr{type}{plain}%
@@ -3637,22 +4652,34 @@
{\addcomma\addspace\bibstring{and}\addspace}}}%
\renewcommand*{\postnotedelim}{%
- \iftoggle{cms@shortnote}%
- {\iffieldequalstr{entrysubtype}{classical}%
- {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% Makes classical
- \iffieldpages{postnote}% test more accurate. See 17.253.
- {\addspace}%
- {\addcomma\addspace}}%
- {\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}}}%
+ \ifboolexpr{%
+ test {\ifciteibid}%
+ and
+ (
+ test {\ifentrytype{jurisdiction}}%
+ or
+ test {\ifentrytype{legal}}%
+ or
+ test {\ifentrytype{legislation}}%
+ )
+ }%
+ {\addspace}%
+ {\iftoggle{cms@shortnote}%
+ {\iffieldequalstr{entrysubtype}{classical}%
+ {\NumCheckSetup{\DeclareNumChars*{abcdeABCDE}}% Makes classical
+ \iffieldpages{postnote}% test more accurate. See 17.253.
+ {\addspace}%
+ {\addcomma\addspace}}%
+ {\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}%
@@ -3700,47 +4727,68 @@
{\addperiod\addspace}%
{\addcomma\addspace}}
-\newcommand*{\lbx@cfromlang}{% Needed to eliminate "by" after "trans."
- \iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
+\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}%
- {\bibstring{cfrom\thefield{origlanguage}}}}%
+ {\printlist[cfromoriglanguage]{origlanguage}}}%
{\unspace}}%
-\@ifpackagelater{biblatex}{2011/11/12}
-{\renewcommand*{\lbx@fromlang}{%
- \iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
- {\unspace}%
- {\bibstring{from\thefield{origlanguage}}}}%
- {\unspace}}}%
-{\@ifpackagelater{biblatex}{2011/07/28}
- {\newcommand*{\lbx@fromlang}{%
- \iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
- {\unspace}%
- {\bibstring{from\thefield{origlanguage}}}}%
- {\unspace}}}%
- {\renewcommand*{\lbx@fromlang}{%
- \iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
- {\unspace}%
- {\bibstring{from\thefield{origlanguage}}}}%
- {\unspace}}}}
+\renewcommand*{\lbx@fromlang}{%
+ \iffieldundef{userf}%
+ {\iflistundef{origlanguage}%
+ {\unspace}%
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
\renewcommand*{\lbx@lfromlang}{%
\iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
+ {\iflistundef{origlanguage}%
{\unspace}%
- {\biblstring{from\thefield{origlanguage}}}}%
- {\unspace}}
+ {\printlist[lfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
\renewcommand*{\lbx@sfromlang}{%
\iffieldundef{userf}%
- {\iffieldundef{origlanguage}%
+ {\iflistundef{origlanguage}%
{\unspace}%
- {\bibsstring{from\thefield{origlanguage}}}}%
- {\unspace}}
+ {\printlist[sfromoriglanguage]{origlanguage}}}%
+ {\unspace}}%
%%%% Formatting macros, called both by cbx and bbx %%%%
@@ -4319,7 +5367,7 @@
{}%
{\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[tnoformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[stnoformat]{subtitle}}}%
\setunit{\ctitleaddonpunct}%
\printfield{titleaddon}}%
@@ -4332,7 +5380,7 @@
{}%
{\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[tnoformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[stnoformat]{subtitle}}}%
\setunit{\ctitleaddonpunct}%
\printfield{titleaddon}%
@@ -4343,7 +5391,7 @@
\newbibmacro*{title+stitle}{%
\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[noformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[noformat]{subtitle}}%
\setunit{\ptitleaddonpunct}%
\printfield{titleaddon}}%
@@ -4354,7 +5402,7 @@
\newbibmacro*{italtitle+stitle}{%
\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[noformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[noformat]{subtitle}}%
\setunit{\ptitleaddonpunct}%
\printfield{titleaddon}%
@@ -4365,21 +5413,47 @@
\newbibmacro*{mag+news+title}{%
\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[noformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[noformat]{subtitle}}%
\setunit{\ptitleaddonpunct}%
- \printfield{titleaddon}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@related}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{titleaddon}}%
}%\newcunit\newblock}
\newbibmacro*{cmag+news+title}{%
\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
\printfield[noformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%{\addcolon\addspace}%
\printfield[noformat]{subtitle}}%
\setunit{\ctitleaddonpunct}%
- \printfield{titleaddon}%
+ \ifboolexpr{%
+ test {\iffieldequalstr{relatedtype}{reviewof}}%
+ and
+ togl {cms@citerel}%
+ }%
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}%
+ {\printfield{titleaddon}}%
}%\newcunit\newblock}
+\newbibmacro*{clegis+news+title}{%
+ \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}\AND%
+ \iffieldundef{titleaddon}}%
+ {}%
+ {\printtext[title]{%:\thefield{entrytype}]{%(Changed for 0.7 to work)
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}%
+ }}%\newcunit\newblock}
+
\newbibmacro*{language+transtitle}{%
\iffieldundef{usere}%
{\printlist[][-\value{listtotal}]{language}}%
@@ -4395,7 +5469,7 @@
{}%
\printtext[issuetitle]{%
\printfield[itnoformat]{issuetitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[sitnoformat]{issuesubtitle}}}}
\newbibmacro*{btitle+bstitle}{%
@@ -4407,7 +5481,7 @@
{\usebibmacro{cms-in:}}%
\printtext[booktitle]{%
\printfield[btnoformat]{booktitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[sbtnoformat]{booksubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{booktitleaddon}%
@@ -4531,7 +5605,7 @@
\usebibmacro{endrelated}%
\newunit}}%
{\usebibmacro{begrelated}%
- \iffieldundef{origlanguage}%
+ \iflistundef{origlanguage}%
{\bibstring{origpub}%
\origfullcite{\thefield{userf}}%
\usebibmacro{endrelated}%
@@ -4539,12 +5613,12 @@
{\iftoggle{cms@postposit}%
{\bibstring{origedition}%
\setunit{\addspace}%
- \printfield[edlang]{origlanguage}%
+ \printlist[edlang]{origlanguage}%
\addcolon%
\origfullcite{\thefield{userf}}%
\usebibmacro{endrelated}%
\newunit}%
- {\printfield[edlang]{origlanguage}%
+ {\printlist[edlang]{origlanguage}%
\setunit{\addspace}%
\bibstring{origedition}%
\origfullcite{\thefield{userf}}%
@@ -4822,7 +5896,7 @@
\printfield[tnoformat]{shorttitle}}}%
{\printtext[title]{%
\printfield[tnoformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
@@ -4861,14 +5935,18 @@
\printfield[jtsnoformat]{shortjournal}}}%
{\printtext[journaltitle]{%
\printfield[jtnoformat]{journaltitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[sjtnoformat]{journalsubtitle}}}}}%
\newbibmacro*{cite+doi+url}{% 16th ed.
\iftoggle{cms@url@innotes}%
- {\iffieldundef{urlyear}%
- {}%
+ {\ifboolexpr{% Fix printing of urldate when url=false
+ togl {cms@url}%
+ and
+ not test {\iffieldundef{urlyear}}%
+ }%
{\printurldate}% Date fix
+ {}%
\newcunit\newblock
\iftoggle{cms@doionly}%
{\iffieldundef{doi}%
@@ -4954,7 +6032,7 @@
\printfield[tnoformat]{shorttitle}}}%
{\printtext[title]{%
\printfield[tnoformat]{title}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[stnoformat]{subtitle}}}%
\setunit*{\addspace}%
\printlist[periodplace]{location}%
@@ -4972,7 +6050,7 @@
{\bibstring{in}\setunit{\addspace}}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}%
@@ -4984,7 +6062,7 @@
\setunit{\addspace}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}}
@@ -5000,7 +6078,7 @@
{\bibstring{in}\setunit{\addspace}}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}%
@@ -5013,7 +6091,7 @@
\setunit{\addspace}%
\printtext[maintitle]{%
\printfield[mtnoformat]{maintitle}%
- \setunit{\addcolon\addspace}%
+ \setunit{\subtitlepunct}%
\printfield[smtnoformat]{mainsubtitle}}%
\setunit{\ctitleaddonpunct}%
\printfield{maintitleaddon}}}}
@@ -5082,6 +6160,54 @@
{\postnotewrapper%delim% Don't need \ifbibliography test w/ following
\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{(
@@ -5369,7 +6495,11 @@
{\usebibmacro{prenote}}}
\newbibmacro*{choose+surname}{%
- \ifciteseen%
+ \ifboolexpr{%
+ test {\ifciteseen}%
+ and
+ not togl {cms@noneshort}%
+ }%
{}%
{\printnames{labelname}\savefield{fullhash}{\bbx@lasthash}%
\ifthenelse{\iffieldequalstr{labelnamesource}{shortauthor}\OR%
@@ -5407,6 +6537,11 @@
{\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}
@@ -5482,7 +6617,7 @@
\noinherit{origendmonth}
\noinherit{origendday}}
-\DeclareSortingScheme{cms}{% Updated for biblatex > 2.0
+\DeclareSortingTemplate{cms}{% Updated for biblatex > 3.7
\sort{
\field{presort}
}
@@ -5516,7 +6651,7 @@
}
}
-\DeclareSortingScheme{shortjournal}{%
+\DeclareSortingTemplate{shortjournal}{%
\sort{
\field{shortjournal}
}
@@ -5675,6 +6810,41 @@
%%%% Related macros from biblatex.def %%%%
+\newbibmacro*{related:reviewof}[1]{%
+ \iftoggle{cms@shortnote}%
+ {\entrydata{#1}{%
+ \ifboolexpr{%
+ togl {cms@allshort}%
+ or
+ test {\ifbibliography}%
+ }%
+ {\printtext[bibhyperref]{%
+ \printfield[citetitle]{labeltitle}}}%
+ {\printtext[cmshyperlink]{%
+ \printfield[citetitle]{labeltitle}}}}}%
+ {\entrydata*{#1}{%
+ \let\newunit\newcunit%
+ % \bibstring{reviewof}%
+ \iffieldundef{title}%
+ {}%
+ {\printtext[title]{%
+ \printfield[tnoformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[stnoformat]{subtitle}}}%
+ \newcunit%
+ \ifnameundef{author}%
+ {\newcunit%
+ \ifbibliography%
+ {\usebibmacro{byeditor+others}}%
+ {\usebibmacro{cbyeditor+others}}}%
+ {\bibstring{by}\addspace%
+ \printnames[byauthor]{author}%
+ \ifbibliography%
+ {\newcunit\usebibmacro{byeditor+others}}%
+ {\newcunit\usebibmacro{cbyeditor+others}}}%
+ \setunit{\ctitleaddonpunct}%
+ \printfield{titleaddon}}}}%
+
\renewbibmacro*{related:origpubas}[1]{%
\entrydata*{#1}{%
\usebibmacro{at+every+item}%
@@ -5703,7 +6873,7 @@
\renewbibmacro*{related:default}[1]{%
\entrydata*{#1}{%
- \usedriver
+ \usedriver%
{\ifnameundef{savedauthor}%
{\ifnameundef{savededitor}%
{}%
@@ -5719,7 +6889,7 @@
\renewbibmacro*{pageref}{}%
\toggletrue{cms@fullnote}%
\togglefalse{cms@shortnote}}%
- {cite:\thefield{entrytype}}}}
+ {cite:\thefield{entrytype}}}}%
\renewbibmacro*{related:multivolume}[1]{%
\entrydata*{#1}{%