diff options
author | Karl Berry <karl@freefriends.org> | 2018-01-16 22:41:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-01-16 22:41:51 +0000 |
commit | bef4a8ea7ddff032e3474a34332a4b7b453b891c (patch) | |
tree | 19ee4454f1488e0c5eb394d07b195f9961b9ac67 /Master/texmf-dist/tex/latex/biblatex-chicago/chicago-notes.cbx | |
parent | 9400805c5dcd35ebc3b3d859f5abd716efef3522 (diff) |
biblatex-chicago (16jan18)
git-svn-id: svn://tug.org/texlive/trunk@46331 c570f23f-e606-0410-a88d-b1316a301751
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.cbx | 1400 |
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}{% |